sunrize 1.0.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (200) hide show
  1. package/.vscode/launch.json +17 -0
  2. package/.vscode/settings.json +21 -0
  3. package/.vscode/tasks.json +25 -0
  4. package/LICENSE.md +627 -0
  5. package/Makefile +4 -0
  6. package/README.md +15 -0
  7. package/bin/sunrise.js +13 -0
  8. package/package.json +103 -0
  9. package/src/audio/Tink.mp3 +0 -0
  10. package/src/html/application.html +62 -0
  11. package/src/html/application.js +6 -0
  12. package/src/html/document.html +36 -0
  13. package/src/html/document.js +6 -0
  14. package/src/images/OutlineEditor/AccessTypes/AccessTypes.xcf +0 -0
  15. package/src/images/OutlineEditor/AccessTypes/initializeOnly.png +0 -0
  16. package/src/images/OutlineEditor/AccessTypes/inputOnly.0.png +0 -0
  17. package/src/images/OutlineEditor/AccessTypes/inputOnly.1.png +0 -0
  18. package/src/images/OutlineEditor/AccessTypes/inputOnly.2.png +0 -0
  19. package/src/images/OutlineEditor/AccessTypes/inputOnly.active.png +0 -0
  20. package/src/images/OutlineEditor/AccessTypes/inputOnly.png +0 -0
  21. package/src/images/OutlineEditor/AccessTypes/inputOutput.0.0.png +0 -0
  22. package/src/images/OutlineEditor/AccessTypes/inputOutput.0.1.png +0 -0
  23. package/src/images/OutlineEditor/AccessTypes/inputOutput.0.2.png +0 -0
  24. package/src/images/OutlineEditor/AccessTypes/inputOutput.1.0.png +0 -0
  25. package/src/images/OutlineEditor/AccessTypes/inputOutput.1.1.png +0 -0
  26. package/src/images/OutlineEditor/AccessTypes/inputOutput.1.2.png +0 -0
  27. package/src/images/OutlineEditor/AccessTypes/inputOutput.2.0.png +0 -0
  28. package/src/images/OutlineEditor/AccessTypes/inputOutput.2.1.png +0 -0
  29. package/src/images/OutlineEditor/AccessTypes/inputOutput.2.2.png +0 -0
  30. package/src/images/OutlineEditor/AccessTypes/inputOutput.png +0 -0
  31. package/src/images/OutlineEditor/AccessTypes/outputOnly.0.png +0 -0
  32. package/src/images/OutlineEditor/AccessTypes/outputOnly.1.png +0 -0
  33. package/src/images/OutlineEditor/AccessTypes/outputOnly.2.png +0 -0
  34. package/src/images/OutlineEditor/AccessTypes/outputOnly.active.png +0 -0
  35. package/src/images/OutlineEditor/AccessTypes/outputOnly.png +0 -0
  36. package/src/images/OutlineEditor/Fields/MFBool.svg +177 -0
  37. package/src/images/OutlineEditor/Fields/MFColor.svg +150 -0
  38. package/src/images/OutlineEditor/Fields/MFColorRGBA.svg +220 -0
  39. package/src/images/OutlineEditor/Fields/MFDouble.svg +162 -0
  40. package/src/images/OutlineEditor/Fields/MFFloat.svg +173 -0
  41. package/src/images/OutlineEditor/Fields/MFImage.svg +234 -0
  42. package/src/images/OutlineEditor/Fields/MFInt32.svg +168 -0
  43. package/src/images/OutlineEditor/Fields/MFMatrix3d.svg +219 -0
  44. package/src/images/OutlineEditor/Fields/MFMatrix3f.svg +212 -0
  45. package/src/images/OutlineEditor/Fields/MFMatrix4d.svg +212 -0
  46. package/src/images/OutlineEditor/Fields/MFMatrix4f.svg +205 -0
  47. package/src/images/OutlineEditor/Fields/MFNode.svg +180 -0
  48. package/src/images/OutlineEditor/Fields/MFRotation.svg +175 -0
  49. package/src/images/OutlineEditor/Fields/MFString.svg +152 -0
  50. package/src/images/OutlineEditor/Fields/MFTime.svg +164 -0
  51. package/src/images/OutlineEditor/Fields/MFVec2d.svg +172 -0
  52. package/src/images/OutlineEditor/Fields/MFVec2f.svg +165 -0
  53. package/src/images/OutlineEditor/Fields/MFVec3d.svg +179 -0
  54. package/src/images/OutlineEditor/Fields/MFVec3f.svg +173 -0
  55. package/src/images/OutlineEditor/Fields/MFVec4d.svg +166 -0
  56. package/src/images/OutlineEditor/Fields/MFVec4f.svg +159 -0
  57. package/src/images/OutlineEditor/Fields/SFBool.svg +137 -0
  58. package/src/images/OutlineEditor/Fields/SFColor.svg +143 -0
  59. package/src/images/OutlineEditor/Fields/SFColorRGBA.svg +213 -0
  60. package/src/images/OutlineEditor/Fields/SFDouble.svg +155 -0
  61. package/src/images/OutlineEditor/Fields/SFFloat.svg +166 -0
  62. package/src/images/OutlineEditor/Fields/SFImage.svg +234 -0
  63. package/src/images/OutlineEditor/Fields/SFInt32.svg +163 -0
  64. package/src/images/OutlineEditor/Fields/SFMatrix3d.svg +219 -0
  65. package/src/images/OutlineEditor/Fields/SFMatrix3f.svg +206 -0
  66. package/src/images/OutlineEditor/Fields/SFMatrix4d.svg +212 -0
  67. package/src/images/OutlineEditor/Fields/SFMatrix4f.svg +199 -0
  68. package/src/images/OutlineEditor/Fields/SFNode.svg +174 -0
  69. package/src/images/OutlineEditor/Fields/SFRotation.svg +169 -0
  70. package/src/images/OutlineEditor/Fields/SFString.svg +147 -0
  71. package/src/images/OutlineEditor/Fields/SFTime.svg +158 -0
  72. package/src/images/OutlineEditor/Fields/SFVec2d.svg +166 -0
  73. package/src/images/OutlineEditor/Fields/SFVec2f.svg +159 -0
  74. package/src/images/OutlineEditor/Fields/SFVec3d.svg +173 -0
  75. package/src/images/OutlineEditor/Fields/SFVec3f.svg +167 -0
  76. package/src/images/OutlineEditor/Fields/SFVec4d.svg +166 -0
  77. package/src/images/OutlineEditor/Fields/SFVec4f.svg +153 -0
  78. package/src/images/OutlineEditor/Fields/Unkown.svg +137 -0
  79. package/src/images/OutlineEditor/Fields/none.png +0 -0
  80. package/src/images/OutlineEditor/Node/ExportedNode.svg +212 -0
  81. package/src/images/OutlineEditor/Node/ExternProto.svg +237 -0
  82. package/src/images/OutlineEditor/Node/ImportedNode.svg +230 -0
  83. package/src/images/OutlineEditor/Node/NULL.svg +160 -0
  84. package/src/images/OutlineEditor/Node/Prototype.svg +263 -0
  85. package/src/images/OutlineEditor/Node/Route.svg +207 -0
  86. package/src/images/OutlineEditor/Node/SharedNode.svg +245 -0
  87. package/src/images/OutlineEditor/Node/X3DBaseNode.svg +167 -0
  88. package/src/images/OutlineEditor/Node/X3DExecutionContext.svg +207 -0
  89. package/src/images/OutlineEditor/Values/Bell.svg +79 -0
  90. package/src/images/OutlineEditor/Values/FALSE.svg +76 -0
  91. package/src/images/OutlineEditor/Values/TRUE.svg +76 -0
  92. package/src/images/icon.icns +0 -0
  93. package/src/images/icon.ico +0 -0
  94. package/src/images/icon.png +0 -0
  95. package/src/images/icons/arrow.svg +113 -0
  96. package/src/images/icons/hand.svg +129 -0
  97. package/src/main.js +9 -0
  98. package/src/sunrize/Application/ActionKeys.js +80 -0
  99. package/src/sunrize/Application/Application.js +660 -0
  100. package/src/sunrize/Application/DataStorage.js +179 -0
  101. package/src/sunrize/Application/Document.js +453 -0
  102. package/src/sunrize/Application/Footer.js +46 -0
  103. package/src/sunrize/Application/GetText.js +10 -0
  104. package/src/sunrize/Application/Interface.js +148 -0
  105. package/src/sunrize/Application/SecondaryToolbar.js +156 -0
  106. package/src/sunrize/Application/Selection.js +49 -0
  107. package/src/sunrize/Application/Sidebar.js +51 -0
  108. package/src/sunrize/Application/Tabs.js +329 -0
  109. package/src/sunrize/Application/Traverse.js +341 -0
  110. package/src/sunrize/Bits/Algorithm.js +5 -0
  111. package/src/sunrize/Bits/Beep.js +13 -0
  112. package/src/sunrize/Bits/Highlight.js +16 -0
  113. package/src/sunrize/Bits/Validate.js +59 -0
  114. package/src/sunrize/Controls/AddPrototypePopover.js +111 -0
  115. package/src/sunrize/Controls/Dialog.js +74 -0
  116. package/src/sunrize/Controls/EditUserDefinedFieldPopover.js +223 -0
  117. package/src/sunrize/Controls/Popover.js +32 -0
  118. package/src/sunrize/Controls/RenameNodeInput.js +94 -0
  119. package/src/sunrize/Controls/RenameNodePopover.js +40 -0
  120. package/src/sunrize/Controls/Splitter.js +102 -0
  121. package/src/sunrize/Controls/Tabs.js +96 -0
  122. package/src/sunrize/Editors/AnimationEditor.js +18 -0
  123. package/src/sunrize/Editors/BrowserSize.js +101 -0
  124. package/src/sunrize/Editors/Console.js +239 -0
  125. package/src/sunrize/Editors/FileManager.js +18 -0
  126. package/src/sunrize/Editors/Library.js +268 -0
  127. package/src/sunrize/Editors/NodeInspector.js +18 -0
  128. package/src/sunrize/Editors/NodeList.js +122 -0
  129. package/src/sunrize/Editors/OutlineEditor.js +2007 -0
  130. package/src/sunrize/Editors/OutlineRouteGraph.js +557 -0
  131. package/src/sunrize/Editors/OutlineView.js +3017 -0
  132. package/src/sunrize/Editors/Primitives.js +452 -0
  133. package/src/sunrize/Editors/SceneProperties.js +477 -0
  134. package/src/sunrize/Editors/ScriptEditor.js +594 -0
  135. package/src/sunrize/Editors/Units.js +146 -0
  136. package/src/sunrize/Fields/MFStringTextArea.js +32 -0
  137. package/src/sunrize/Fields/SFStringInput.js +32 -0
  138. package/src/sunrize/Fields.js +2 -0
  139. package/src/sunrize/Tools/CADGeometry/CADAssemblyTool.js +20 -0
  140. package/src/sunrize/Tools/CADGeometry/CADFaceTool.js +20 -0
  141. package/src/sunrize/Tools/CADGeometry/CADLayerTool.js +20 -0
  142. package/src/sunrize/Tools/CADGeometry/CADPartTool.js +20 -0
  143. package/src/sunrize/Tools/CADGeometry.js +6 -0
  144. package/src/sunrize/Tools/Core/ToolColors.js +33 -0
  145. package/src/sunrize/Tools/Core/X3DNodeTool.js +132 -0
  146. package/src/sunrize/Tools/Core/X3DPrototypeInstanceTool.js +31 -0
  147. package/src/sunrize/Tools/Core.js +3 -0
  148. package/src/sunrize/Tools/Geospatial/GeoLODTool.js +40 -0
  149. package/src/sunrize/Tools/Geospatial/GeoLocationTool.js +20 -0
  150. package/src/sunrize/Tools/Geospatial/GeoTransformTool.js +20 -0
  151. package/src/sunrize/Tools/Geospatial.js +5 -0
  152. package/src/sunrize/Tools/Grouping/GroupTool.js +20 -0
  153. package/src/sunrize/Tools/Grouping/StaticGroupTool.js +20 -0
  154. package/src/sunrize/Tools/Grouping/SwitchTool.js +20 -0
  155. package/src/sunrize/Tools/Grouping/TransformTool.js +20 -0
  156. package/src/sunrize/Tools/Grouping/TransformTool.x3d +37 -0
  157. package/src/sunrize/Tools/Grouping/Vector.x3d +98 -0
  158. package/src/sunrize/Tools/Grouping/X3DBoundedObjectTool.js +44 -0
  159. package/src/sunrize/Tools/Grouping/X3DBoundedObjectTool.x3d +330 -0
  160. package/src/sunrize/Tools/Grouping/X3DTransformNodeTool.js +44 -0
  161. package/src/sunrize/Tools/Grouping.js +6 -0
  162. package/src/sunrize/Tools/HAnim/HAnimHumanoidTool.js +20 -0
  163. package/src/sunrize/Tools/HAnim/HAnimJointTool.js +20 -0
  164. package/src/sunrize/Tools/HAnim/HAnimSegmentTool.js +20 -0
  165. package/src/sunrize/Tools/HAnim/HAnimSiteTool.js +20 -0
  166. package/src/sunrize/Tools/HAnim.js +6 -0
  167. package/src/sunrize/Tools/Layering/LayerTool.js +16 -0
  168. package/src/sunrize/Tools/Layering/X3DLayerNodeTool.js +22 -0
  169. package/src/sunrize/Tools/Layering.js +3 -0
  170. package/src/sunrize/Tools/Layout/LayoutGroupTool.js +78 -0
  171. package/src/sunrize/Tools/Layout/LayoutLayerTool.js +16 -0
  172. package/src/sunrize/Tools/Layout/ScreenGroupTool.js +20 -0
  173. package/src/sunrize/Tools/Layout.js +5 -0
  174. package/src/sunrize/Tools/Navigation/BillboardTool.js +37 -0
  175. package/src/sunrize/Tools/Navigation/CollisionTool.js +37 -0
  176. package/src/sunrize/Tools/Navigation/LODTool.js +37 -0
  177. package/src/sunrize/Tools/Navigation.js +5 -0
  178. package/src/sunrize/Tools/Networking/AnchorTool.js +20 -0
  179. package/src/sunrize/Tools/Networking/InlineTool.js +20 -0
  180. package/src/sunrize/Tools/Networking.js +4 -0
  181. package/src/sunrize/Tools/ParticleSystems/ParticleSystemTool.js +20 -0
  182. package/src/sunrize/Tools/ParticleSystems.js +3 -0
  183. package/src/sunrize/Tools/Picking/PickableGroupTool.js +20 -0
  184. package/src/sunrize/Tools/Picking.js +3 -0
  185. package/src/sunrize/Tools/RigidBodyPhysics/CollidableOffsetTool.js +37 -0
  186. package/src/sunrize/Tools/RigidBodyPhysics/CollidableShapeTool.js +37 -0
  187. package/src/sunrize/Tools/RigidBodyPhysics.js +4 -0
  188. package/src/sunrize/Tools/Shaders/ToolShader.x3d +86 -0
  189. package/src/sunrize/Tools/Shape/ShapeTool.js +20 -0
  190. package/src/sunrize/Tools/Shape.js +3 -0
  191. package/src/sunrize/Tools/VolumeRendering/IsoSurfaceVolumeDataTool.js +16 -0
  192. package/src/sunrize/Tools/VolumeRendering/SegmentedVolumeDataTool.js +16 -0
  193. package/src/sunrize/Tools/VolumeRendering/VolumeDataTool.js +16 -0
  194. package/src/sunrize/Tools/VolumeRendering/X3DVolumeDataNodeTool.js +12 -0
  195. package/src/sunrize/Tools/VolumeRendering.js +5 -0
  196. package/src/sunrize/Tools.js +15 -0
  197. package/src/sunrize/Undo/Editor.js +2146 -0
  198. package/src/sunrize/Undo/UndoManager.js +204 -0
  199. package/src/sunrize/X3D.js +8 -0
  200. package/src/themes/dark.css +1291 -0
@@ -0,0 +1,452 @@
1
+ "use strict"
2
+
3
+ module .exports = [
4
+ {
5
+ component: "EnvironmentalEffects",
6
+ typeName: "Background Gray",
7
+ x3dSyntax: `
8
+ DEF Gray Background {
9
+ skyColor [0.2 0.2 0.2]
10
+ }
11
+ `
12
+ },
13
+ {
14
+ component: "EnvironmentalEffects",
15
+ typeName: "Background Summer",
16
+ x3dSyntax: `
17
+ DEF Summer Background {
18
+ skyAngle [
19
+ 0.8,
20
+ 1.3,
21
+ 1.4,
22
+ 1.5708
23
+ ]
24
+ skyColor [
25
+ 0.21 0.31 0.59,
26
+ 0.33 0.45 0.7,
27
+ 0.57 0.66 0.85,
28
+ 0.6 0.73 0.89,
29
+ 0.7 0.83 0.98
30
+ ]
31
+ groundAngle [
32
+ 0.659972,
33
+ 1.2,
34
+ 1.39912,
35
+ 1.5708
36
+ ]
37
+ groundColor [
38
+ 0.105712 0.156051 0.297,
39
+ 0.187629 0.255857 0.398,
40
+ 0.33604 0.405546 0.542,
41
+ 0.3612 0.469145 0.602,
42
+ 0.39471 0.522059 0.669
43
+ ]
44
+ }`
45
+ },
46
+ {
47
+ component: "EnvironmentalEffects",
48
+ typeName: "Background Sunny",
49
+ x3dSyntax: `
50
+ DEF Sunny Background {
51
+ skyAngle [
52
+ 0.05,
53
+ 0.1,
54
+ 1,
55
+ 1.5708
56
+ ]
57
+ skyColor [
58
+ 1 1 0,
59
+ 1 1 0.5,
60
+ 0.125 0.125 0.5,
61
+ 0.3 0.3 0.55,
62
+ 0.64 0.734 0.844
63
+ ]
64
+ groundAngle 1.5708
65
+ groundColor [
66
+ 0.1 0.1 0.09,
67
+ 0.48 0.48 0.45
68
+ ]
69
+ }
70
+ `
71
+ },
72
+ {
73
+ component: "EnvironmentalEffects",
74
+ typeName: "Background White",
75
+ x3dSyntax: `
76
+ DEF White Background {
77
+ skyColor [1 1 1]
78
+ }
79
+ `
80
+ },
81
+ {
82
+ component: "EnvironmentalSensor",
83
+ typeName: "ProximitySensor",
84
+ x3dSyntax: `
85
+ DEF ProximitySensor Transform {
86
+ children ProximitySensor {
87
+ size 1 1 1
88
+ }
89
+ }
90
+ `
91
+ },
92
+ {
93
+ component: "EnvironmentalSensor",
94
+ typeName: "TransformSensor",
95
+ x3dSyntax: `
96
+ DEF TransformSensor Transform {
97
+ children TransformSensor {
98
+ size 1 1 1
99
+ }
100
+ }
101
+ `
102
+ },
103
+ {
104
+ component: "EnvironmentalSensor",
105
+ typeName: "VisibilitySensor",
106
+ x3dSyntax: `
107
+ DEF VisibilitySensor Transform {
108
+ children VisibilitySensor {
109
+ size 1 1 1
110
+ }
111
+ }
112
+ `
113
+ },
114
+ {
115
+ component: "Geometry2D",
116
+ typeName: "Arc2D",
117
+ x3dSyntax: `
118
+ DEF Arc2D Transform {
119
+ children Shape {
120
+ appearance Appearance {
121
+ material Material {
122
+ emissiveColor 1 1 1
123
+ }
124
+ }
125
+ geometry Arc2D { }
126
+ }
127
+ }
128
+ `
129
+ },
130
+ {
131
+ component: "Geometry2D",
132
+ typeName: "ArcClose2D",
133
+ x3dSyntax: `
134
+ DEF ArcClose2D Transform {
135
+ children Shape {
136
+ appearance Appearance {
137
+ material Material { }
138
+ }
139
+ geometry ArcClose2D { }
140
+ }
141
+ }
142
+ `
143
+ },
144
+ {
145
+ component: "Geometry2D",
146
+ typeName: "Circle2D",
147
+ x3dSyntax: `
148
+ DEF Circle2D Transform {
149
+ children Shape {
150
+ appearance Appearance {
151
+ material Material {
152
+ emissiveColor 1 1 1
153
+ }
154
+ }
155
+ geometry Circle2D { }
156
+ }
157
+ }
158
+ `
159
+ },
160
+ {
161
+ component: "Geometry2D",
162
+ typeName: "Disk2D",
163
+ x3dSyntax: `
164
+ DEF Disk2D Transform {
165
+ children Shape {
166
+ appearance Appearance {
167
+ material Material { }
168
+ }
169
+ geometry Disk2D { }
170
+ }
171
+ }
172
+ `
173
+ },
174
+ {
175
+ component: "Geometry2D",
176
+ typeName: "Polyline2D",
177
+ x3dSyntax: `
178
+ DEF Polyline2D Transform {
179
+ children Shape {
180
+ appearance Appearance {
181
+ material Material {
182
+ emissiveColor 1 1 1
183
+ }
184
+ }
185
+ geometry Polyline2D {
186
+ lineSegments [
187
+ 0.0 0.0,
188
+ 1.0 1.0,
189
+ 2.0 0.0,
190
+ 3.0 2.0,
191
+ 4.0 0.0
192
+ ]
193
+ }
194
+ }
195
+ }
196
+ `
197
+ },
198
+ {
199
+ component: "Geometry2D",
200
+ typeName: "Polypoint2D",
201
+ x3dSyntax: `
202
+ DEF Polypoint2D Transform {
203
+ children Shape {
204
+ appearance Appearance {
205
+ material Material {
206
+ emissiveColor 1 1 1
207
+ }
208
+ }
209
+ geometry Polypoint2D {
210
+ point [
211
+ 0.0 0.0,
212
+ 1.0 1.0,
213
+ 2.0 0.0,
214
+ 3.0 2.0,
215
+ 4.0 0.0
216
+ ]
217
+ }
218
+ }
219
+ }
220
+ `
221
+ },
222
+ {
223
+ component: "Geometry2D",
224
+ typeName: "Rectangle2D",
225
+ x3dSyntax: `
226
+ DEF Rectangle2D Transform {
227
+ children Shape {
228
+ appearance Appearance {
229
+ material Material { }
230
+ }
231
+ geometry Rectangle2D { }
232
+ }
233
+ }
234
+ `
235
+ },
236
+ {
237
+ component: "Geometry2D",
238
+ typeName: "TriangleSet2D",
239
+ x3dSyntax: `
240
+ DEF TriangleSet2D Transform {
241
+ children Shape {
242
+ appearance Appearance {
243
+ material Material { }
244
+ }
245
+ geometry TriangleSet2D {
246
+ vertices [
247
+ 0.0 0.0,
248
+ 2.0 0.0,
249
+ 1.0 1.0,
250
+ 2.0 0.0,
251
+ 4.0 0.0
252
+ 3.0 2.0,
253
+ ]
254
+ }
255
+ }
256
+ }
257
+ `
258
+ },
259
+ {
260
+ component: "Geometry3D",
261
+ typeName: "Box",
262
+ x3dSyntax: `
263
+ DEF Box Transform {
264
+ children Shape {
265
+ appearance Appearance {
266
+ material Material { }
267
+ }
268
+ geometry Box { }
269
+ }
270
+ }
271
+ `
272
+ },
273
+ {
274
+ component: "Geometry3D",
275
+ typeName: "Cone",
276
+ x3dSyntax: `
277
+ DEF Cone Transform {
278
+ children Shape {
279
+ appearance Appearance {
280
+ material Material { }
281
+ }
282
+ geometry Cone { }
283
+ }
284
+ }
285
+ `
286
+ },
287
+ {
288
+ component: "Geometry3D",
289
+ typeName: "Cylinder",
290
+ x3dSyntax: `
291
+ DEF Cylinder Transform {
292
+ children Shape {
293
+ appearance Appearance {
294
+ material Material { }
295
+ }
296
+ geometry Cylinder { }
297
+ }
298
+ }
299
+ `
300
+ },
301
+ {
302
+ component: "Geometry3D",
303
+ typeName: "ElevationGrid",
304
+ x3dSyntax: `
305
+ DEF ElevationGrid Transform {
306
+ children Shape {
307
+ appearance Appearance {
308
+ material Material { }
309
+ }
310
+ geometry ElevationGrid {
311
+ xDimension 10
312
+ zDimension 10
313
+ }
314
+ }
315
+ }
316
+ `
317
+ },
318
+ {
319
+ component: "Geometry3D",
320
+ typeName: "Extrusion",
321
+ x3dSyntax: `
322
+ DEF Extrusion Transform {
323
+ children Shape {
324
+ appearance Appearance {
325
+ material Material { }
326
+ }
327
+ geometry Extrusion { }
328
+ }
329
+ }
330
+ `
331
+ },
332
+ {
333
+ component: "Geometry3D",
334
+ typeName: "IndexedFaceSet",
335
+ x3dSyntax: `
336
+ DEF IndexedFaceSet Transform {
337
+ children Shape {
338
+ appearance Appearance {
339
+ material Material { }
340
+ }
341
+ geometry IndexedFaceSet { }
342
+ }
343
+ }
344
+ `
345
+ },
346
+ {
347
+ component: "Geometry3D",
348
+ typeName: "Sphere",
349
+ x3dSyntax: `
350
+ DEF Sphere Transform {
351
+ children Shape {
352
+ appearance Appearance {
353
+ material Material { }
354
+ }
355
+ geometry Sphere { }
356
+ }
357
+ }
358
+ `
359
+ },
360
+ {
361
+ component: "Text",
362
+ typeName: "Text",
363
+ x3dSyntax: `
364
+ DEF Text Transform {
365
+ children Shape {
366
+ appearance Appearance {
367
+ material Material { }
368
+ }
369
+ geometry Text {
370
+ string "3D Text"
371
+ }
372
+ }
373
+ }
374
+ `
375
+ },
376
+ {
377
+ component: "Rendering",
378
+ typeName: "IndexedLineSet",
379
+ x3dSyntax: `
380
+ DEF IndexedLineSet Transform {
381
+ children Shape {
382
+ appearance Appearance {
383
+ material UnlitMaterial { }
384
+ }
385
+ geometry IndexedLineSet {
386
+ coordIndex [
387
+ 0,
388
+ 1,
389
+ 2,
390
+ 3,
391
+ 0,
392
+ -1,
393
+ 4,
394
+ 5,
395
+ 6,
396
+ 7,
397
+ 4,
398
+ -1,
399
+ 0,
400
+ 4,
401
+ -1,
402
+ 1,
403
+ 5,
404
+ -1,
405
+ 2,
406
+ 6,
407
+ -1,
408
+ 3,
409
+ 7,
410
+ -1
411
+ ]
412
+ coord Coordinate {
413
+ point [
414
+ 1 1 1,
415
+ -1 1 1,
416
+ -1 -1 1,
417
+ 1 -1 1,
418
+ 1 1 -1,
419
+ -1 1 -1,
420
+ -1 -1 -1,
421
+ 1 -1 -1
422
+ ]
423
+ }
424
+ }
425
+ }
426
+ }
427
+ `
428
+ },
429
+ {
430
+ component: "Rendering",
431
+ typeName: "PointSet",
432
+ x3dSyntax: `
433
+ DEF PointSet Transform {
434
+ children Shape {
435
+ appearance Appearance {
436
+ material UnlitMaterial { }
437
+ }
438
+ geometry PointSet {
439
+ coord Coordinate {
440
+ point [
441
+ 1 1 0,
442
+ -1 1 0,
443
+ -1 -1 0,
444
+ 1 -1 0
445
+ ]
446
+ }
447
+ }
448
+ }
449
+ }
450
+ `
451
+ },
452
+ ]