function rotated4dView( existingElement, polytope_4d, rotor, scale, config={} ) {
let halfWidth = width/2
let { height=300, svgWidth=halfWidth, renderWidth=halfWidth, orbitControl=true, solidStyle=true } = config
console.log("solidStyle");
console.log(solidStyle);
const solidParts = new Geometries( solidStyle ? icosahedral_solid_connectors_shapes : icosahedral_lifelike_connectors_shapes, vZome_colors )
const model = rotateAndProject( polytope_4d, rotor, scale )
const group = meshGroup( model, solidParts )
const cameraConfig = Object.assign({}, { aspect:8/5 }, config.camera)
const view4d = reusable3dCanvas( existingElement && existingElement.vZomeCanvas, group,
{ renderWidth:renderWidth, camera: cameraConfig } )
view4d.style.display = 'inline'
view4d.style['vertical-align'] = 'top'
const triangleConfig = Object.assign( {}, config, { orbits:getUsedOrbits(model), svgWidth:svgWidth, height } )
const triangle = icosaOrbitsTriangle( triangleConfig )
triangle.style.display = 'inline'
triangle.style['vertical-align'] = 'top'
const element = orbitControl? html`${view4d}${triangle}` : html`${view4d}`
element.vZomeCanvas = view4d
return element;
}