Skip to content

Commit

Permalink
WIP Merging scenes for 59icosahedra
Browse files Browse the repository at this point in the history
This takes a different approach to toggling cell orbits.  Rather than scripting macros to operate
on a single vZome design, we have several predefined models, one per cell orbit, and combine
the scenes in a single canvas.

To accomplish this, I had to decouple the CameraStateContext from the WorkerContext.

STATUS:
- single cell orbit toggling is working great
- background click is not working at all
- background color for the stellation canvas needs to be controlled
- initial camera also
  • Loading branch information
vorth committed Nov 3, 2023
1 parent 8d1cf58 commit 50c59e7
Show file tree
Hide file tree
Showing 27 changed files with 3,156 additions and 396 deletions.
225 changes: 225 additions & 0 deletions online/public/models/a.vZome
Original file line number Diff line number Diff line change
@@ -0,0 +1,225 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<vzome:vZome xmlns:vzome="http://xml.vzome.com/vZome/4.0.0/" buildNumber="32" field="golden" version="7.1">
<EditHistory editNumber="4" lastStickyEdit="1">
<Branch>
<Branch>
<StrutCreation anchor="0 0 0 0 0 0" index="7" len="2 4"/>
<StrutCreation anchor="0 0 0 0 0 0" dir="red" index="32" len="1 2"/>
<SelectManifestation endSegment="-1 -2 0 0 2 3" startSegment="0 0 0 0 0 0"/>
<RotationTool corrected="true" name="tool-0" symmetry="icosahedral"/>
<BeginBlock/>
<DeselectAll/>
<SelectManifestation endSegment="-1 -1 1 2 2 3" startSegment="0 0 0 0 0 0"/>
<SelectManifestation point="-1 -1 1 2 2 3"/>
<SelectManifestation endSegment="-1 -1 1 2 2 3" startSegment="0 0 0 0 0 0"/>
<DeselectAll/>
<SelectManifestation endSegment="-1 -1 1 2 2 3" startSegment="0 0 0 0 0 0"/>
<SelectManifestation point="0 0 0 0 0 0"/>
<EndBlock/>
<SymmetryTool name="tetrahedral.tool-1" symmetry="icosahedral"/>
<BeginBlock/>
<DeselectAll/>
<SelectManifestation endSegment="-1 -1 1 2 2 3" startSegment="0 0 0 0 0 0"/>
<SelectManifestation point="-1 -1 1 2 2 3"/>
<EndBlock/>
<ApplyTool copyColors="false" name="tool-0"/>
<BeginBlock/>
<SelectManifestation point="-2 -3 1 1 1 2"/>
<SelectManifestation point="0 0 0 0 0 0"/>
<EndBlock/>
<SymmetryTool name="tetrahedral.tool-2" symmetry="icosahedral"/>
<SelectManifestation point="0 0 0 0 0 0"/>
<ApplyTool copyColors="false" name="tool-0"/>
<SelectManifestation point="0 0 0 0 0 0"/>
<SymmetryTool name="tetrahedral.tool-3" symmetry="icosahedral"/>
<ApplyTool copyColors="false" name="tool-0"/>
<SymmetryTool name="tetrahedral.tool-4" symmetry="icosahedral"/>
<BeginBlock/>
<DeselectAll/>
<SelectManifestation endSegment="-1 -1 1 2 2 3" startSegment="0 0 0 0 0 0"/>
<EndBlock/>
<ApplyTool copyColors="false" name="tool-0"/>
<ApplyTool copyColors="false" name="tool-0"/>
<ApplyTool copyColors="false" name="tool-0"/>
<ApplyTool copyColors="false" name="tool-0"/>
<SelectManifestation point="0 0 0 0 0 0"/>
<SymmetryTool name="tetrahedral.tool-5" symmetry="icosahedral"/>
</Branch>
<ImportColoredMeshJson scale="1 0">{
"field" : "golden",
"vertices" : [ [ [ -21, -34, 2 ], [ 8, 13, 2 ], [ 13, 21, 2 ] ], [ [ -8, -13, 1 ], [ 5, 8, 1 ], [ 10, 16, 1 ] ], [ [ -29, -47, 5 ], [ 29, 47, 5 ], [ 29, 47, 5 ] ], [ [ -5, -8, 1 ], [ 0, 0, 1 ], [ 8, 13, 1 ] ], [ [ -8, -13, 2 ], [ 13, 21, 2 ], [ 21, 34, 2 ] ], [ [ 0, 0, 1 ], [ 0, 0, 1 ], [ 0, 0, 1 ] ] ],
"balls" : [ {
"vertex" : 5,
"color" : "#FFFFFF"
} ],
"struts" : [ ],
"panels" : [ {
"vertices" : [ 1, 4, 2, 0 ],
"color" : "#F7CF7F"
}, {
"vertices" : [ 1, 0, 3 ],
"color" : "#F7CF7F"
}, {
"vertices" : [ 4, 1, 3 ],
"color" : "#F7CF7F"
}, {
"vertices" : [ 0, 3, 2 ],
"color" : "#F7CF7F"
}, {
"vertices" : [ 3, 4, 2 ],
"color" : "#F7CF7F"
} ]
}
</ImportColoredMeshJson>
<BeginBlock/>
<DeselectAll/>
<SelectManifestation point="0 0 0 0 0 0"/>
<EndBlock/>
<Delete/>
<SelectAll originLast="true"/>
<ApplyTool copyColors="true" name="tetrahedral.tool-1" selectInputs="true"/>
<setItemColor blue="0" green="0" red="255"/>
<SelectAll originLast="true"/>
<BookmarkTool name="tool-6"/>
</Branch>
<ImportColoredMeshJson scale="1 0">{
"field" : "golden",
"vertices" : [ ],
"balls" : [ ],
"struts" : [ ],
"panels" : [ ]
}
</ImportColoredMeshJson>
<ImportColoredMeshJson scale="1 0">{
"field" : "golden",
"vertices" : [ [ [ -8, -13, 1 ], [ -5, -8, 1 ], [ 0, 0, 1 ] ], [ [ -8, -13, 1 ], [ 5, 8, 1 ], [ 0, 0, 1 ] ], [ [ -5, -8, 1 ], [ 0, 0, 1 ], [ -8, -13, 1 ] ], [ [ -5, -8, 1 ], [ 0, 0, 1 ], [ 8, 13, 1 ] ], [ [ 0, 0, 1 ], [ -8, -13, 1 ], [ -5, -8, 1 ] ], [ [ 0, 0, 1 ], [ -8, -13, 1 ], [ 5, 8, 1 ] ], [ [ 0, 0, 1 ], [ 0, 0, 1 ], [ 0, 0, 1 ] ], [ [ 0, 0, 1 ], [ 8, 13, 1 ], [ -5, -8, 1 ] ], [ [ 0, 0, 1 ], [ 8, 13, 1 ], [ 5, 8, 1 ] ], [ [ 5, 8, 1 ], [ 0, 0, 1 ], [ -8, -13, 1 ] ], [ [ 5, 8, 1 ], [ 0, 0, 1 ], [ 8, 13, 1 ] ], [ [ 8, 13, 1 ], [ -5, -8, 1 ], [ 0, 0, 1 ] ], [ [ 8, 13, 1 ], [ 5, 8, 1 ], [ 0, 0, 1 ] ] ],
"balls" : [ {
"vertex" : 6,
"color" : "#FFFFFF"
} ],
"struts" : [ ],
"panels" : [ {
"vertices" : [ 7, 9, 2 ],
"color" : "#F7CF7F"
}, {
"vertices" : [ 3, 1, 0 ],
"color" : "#F7CF7F"
}, {
"vertices" : [ 11, 5, 4 ],
"color" : "#F7CF7F"
}, {
"vertices" : [ 8, 7, 1 ],
"color" : "#F7CF7F"
}, {
"vertices" : [ 10, 3, 5 ],
"color" : "#F7CF7F"
}, {
"vertices" : [ 12, 11, 9 ],
"color" : "#F7CF7F"
}, {
"vertices" : [ 10, 8, 3 ],
"color" : "#F7CF7F"
}, {
"vertices" : [ 12, 10, 11 ],
"color" : "#F7CF7F"
}, {
"vertices" : [ 8, 12, 7 ],
"color" : "#F7CF7F"
}, {
"vertices" : [ 11, 10, 5 ],
"color" : "#F7CF7F"
}, {
"vertices" : [ 7, 12, 9 ],
"color" : "#F7CF7F"
}, {
"vertices" : [ 3, 8, 1 ],
"color" : "#F7CF7F"
}, {
"vertices" : [ 9, 11, 4 ],
"color" : "#F7CF7F"
}, {
"vertices" : [ 1, 7, 2 ],
"color" : "#F7CF7F"
}, {
"vertices" : [ 5, 3, 0 ],
"color" : "#F7CF7F"
}, {
"vertices" : [ 2, 0, 1 ],
"color" : "#F7CF7F"
}, {
"vertices" : [ 4, 5, 0 ],
"color" : "#F7CF7F"
}, {
"vertices" : [ 9, 4, 2 ],
"color" : "#F7CF7F"
}, {
"vertices" : [ 2, 4, 0 ],
"color" : "#F7CF7F"
}, {
"vertices" : [ 10, 12, 8 ],
"color" : "#F7CF7F"
} ]
}
</ImportColoredMeshJson>
<setItemColor blue="255" green="255" red="255"/>
</EditHistory>
<notes/>
<sceneModel ambientLight="41,41,41" background="175,200,220">
<directionalLight color="235,235,228" x="1.0" y="-1.0" z="-1.0"/>
<directionalLight color="228,228,235" x="-1.0" y="0.0" z="0.0"/>
<directionalLight color="30,30,30" x="0.0" y="0.0" z="-1.0"/>
</sceneModel>
<Viewing>
<ViewModel distance="631.9937133789062" far="1263.9862060546875" near="1.5799838304519653" parallel="false" stereoAngle="0.0" width="284.3970947265625">
<LookAtPoint x="0.0" y="0.0" z="0.0"/>
<UpDirection x="0.006149349734187126" y="0.9662544131278992" z="-0.25752320885658264"/>
<LookDirection x="0.9286938905715942" y="-0.1010124683380127" z="-0.3568257987499237"/>
</ViewModel>
</Viewing>
<SymmetrySystem name="icosahedral" renderingStyle="printable">
<Direction color="0,118,149" name="blue" orbit="[[0,0,1],[0,0,1]]"/>
<Direction color="0,141,54" name="green" orbit="[[2,-1,1],[5,-3,1]]"/>
<Direction color="154,117,74" name="sand" orbit="[[-8,5,1],[5,-3,1]]"/>
<Direction color="18,73,48" name="spruce" orbit="[[-5,4,11],[-5,4,11]]"/>
<Direction color="175,0,0" name="red" orbit="[[-1,1,1],[0,0,1]]"/>
<Direction color="255,126,106" name="coral" orbit="[[-3,2,2],[-1,1,2]]"/>
<Direction color="30,30,30" name="black" orbit="[[-2,3,11],[-7,5,11]]"/>
<Direction color="117,0,50" name="maroon" orbit="[[5,-3,1],[0,0,1]]"/>
<Direction color="230,245,62" name="sulfur" orbit="[[-1,1,3],[0,0,1]]"/>
<Direction color="240,160,0" name="yellow" orbit="[[0,0,1],[2,-1,1]]"/>
<Direction color="255,51,143" name="rose" orbit="[[0,0,1],[-4,3,5]]"/>
<Direction color="18,205,148" name="turquoise" orbit="[[2,-1,2],[-3,2,2]]"/>
<Direction color="116,195,0" name="apple" orbit="[[2,-1,3],[-1,1,3]]"/>
<Direction color="136,37,0" name="cinnamon" orbit="[[5,-3,2],[2,-1,2]]"/>
<Direction color="108,0,198" name="purple" orbit="[[2,-1,1],[0,0,1]]"/>
<Direction color="220,76,0" name="orange" orbit="[[-4,3,5],[3,-1,5]]"/>
<Direction color="0,0,153" name="navy" orbit="[[-1,1,2],[2,-1,2]]"/>
<Direction color="107,53,26" name="brown" orbit="[[2,-1,3],[5,-3,3]]"/>
<Direction color="175,135,255" name="lavender" orbit="[[-3,2,1],[-3,2,1]]"/>
<Direction color="100,113,0" name="olive" orbit="[[3,-1,5],[0,0,1]]"/>
</SymmetrySystem>
<OtherSymmetries>
<SymmetrySystem name="octahedral" renderingStyle="trapezoids">
<Direction color="0,118,149" name="blue" orbit="[[0,0,1],[0,0,1]]"/>
<Direction color="175,135,255" name="lavender" orbit="[[1,2,1],[-1,0,1]]"/>
<Direction color="18,205,148" name="turquoise" orbit="[[-1,2,1],[1,-2,1]]"/>
<Direction color="30,30,30" name="black" orbit="[[0,1,1],[1,-1,1]]"/>
<Direction color="0,141,54" name="green" orbit="[[0,0,1],[-1,0,1]]"/>
<Direction color="100,113,0" name="olive" orbit="[[1,0,1],[3,-2,1]]"/>
<Direction color="117,0,50" name="maroon" orbit="[[-1,2,1],[1,0,1]]"/>
<Direction color="107,53,26" name="brown" orbit="[[1,0,1],[-2,0,1]]"/>
<Direction color="240,160,0" name="yellow" orbit="[[1,0,1],[-1,0,1]]"/>
<Direction color="175,0,0" name="red" orbit="[[-1,1,1],[0,0,1]]"/>
<Direction color="108,0,198" name="purple" orbit="[[0,0,1],[2,-1,1]]"/>
</SymmetrySystem>
</OtherSymmetries>
<Tools>
<Tool copyColors="true" deleteInputs="false" id="tetrahedral.tool-1" label="tetrahedral 1" selectInputs="true"/>
<Tool copyColors="true" deleteInputs="false" id="tetrahedral.tool-2" label="tetrahedral 2" selectInputs="true"/>
<Tool copyColors="true" deleteInputs="false" id="tetrahedral.tool-3" label="tetrahedral 3" selectInputs="true"/>
<Tool copyColors="true" deleteInputs="false" id="tetrahedral.tool-4" label="tetrahedral 4" selectInputs="true"/>
<Tool copyColors="true" deleteInputs="false" id="tetrahedral.tool-5" label="tetrahedral 5" selectInputs="true"/>
<Tool copyColors="false" deleteInputs="false" id="tool-0" label="rotation 0" selectInputs="false"/>
<Tool copyColors="true" deleteInputs="false" hidden="true" id="tool-6" label="bookmark 6" selectInputs="true"/>
</Tools>
</vzome:vZome>
Loading

0 comments on commit 50c59e7

Please sign in to comment.