@opsydyn/effect-three 0.0.0-stage → 0.2.0

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 (166) hide show
  1. package/CHANGELOG.md +69 -0
  2. package/LICENSE +21 -0
  3. package/README.md +189 -2
  4. package/dist/index-01kwfekm.js +5118 -0
  5. package/dist/index-01kwfekm.js.map +40 -0
  6. package/dist/index-4045wme0.js +129 -0
  7. package/dist/index-4045wme0.js.map +10 -0
  8. package/dist/index.d.ts +12 -0
  9. package/dist/index.d.ts.map +1 -0
  10. package/dist/index.js +1361 -0
  11. package/dist/index.js.map +14 -0
  12. package/dist/kernel/animation.d.ts +14 -0
  13. package/dist/kernel/animation.d.ts.map +1 -0
  14. package/dist/kernel/behaviours.d.ts +16 -0
  15. package/dist/kernel/behaviours.d.ts.map +1 -0
  16. package/dist/kernel/bodies.d.ts +60 -0
  17. package/dist/kernel/bodies.d.ts.map +1 -0
  18. package/dist/kernel/bodySources.d.ts +47 -0
  19. package/dist/kernel/bodySources.d.ts.map +1 -0
  20. package/dist/kernel/build.d.ts +564 -0
  21. package/dist/kernel/build.d.ts.map +1 -0
  22. package/dist/kernel/cameraMotion.d.ts +39 -0
  23. package/dist/kernel/cameraMotion.d.ts.map +1 -0
  24. package/dist/kernel/clock.d.ts +17 -0
  25. package/dist/kernel/clock.d.ts.map +1 -0
  26. package/dist/kernel/contactShadowPasses.d.ts +47 -0
  27. package/dist/kernel/contactShadowPasses.d.ts.map +1 -0
  28. package/dist/kernel/description.d.ts +1120 -0
  29. package/dist/kernel/description.d.ts.map +1 -0
  30. package/dist/kernel/diff.d.ts +90 -0
  31. package/dist/kernel/diff.d.ts.map +1 -0
  32. package/dist/kernel/environmentPresets.d.ts +30 -0
  33. package/dist/kernel/environmentPresets.d.ts.map +1 -0
  34. package/dist/kernel/equality.d.ts +64 -0
  35. package/dist/kernel/equality.d.ts.map +1 -0
  36. package/dist/kernel/frames.d.ts +55 -0
  37. package/dist/kernel/frames.d.ts.map +1 -0
  38. package/dist/kernel/index.d.ts +37 -0
  39. package/dist/kernel/index.d.ts.map +1 -0
  40. package/dist/kernel/index.js +335 -0
  41. package/dist/kernel/index.js.map +9 -0
  42. package/dist/kernel/instances.d.ts +26 -0
  43. package/dist/kernel/instances.d.ts.map +1 -0
  44. package/dist/kernel/labels.d.ts +51 -0
  45. package/dist/kernel/labels.d.ts.map +1 -0
  46. package/dist/kernel/loop.d.ts +49 -0
  47. package/dist/kernel/loop.d.ts.map +1 -0
  48. package/dist/kernel/materials.d.ts +24 -0
  49. package/dist/kernel/materials.d.ts.map +1 -0
  50. package/dist/kernel/motion.d.ts +36 -0
  51. package/dist/kernel/motion.d.ts.map +1 -0
  52. package/dist/kernel/orbit.d.ts +127 -0
  53. package/dist/kernel/orbit.d.ts.map +1 -0
  54. package/dist/kernel/overlays.d.ts +16 -0
  55. package/dist/kernel/overlays.d.ts.map +1 -0
  56. package/dist/kernel/performance.d.ts +41 -0
  57. package/dist/kernel/performance.d.ts.map +1 -0
  58. package/dist/kernel/physics.d.ts +166 -0
  59. package/dist/kernel/physics.d.ts.map +1 -0
  60. package/dist/kernel/physicsDebug.d.ts +18 -0
  61. package/dist/kernel/physicsDebug.d.ts.map +1 -0
  62. package/dist/kernel/pointer.d.ts +357 -0
  63. package/dist/kernel/pointer.d.ts.map +1 -0
  64. package/dist/kernel/renderKit.d.ts +49 -0
  65. package/dist/kernel/renderKit.d.ts.map +1 -0
  66. package/dist/kernel/renderer.d.ts +83 -0
  67. package/dist/kernel/renderer.d.ts.map +1 -0
  68. package/dist/kernel/resources.d.ts +112 -0
  69. package/dist/kernel/resources.d.ts.map +1 -0
  70. package/dist/kernel/sceneGraph.d.ts +155 -0
  71. package/dist/kernel/sceneGraph.d.ts.map +1 -0
  72. package/dist/kernel/sceneIndex.d.ts +90 -0
  73. package/dist/kernel/sceneIndex.d.ts.map +1 -0
  74. package/dist/kernel/stage.d.ts +87 -0
  75. package/dist/kernel/stage.d.ts.map +1 -0
  76. package/dist/kernel/textLayout.d.ts +29 -0
  77. package/dist/kernel/textLayout.d.ts.map +1 -0
  78. package/dist/kernel/tween.d.ts +35 -0
  79. package/dist/kernel/tween.d.ts.map +1 -0
  80. package/dist/kernel/xrInput.d.ts +107 -0
  81. package/dist/kernel/xrInput.d.ts.map +1 -0
  82. package/dist/kernel/xrLocomotion.d.ts +38 -0
  83. package/dist/kernel/xrLocomotion.d.ts.map +1 -0
  84. package/dist/runtime/FrameSource.d.ts +29 -0
  85. package/dist/runtime/FrameSource.d.ts.map +1 -0
  86. package/dist/runtime/ResourceRegistry.d.ts +18 -0
  87. package/dist/runtime/ResourceRegistry.d.ts.map +1 -0
  88. package/dist/runtime/SceneRuntime.d.ts +68 -0
  89. package/dist/runtime/SceneRuntime.d.ts.map +1 -0
  90. package/dist/runtime/SceneSchema.d.ts +2536 -0
  91. package/dist/runtime/SceneSchema.d.ts.map +1 -0
  92. package/dist/runtime/errors.d.ts +19 -0
  93. package/dist/runtime/errors.d.ts.map +1 -0
  94. package/dist/runtime/index.d.ts +11 -0
  95. package/dist/runtime/index.d.ts.map +1 -0
  96. package/dist/webgl/contactShadows.d.ts +5 -0
  97. package/dist/webgl/contactShadows.d.ts.map +1 -0
  98. package/dist/webgl/index.d.ts +11 -0
  99. package/dist/webgl/index.d.ts.map +1 -0
  100. package/dist/webgl/index.js +239 -0
  101. package/dist/webgl/index.js.map +13 -0
  102. package/dist/webgl/shaderGrid.d.ts +27 -0
  103. package/dist/webgl/shaderGrid.d.ts.map +1 -0
  104. package/dist/webgl/sky.d.ts +4 -0
  105. package/dist/webgl/sky.d.ts.map +1 -0
  106. package/dist/webgpu/contactShadows.d.ts +5 -0
  107. package/dist/webgpu/contactShadows.d.ts.map +1 -0
  108. package/dist/webgpu/index.d.ts +10 -0
  109. package/dist/webgpu/index.d.ts.map +1 -0
  110. package/dist/webgpu/index.js +216 -0
  111. package/dist/webgpu/index.js.map +13 -0
  112. package/dist/webgpu/shaderGrid.d.ts +5 -0
  113. package/dist/webgpu/shaderGrid.d.ts.map +1 -0
  114. package/dist/webgpu/sky.d.ts +4 -0
  115. package/dist/webgpu/sky.d.ts.map +1 -0
  116. package/package.json +82 -4
  117. package/src/index.ts +11 -0
  118. package/src/kernel/animation.ts +24 -0
  119. package/src/kernel/behaviours.ts +36 -0
  120. package/src/kernel/bodies.ts +338 -0
  121. package/src/kernel/bodySources.ts +203 -0
  122. package/src/kernel/build.ts +1325 -0
  123. package/src/kernel/cameraMotion.ts +202 -0
  124. package/src/kernel/clock.ts +35 -0
  125. package/src/kernel/contactShadowPasses.ts +207 -0
  126. package/src/kernel/description.ts +1197 -0
  127. package/src/kernel/diff.ts +383 -0
  128. package/src/kernel/environmentPresets.ts +38 -0
  129. package/src/kernel/equality.ts +604 -0
  130. package/src/kernel/frames.ts +124 -0
  131. package/src/kernel/index.ts +274 -0
  132. package/src/kernel/instances.ts +97 -0
  133. package/src/kernel/labels.ts +54 -0
  134. package/src/kernel/loop.ts +248 -0
  135. package/src/kernel/materials.ts +258 -0
  136. package/src/kernel/motion.ts +75 -0
  137. package/src/kernel/orbit.ts +554 -0
  138. package/src/kernel/overlays.ts +130 -0
  139. package/src/kernel/performance.ts +101 -0
  140. package/src/kernel/physics.ts +361 -0
  141. package/src/kernel/physicsDebug.ts +68 -0
  142. package/src/kernel/pointer.ts +785 -0
  143. package/src/kernel/renderKit.ts +54 -0
  144. package/src/kernel/renderer.ts +136 -0
  145. package/src/kernel/resources.ts +504 -0
  146. package/src/kernel/sceneGraph.ts +1442 -0
  147. package/src/kernel/sceneIndex.ts +219 -0
  148. package/src/kernel/stage.ts +157 -0
  149. package/src/kernel/textLayout.ts +102 -0
  150. package/src/kernel/tween.ts +80 -0
  151. package/src/kernel/xrInput.ts +230 -0
  152. package/src/kernel/xrLocomotion.ts +72 -0
  153. package/src/runtime/FrameSource.ts +41 -0
  154. package/src/runtime/ResourceRegistry.ts +24 -0
  155. package/src/runtime/SceneRuntime.ts +229 -0
  156. package/src/runtime/SceneSchema.ts +983 -0
  157. package/src/runtime/errors.ts +18 -0
  158. package/src/runtime/index.ts +10 -0
  159. package/src/webgl/contactShadows.ts +67 -0
  160. package/src/webgl/index.ts +19 -0
  161. package/src/webgl/shaderGrid.ts +196 -0
  162. package/src/webgl/sky.ts +42 -0
  163. package/src/webgpu/contactShadows.ts +83 -0
  164. package/src/webgpu/index.ts +19 -0
  165. package/src/webgpu/shaderGrid.ts +158 -0
  166. package/src/webgpu/sky.ts +35 -0
@@ -0,0 +1,2536 @@
1
+ /**
2
+ * Effect Schemas for scene descriptions.
3
+ *
4
+ * They validate untrusted descriptions at the boundary, type the Foldkit `scene`
5
+ * property and derive property-test generators. Each decoded `Type` is checked at compile
6
+ * time to be exactly the kernel's description type, so the two can't drift.
7
+ *
8
+ * @module
9
+ */
10
+ import { Schema } from 'effect';
11
+ import { type SceneNode as KernelSceneNode } from '../kernel/description.ts';
12
+ /** A three-component vector `[x, y, z]` of finite numbers. */
13
+ export declare const Vec3: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
14
+ /** A rotation axis. */
15
+ export declare const Axis: Schema.Literals<readonly ["x", "y", "z"]>;
16
+ /** A 24-bit RGB colour, for example `0x3366ff`. */
17
+ export declare const Rgb: Schema.Int;
18
+ /** Model-owned Euler angles, or a spin behaviour that owns the rotation. */
19
+ export declare const Rotation: Schema.Union<readonly [Schema.TaggedStruct<"Fixed", {
20
+ readonly euler: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
21
+ }>, Schema.TaggedStruct<"Spin", {
22
+ readonly axis: Schema.Literals<readonly ["x", "y", "z"]>;
23
+ readonly radiansPerSecond: Schema.Finite;
24
+ readonly phase: Schema.Finite;
25
+ }>]>;
26
+ /** Box geometry parameters. */
27
+ export declare const BoxGeometry: Schema.TaggedStruct<"Box", {
28
+ readonly width: Schema.Finite;
29
+ readonly height: Schema.Finite;
30
+ readonly depth: Schema.Finite;
31
+ }>;
32
+ /** Sphere geometry parameters. */
33
+ export declare const SphereGeometry: Schema.TaggedStruct<"Sphere", {
34
+ readonly radius: Schema.Finite;
35
+ readonly widthSegments: Schema.Int;
36
+ readonly heightSegments: Schema.Int;
37
+ }>;
38
+ /** Plane geometry parameters. */
39
+ export declare const PlaneGeometry: Schema.TaggedStruct<"Plane", {
40
+ readonly width: Schema.Finite;
41
+ readonly height: Schema.Finite;
42
+ }>;
43
+ /** Cylinder geometry parameters. A zero radius makes a cone. */
44
+ export declare const CylinderGeometry: Schema.TaggedStruct<"Cylinder", {
45
+ readonly radiusTop: Schema.Finite;
46
+ readonly radiusBottom: Schema.Finite;
47
+ readonly height: Schema.Finite;
48
+ readonly radialSegments: Schema.Int;
49
+ }>;
50
+ /** Torus geometry parameters. */
51
+ export declare const TorusGeometry: Schema.TaggedStruct<"Torus", {
52
+ readonly radius: Schema.Finite;
53
+ readonly tube: Schema.Finite;
54
+ readonly radialSegments: Schema.Int;
55
+ readonly tubularSegments: Schema.Int;
56
+ }>;
57
+ /** Cone geometry parameters. */
58
+ export declare const ConeGeometry: Schema.TaggedStruct<"Cone", {
59
+ readonly radius: Schema.Finite;
60
+ readonly height: Schema.Finite;
61
+ readonly radialSegments: Schema.Int;
62
+ }>;
63
+ /** Capsule geometry parameters. */
64
+ export declare const CapsuleGeometry: Schema.TaggedStruct<"Capsule", {
65
+ readonly radius: Schema.Finite;
66
+ readonly height: Schema.Finite;
67
+ readonly capSegments: Schema.Int;
68
+ readonly radialSegments: Schema.Int;
69
+ }>;
70
+ /** Ring geometry parameters. */
71
+ export declare const RingGeometry: Schema.TaggedStruct<"Ring", {
72
+ readonly innerRadius: Schema.Finite;
73
+ readonly outerRadius: Schema.Finite;
74
+ readonly thetaSegments: Schema.Int;
75
+ }>;
76
+ /** Circle geometry parameters. */
77
+ export declare const CircleGeometry: Schema.TaggedStruct<"Circle", {
78
+ readonly radius: Schema.Finite;
79
+ readonly segments: Schema.Int;
80
+ }>;
81
+ /** Text from a lent typeface font. */
82
+ export declare const TextGeometry: Schema.TaggedStruct<"Text", {
83
+ readonly text: Schema.String;
84
+ readonly font: Schema.String;
85
+ readonly size: Schema.Finite;
86
+ readonly depth: Schema.Finite;
87
+ readonly curveSegments: Schema.Int;
88
+ readonly bevel: Schema.NullOr<Schema.Struct<{
89
+ readonly thickness: Schema.Finite;
90
+ readonly size: Schema.Finite;
91
+ readonly offset: Schema.Finite;
92
+ readonly segments: Schema.Int;
93
+ }>>;
94
+ readonly center: Schema.Boolean;
95
+ readonly letterSpacing: Schema.Finite;
96
+ readonly lineHeight: Schema.Finite;
97
+ readonly align: Schema.Literals<readonly ["left", "center", "right"]>;
98
+ }>;
99
+ /** Any geometry shape. */
100
+ export declare const ShapeGeometry: Schema.Union<readonly [Schema.TaggedStruct<"Text", {
101
+ readonly text: Schema.String;
102
+ readonly font: Schema.String;
103
+ readonly size: Schema.Finite;
104
+ readonly depth: Schema.Finite;
105
+ readonly curveSegments: Schema.Int;
106
+ readonly bevel: Schema.NullOr<Schema.Struct<{
107
+ readonly thickness: Schema.Finite;
108
+ readonly size: Schema.Finite;
109
+ readonly offset: Schema.Finite;
110
+ readonly segments: Schema.Int;
111
+ }>>;
112
+ readonly center: Schema.Boolean;
113
+ readonly letterSpacing: Schema.Finite;
114
+ readonly lineHeight: Schema.Finite;
115
+ readonly align: Schema.Literals<readonly ["left", "center", "right"]>;
116
+ }>, Schema.TaggedStruct<"Box", {
117
+ readonly width: Schema.Finite;
118
+ readonly height: Schema.Finite;
119
+ readonly depth: Schema.Finite;
120
+ }>, Schema.TaggedStruct<"Sphere", {
121
+ readonly radius: Schema.Finite;
122
+ readonly widthSegments: Schema.Int;
123
+ readonly heightSegments: Schema.Int;
124
+ }>, Schema.TaggedStruct<"Plane", {
125
+ readonly width: Schema.Finite;
126
+ readonly height: Schema.Finite;
127
+ }>, Schema.TaggedStruct<"Cylinder", {
128
+ readonly radiusTop: Schema.Finite;
129
+ readonly radiusBottom: Schema.Finite;
130
+ readonly height: Schema.Finite;
131
+ readonly radialSegments: Schema.Int;
132
+ }>, Schema.TaggedStruct<"Torus", {
133
+ readonly radius: Schema.Finite;
134
+ readonly tube: Schema.Finite;
135
+ readonly radialSegments: Schema.Int;
136
+ readonly tubularSegments: Schema.Int;
137
+ }>, Schema.TaggedStruct<"Cone", {
138
+ readonly radius: Schema.Finite;
139
+ readonly height: Schema.Finite;
140
+ readonly radialSegments: Schema.Int;
141
+ }>, Schema.TaggedStruct<"Capsule", {
142
+ readonly radius: Schema.Finite;
143
+ readonly height: Schema.Finite;
144
+ readonly capSegments: Schema.Int;
145
+ readonly radialSegments: Schema.Int;
146
+ }>, Schema.TaggedStruct<"Ring", {
147
+ readonly innerRadius: Schema.Finite;
148
+ readonly outerRadius: Schema.Finite;
149
+ readonly thetaSegments: Schema.Int;
150
+ }>, Schema.TaggedStruct<"Circle", {
151
+ readonly radius: Schema.Finite;
152
+ readonly segments: Schema.Int;
153
+ }>]>;
154
+ /** A registered behaviour, by name, with numeric parameters. */
155
+ export declare const Behave: Schema.Struct<{
156
+ readonly name: Schema.String;
157
+ readonly params: Schema.$Record<Schema.String, Schema.Finite>;
158
+ }>;
159
+ /** How a transition progresses. */
160
+ export declare const Easing: Schema.Literals<readonly ["linear", "easeInOutCubic", "easeOutCubic", "easeOutBack"]>;
161
+ /** How position and scale changes are shown. */
162
+ export declare const Transition: Schema.Union<readonly [Schema.TaggedStruct<"Instant", {}>, Schema.TaggedStruct<"Ease", {
163
+ readonly seconds: Schema.Finite;
164
+ readonly easing: Schema.Literals<readonly ["linear", "easeInOutCubic", "easeOutCubic", "easeOutBack"]>;
165
+ }>]>;
166
+ /** Which faces a material draws. */
167
+ export declare const MaterialSide: Schema.Literals<readonly ["front", "back", "double"]>;
168
+ /** Unlit material parameters. */
169
+ export declare const BasicMaterial: Schema.TaggedStruct<"Basic", {
170
+ readonly opacity: Schema.Finite;
171
+ readonly transparent: Schema.Boolean;
172
+ readonly side: Schema.Literals<readonly ["front", "back", "double"]>;
173
+ readonly wireframe: Schema.Boolean;
174
+ readonly color: Schema.Int;
175
+ readonly map: Schema.NullOr<Schema.String>;
176
+ }>;
177
+ /** Matte material parameters. */
178
+ export declare const LambertMaterial: Schema.TaggedStruct<"Lambert", {
179
+ readonly opacity: Schema.Finite;
180
+ readonly transparent: Schema.Boolean;
181
+ readonly side: Schema.Literals<readonly ["front", "back", "double"]>;
182
+ readonly wireframe: Schema.Boolean;
183
+ readonly flatShading: Schema.Boolean;
184
+ readonly color: Schema.Int;
185
+ readonly map: Schema.NullOr<Schema.String>;
186
+ readonly emissive: Schema.Int;
187
+ }>;
188
+ /** Shiny material parameters. */
189
+ export declare const PhongMaterial: Schema.TaggedStruct<"Phong", {
190
+ readonly opacity: Schema.Finite;
191
+ readonly transparent: Schema.Boolean;
192
+ readonly side: Schema.Literals<readonly ["front", "back", "double"]>;
193
+ readonly wireframe: Schema.Boolean;
194
+ readonly flatShading: Schema.Boolean;
195
+ readonly color: Schema.Int;
196
+ readonly map: Schema.NullOr<Schema.String>;
197
+ readonly emissive: Schema.Int;
198
+ readonly specular: Schema.Int;
199
+ readonly shininess: Schema.Finite;
200
+ }>;
201
+ /** Standard (PBR) material parameters. */
202
+ export declare const StandardMaterial: Schema.TaggedStruct<"Standard", {
203
+ readonly opacity: Schema.Finite;
204
+ readonly transparent: Schema.Boolean;
205
+ readonly side: Schema.Literals<readonly ["front", "back", "double"]>;
206
+ readonly wireframe: Schema.Boolean;
207
+ readonly flatShading: Schema.Boolean;
208
+ readonly color: Schema.Int;
209
+ readonly map: Schema.NullOr<Schema.String>;
210
+ readonly roughness: Schema.Finite;
211
+ readonly metalness: Schema.Finite;
212
+ readonly emissive: Schema.Int;
213
+ readonly emissiveIntensity: Schema.Finite;
214
+ }>;
215
+ /** Physical material parameters: index of refraction in [1, 2.333], the range three.js documents. */
216
+ export declare const PhysicalMaterial: Schema.TaggedStruct<"Physical", {
217
+ readonly opacity: Schema.Finite;
218
+ readonly transparent: Schema.Boolean;
219
+ readonly side: Schema.Literals<readonly ["front", "back", "double"]>;
220
+ readonly wireframe: Schema.Boolean;
221
+ readonly flatShading: Schema.Boolean;
222
+ readonly color: Schema.Int;
223
+ readonly map: Schema.NullOr<Schema.String>;
224
+ readonly roughness: Schema.Finite;
225
+ readonly metalness: Schema.Finite;
226
+ readonly emissive: Schema.Int;
227
+ readonly emissiveIntensity: Schema.Finite;
228
+ readonly clearcoat: Schema.Finite;
229
+ readonly clearcoatRoughness: Schema.Finite;
230
+ readonly transmission: Schema.Finite;
231
+ readonly ior: Schema.Finite;
232
+ }>;
233
+ /** Normal-coloured material parameters. */
234
+ export declare const NormalMaterial: Schema.TaggedStruct<"Normal", {
235
+ opacity: Schema.Finite;
236
+ transparent: Schema.Boolean;
237
+ side: Schema.Literals<readonly ["front", "back", "double"]>;
238
+ wireframe: Schema.Boolean;
239
+ flatShading: Schema.Boolean;
240
+ }>;
241
+ /** A shadow catcher: only the shadows cast onto it. */
242
+ export declare const ShadowMaterial: Schema.TaggedStruct<"Shadow", {
243
+ readonly color: Schema.Int;
244
+ readonly opacity: Schema.Finite;
245
+ }>;
246
+ /** Any material kind. */
247
+ export declare const SurfaceMaterial: Schema.Union<readonly [Schema.TaggedStruct<"Shadow", {
248
+ readonly color: Schema.Int;
249
+ readonly opacity: Schema.Finite;
250
+ }>, Schema.TaggedStruct<"Basic", {
251
+ readonly opacity: Schema.Finite;
252
+ readonly transparent: Schema.Boolean;
253
+ readonly side: Schema.Literals<readonly ["front", "back", "double"]>;
254
+ readonly wireframe: Schema.Boolean;
255
+ readonly color: Schema.Int;
256
+ readonly map: Schema.NullOr<Schema.String>;
257
+ }>, Schema.TaggedStruct<"Lambert", {
258
+ readonly opacity: Schema.Finite;
259
+ readonly transparent: Schema.Boolean;
260
+ readonly side: Schema.Literals<readonly ["front", "back", "double"]>;
261
+ readonly wireframe: Schema.Boolean;
262
+ readonly flatShading: Schema.Boolean;
263
+ readonly color: Schema.Int;
264
+ readonly map: Schema.NullOr<Schema.String>;
265
+ readonly emissive: Schema.Int;
266
+ }>, Schema.TaggedStruct<"Phong", {
267
+ readonly opacity: Schema.Finite;
268
+ readonly transparent: Schema.Boolean;
269
+ readonly side: Schema.Literals<readonly ["front", "back", "double"]>;
270
+ readonly wireframe: Schema.Boolean;
271
+ readonly flatShading: Schema.Boolean;
272
+ readonly color: Schema.Int;
273
+ readonly map: Schema.NullOr<Schema.String>;
274
+ readonly emissive: Schema.Int;
275
+ readonly specular: Schema.Int;
276
+ readonly shininess: Schema.Finite;
277
+ }>, Schema.TaggedStruct<"Standard", {
278
+ readonly opacity: Schema.Finite;
279
+ readonly transparent: Schema.Boolean;
280
+ readonly side: Schema.Literals<readonly ["front", "back", "double"]>;
281
+ readonly wireframe: Schema.Boolean;
282
+ readonly flatShading: Schema.Boolean;
283
+ readonly color: Schema.Int;
284
+ readonly map: Schema.NullOr<Schema.String>;
285
+ readonly roughness: Schema.Finite;
286
+ readonly metalness: Schema.Finite;
287
+ readonly emissive: Schema.Int;
288
+ readonly emissiveIntensity: Schema.Finite;
289
+ }>, Schema.TaggedStruct<"Physical", {
290
+ readonly opacity: Schema.Finite;
291
+ readonly transparent: Schema.Boolean;
292
+ readonly side: Schema.Literals<readonly ["front", "back", "double"]>;
293
+ readonly wireframe: Schema.Boolean;
294
+ readonly flatShading: Schema.Boolean;
295
+ readonly color: Schema.Int;
296
+ readonly map: Schema.NullOr<Schema.String>;
297
+ readonly roughness: Schema.Finite;
298
+ readonly metalness: Schema.Finite;
299
+ readonly emissive: Schema.Int;
300
+ readonly emissiveIntensity: Schema.Finite;
301
+ readonly clearcoat: Schema.Finite;
302
+ readonly clearcoatRoughness: Schema.Finite;
303
+ readonly transmission: Schema.Finite;
304
+ readonly ior: Schema.Finite;
305
+ }>, Schema.TaggedStruct<"Normal", {
306
+ opacity: Schema.Finite;
307
+ transparent: Schema.Boolean;
308
+ side: Schema.Literals<readonly ["front", "back", "double"]>;
309
+ wireframe: Schema.Boolean;
310
+ flatShading: Schema.Boolean;
311
+ }>]>;
312
+ /** An owned geometry or a reference to a shared one. */
313
+ export declare const GeometryRef: Schema.Union<readonly [Schema.TaggedStruct<"Text", {
314
+ readonly text: Schema.String;
315
+ readonly font: Schema.String;
316
+ readonly size: Schema.Finite;
317
+ readonly depth: Schema.Finite;
318
+ readonly curveSegments: Schema.Int;
319
+ readonly bevel: Schema.NullOr<Schema.Struct<{
320
+ readonly thickness: Schema.Finite;
321
+ readonly size: Schema.Finite;
322
+ readonly offset: Schema.Finite;
323
+ readonly segments: Schema.Int;
324
+ }>>;
325
+ readonly center: Schema.Boolean;
326
+ readonly letterSpacing: Schema.Finite;
327
+ readonly lineHeight: Schema.Finite;
328
+ readonly align: Schema.Literals<readonly ["left", "center", "right"]>;
329
+ }>, Schema.TaggedStruct<"Box", {
330
+ readonly width: Schema.Finite;
331
+ readonly height: Schema.Finite;
332
+ readonly depth: Schema.Finite;
333
+ }>, Schema.TaggedStruct<"Sphere", {
334
+ readonly radius: Schema.Finite;
335
+ readonly widthSegments: Schema.Int;
336
+ readonly heightSegments: Schema.Int;
337
+ }>, Schema.TaggedStruct<"Plane", {
338
+ readonly width: Schema.Finite;
339
+ readonly height: Schema.Finite;
340
+ }>, Schema.TaggedStruct<"Cylinder", {
341
+ readonly radiusTop: Schema.Finite;
342
+ readonly radiusBottom: Schema.Finite;
343
+ readonly height: Schema.Finite;
344
+ readonly radialSegments: Schema.Int;
345
+ }>, Schema.TaggedStruct<"Torus", {
346
+ readonly radius: Schema.Finite;
347
+ readonly tube: Schema.Finite;
348
+ readonly radialSegments: Schema.Int;
349
+ readonly tubularSegments: Schema.Int;
350
+ }>, Schema.TaggedStruct<"Cone", {
351
+ readonly radius: Schema.Finite;
352
+ readonly height: Schema.Finite;
353
+ readonly radialSegments: Schema.Int;
354
+ }>, Schema.TaggedStruct<"Capsule", {
355
+ readonly radius: Schema.Finite;
356
+ readonly height: Schema.Finite;
357
+ readonly capSegments: Schema.Int;
358
+ readonly radialSegments: Schema.Int;
359
+ }>, Schema.TaggedStruct<"Ring", {
360
+ readonly innerRadius: Schema.Finite;
361
+ readonly outerRadius: Schema.Finite;
362
+ readonly thetaSegments: Schema.Int;
363
+ }>, Schema.TaggedStruct<"Circle", {
364
+ readonly radius: Schema.Finite;
365
+ readonly segments: Schema.Int;
366
+ }>, Schema.TaggedStruct<"SharedGeometry", {
367
+ readonly id: Schema.String;
368
+ }>, Schema.TaggedStruct<"LentGeometry", {
369
+ readonly id: Schema.String;
370
+ }>]>;
371
+ /** An owned material or a reference to a shared one. */
372
+ export declare const MaterialRef: Schema.Union<readonly [Schema.TaggedStruct<"Shadow", {
373
+ readonly color: Schema.Int;
374
+ readonly opacity: Schema.Finite;
375
+ }>, Schema.TaggedStruct<"Basic", {
376
+ readonly opacity: Schema.Finite;
377
+ readonly transparent: Schema.Boolean;
378
+ readonly side: Schema.Literals<readonly ["front", "back", "double"]>;
379
+ readonly wireframe: Schema.Boolean;
380
+ readonly color: Schema.Int;
381
+ readonly map: Schema.NullOr<Schema.String>;
382
+ }>, Schema.TaggedStruct<"Lambert", {
383
+ readonly opacity: Schema.Finite;
384
+ readonly transparent: Schema.Boolean;
385
+ readonly side: Schema.Literals<readonly ["front", "back", "double"]>;
386
+ readonly wireframe: Schema.Boolean;
387
+ readonly flatShading: Schema.Boolean;
388
+ readonly color: Schema.Int;
389
+ readonly map: Schema.NullOr<Schema.String>;
390
+ readonly emissive: Schema.Int;
391
+ }>, Schema.TaggedStruct<"Phong", {
392
+ readonly opacity: Schema.Finite;
393
+ readonly transparent: Schema.Boolean;
394
+ readonly side: Schema.Literals<readonly ["front", "back", "double"]>;
395
+ readonly wireframe: Schema.Boolean;
396
+ readonly flatShading: Schema.Boolean;
397
+ readonly color: Schema.Int;
398
+ readonly map: Schema.NullOr<Schema.String>;
399
+ readonly emissive: Schema.Int;
400
+ readonly specular: Schema.Int;
401
+ readonly shininess: Schema.Finite;
402
+ }>, Schema.TaggedStruct<"Standard", {
403
+ readonly opacity: Schema.Finite;
404
+ readonly transparent: Schema.Boolean;
405
+ readonly side: Schema.Literals<readonly ["front", "back", "double"]>;
406
+ readonly wireframe: Schema.Boolean;
407
+ readonly flatShading: Schema.Boolean;
408
+ readonly color: Schema.Int;
409
+ readonly map: Schema.NullOr<Schema.String>;
410
+ readonly roughness: Schema.Finite;
411
+ readonly metalness: Schema.Finite;
412
+ readonly emissive: Schema.Int;
413
+ readonly emissiveIntensity: Schema.Finite;
414
+ }>, Schema.TaggedStruct<"Physical", {
415
+ readonly opacity: Schema.Finite;
416
+ readonly transparent: Schema.Boolean;
417
+ readonly side: Schema.Literals<readonly ["front", "back", "double"]>;
418
+ readonly wireframe: Schema.Boolean;
419
+ readonly flatShading: Schema.Boolean;
420
+ readonly color: Schema.Int;
421
+ readonly map: Schema.NullOr<Schema.String>;
422
+ readonly roughness: Schema.Finite;
423
+ readonly metalness: Schema.Finite;
424
+ readonly emissive: Schema.Int;
425
+ readonly emissiveIntensity: Schema.Finite;
426
+ readonly clearcoat: Schema.Finite;
427
+ readonly clearcoatRoughness: Schema.Finite;
428
+ readonly transmission: Schema.Finite;
429
+ readonly ior: Schema.Finite;
430
+ }>, Schema.TaggedStruct<"Normal", {
431
+ opacity: Schema.Finite;
432
+ transparent: Schema.Boolean;
433
+ side: Schema.Literals<readonly ["front", "back", "double"]>;
434
+ wireframe: Schema.Boolean;
435
+ flatShading: Schema.Boolean;
436
+ }>, Schema.TaggedStruct<"SharedMaterial", {
437
+ readonly id: Schema.String;
438
+ }>]>;
439
+ /** Shared resource definitions. */
440
+ export declare const ResourceDefinitions: Schema.Struct<{
441
+ readonly geometries: Schema.$Array<Schema.Struct<{
442
+ readonly id: Schema.String;
443
+ readonly geometry: Schema.Union<readonly [Schema.TaggedStruct<"Text", {
444
+ readonly text: Schema.String;
445
+ readonly font: Schema.String;
446
+ readonly size: Schema.Finite;
447
+ readonly depth: Schema.Finite;
448
+ readonly curveSegments: Schema.Int;
449
+ readonly bevel: Schema.NullOr<Schema.Struct<{
450
+ readonly thickness: Schema.Finite;
451
+ readonly size: Schema.Finite;
452
+ readonly offset: Schema.Finite;
453
+ readonly segments: Schema.Int;
454
+ }>>;
455
+ readonly center: Schema.Boolean;
456
+ readonly letterSpacing: Schema.Finite;
457
+ readonly lineHeight: Schema.Finite;
458
+ readonly align: Schema.Literals<readonly ["left", "center", "right"]>;
459
+ }>, Schema.TaggedStruct<"Box", {
460
+ readonly width: Schema.Finite;
461
+ readonly height: Schema.Finite;
462
+ readonly depth: Schema.Finite;
463
+ }>, Schema.TaggedStruct<"Sphere", {
464
+ readonly radius: Schema.Finite;
465
+ readonly widthSegments: Schema.Int;
466
+ readonly heightSegments: Schema.Int;
467
+ }>, Schema.TaggedStruct<"Plane", {
468
+ readonly width: Schema.Finite;
469
+ readonly height: Schema.Finite;
470
+ }>, Schema.TaggedStruct<"Cylinder", {
471
+ readonly radiusTop: Schema.Finite;
472
+ readonly radiusBottom: Schema.Finite;
473
+ readonly height: Schema.Finite;
474
+ readonly radialSegments: Schema.Int;
475
+ }>, Schema.TaggedStruct<"Torus", {
476
+ readonly radius: Schema.Finite;
477
+ readonly tube: Schema.Finite;
478
+ readonly radialSegments: Schema.Int;
479
+ readonly tubularSegments: Schema.Int;
480
+ }>, Schema.TaggedStruct<"Cone", {
481
+ readonly radius: Schema.Finite;
482
+ readonly height: Schema.Finite;
483
+ readonly radialSegments: Schema.Int;
484
+ }>, Schema.TaggedStruct<"Capsule", {
485
+ readonly radius: Schema.Finite;
486
+ readonly height: Schema.Finite;
487
+ readonly capSegments: Schema.Int;
488
+ readonly radialSegments: Schema.Int;
489
+ }>, Schema.TaggedStruct<"Ring", {
490
+ readonly innerRadius: Schema.Finite;
491
+ readonly outerRadius: Schema.Finite;
492
+ readonly thetaSegments: Schema.Int;
493
+ }>, Schema.TaggedStruct<"Circle", {
494
+ readonly radius: Schema.Finite;
495
+ readonly segments: Schema.Int;
496
+ }>]>;
497
+ }>>;
498
+ readonly materials: Schema.$Array<Schema.Struct<{
499
+ readonly id: Schema.String;
500
+ readonly material: Schema.Union<readonly [Schema.TaggedStruct<"Shadow", {
501
+ readonly color: Schema.Int;
502
+ readonly opacity: Schema.Finite;
503
+ }>, Schema.TaggedStruct<"Basic", {
504
+ readonly opacity: Schema.Finite;
505
+ readonly transparent: Schema.Boolean;
506
+ readonly side: Schema.Literals<readonly ["front", "back", "double"]>;
507
+ readonly wireframe: Schema.Boolean;
508
+ readonly color: Schema.Int;
509
+ readonly map: Schema.NullOr<Schema.String>;
510
+ }>, Schema.TaggedStruct<"Lambert", {
511
+ readonly opacity: Schema.Finite;
512
+ readonly transparent: Schema.Boolean;
513
+ readonly side: Schema.Literals<readonly ["front", "back", "double"]>;
514
+ readonly wireframe: Schema.Boolean;
515
+ readonly flatShading: Schema.Boolean;
516
+ readonly color: Schema.Int;
517
+ readonly map: Schema.NullOr<Schema.String>;
518
+ readonly emissive: Schema.Int;
519
+ }>, Schema.TaggedStruct<"Phong", {
520
+ readonly opacity: Schema.Finite;
521
+ readonly transparent: Schema.Boolean;
522
+ readonly side: Schema.Literals<readonly ["front", "back", "double"]>;
523
+ readonly wireframe: Schema.Boolean;
524
+ readonly flatShading: Schema.Boolean;
525
+ readonly color: Schema.Int;
526
+ readonly map: Schema.NullOr<Schema.String>;
527
+ readonly emissive: Schema.Int;
528
+ readonly specular: Schema.Int;
529
+ readonly shininess: Schema.Finite;
530
+ }>, Schema.TaggedStruct<"Standard", {
531
+ readonly opacity: Schema.Finite;
532
+ readonly transparent: Schema.Boolean;
533
+ readonly side: Schema.Literals<readonly ["front", "back", "double"]>;
534
+ readonly wireframe: Schema.Boolean;
535
+ readonly flatShading: Schema.Boolean;
536
+ readonly color: Schema.Int;
537
+ readonly map: Schema.NullOr<Schema.String>;
538
+ readonly roughness: Schema.Finite;
539
+ readonly metalness: Schema.Finite;
540
+ readonly emissive: Schema.Int;
541
+ readonly emissiveIntensity: Schema.Finite;
542
+ }>, Schema.TaggedStruct<"Physical", {
543
+ readonly opacity: Schema.Finite;
544
+ readonly transparent: Schema.Boolean;
545
+ readonly side: Schema.Literals<readonly ["front", "back", "double"]>;
546
+ readonly wireframe: Schema.Boolean;
547
+ readonly flatShading: Schema.Boolean;
548
+ readonly color: Schema.Int;
549
+ readonly map: Schema.NullOr<Schema.String>;
550
+ readonly roughness: Schema.Finite;
551
+ readonly metalness: Schema.Finite;
552
+ readonly emissive: Schema.Int;
553
+ readonly emissiveIntensity: Schema.Finite;
554
+ readonly clearcoat: Schema.Finite;
555
+ readonly clearcoatRoughness: Schema.Finite;
556
+ readonly transmission: Schema.Finite;
557
+ readonly ior: Schema.Finite;
558
+ }>, Schema.TaggedStruct<"Normal", {
559
+ opacity: Schema.Finite;
560
+ transparent: Schema.Boolean;
561
+ side: Schema.Literals<readonly ["front", "back", "double"]>;
562
+ wireframe: Schema.Boolean;
563
+ flatShading: Schema.Boolean;
564
+ }>]>;
565
+ }>>;
566
+ }>;
567
+ /** A collider of a body's own, placed in it. */
568
+ export declare const ColliderDescription: Schema.Struct<{
569
+ readonly shape: Schema.Union<readonly [Schema.TaggedStruct<"Cuboid", {
570
+ readonly halfExtents: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
571
+ }>, Schema.TaggedStruct<"Ball", {
572
+ readonly radius: Schema.Finite;
573
+ }>, Schema.TaggedStruct<"Capsule", {
574
+ halfHeight: Schema.Finite;
575
+ radius: Schema.Finite;
576
+ }>, Schema.TaggedStruct<"Cylinder", {
577
+ halfHeight: Schema.Finite;
578
+ radius: Schema.Finite;
579
+ }>, Schema.TaggedStruct<"Cone", {
580
+ halfHeight: Schema.Finite;
581
+ radius: Schema.Finite;
582
+ }>]>;
583
+ readonly position: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
584
+ readonly rotation: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
585
+ readonly name: Schema.NullOr<Schema.String>;
586
+ }>;
587
+ /** Collision groups: those a body is in, and those it interacts with (null: all). */
588
+ export declare const InteractionGroups: Schema.Struct<{
589
+ readonly memberships: Schema.$Array<Schema.Int>;
590
+ readonly filters: Schema.NullOr<Schema.$Array<Schema.Int>>;
591
+ }>;
592
+ /** A rigid body for a mesh, group, model or instances. */
593
+ export declare const Body: Schema.Struct<{
594
+ readonly type: Schema.Literals<readonly ["dynamic", "fixed", "kinematic"]>;
595
+ readonly collider: Schema.Literals<readonly ["cuboid", "ball", "hull", "trimesh"]>;
596
+ readonly mass: Schema.NullOr<Schema.Finite>;
597
+ readonly friction: Schema.Finite;
598
+ readonly restitution: Schema.Finite;
599
+ readonly linearDamping: Schema.Finite;
600
+ readonly angularDamping: Schema.Finite;
601
+ readonly gravityScale: Schema.Finite;
602
+ readonly ccd: Schema.Boolean;
603
+ readonly sensor: Schema.Boolean;
604
+ readonly linearVelocity: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
605
+ readonly angularVelocity: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
606
+ readonly impulse: Schema.NullOr<Schema.Struct<{
607
+ readonly id: Schema.Finite;
608
+ readonly impulse: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
609
+ }>>;
610
+ readonly colliders: Schema.NullOr<Schema.$Array<Schema.Struct<{
611
+ readonly shape: Schema.Union<readonly [Schema.TaggedStruct<"Cuboid", {
612
+ readonly halfExtents: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
613
+ }>, Schema.TaggedStruct<"Ball", {
614
+ readonly radius: Schema.Finite;
615
+ }>, Schema.TaggedStruct<"Capsule", {
616
+ halfHeight: Schema.Finite;
617
+ radius: Schema.Finite;
618
+ }>, Schema.TaggedStruct<"Cylinder", {
619
+ halfHeight: Schema.Finite;
620
+ radius: Schema.Finite;
621
+ }>, Schema.TaggedStruct<"Cone", {
622
+ halfHeight: Schema.Finite;
623
+ radius: Schema.Finite;
624
+ }>]>;
625
+ readonly position: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
626
+ readonly rotation: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
627
+ readonly name: Schema.NullOr<Schema.String>;
628
+ }>>>;
629
+ readonly contactForces: Schema.NullOr<Schema.Finite>;
630
+ readonly collisionGroups: Schema.NullOr<Schema.Struct<{
631
+ readonly memberships: Schema.$Array<Schema.Int>;
632
+ readonly filters: Schema.NullOr<Schema.$Array<Schema.Int>>;
633
+ }>>;
634
+ readonly solverGroups: Schema.NullOr<Schema.Struct<{
635
+ readonly memberships: Schema.$Array<Schema.Int>;
636
+ readonly filters: Schema.NullOr<Schema.$Array<Schema.Int>>;
637
+ }>>;
638
+ }>;
639
+ /** A space an immersive session tracks, for a group to follow. */
640
+ export declare const XrSpace: Schema.Union<readonly [Schema.TaggedStruct<"Head", {}>, Schema.TaggedStruct<"Joint", {
641
+ readonly hand: Schema.Literals<readonly ["left", "right"]>;
642
+ readonly joint: Schema.Literals<readonly ["wrist", "thumb-metacarpal", "thumb-phalanx-proximal", "thumb-phalanx-distal", "thumb-tip", "index-finger-metacarpal", "index-finger-phalanx-proximal", "index-finger-phalanx-intermediate", "index-finger-phalanx-distal", "index-finger-tip", "middle-finger-metacarpal", "middle-finger-phalanx-proximal", "middle-finger-phalanx-intermediate", "middle-finger-phalanx-distal", "middle-finger-tip", "ring-finger-metacarpal", "ring-finger-phalanx-proximal", "ring-finger-phalanx-intermediate", "ring-finger-phalanx-distal", "ring-finger-tip", "pinky-finger-metacarpal", "pinky-finger-phalanx-proximal", "pinky-finger-phalanx-intermediate", "pinky-finger-phalanx-distal", "pinky-finger-tip"]>;
643
+ }>, Schema.TaggedStruct<"Controller", {
644
+ readonly hand: Schema.Literals<readonly ["left", "right"]>;
645
+ readonly space: Schema.Literals<readonly ["grip", "ray"]>;
646
+ }>, Schema.TaggedStruct<"Anchor", {
647
+ readonly id: Schema.String;
648
+ }>, Schema.TaggedStruct<"Plane", {
649
+ readonly id: Schema.String;
650
+ }>, Schema.TaggedStruct<"Mesh", {
651
+ readonly id: Schema.String;
652
+ }>]>;
653
+ /** A body a joint holds: a node's, or one instance's. */
654
+ export declare const BodyRef: Schema.Struct<{
655
+ readonly key: Schema.String;
656
+ readonly instance: Schema.NullOr<Schema.String>;
657
+ }>;
658
+ /** A joint's motor: a target position and velocity, and how hard it pursues each. */
659
+ export declare const JointMotor: Schema.Struct<{
660
+ readonly position: Schema.Finite;
661
+ readonly velocity: Schema.Finite;
662
+ readonly stiffness: Schema.Finite;
663
+ readonly damping: Schema.Finite;
664
+ }>;
665
+ /** A joint's range of motion. */
666
+ export declare const JointLimits: Schema.Tuple<readonly [Schema.Finite, Schema.Finite]>;
667
+ /** How a joint holds its bodies. */
668
+ export declare const JointKind: Schema.Union<readonly [Schema.TaggedStruct<"Fixed", {
669
+ readonly frameA: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
670
+ readonly frameB: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
671
+ }>, Schema.TaggedStruct<"Spherical", {}>, Schema.TaggedStruct<"Revolute", {
672
+ readonly axis: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
673
+ readonly limits: Schema.NullOr<Schema.Tuple<readonly [Schema.Finite, Schema.Finite]>>;
674
+ readonly motor: Schema.NullOr<Schema.Struct<{
675
+ readonly position: Schema.Finite;
676
+ readonly velocity: Schema.Finite;
677
+ readonly stiffness: Schema.Finite;
678
+ readonly damping: Schema.Finite;
679
+ }>>;
680
+ }>, Schema.TaggedStruct<"Prismatic", {
681
+ readonly axis: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
682
+ readonly limits: Schema.NullOr<Schema.Tuple<readonly [Schema.Finite, Schema.Finite]>>;
683
+ readonly motor: Schema.NullOr<Schema.Struct<{
684
+ readonly position: Schema.Finite;
685
+ readonly velocity: Schema.Finite;
686
+ readonly stiffness: Schema.Finite;
687
+ readonly damping: Schema.Finite;
688
+ }>>;
689
+ }>, Schema.TaggedStruct<"Rope", {
690
+ readonly length: Schema.Finite;
691
+ }>, Schema.TaggedStruct<"Spring", {
692
+ readonly restLength: Schema.Finite;
693
+ readonly stiffness: Schema.Finite;
694
+ readonly damping: Schema.Finite;
695
+ }>]>;
696
+ /** A joint between two bodies. */
697
+ export declare const Joint: Schema.Struct<{
698
+ readonly key: Schema.String;
699
+ readonly a: Schema.Struct<{
700
+ readonly key: Schema.String;
701
+ readonly instance: Schema.NullOr<Schema.String>;
702
+ }>;
703
+ readonly b: Schema.Struct<{
704
+ readonly key: Schema.String;
705
+ readonly instance: Schema.NullOr<Schema.String>;
706
+ }>;
707
+ readonly anchorA: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
708
+ readonly anchorB: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
709
+ readonly kind: Schema.Union<readonly [Schema.TaggedStruct<"Fixed", {
710
+ readonly frameA: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
711
+ readonly frameB: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
712
+ }>, Schema.TaggedStruct<"Spherical", {}>, Schema.TaggedStruct<"Revolute", {
713
+ readonly axis: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
714
+ readonly limits: Schema.NullOr<Schema.Tuple<readonly [Schema.Finite, Schema.Finite]>>;
715
+ readonly motor: Schema.NullOr<Schema.Struct<{
716
+ readonly position: Schema.Finite;
717
+ readonly velocity: Schema.Finite;
718
+ readonly stiffness: Schema.Finite;
719
+ readonly damping: Schema.Finite;
720
+ }>>;
721
+ }>, Schema.TaggedStruct<"Prismatic", {
722
+ readonly axis: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
723
+ readonly limits: Schema.NullOr<Schema.Tuple<readonly [Schema.Finite, Schema.Finite]>>;
724
+ readonly motor: Schema.NullOr<Schema.Struct<{
725
+ readonly position: Schema.Finite;
726
+ readonly velocity: Schema.Finite;
727
+ readonly stiffness: Schema.Finite;
728
+ readonly damping: Schema.Finite;
729
+ }>>;
730
+ }>, Schema.TaggedStruct<"Rope", {
731
+ readonly length: Schema.Finite;
732
+ }>, Schema.TaggedStruct<"Spring", {
733
+ readonly restLength: Schema.Finite;
734
+ readonly stiffness: Schema.Finite;
735
+ readonly damping: Schema.Finite;
736
+ }>]>;
737
+ readonly contacts: Schema.Boolean;
738
+ }>;
739
+ export declare const Physics: Schema.Struct<{
740
+ readonly gravity: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
741
+ readonly paused: Schema.Boolean;
742
+ readonly timeStep: Schema.Finite;
743
+ readonly interpolate: Schema.Boolean;
744
+ readonly debug: Schema.Boolean;
745
+ readonly joints: Schema.$Array<Schema.Struct<{
746
+ readonly key: Schema.String;
747
+ readonly a: Schema.Struct<{
748
+ readonly key: Schema.String;
749
+ readonly instance: Schema.NullOr<Schema.String>;
750
+ }>;
751
+ readonly b: Schema.Struct<{
752
+ readonly key: Schema.String;
753
+ readonly instance: Schema.NullOr<Schema.String>;
754
+ }>;
755
+ readonly anchorA: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
756
+ readonly anchorB: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
757
+ readonly kind: Schema.Union<readonly [Schema.TaggedStruct<"Fixed", {
758
+ readonly frameA: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
759
+ readonly frameB: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
760
+ }>, Schema.TaggedStruct<"Spherical", {}>, Schema.TaggedStruct<"Revolute", {
761
+ readonly axis: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
762
+ readonly limits: Schema.NullOr<Schema.Tuple<readonly [Schema.Finite, Schema.Finite]>>;
763
+ readonly motor: Schema.NullOr<Schema.Struct<{
764
+ readonly position: Schema.Finite;
765
+ readonly velocity: Schema.Finite;
766
+ readonly stiffness: Schema.Finite;
767
+ readonly damping: Schema.Finite;
768
+ }>>;
769
+ }>, Schema.TaggedStruct<"Prismatic", {
770
+ readonly axis: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
771
+ readonly limits: Schema.NullOr<Schema.Tuple<readonly [Schema.Finite, Schema.Finite]>>;
772
+ readonly motor: Schema.NullOr<Schema.Struct<{
773
+ readonly position: Schema.Finite;
774
+ readonly velocity: Schema.Finite;
775
+ readonly stiffness: Schema.Finite;
776
+ readonly damping: Schema.Finite;
777
+ }>>;
778
+ }>, Schema.TaggedStruct<"Rope", {
779
+ readonly length: Schema.Finite;
780
+ }>, Schema.TaggedStruct<"Spring", {
781
+ readonly restLength: Schema.Finite;
782
+ readonly stiffness: Schema.Finite;
783
+ readonly damping: Schema.Finite;
784
+ }>]>;
785
+ readonly contacts: Schema.Boolean;
786
+ }>>;
787
+ }>;
788
+ export declare const MeshNode: Schema.TaggedStruct<"Mesh", {
789
+ readonly key: Schema.String;
790
+ readonly position: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
791
+ readonly rotation: Schema.Union<readonly [Schema.TaggedStruct<"Fixed", {
792
+ readonly euler: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
793
+ }>, Schema.TaggedStruct<"Spin", {
794
+ readonly axis: Schema.Literals<readonly ["x", "y", "z"]>;
795
+ readonly radiansPerSecond: Schema.Finite;
796
+ readonly phase: Schema.Finite;
797
+ }>]>;
798
+ readonly scale: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
799
+ readonly transition: Schema.Union<readonly [Schema.TaggedStruct<"Instant", {}>, Schema.TaggedStruct<"Ease", {
800
+ readonly seconds: Schema.Finite;
801
+ readonly easing: Schema.Literals<readonly ["linear", "easeInOutCubic", "easeOutCubic", "easeOutBack"]>;
802
+ }>]>;
803
+ readonly behaviour: Schema.NullOr<Schema.Struct<{
804
+ readonly name: Schema.String;
805
+ readonly params: Schema.$Record<Schema.String, Schema.Finite>;
806
+ }>>;
807
+ readonly geometry: Schema.Union<readonly [Schema.TaggedStruct<"Text", {
808
+ readonly text: Schema.String;
809
+ readonly font: Schema.String;
810
+ readonly size: Schema.Finite;
811
+ readonly depth: Schema.Finite;
812
+ readonly curveSegments: Schema.Int;
813
+ readonly bevel: Schema.NullOr<Schema.Struct<{
814
+ readonly thickness: Schema.Finite;
815
+ readonly size: Schema.Finite;
816
+ readonly offset: Schema.Finite;
817
+ readonly segments: Schema.Int;
818
+ }>>;
819
+ readonly center: Schema.Boolean;
820
+ readonly letterSpacing: Schema.Finite;
821
+ readonly lineHeight: Schema.Finite;
822
+ readonly align: Schema.Literals<readonly ["left", "center", "right"]>;
823
+ }>, Schema.TaggedStruct<"Box", {
824
+ readonly width: Schema.Finite;
825
+ readonly height: Schema.Finite;
826
+ readonly depth: Schema.Finite;
827
+ }>, Schema.TaggedStruct<"Sphere", {
828
+ readonly radius: Schema.Finite;
829
+ readonly widthSegments: Schema.Int;
830
+ readonly heightSegments: Schema.Int;
831
+ }>, Schema.TaggedStruct<"Plane", {
832
+ readonly width: Schema.Finite;
833
+ readonly height: Schema.Finite;
834
+ }>, Schema.TaggedStruct<"Cylinder", {
835
+ readonly radiusTop: Schema.Finite;
836
+ readonly radiusBottom: Schema.Finite;
837
+ readonly height: Schema.Finite;
838
+ readonly radialSegments: Schema.Int;
839
+ }>, Schema.TaggedStruct<"Torus", {
840
+ readonly radius: Schema.Finite;
841
+ readonly tube: Schema.Finite;
842
+ readonly radialSegments: Schema.Int;
843
+ readonly tubularSegments: Schema.Int;
844
+ }>, Schema.TaggedStruct<"Cone", {
845
+ readonly radius: Schema.Finite;
846
+ readonly height: Schema.Finite;
847
+ readonly radialSegments: Schema.Int;
848
+ }>, Schema.TaggedStruct<"Capsule", {
849
+ readonly radius: Schema.Finite;
850
+ readonly height: Schema.Finite;
851
+ readonly capSegments: Schema.Int;
852
+ readonly radialSegments: Schema.Int;
853
+ }>, Schema.TaggedStruct<"Ring", {
854
+ readonly innerRadius: Schema.Finite;
855
+ readonly outerRadius: Schema.Finite;
856
+ readonly thetaSegments: Schema.Int;
857
+ }>, Schema.TaggedStruct<"Circle", {
858
+ readonly radius: Schema.Finite;
859
+ readonly segments: Schema.Int;
860
+ }>, Schema.TaggedStruct<"SharedGeometry", {
861
+ readonly id: Schema.String;
862
+ }>, Schema.TaggedStruct<"LentGeometry", {
863
+ readonly id: Schema.String;
864
+ }>]>;
865
+ readonly material: Schema.Union<readonly [Schema.TaggedStruct<"Shadow", {
866
+ readonly color: Schema.Int;
867
+ readonly opacity: Schema.Finite;
868
+ }>, Schema.TaggedStruct<"Basic", {
869
+ readonly opacity: Schema.Finite;
870
+ readonly transparent: Schema.Boolean;
871
+ readonly side: Schema.Literals<readonly ["front", "back", "double"]>;
872
+ readonly wireframe: Schema.Boolean;
873
+ readonly color: Schema.Int;
874
+ readonly map: Schema.NullOr<Schema.String>;
875
+ }>, Schema.TaggedStruct<"Lambert", {
876
+ readonly opacity: Schema.Finite;
877
+ readonly transparent: Schema.Boolean;
878
+ readonly side: Schema.Literals<readonly ["front", "back", "double"]>;
879
+ readonly wireframe: Schema.Boolean;
880
+ readonly flatShading: Schema.Boolean;
881
+ readonly color: Schema.Int;
882
+ readonly map: Schema.NullOr<Schema.String>;
883
+ readonly emissive: Schema.Int;
884
+ }>, Schema.TaggedStruct<"Phong", {
885
+ readonly opacity: Schema.Finite;
886
+ readonly transparent: Schema.Boolean;
887
+ readonly side: Schema.Literals<readonly ["front", "back", "double"]>;
888
+ readonly wireframe: Schema.Boolean;
889
+ readonly flatShading: Schema.Boolean;
890
+ readonly color: Schema.Int;
891
+ readonly map: Schema.NullOr<Schema.String>;
892
+ readonly emissive: Schema.Int;
893
+ readonly specular: Schema.Int;
894
+ readonly shininess: Schema.Finite;
895
+ }>, Schema.TaggedStruct<"Standard", {
896
+ readonly opacity: Schema.Finite;
897
+ readonly transparent: Schema.Boolean;
898
+ readonly side: Schema.Literals<readonly ["front", "back", "double"]>;
899
+ readonly wireframe: Schema.Boolean;
900
+ readonly flatShading: Schema.Boolean;
901
+ readonly color: Schema.Int;
902
+ readonly map: Schema.NullOr<Schema.String>;
903
+ readonly roughness: Schema.Finite;
904
+ readonly metalness: Schema.Finite;
905
+ readonly emissive: Schema.Int;
906
+ readonly emissiveIntensity: Schema.Finite;
907
+ }>, Schema.TaggedStruct<"Physical", {
908
+ readonly opacity: Schema.Finite;
909
+ readonly transparent: Schema.Boolean;
910
+ readonly side: Schema.Literals<readonly ["front", "back", "double"]>;
911
+ readonly wireframe: Schema.Boolean;
912
+ readonly flatShading: Schema.Boolean;
913
+ readonly color: Schema.Int;
914
+ readonly map: Schema.NullOr<Schema.String>;
915
+ readonly roughness: Schema.Finite;
916
+ readonly metalness: Schema.Finite;
917
+ readonly emissive: Schema.Int;
918
+ readonly emissiveIntensity: Schema.Finite;
919
+ readonly clearcoat: Schema.Finite;
920
+ readonly clearcoatRoughness: Schema.Finite;
921
+ readonly transmission: Schema.Finite;
922
+ readonly ior: Schema.Finite;
923
+ }>, Schema.TaggedStruct<"Normal", {
924
+ opacity: Schema.Finite;
925
+ transparent: Schema.Boolean;
926
+ side: Schema.Literals<readonly ["front", "back", "double"]>;
927
+ wireframe: Schema.Boolean;
928
+ flatShading: Schema.Boolean;
929
+ }>, Schema.TaggedStruct<"SharedMaterial", {
930
+ readonly id: Schema.String;
931
+ }>]>;
932
+ readonly interactive: Schema.Boolean;
933
+ readonly castShadow: Schema.Boolean;
934
+ readonly receiveShadow: Schema.Boolean;
935
+ readonly body: Schema.NullOr<Schema.Struct<{
936
+ readonly type: Schema.Literals<readonly ["dynamic", "fixed", "kinematic"]>;
937
+ readonly collider: Schema.Literals<readonly ["cuboid", "ball", "hull", "trimesh"]>;
938
+ readonly mass: Schema.NullOr<Schema.Finite>;
939
+ readonly friction: Schema.Finite;
940
+ readonly restitution: Schema.Finite;
941
+ readonly linearDamping: Schema.Finite;
942
+ readonly angularDamping: Schema.Finite;
943
+ readonly gravityScale: Schema.Finite;
944
+ readonly ccd: Schema.Boolean;
945
+ readonly sensor: Schema.Boolean;
946
+ readonly linearVelocity: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
947
+ readonly angularVelocity: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
948
+ readonly impulse: Schema.NullOr<Schema.Struct<{
949
+ readonly id: Schema.Finite;
950
+ readonly impulse: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
951
+ }>>;
952
+ readonly colliders: Schema.NullOr<Schema.$Array<Schema.Struct<{
953
+ readonly shape: Schema.Union<readonly [Schema.TaggedStruct<"Cuboid", {
954
+ readonly halfExtents: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
955
+ }>, Schema.TaggedStruct<"Ball", {
956
+ readonly radius: Schema.Finite;
957
+ }>, Schema.TaggedStruct<"Capsule", {
958
+ halfHeight: Schema.Finite;
959
+ radius: Schema.Finite;
960
+ }>, Schema.TaggedStruct<"Cylinder", {
961
+ halfHeight: Schema.Finite;
962
+ radius: Schema.Finite;
963
+ }>, Schema.TaggedStruct<"Cone", {
964
+ halfHeight: Schema.Finite;
965
+ radius: Schema.Finite;
966
+ }>]>;
967
+ readonly position: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
968
+ readonly rotation: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
969
+ readonly name: Schema.NullOr<Schema.String>;
970
+ }>>>;
971
+ readonly contactForces: Schema.NullOr<Schema.Finite>;
972
+ readonly collisionGroups: Schema.NullOr<Schema.Struct<{
973
+ readonly memberships: Schema.$Array<Schema.Int>;
974
+ readonly filters: Schema.NullOr<Schema.$Array<Schema.Int>>;
975
+ }>>;
976
+ readonly solverGroups: Schema.NullOr<Schema.Struct<{
977
+ readonly memberships: Schema.$Array<Schema.Int>;
978
+ readonly filters: Schema.NullOr<Schema.$Array<Schema.Int>>;
979
+ }>>;
980
+ }>>;
981
+ }>;
982
+ /** One instance of an instances node. */
983
+ export declare const Instance: Schema.Struct<{
984
+ readonly key: Schema.String;
985
+ readonly position: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
986
+ readonly rotation: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
987
+ readonly scale: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
988
+ readonly color: Schema.Int;
989
+ }>;
990
+ /** Many instances of one geometry and material. */
991
+ export declare const InstancesNode: Schema.TaggedStruct<"Instances", {
992
+ readonly key: Schema.String;
993
+ readonly position: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
994
+ readonly rotation: Schema.Union<readonly [Schema.TaggedStruct<"Fixed", {
995
+ readonly euler: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
996
+ }>, Schema.TaggedStruct<"Spin", {
997
+ readonly axis: Schema.Literals<readonly ["x", "y", "z"]>;
998
+ readonly radiansPerSecond: Schema.Finite;
999
+ readonly phase: Schema.Finite;
1000
+ }>]>;
1001
+ readonly scale: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1002
+ readonly transition: Schema.Union<readonly [Schema.TaggedStruct<"Instant", {}>, Schema.TaggedStruct<"Ease", {
1003
+ readonly seconds: Schema.Finite;
1004
+ readonly easing: Schema.Literals<readonly ["linear", "easeInOutCubic", "easeOutCubic", "easeOutBack"]>;
1005
+ }>]>;
1006
+ readonly behaviour: Schema.NullOr<Schema.Struct<{
1007
+ readonly name: Schema.String;
1008
+ readonly params: Schema.$Record<Schema.String, Schema.Finite>;
1009
+ }>>;
1010
+ readonly geometry: Schema.Union<readonly [Schema.TaggedStruct<"Text", {
1011
+ readonly text: Schema.String;
1012
+ readonly font: Schema.String;
1013
+ readonly size: Schema.Finite;
1014
+ readonly depth: Schema.Finite;
1015
+ readonly curveSegments: Schema.Int;
1016
+ readonly bevel: Schema.NullOr<Schema.Struct<{
1017
+ readonly thickness: Schema.Finite;
1018
+ readonly size: Schema.Finite;
1019
+ readonly offset: Schema.Finite;
1020
+ readonly segments: Schema.Int;
1021
+ }>>;
1022
+ readonly center: Schema.Boolean;
1023
+ readonly letterSpacing: Schema.Finite;
1024
+ readonly lineHeight: Schema.Finite;
1025
+ readonly align: Schema.Literals<readonly ["left", "center", "right"]>;
1026
+ }>, Schema.TaggedStruct<"Box", {
1027
+ readonly width: Schema.Finite;
1028
+ readonly height: Schema.Finite;
1029
+ readonly depth: Schema.Finite;
1030
+ }>, Schema.TaggedStruct<"Sphere", {
1031
+ readonly radius: Schema.Finite;
1032
+ readonly widthSegments: Schema.Int;
1033
+ readonly heightSegments: Schema.Int;
1034
+ }>, Schema.TaggedStruct<"Plane", {
1035
+ readonly width: Schema.Finite;
1036
+ readonly height: Schema.Finite;
1037
+ }>, Schema.TaggedStruct<"Cylinder", {
1038
+ readonly radiusTop: Schema.Finite;
1039
+ readonly radiusBottom: Schema.Finite;
1040
+ readonly height: Schema.Finite;
1041
+ readonly radialSegments: Schema.Int;
1042
+ }>, Schema.TaggedStruct<"Torus", {
1043
+ readonly radius: Schema.Finite;
1044
+ readonly tube: Schema.Finite;
1045
+ readonly radialSegments: Schema.Int;
1046
+ readonly tubularSegments: Schema.Int;
1047
+ }>, Schema.TaggedStruct<"Cone", {
1048
+ readonly radius: Schema.Finite;
1049
+ readonly height: Schema.Finite;
1050
+ readonly radialSegments: Schema.Int;
1051
+ }>, Schema.TaggedStruct<"Capsule", {
1052
+ readonly radius: Schema.Finite;
1053
+ readonly height: Schema.Finite;
1054
+ readonly capSegments: Schema.Int;
1055
+ readonly radialSegments: Schema.Int;
1056
+ }>, Schema.TaggedStruct<"Ring", {
1057
+ readonly innerRadius: Schema.Finite;
1058
+ readonly outerRadius: Schema.Finite;
1059
+ readonly thetaSegments: Schema.Int;
1060
+ }>, Schema.TaggedStruct<"Circle", {
1061
+ readonly radius: Schema.Finite;
1062
+ readonly segments: Schema.Int;
1063
+ }>, Schema.TaggedStruct<"SharedGeometry", {
1064
+ readonly id: Schema.String;
1065
+ }>, Schema.TaggedStruct<"LentGeometry", {
1066
+ readonly id: Schema.String;
1067
+ }>]>;
1068
+ readonly material: Schema.Union<readonly [Schema.TaggedStruct<"Shadow", {
1069
+ readonly color: Schema.Int;
1070
+ readonly opacity: Schema.Finite;
1071
+ }>, Schema.TaggedStruct<"Basic", {
1072
+ readonly opacity: Schema.Finite;
1073
+ readonly transparent: Schema.Boolean;
1074
+ readonly side: Schema.Literals<readonly ["front", "back", "double"]>;
1075
+ readonly wireframe: Schema.Boolean;
1076
+ readonly color: Schema.Int;
1077
+ readonly map: Schema.NullOr<Schema.String>;
1078
+ }>, Schema.TaggedStruct<"Lambert", {
1079
+ readonly opacity: Schema.Finite;
1080
+ readonly transparent: Schema.Boolean;
1081
+ readonly side: Schema.Literals<readonly ["front", "back", "double"]>;
1082
+ readonly wireframe: Schema.Boolean;
1083
+ readonly flatShading: Schema.Boolean;
1084
+ readonly color: Schema.Int;
1085
+ readonly map: Schema.NullOr<Schema.String>;
1086
+ readonly emissive: Schema.Int;
1087
+ }>, Schema.TaggedStruct<"Phong", {
1088
+ readonly opacity: Schema.Finite;
1089
+ readonly transparent: Schema.Boolean;
1090
+ readonly side: Schema.Literals<readonly ["front", "back", "double"]>;
1091
+ readonly wireframe: Schema.Boolean;
1092
+ readonly flatShading: Schema.Boolean;
1093
+ readonly color: Schema.Int;
1094
+ readonly map: Schema.NullOr<Schema.String>;
1095
+ readonly emissive: Schema.Int;
1096
+ readonly specular: Schema.Int;
1097
+ readonly shininess: Schema.Finite;
1098
+ }>, Schema.TaggedStruct<"Standard", {
1099
+ readonly opacity: Schema.Finite;
1100
+ readonly transparent: Schema.Boolean;
1101
+ readonly side: Schema.Literals<readonly ["front", "back", "double"]>;
1102
+ readonly wireframe: Schema.Boolean;
1103
+ readonly flatShading: Schema.Boolean;
1104
+ readonly color: Schema.Int;
1105
+ readonly map: Schema.NullOr<Schema.String>;
1106
+ readonly roughness: Schema.Finite;
1107
+ readonly metalness: Schema.Finite;
1108
+ readonly emissive: Schema.Int;
1109
+ readonly emissiveIntensity: Schema.Finite;
1110
+ }>, Schema.TaggedStruct<"Physical", {
1111
+ readonly opacity: Schema.Finite;
1112
+ readonly transparent: Schema.Boolean;
1113
+ readonly side: Schema.Literals<readonly ["front", "back", "double"]>;
1114
+ readonly wireframe: Schema.Boolean;
1115
+ readonly flatShading: Schema.Boolean;
1116
+ readonly color: Schema.Int;
1117
+ readonly map: Schema.NullOr<Schema.String>;
1118
+ readonly roughness: Schema.Finite;
1119
+ readonly metalness: Schema.Finite;
1120
+ readonly emissive: Schema.Int;
1121
+ readonly emissiveIntensity: Schema.Finite;
1122
+ readonly clearcoat: Schema.Finite;
1123
+ readonly clearcoatRoughness: Schema.Finite;
1124
+ readonly transmission: Schema.Finite;
1125
+ readonly ior: Schema.Finite;
1126
+ }>, Schema.TaggedStruct<"Normal", {
1127
+ opacity: Schema.Finite;
1128
+ transparent: Schema.Boolean;
1129
+ side: Schema.Literals<readonly ["front", "back", "double"]>;
1130
+ wireframe: Schema.Boolean;
1131
+ flatShading: Schema.Boolean;
1132
+ }>, Schema.TaggedStruct<"SharedMaterial", {
1133
+ readonly id: Schema.String;
1134
+ }>]>;
1135
+ readonly interactive: Schema.Boolean;
1136
+ readonly castShadow: Schema.Boolean;
1137
+ readonly receiveShadow: Schema.Boolean;
1138
+ readonly instances: Schema.$Array<Schema.Struct<{
1139
+ readonly key: Schema.String;
1140
+ readonly position: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1141
+ readonly rotation: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1142
+ readonly scale: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1143
+ readonly color: Schema.Int;
1144
+ }>>;
1145
+ readonly body: Schema.NullOr<Schema.Struct<{
1146
+ readonly type: Schema.Literals<readonly ["dynamic", "fixed", "kinematic"]>;
1147
+ readonly collider: Schema.Literals<readonly ["cuboid", "ball", "hull", "trimesh"]>;
1148
+ readonly mass: Schema.NullOr<Schema.Finite>;
1149
+ readonly friction: Schema.Finite;
1150
+ readonly restitution: Schema.Finite;
1151
+ readonly linearDamping: Schema.Finite;
1152
+ readonly angularDamping: Schema.Finite;
1153
+ readonly gravityScale: Schema.Finite;
1154
+ readonly ccd: Schema.Boolean;
1155
+ readonly sensor: Schema.Boolean;
1156
+ readonly linearVelocity: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1157
+ readonly angularVelocity: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1158
+ readonly impulse: Schema.NullOr<Schema.Struct<{
1159
+ readonly id: Schema.Finite;
1160
+ readonly impulse: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1161
+ }>>;
1162
+ readonly colliders: Schema.NullOr<Schema.$Array<Schema.Struct<{
1163
+ readonly shape: Schema.Union<readonly [Schema.TaggedStruct<"Cuboid", {
1164
+ readonly halfExtents: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1165
+ }>, Schema.TaggedStruct<"Ball", {
1166
+ readonly radius: Schema.Finite;
1167
+ }>, Schema.TaggedStruct<"Capsule", {
1168
+ halfHeight: Schema.Finite;
1169
+ radius: Schema.Finite;
1170
+ }>, Schema.TaggedStruct<"Cylinder", {
1171
+ halfHeight: Schema.Finite;
1172
+ radius: Schema.Finite;
1173
+ }>, Schema.TaggedStruct<"Cone", {
1174
+ halfHeight: Schema.Finite;
1175
+ radius: Schema.Finite;
1176
+ }>]>;
1177
+ readonly position: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1178
+ readonly rotation: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1179
+ readonly name: Schema.NullOr<Schema.String>;
1180
+ }>>>;
1181
+ readonly contactForces: Schema.NullOr<Schema.Finite>;
1182
+ readonly collisionGroups: Schema.NullOr<Schema.Struct<{
1183
+ readonly memberships: Schema.$Array<Schema.Int>;
1184
+ readonly filters: Schema.NullOr<Schema.$Array<Schema.Int>>;
1185
+ }>>;
1186
+ readonly solverGroups: Schema.NullOr<Schema.Struct<{
1187
+ readonly memberships: Schema.$Array<Schema.Int>;
1188
+ readonly filters: Schema.NullOr<Schema.$Array<Schema.Int>>;
1189
+ }>>;
1190
+ }>>;
1191
+ }>;
1192
+ /** An application object lent to the store under `id`. */
1193
+ export declare const Animation: Schema.Struct<{
1194
+ readonly clip: Schema.String;
1195
+ readonly speed: Schema.Finite;
1196
+ readonly loop: Schema.Boolean;
1197
+ }>;
1198
+ export declare const BorrowedNode: Schema.TaggedStruct<"Borrowed", {
1199
+ readonly key: Schema.String;
1200
+ readonly id: Schema.String;
1201
+ readonly animation: Schema.NullOr<Schema.Struct<{
1202
+ readonly clip: Schema.String;
1203
+ readonly speed: Schema.Finite;
1204
+ readonly loop: Schema.Boolean;
1205
+ }>>;
1206
+ readonly position: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1207
+ readonly rotation: Schema.Union<readonly [Schema.TaggedStruct<"Fixed", {
1208
+ readonly euler: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1209
+ }>, Schema.TaggedStruct<"Spin", {
1210
+ readonly axis: Schema.Literals<readonly ["x", "y", "z"]>;
1211
+ readonly radiansPerSecond: Schema.Finite;
1212
+ readonly phase: Schema.Finite;
1213
+ }>]>;
1214
+ readonly scale: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1215
+ readonly transition: Schema.Union<readonly [Schema.TaggedStruct<"Instant", {}>, Schema.TaggedStruct<"Ease", {
1216
+ readonly seconds: Schema.Finite;
1217
+ readonly easing: Schema.Literals<readonly ["linear", "easeInOutCubic", "easeOutCubic", "easeOutBack"]>;
1218
+ }>]>;
1219
+ readonly behaviour: Schema.NullOr<Schema.Struct<{
1220
+ readonly name: Schema.String;
1221
+ readonly params: Schema.$Record<Schema.String, Schema.Finite>;
1222
+ }>>;
1223
+ readonly interactive: Schema.Boolean;
1224
+ readonly body: Schema.NullOr<Schema.Struct<{
1225
+ readonly type: Schema.Literals<readonly ["dynamic", "fixed", "kinematic"]>;
1226
+ readonly collider: Schema.Literals<readonly ["cuboid", "ball", "hull", "trimesh"]>;
1227
+ readonly mass: Schema.NullOr<Schema.Finite>;
1228
+ readonly friction: Schema.Finite;
1229
+ readonly restitution: Schema.Finite;
1230
+ readonly linearDamping: Schema.Finite;
1231
+ readonly angularDamping: Schema.Finite;
1232
+ readonly gravityScale: Schema.Finite;
1233
+ readonly ccd: Schema.Boolean;
1234
+ readonly sensor: Schema.Boolean;
1235
+ readonly linearVelocity: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1236
+ readonly angularVelocity: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1237
+ readonly impulse: Schema.NullOr<Schema.Struct<{
1238
+ readonly id: Schema.Finite;
1239
+ readonly impulse: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1240
+ }>>;
1241
+ readonly colliders: Schema.NullOr<Schema.$Array<Schema.Struct<{
1242
+ readonly shape: Schema.Union<readonly [Schema.TaggedStruct<"Cuboid", {
1243
+ readonly halfExtents: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1244
+ }>, Schema.TaggedStruct<"Ball", {
1245
+ readonly radius: Schema.Finite;
1246
+ }>, Schema.TaggedStruct<"Capsule", {
1247
+ halfHeight: Schema.Finite;
1248
+ radius: Schema.Finite;
1249
+ }>, Schema.TaggedStruct<"Cylinder", {
1250
+ halfHeight: Schema.Finite;
1251
+ radius: Schema.Finite;
1252
+ }>, Schema.TaggedStruct<"Cone", {
1253
+ halfHeight: Schema.Finite;
1254
+ radius: Schema.Finite;
1255
+ }>]>;
1256
+ readonly position: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1257
+ readonly rotation: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1258
+ readonly name: Schema.NullOr<Schema.String>;
1259
+ }>>>;
1260
+ readonly contactForces: Schema.NullOr<Schema.Finite>;
1261
+ readonly collisionGroups: Schema.NullOr<Schema.Struct<{
1262
+ readonly memberships: Schema.$Array<Schema.Int>;
1263
+ readonly filters: Schema.NullOr<Schema.$Array<Schema.Int>>;
1264
+ }>>;
1265
+ readonly solverGroups: Schema.NullOr<Schema.Struct<{
1266
+ readonly memberships: Schema.$Array<Schema.Int>;
1267
+ readonly filters: Schema.NullOr<Schema.$Array<Schema.Int>>;
1268
+ }>>;
1269
+ }>>;
1270
+ }>;
1271
+ /** Distance-field text. */
1272
+ export declare const LabelNode: Schema.TaggedStruct<"Label", {
1273
+ readonly key: Schema.String;
1274
+ readonly position: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1275
+ readonly rotation: Schema.Union<readonly [Schema.TaggedStruct<"Fixed", {
1276
+ readonly euler: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1277
+ }>, Schema.TaggedStruct<"Spin", {
1278
+ readonly axis: Schema.Literals<readonly ["x", "y", "z"]>;
1279
+ readonly radiansPerSecond: Schema.Finite;
1280
+ readonly phase: Schema.Finite;
1281
+ }>]>;
1282
+ readonly scale: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1283
+ readonly transition: Schema.Union<readonly [Schema.TaggedStruct<"Instant", {}>, Schema.TaggedStruct<"Ease", {
1284
+ readonly seconds: Schema.Finite;
1285
+ readonly easing: Schema.Literals<readonly ["linear", "easeInOutCubic", "easeOutCubic", "easeOutBack"]>;
1286
+ }>]>;
1287
+ readonly behaviour: Schema.NullOr<Schema.Struct<{
1288
+ readonly name: Schema.String;
1289
+ readonly params: Schema.$Record<Schema.String, Schema.Finite>;
1290
+ }>>;
1291
+ readonly interactive: Schema.Boolean;
1292
+ readonly text: Schema.String;
1293
+ readonly font: Schema.NullOr<Schema.String>;
1294
+ readonly fontSize: Schema.Finite;
1295
+ readonly color: Schema.Int;
1296
+ readonly fillOpacity: Schema.Finite;
1297
+ readonly anchorX: Schema.Union<readonly [Schema.Literals<readonly ["left", "center", "right"]>, Schema.Finite]>;
1298
+ readonly anchorY: Schema.Union<readonly [Schema.Literals<readonly ["top", "top-baseline", "middle", "bottom-baseline", "bottom"]>, Schema.Finite]>;
1299
+ readonly maxWidth: Schema.NullOr<Schema.Finite>;
1300
+ readonly lineHeight: Schema.NullOr<Schema.Finite>;
1301
+ readonly letterSpacing: Schema.Finite;
1302
+ readonly textAlign: Schema.Literals<readonly ["left", "right", "center", "justify"]>;
1303
+ readonly outlineWidth: Schema.Finite;
1304
+ readonly outlineColor: Schema.Int;
1305
+ readonly outlineOpacity: Schema.Finite;
1306
+ readonly outlineBlur: Schema.Finite;
1307
+ readonly colorRanges: Schema.$Array<Schema.Struct<{
1308
+ readonly start: Schema.Int;
1309
+ readonly color: Schema.Int;
1310
+ }>>;
1311
+ readonly curveRadius: Schema.Finite;
1312
+ readonly material: Schema.NullOr<Schema.Union<readonly [Schema.TaggedStruct<"Shadow", {
1313
+ readonly color: Schema.Int;
1314
+ readonly opacity: Schema.Finite;
1315
+ }>, Schema.TaggedStruct<"Basic", {
1316
+ readonly opacity: Schema.Finite;
1317
+ readonly transparent: Schema.Boolean;
1318
+ readonly side: Schema.Literals<readonly ["front", "back", "double"]>;
1319
+ readonly wireframe: Schema.Boolean;
1320
+ readonly color: Schema.Int;
1321
+ readonly map: Schema.NullOr<Schema.String>;
1322
+ }>, Schema.TaggedStruct<"Lambert", {
1323
+ readonly opacity: Schema.Finite;
1324
+ readonly transparent: Schema.Boolean;
1325
+ readonly side: Schema.Literals<readonly ["front", "back", "double"]>;
1326
+ readonly wireframe: Schema.Boolean;
1327
+ readonly flatShading: Schema.Boolean;
1328
+ readonly color: Schema.Int;
1329
+ readonly map: Schema.NullOr<Schema.String>;
1330
+ readonly emissive: Schema.Int;
1331
+ }>, Schema.TaggedStruct<"Phong", {
1332
+ readonly opacity: Schema.Finite;
1333
+ readonly transparent: Schema.Boolean;
1334
+ readonly side: Schema.Literals<readonly ["front", "back", "double"]>;
1335
+ readonly wireframe: Schema.Boolean;
1336
+ readonly flatShading: Schema.Boolean;
1337
+ readonly color: Schema.Int;
1338
+ readonly map: Schema.NullOr<Schema.String>;
1339
+ readonly emissive: Schema.Int;
1340
+ readonly specular: Schema.Int;
1341
+ readonly shininess: Schema.Finite;
1342
+ }>, Schema.TaggedStruct<"Standard", {
1343
+ readonly opacity: Schema.Finite;
1344
+ readonly transparent: Schema.Boolean;
1345
+ readonly side: Schema.Literals<readonly ["front", "back", "double"]>;
1346
+ readonly wireframe: Schema.Boolean;
1347
+ readonly flatShading: Schema.Boolean;
1348
+ readonly color: Schema.Int;
1349
+ readonly map: Schema.NullOr<Schema.String>;
1350
+ readonly roughness: Schema.Finite;
1351
+ readonly metalness: Schema.Finite;
1352
+ readonly emissive: Schema.Int;
1353
+ readonly emissiveIntensity: Schema.Finite;
1354
+ }>, Schema.TaggedStruct<"Physical", {
1355
+ readonly opacity: Schema.Finite;
1356
+ readonly transparent: Schema.Boolean;
1357
+ readonly side: Schema.Literals<readonly ["front", "back", "double"]>;
1358
+ readonly wireframe: Schema.Boolean;
1359
+ readonly flatShading: Schema.Boolean;
1360
+ readonly color: Schema.Int;
1361
+ readonly map: Schema.NullOr<Schema.String>;
1362
+ readonly roughness: Schema.Finite;
1363
+ readonly metalness: Schema.Finite;
1364
+ readonly emissive: Schema.Int;
1365
+ readonly emissiveIntensity: Schema.Finite;
1366
+ readonly clearcoat: Schema.Finite;
1367
+ readonly clearcoatRoughness: Schema.Finite;
1368
+ readonly transmission: Schema.Finite;
1369
+ readonly ior: Schema.Finite;
1370
+ }>, Schema.TaggedStruct<"Normal", {
1371
+ opacity: Schema.Finite;
1372
+ transparent: Schema.Boolean;
1373
+ side: Schema.Literals<readonly ["front", "back", "double"]>;
1374
+ wireframe: Schema.Boolean;
1375
+ flatShading: Schema.Boolean;
1376
+ }>, Schema.TaggedStruct<"SharedMaterial", {
1377
+ readonly id: Schema.String;
1378
+ }>]>>;
1379
+ }>;
1380
+ /** Uniform ambient light. */
1381
+ export declare const AmbientLightNode: Schema.TaggedStruct<"AmbientLight", {
1382
+ readonly key: Schema.String;
1383
+ readonly color: Schema.Int;
1384
+ readonly intensity: Schema.Finite;
1385
+ }>;
1386
+ export declare const DirectionalLightNode: Schema.TaggedStruct<"DirectionalLight", {
1387
+ readonly key: Schema.String;
1388
+ readonly color: Schema.Int;
1389
+ readonly intensity: Schema.Finite;
1390
+ readonly position: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1391
+ readonly castShadow: Schema.Boolean;
1392
+ readonly shadowMapSize: Schema.Int;
1393
+ readonly shadowBias: Schema.Finite;
1394
+ readonly shadowArea: Schema.Finite;
1395
+ }>;
1396
+ /** Point light. */
1397
+ export declare const PointLightNode: Schema.TaggedStruct<"PointLight", {
1398
+ readonly key: Schema.String;
1399
+ readonly color: Schema.Int;
1400
+ readonly intensity: Schema.Finite;
1401
+ readonly position: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1402
+ readonly distance: Schema.Finite;
1403
+ readonly decay: Schema.Finite;
1404
+ readonly castShadow: Schema.Boolean;
1405
+ readonly shadowMapSize: Schema.Int;
1406
+ readonly shadowBias: Schema.Finite;
1407
+ }>;
1408
+ /** Spot light: `angle` in (0, π/2], `penumbra` in [0, 1]. */
1409
+ export declare const SpotLightNode: Schema.TaggedStruct<"SpotLight", {
1410
+ readonly key: Schema.String;
1411
+ readonly color: Schema.Int;
1412
+ readonly intensity: Schema.Finite;
1413
+ readonly position: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1414
+ readonly target: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1415
+ readonly distance: Schema.Finite;
1416
+ readonly angle: Schema.Finite;
1417
+ readonly penumbra: Schema.Finite;
1418
+ readonly decay: Schema.Finite;
1419
+ readonly castShadow: Schema.Boolean;
1420
+ readonly shadowMapSize: Schema.Int;
1421
+ readonly shadowBias: Schema.Finite;
1422
+ }>;
1423
+ /** Hemisphere light. */
1424
+ /** A grid of lines on the XZ plane. */
1425
+ export declare const GridNode: Schema.TaggedStruct<"Grid", {
1426
+ readonly key: Schema.String;
1427
+ readonly position: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1428
+ readonly size: Schema.Finite;
1429
+ readonly divisions: Schema.Int;
1430
+ readonly color: Schema.Int;
1431
+ readonly centerColor: Schema.Int;
1432
+ }>;
1433
+ /** Drei's shader grid. */
1434
+ export declare const ShaderGridNode: Schema.TaggedStruct<"ShaderGrid", {
1435
+ readonly key: Schema.String;
1436
+ readonly position: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1437
+ readonly rotation: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1438
+ readonly size: Schema.Tuple<readonly [Schema.Finite, Schema.Finite]>;
1439
+ readonly cellSize: Schema.Finite;
1440
+ readonly cellThickness: Schema.Finite;
1441
+ readonly cellColor: Schema.Int;
1442
+ readonly sectionSize: Schema.Finite;
1443
+ readonly sectionThickness: Schema.Finite;
1444
+ readonly sectionColor: Schema.Int;
1445
+ readonly infinite: Schema.Boolean;
1446
+ readonly followCamera: Schema.Boolean;
1447
+ readonly fadeDistance: Schema.Finite;
1448
+ readonly fadeStrength: Schema.Finite;
1449
+ readonly fadeFrom: Schema.Finite;
1450
+ readonly side: Schema.Literals<readonly ["front", "back", "double"]>;
1451
+ }>;
1452
+ export declare const HemisphereLightNode: Schema.TaggedStruct<"HemisphereLight", {
1453
+ readonly key: Schema.String;
1454
+ readonly color: Schema.Int;
1455
+ readonly groundColor: Schema.Int;
1456
+ readonly intensity: Schema.Finite;
1457
+ readonly position: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1458
+ }>;
1459
+ /** Any scene node. Groups nest recursively. */
1460
+ export declare const SceneNode: Schema.Codec<KernelSceneNode>;
1461
+ /** A perspective camera. */
1462
+ export declare const PerspectiveCamera: Schema.TaggedStruct<"Perspective", {
1463
+ readonly fov: Schema.Finite;
1464
+ readonly near: Schema.Finite;
1465
+ readonly far: Schema.Finite;
1466
+ readonly position: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1467
+ readonly lookAt: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1468
+ readonly damping: Schema.Finite;
1469
+ readonly autoRotate: Schema.Finite;
1470
+ }>;
1471
+ /** An orthographic camera; `zoom` is CSS pixels per world unit. */
1472
+ export declare const OrthographicCamera: Schema.TaggedStruct<"Orthographic", {
1473
+ readonly zoom: Schema.Finite;
1474
+ readonly near: Schema.Finite;
1475
+ readonly far: Schema.Finite;
1476
+ readonly position: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1477
+ readonly lookAt: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1478
+ readonly damping: Schema.Finite;
1479
+ readonly autoRotate: Schema.Finite;
1480
+ }>;
1481
+ /** The active camera. */
1482
+ export declare const Camera: Schema.Union<readonly [Schema.TaggedStruct<"Perspective", {
1483
+ readonly fov: Schema.Finite;
1484
+ readonly near: Schema.Finite;
1485
+ readonly far: Schema.Finite;
1486
+ readonly position: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1487
+ readonly lookAt: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1488
+ readonly damping: Schema.Finite;
1489
+ readonly autoRotate: Schema.Finite;
1490
+ }>, Schema.TaggedStruct<"Orthographic", {
1491
+ readonly zoom: Schema.Finite;
1492
+ readonly near: Schema.Finite;
1493
+ readonly far: Schema.Finite;
1494
+ readonly position: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1495
+ readonly lookAt: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1496
+ readonly damping: Schema.Finite;
1497
+ readonly autoRotate: Schema.Finite;
1498
+ }>]>;
1499
+ /** A post-processing effect. */
1500
+ export declare const PostEffect: Schema.Union<readonly [Schema.TaggedStruct<"Bloom", {
1501
+ readonly strength: Schema.Finite;
1502
+ readonly radius: Schema.Finite;
1503
+ readonly threshold: Schema.Finite;
1504
+ }>, Schema.TaggedStruct<"Vignette", {
1505
+ readonly offset: Schema.Finite;
1506
+ readonly darkness: Schema.Finite;
1507
+ }>, Schema.TaggedStruct<"Film", {
1508
+ readonly intensity: Schema.Finite;
1509
+ readonly grayscale: Schema.Boolean;
1510
+ }>]>;
1511
+ /** Scene-wide render settings. */
1512
+ export declare const RenderSettings: Schema.Struct<{
1513
+ readonly effects: Schema.$Array<Schema.Union<readonly [Schema.TaggedStruct<"Bloom", {
1514
+ readonly strength: Schema.Finite;
1515
+ readonly radius: Schema.Finite;
1516
+ readonly threshold: Schema.Finite;
1517
+ }>, Schema.TaggedStruct<"Vignette", {
1518
+ readonly offset: Schema.Finite;
1519
+ readonly darkness: Schema.Finite;
1520
+ }>, Schema.TaggedStruct<"Film", {
1521
+ readonly intensity: Schema.Finite;
1522
+ readonly grayscale: Schema.Boolean;
1523
+ }>]>>;
1524
+ readonly frames: Schema.Literals<readonly ["always", "demand", "never"]>;
1525
+ readonly resolution: Schema.Finite;
1526
+ readonly shadows: Schema.Literals<readonly ["off", "basic", "percentage", "soft", "variance"]>;
1527
+ readonly toneMapping: Schema.Literals<readonly ["none", "linear", "reinhard", "cineon", "aces", "agx", "neutral"]>;
1528
+ readonly exposure: Schema.Finite;
1529
+ readonly colorSpace: Schema.Literals<readonly ["srgb", "linear"]>;
1530
+ }>;
1531
+ /** A view of the scene into part of the canvas. */
1532
+ export declare const View: Schema.Struct<{
1533
+ readonly key: Schema.String;
1534
+ readonly camera: Schema.Union<readonly [Schema.TaggedStruct<"Perspective", {
1535
+ readonly fov: Schema.Finite;
1536
+ readonly near: Schema.Finite;
1537
+ readonly far: Schema.Finite;
1538
+ readonly position: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1539
+ readonly lookAt: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1540
+ readonly damping: Schema.Finite;
1541
+ readonly autoRotate: Schema.Finite;
1542
+ }>, Schema.TaggedStruct<"Orthographic", {
1543
+ readonly zoom: Schema.Finite;
1544
+ readonly near: Schema.Finite;
1545
+ readonly far: Schema.Finite;
1546
+ readonly position: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1547
+ readonly lookAt: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1548
+ readonly damping: Schema.Finite;
1549
+ readonly autoRotate: Schema.Finite;
1550
+ }>]>;
1551
+ readonly rect: Schema.Struct<{
1552
+ readonly x: Schema.Finite;
1553
+ readonly y: Schema.Finite;
1554
+ readonly width: Schema.Finite;
1555
+ readonly height: Schema.Finite;
1556
+ }>;
1557
+ }>;
1558
+ /** A scene rendered into a texture lent under `id`. */
1559
+ export declare const RenderTexture: Schema.Struct<{
1560
+ readonly id: Schema.String;
1561
+ readonly width: Schema.Int;
1562
+ readonly height: Schema.Int;
1563
+ readonly camera: Schema.Union<readonly [Schema.TaggedStruct<"Perspective", {
1564
+ readonly fov: Schema.Finite;
1565
+ readonly near: Schema.Finite;
1566
+ readonly far: Schema.Finite;
1567
+ readonly position: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1568
+ readonly lookAt: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1569
+ readonly damping: Schema.Finite;
1570
+ readonly autoRotate: Schema.Finite;
1571
+ }>, Schema.TaggedStruct<"Orthographic", {
1572
+ readonly zoom: Schema.Finite;
1573
+ readonly near: Schema.Finite;
1574
+ readonly far: Schema.Finite;
1575
+ readonly position: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1576
+ readonly lookAt: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1577
+ readonly damping: Schema.Finite;
1578
+ readonly autoRotate: Schema.Finite;
1579
+ }>]>;
1580
+ readonly background: Schema.NullOr<Schema.Int>;
1581
+ readonly children: Schema.$Array<Schema.Codec<KernelSceneNode, KernelSceneNode, never, never>>;
1582
+ }>;
1583
+ /** A complete scene description. */
1584
+ /** A point to show HTML at. */
1585
+ export declare const Overlay: Schema.Struct<{
1586
+ readonly key: Schema.String;
1587
+ readonly node: Schema.NullOr<Schema.String>;
1588
+ readonly position: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1589
+ readonly center: Schema.Boolean;
1590
+ readonly distanceFactor: Schema.NullOr<Schema.Finite>;
1591
+ readonly occlude: Schema.Boolean;
1592
+ readonly zIndexRange: Schema.Tuple<readonly [Schema.Int, Schema.Int]>;
1593
+ readonly view: Schema.NullOr<Schema.String>;
1594
+ }>;
1595
+ /** Image-based lighting and background. */
1596
+ export declare const Environment: Schema.Struct<{
1597
+ readonly map: Schema.NullOr<Schema.String>;
1598
+ readonly background: Schema.Union<readonly [Schema.Boolean, Schema.Literal<"only">]>;
1599
+ readonly backgroundBlurriness: Schema.Finite;
1600
+ readonly backgroundIntensity: Schema.Finite;
1601
+ readonly environmentIntensity: Schema.Finite;
1602
+ }>;
1603
+ /** A daylight sky. */
1604
+ export declare const Sky: Schema.Struct<{
1605
+ readonly sunPosition: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1606
+ readonly turbidity: Schema.Finite;
1607
+ readonly rayleigh: Schema.Finite;
1608
+ readonly mieCoefficient: Schema.Finite;
1609
+ readonly mieDirectionalG: Schema.Finite;
1610
+ readonly clouds: Schema.Finite;
1611
+ readonly distance: Schema.Finite;
1612
+ }>;
1613
+ /** Soft ground shadows. */
1614
+ export declare const ContactShadows: Schema.Struct<{
1615
+ readonly position: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1616
+ readonly size: Schema.Tuple<readonly [Schema.Finite, Schema.Finite]>;
1617
+ readonly near: Schema.Finite;
1618
+ readonly far: Schema.Finite;
1619
+ readonly blur: Schema.Finite;
1620
+ readonly smooth: Schema.Boolean;
1621
+ readonly opacity: Schema.Finite;
1622
+ readonly color: Schema.Int;
1623
+ readonly resolution: Schema.Int;
1624
+ }>;
1625
+ /** Immersive presentation. */
1626
+ /** An anchor the description places in the scene. */
1627
+ export declare const XrAnchor: Schema.Struct<{
1628
+ readonly id: Schema.String;
1629
+ readonly position: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1630
+ readonly rotation: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1631
+ }>;
1632
+ export declare const Xr: Schema.Struct<{
1633
+ readonly origin: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1634
+ readonly heading: Schema.Finite;
1635
+ readonly referenceSpace: Schema.Literals<readonly ["local-floor", "local", "bounded-floor"]>;
1636
+ readonly framebufferScale: Schema.Finite;
1637
+ readonly hitTest: Schema.Boolean;
1638
+ readonly showInputs: Schema.Boolean;
1639
+ readonly anchors: Schema.$Array<Schema.Struct<{
1640
+ readonly id: Schema.String;
1641
+ readonly position: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1642
+ readonly rotation: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1643
+ }>>;
1644
+ readonly planes: Schema.Boolean;
1645
+ readonly meshes: Schema.Boolean;
1646
+ readonly domOverlay: Schema.Boolean;
1647
+ readonly glide: Schema.NullOr<Schema.Struct<{
1648
+ readonly speed: Schema.Finite;
1649
+ readonly turn: Schema.Literals<readonly ["smooth", "snap"]>;
1650
+ readonly turnSpeed: Schema.Finite;
1651
+ readonly snapDegrees: Schema.Finite;
1652
+ }>>;
1653
+ }>;
1654
+ /** Whether the scene claims the pointer's gestures from the page. */
1655
+ export declare const Gestures: Schema.Literals<readonly ["page", "scene"]>;
1656
+ export declare const SceneDescription: Schema.Struct<{
1657
+ readonly camera: Schema.Union<readonly [Schema.TaggedStruct<"Perspective", {
1658
+ readonly fov: Schema.Finite;
1659
+ readonly near: Schema.Finite;
1660
+ readonly far: Schema.Finite;
1661
+ readonly position: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1662
+ readonly lookAt: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1663
+ readonly damping: Schema.Finite;
1664
+ readonly autoRotate: Schema.Finite;
1665
+ }>, Schema.TaggedStruct<"Orthographic", {
1666
+ readonly zoom: Schema.Finite;
1667
+ readonly near: Schema.Finite;
1668
+ readonly far: Schema.Finite;
1669
+ readonly position: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1670
+ readonly lookAt: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1671
+ readonly damping: Schema.Finite;
1672
+ readonly autoRotate: Schema.Finite;
1673
+ }>]>;
1674
+ readonly gestures: Schema.Literals<readonly ["page", "scene"]>;
1675
+ readonly views: Schema.$Array<Schema.Struct<{
1676
+ readonly key: Schema.String;
1677
+ readonly camera: Schema.Union<readonly [Schema.TaggedStruct<"Perspective", {
1678
+ readonly fov: Schema.Finite;
1679
+ readonly near: Schema.Finite;
1680
+ readonly far: Schema.Finite;
1681
+ readonly position: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1682
+ readonly lookAt: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1683
+ readonly damping: Schema.Finite;
1684
+ readonly autoRotate: Schema.Finite;
1685
+ }>, Schema.TaggedStruct<"Orthographic", {
1686
+ readonly zoom: Schema.Finite;
1687
+ readonly near: Schema.Finite;
1688
+ readonly far: Schema.Finite;
1689
+ readonly position: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1690
+ readonly lookAt: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1691
+ readonly damping: Schema.Finite;
1692
+ readonly autoRotate: Schema.Finite;
1693
+ }>]>;
1694
+ readonly rect: Schema.Struct<{
1695
+ readonly x: Schema.Finite;
1696
+ readonly y: Schema.Finite;
1697
+ readonly width: Schema.Finite;
1698
+ readonly height: Schema.Finite;
1699
+ }>;
1700
+ }>>;
1701
+ readonly renderTextures: Schema.$Array<Schema.Struct<{
1702
+ readonly id: Schema.String;
1703
+ readonly width: Schema.Int;
1704
+ readonly height: Schema.Int;
1705
+ readonly camera: Schema.Union<readonly [Schema.TaggedStruct<"Perspective", {
1706
+ readonly fov: Schema.Finite;
1707
+ readonly near: Schema.Finite;
1708
+ readonly far: Schema.Finite;
1709
+ readonly position: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1710
+ readonly lookAt: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1711
+ readonly damping: Schema.Finite;
1712
+ readonly autoRotate: Schema.Finite;
1713
+ }>, Schema.TaggedStruct<"Orthographic", {
1714
+ readonly zoom: Schema.Finite;
1715
+ readonly near: Schema.Finite;
1716
+ readonly far: Schema.Finite;
1717
+ readonly position: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1718
+ readonly lookAt: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1719
+ readonly damping: Schema.Finite;
1720
+ readonly autoRotate: Schema.Finite;
1721
+ }>]>;
1722
+ readonly background: Schema.NullOr<Schema.Int>;
1723
+ readonly children: Schema.$Array<Schema.Codec<KernelSceneNode, KernelSceneNode, never, never>>;
1724
+ }>>;
1725
+ readonly overlays: Schema.$Array<Schema.Struct<{
1726
+ readonly key: Schema.String;
1727
+ readonly node: Schema.NullOr<Schema.String>;
1728
+ readonly position: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1729
+ readonly center: Schema.Boolean;
1730
+ readonly distanceFactor: Schema.NullOr<Schema.Finite>;
1731
+ readonly occlude: Schema.Boolean;
1732
+ readonly zIndexRange: Schema.Tuple<readonly [Schema.Int, Schema.Int]>;
1733
+ readonly view: Schema.NullOr<Schema.String>;
1734
+ }>>;
1735
+ readonly environment: Schema.NullOr<Schema.Struct<{
1736
+ readonly map: Schema.NullOr<Schema.String>;
1737
+ readonly background: Schema.Union<readonly [Schema.Boolean, Schema.Literal<"only">]>;
1738
+ readonly backgroundBlurriness: Schema.Finite;
1739
+ readonly backgroundIntensity: Schema.Finite;
1740
+ readonly environmentIntensity: Schema.Finite;
1741
+ }>>;
1742
+ readonly sky: Schema.NullOr<Schema.Struct<{
1743
+ readonly sunPosition: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1744
+ readonly turbidity: Schema.Finite;
1745
+ readonly rayleigh: Schema.Finite;
1746
+ readonly mieCoefficient: Schema.Finite;
1747
+ readonly mieDirectionalG: Schema.Finite;
1748
+ readonly clouds: Schema.Finite;
1749
+ readonly distance: Schema.Finite;
1750
+ }>>;
1751
+ readonly contactShadows: Schema.NullOr<Schema.Struct<{
1752
+ readonly position: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1753
+ readonly size: Schema.Tuple<readonly [Schema.Finite, Schema.Finite]>;
1754
+ readonly near: Schema.Finite;
1755
+ readonly far: Schema.Finite;
1756
+ readonly blur: Schema.Finite;
1757
+ readonly smooth: Schema.Boolean;
1758
+ readonly opacity: Schema.Finite;
1759
+ readonly color: Schema.Int;
1760
+ readonly resolution: Schema.Int;
1761
+ }>>;
1762
+ readonly physics: Schema.NullOr<Schema.Struct<{
1763
+ readonly gravity: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1764
+ readonly paused: Schema.Boolean;
1765
+ readonly timeStep: Schema.Finite;
1766
+ readonly interpolate: Schema.Boolean;
1767
+ readonly debug: Schema.Boolean;
1768
+ readonly joints: Schema.$Array<Schema.Struct<{
1769
+ readonly key: Schema.String;
1770
+ readonly a: Schema.Struct<{
1771
+ readonly key: Schema.String;
1772
+ readonly instance: Schema.NullOr<Schema.String>;
1773
+ }>;
1774
+ readonly b: Schema.Struct<{
1775
+ readonly key: Schema.String;
1776
+ readonly instance: Schema.NullOr<Schema.String>;
1777
+ }>;
1778
+ readonly anchorA: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1779
+ readonly anchorB: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1780
+ readonly kind: Schema.Union<readonly [Schema.TaggedStruct<"Fixed", {
1781
+ readonly frameA: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1782
+ readonly frameB: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1783
+ }>, Schema.TaggedStruct<"Spherical", {}>, Schema.TaggedStruct<"Revolute", {
1784
+ readonly axis: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1785
+ readonly limits: Schema.NullOr<Schema.Tuple<readonly [Schema.Finite, Schema.Finite]>>;
1786
+ readonly motor: Schema.NullOr<Schema.Struct<{
1787
+ readonly position: Schema.Finite;
1788
+ readonly velocity: Schema.Finite;
1789
+ readonly stiffness: Schema.Finite;
1790
+ readonly damping: Schema.Finite;
1791
+ }>>;
1792
+ }>, Schema.TaggedStruct<"Prismatic", {
1793
+ readonly axis: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1794
+ readonly limits: Schema.NullOr<Schema.Tuple<readonly [Schema.Finite, Schema.Finite]>>;
1795
+ readonly motor: Schema.NullOr<Schema.Struct<{
1796
+ readonly position: Schema.Finite;
1797
+ readonly velocity: Schema.Finite;
1798
+ readonly stiffness: Schema.Finite;
1799
+ readonly damping: Schema.Finite;
1800
+ }>>;
1801
+ }>, Schema.TaggedStruct<"Rope", {
1802
+ readonly length: Schema.Finite;
1803
+ }>, Schema.TaggedStruct<"Spring", {
1804
+ readonly restLength: Schema.Finite;
1805
+ readonly stiffness: Schema.Finite;
1806
+ readonly damping: Schema.Finite;
1807
+ }>]>;
1808
+ readonly contacts: Schema.Boolean;
1809
+ }>>;
1810
+ }>>;
1811
+ readonly xr: Schema.NullOr<Schema.Struct<{
1812
+ readonly origin: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1813
+ readonly heading: Schema.Finite;
1814
+ readonly referenceSpace: Schema.Literals<readonly ["local-floor", "local", "bounded-floor"]>;
1815
+ readonly framebufferScale: Schema.Finite;
1816
+ readonly hitTest: Schema.Boolean;
1817
+ readonly showInputs: Schema.Boolean;
1818
+ readonly anchors: Schema.$Array<Schema.Struct<{
1819
+ readonly id: Schema.String;
1820
+ readonly position: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1821
+ readonly rotation: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1822
+ }>>;
1823
+ readonly planes: Schema.Boolean;
1824
+ readonly meshes: Schema.Boolean;
1825
+ readonly domOverlay: Schema.Boolean;
1826
+ readonly glide: Schema.NullOr<Schema.Struct<{
1827
+ readonly speed: Schema.Finite;
1828
+ readonly turn: Schema.Literals<readonly ["smooth", "snap"]>;
1829
+ readonly turnSpeed: Schema.Finite;
1830
+ readonly snapDegrees: Schema.Finite;
1831
+ }>>;
1832
+ }>>;
1833
+ readonly measure: Schema.$Array<Schema.String>;
1834
+ readonly render: Schema.Struct<{
1835
+ readonly effects: Schema.$Array<Schema.Union<readonly [Schema.TaggedStruct<"Bloom", {
1836
+ readonly strength: Schema.Finite;
1837
+ readonly radius: Schema.Finite;
1838
+ readonly threshold: Schema.Finite;
1839
+ }>, Schema.TaggedStruct<"Vignette", {
1840
+ readonly offset: Schema.Finite;
1841
+ readonly darkness: Schema.Finite;
1842
+ }>, Schema.TaggedStruct<"Film", {
1843
+ readonly intensity: Schema.Finite;
1844
+ readonly grayscale: Schema.Boolean;
1845
+ }>]>>;
1846
+ readonly frames: Schema.Literals<readonly ["always", "demand", "never"]>;
1847
+ readonly resolution: Schema.Finite;
1848
+ readonly shadows: Schema.Literals<readonly ["off", "basic", "percentage", "soft", "variance"]>;
1849
+ readonly toneMapping: Schema.Literals<readonly ["none", "linear", "reinhard", "cineon", "aces", "agx", "neutral"]>;
1850
+ readonly exposure: Schema.Finite;
1851
+ readonly colorSpace: Schema.Literals<readonly ["srgb", "linear"]>;
1852
+ }>;
1853
+ readonly resources: Schema.Struct<{
1854
+ readonly geometries: Schema.$Array<Schema.Struct<{
1855
+ readonly id: Schema.String;
1856
+ readonly geometry: Schema.Union<readonly [Schema.TaggedStruct<"Text", {
1857
+ readonly text: Schema.String;
1858
+ readonly font: Schema.String;
1859
+ readonly size: Schema.Finite;
1860
+ readonly depth: Schema.Finite;
1861
+ readonly curveSegments: Schema.Int;
1862
+ readonly bevel: Schema.NullOr<Schema.Struct<{
1863
+ readonly thickness: Schema.Finite;
1864
+ readonly size: Schema.Finite;
1865
+ readonly offset: Schema.Finite;
1866
+ readonly segments: Schema.Int;
1867
+ }>>;
1868
+ readonly center: Schema.Boolean;
1869
+ readonly letterSpacing: Schema.Finite;
1870
+ readonly lineHeight: Schema.Finite;
1871
+ readonly align: Schema.Literals<readonly ["left", "center", "right"]>;
1872
+ }>, Schema.TaggedStruct<"Box", {
1873
+ readonly width: Schema.Finite;
1874
+ readonly height: Schema.Finite;
1875
+ readonly depth: Schema.Finite;
1876
+ }>, Schema.TaggedStruct<"Sphere", {
1877
+ readonly radius: Schema.Finite;
1878
+ readonly widthSegments: Schema.Int;
1879
+ readonly heightSegments: Schema.Int;
1880
+ }>, Schema.TaggedStruct<"Plane", {
1881
+ readonly width: Schema.Finite;
1882
+ readonly height: Schema.Finite;
1883
+ }>, Schema.TaggedStruct<"Cylinder", {
1884
+ readonly radiusTop: Schema.Finite;
1885
+ readonly radiusBottom: Schema.Finite;
1886
+ readonly height: Schema.Finite;
1887
+ readonly radialSegments: Schema.Int;
1888
+ }>, Schema.TaggedStruct<"Torus", {
1889
+ readonly radius: Schema.Finite;
1890
+ readonly tube: Schema.Finite;
1891
+ readonly radialSegments: Schema.Int;
1892
+ readonly tubularSegments: Schema.Int;
1893
+ }>, Schema.TaggedStruct<"Cone", {
1894
+ readonly radius: Schema.Finite;
1895
+ readonly height: Schema.Finite;
1896
+ readonly radialSegments: Schema.Int;
1897
+ }>, Schema.TaggedStruct<"Capsule", {
1898
+ readonly radius: Schema.Finite;
1899
+ readonly height: Schema.Finite;
1900
+ readonly capSegments: Schema.Int;
1901
+ readonly radialSegments: Schema.Int;
1902
+ }>, Schema.TaggedStruct<"Ring", {
1903
+ readonly innerRadius: Schema.Finite;
1904
+ readonly outerRadius: Schema.Finite;
1905
+ readonly thetaSegments: Schema.Int;
1906
+ }>, Schema.TaggedStruct<"Circle", {
1907
+ readonly radius: Schema.Finite;
1908
+ readonly segments: Schema.Int;
1909
+ }>]>;
1910
+ }>>;
1911
+ readonly materials: Schema.$Array<Schema.Struct<{
1912
+ readonly id: Schema.String;
1913
+ readonly material: Schema.Union<readonly [Schema.TaggedStruct<"Shadow", {
1914
+ readonly color: Schema.Int;
1915
+ readonly opacity: Schema.Finite;
1916
+ }>, Schema.TaggedStruct<"Basic", {
1917
+ readonly opacity: Schema.Finite;
1918
+ readonly transparent: Schema.Boolean;
1919
+ readonly side: Schema.Literals<readonly ["front", "back", "double"]>;
1920
+ readonly wireframe: Schema.Boolean;
1921
+ readonly color: Schema.Int;
1922
+ readonly map: Schema.NullOr<Schema.String>;
1923
+ }>, Schema.TaggedStruct<"Lambert", {
1924
+ readonly opacity: Schema.Finite;
1925
+ readonly transparent: Schema.Boolean;
1926
+ readonly side: Schema.Literals<readonly ["front", "back", "double"]>;
1927
+ readonly wireframe: Schema.Boolean;
1928
+ readonly flatShading: Schema.Boolean;
1929
+ readonly color: Schema.Int;
1930
+ readonly map: Schema.NullOr<Schema.String>;
1931
+ readonly emissive: Schema.Int;
1932
+ }>, Schema.TaggedStruct<"Phong", {
1933
+ readonly opacity: Schema.Finite;
1934
+ readonly transparent: Schema.Boolean;
1935
+ readonly side: Schema.Literals<readonly ["front", "back", "double"]>;
1936
+ readonly wireframe: Schema.Boolean;
1937
+ readonly flatShading: Schema.Boolean;
1938
+ readonly color: Schema.Int;
1939
+ readonly map: Schema.NullOr<Schema.String>;
1940
+ readonly emissive: Schema.Int;
1941
+ readonly specular: Schema.Int;
1942
+ readonly shininess: Schema.Finite;
1943
+ }>, Schema.TaggedStruct<"Standard", {
1944
+ readonly opacity: Schema.Finite;
1945
+ readonly transparent: Schema.Boolean;
1946
+ readonly side: Schema.Literals<readonly ["front", "back", "double"]>;
1947
+ readonly wireframe: Schema.Boolean;
1948
+ readonly flatShading: Schema.Boolean;
1949
+ readonly color: Schema.Int;
1950
+ readonly map: Schema.NullOr<Schema.String>;
1951
+ readonly roughness: Schema.Finite;
1952
+ readonly metalness: Schema.Finite;
1953
+ readonly emissive: Schema.Int;
1954
+ readonly emissiveIntensity: Schema.Finite;
1955
+ }>, Schema.TaggedStruct<"Physical", {
1956
+ readonly opacity: Schema.Finite;
1957
+ readonly transparent: Schema.Boolean;
1958
+ readonly side: Schema.Literals<readonly ["front", "back", "double"]>;
1959
+ readonly wireframe: Schema.Boolean;
1960
+ readonly flatShading: Schema.Boolean;
1961
+ readonly color: Schema.Int;
1962
+ readonly map: Schema.NullOr<Schema.String>;
1963
+ readonly roughness: Schema.Finite;
1964
+ readonly metalness: Schema.Finite;
1965
+ readonly emissive: Schema.Int;
1966
+ readonly emissiveIntensity: Schema.Finite;
1967
+ readonly clearcoat: Schema.Finite;
1968
+ readonly clearcoatRoughness: Schema.Finite;
1969
+ readonly transmission: Schema.Finite;
1970
+ readonly ior: Schema.Finite;
1971
+ }>, Schema.TaggedStruct<"Normal", {
1972
+ opacity: Schema.Finite;
1973
+ transparent: Schema.Boolean;
1974
+ side: Schema.Literals<readonly ["front", "back", "double"]>;
1975
+ wireframe: Schema.Boolean;
1976
+ flatShading: Schema.Boolean;
1977
+ }>]>;
1978
+ }>>;
1979
+ }>;
1980
+ readonly children: Schema.$Array<Schema.Codec<KernelSceneNode, KernelSceneNode, never, never>>;
1981
+ }>;
1982
+ /** Detail of pointer-leave events: the interactive mesh's key. */
1983
+ export declare const KeyDetail: Schema.Struct<{
1984
+ readonly key: Schema.String;
1985
+ }>;
1986
+ /**
1987
+ * Where the pointer met an interactive mesh: its key and ancestor path, the world-space
1988
+ * hit point, the distance from the camera, the world-space face normal, the texture
1989
+ * coordinates and the pointer's world-space ray.
1990
+ */
1991
+ export declare const HitDetail: Schema.Struct<{
1992
+ readonly key: Schema.String;
1993
+ readonly instance: Schema.optionalKey<Schema.String>;
1994
+ readonly part: Schema.optionalKey<Schema.String>;
1995
+ readonly view: Schema.optionalKey<Schema.String>;
1996
+ readonly path: Schema.$Array<Schema.String>;
1997
+ readonly point: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1998
+ readonly distance: Schema.Finite;
1999
+ readonly normal: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
2000
+ readonly uv: Schema.Tuple<readonly [Schema.Finite, Schema.Finite]>;
2001
+ readonly ray: Schema.Struct<{
2002
+ readonly origin: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
2003
+ readonly direction: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
2004
+ }>;
2005
+ }>;
2006
+ /** Detail of button events: the hit plus `MouseEvent.button`. */
2007
+ export declare const ButtonDetail: Schema.Struct<{
2008
+ readonly key: Schema.String;
2009
+ readonly instance: Schema.optionalKey<Schema.String>;
2010
+ readonly part: Schema.optionalKey<Schema.String>;
2011
+ readonly view: Schema.optionalKey<Schema.String>;
2012
+ readonly path: Schema.$Array<Schema.String>;
2013
+ readonly point: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
2014
+ readonly distance: Schema.Finite;
2015
+ readonly normal: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
2016
+ readonly uv: Schema.Tuple<readonly [Schema.Finite, Schema.Finite]>;
2017
+ readonly ray: Schema.Struct<{
2018
+ readonly origin: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
2019
+ readonly direction: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
2020
+ }>;
2021
+ readonly button: Schema.Int;
2022
+ }>;
2023
+ /** Detail of wheel events: the hit plus `WheelEvent.deltaX` and `deltaY`. */
2024
+ export declare const WheelDetail: Schema.Struct<{
2025
+ readonly key: Schema.String;
2026
+ readonly instance: Schema.optionalKey<Schema.String>;
2027
+ readonly part: Schema.optionalKey<Schema.String>;
2028
+ readonly view: Schema.optionalKey<Schema.String>;
2029
+ readonly path: Schema.$Array<Schema.String>;
2030
+ readonly point: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
2031
+ readonly distance: Schema.Finite;
2032
+ readonly normal: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
2033
+ readonly uv: Schema.Tuple<readonly [Schema.Finite, Schema.Finite]>;
2034
+ readonly ray: Schema.Struct<{
2035
+ readonly origin: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
2036
+ readonly direction: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
2037
+ }>;
2038
+ readonly deltaX: Schema.Finite;
2039
+ readonly deltaY: Schema.Finite;
2040
+ }>;
2041
+ /** Detail of a click that hit no interactive mesh. */
2042
+ export declare const MissDetail: Schema.Struct<{
2043
+ readonly button: Schema.Int;
2044
+ }>;
2045
+ /** A world-space ray: an origin and a unit direction. */
2046
+ export declare const Ray: Schema.Struct<{
2047
+ readonly origin: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
2048
+ readonly direction: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
2049
+ }>;
2050
+ /** Detail of drag events: the captured mesh, the pressed button and the pointer's ray. */
2051
+ export declare const DragDetail: Schema.Struct<{
2052
+ readonly key: Schema.String;
2053
+ readonly button: Schema.Int;
2054
+ readonly ray: Schema.Struct<{
2055
+ readonly origin: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
2056
+ readonly direction: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
2057
+ }>;
2058
+ }>;
2059
+ /** Detail of performance changes: the fps average and the new factor (0 to 1). */
2060
+ export declare const PerformanceDetail: Schema.Struct<{
2061
+ readonly fps: Schema.Finite;
2062
+ readonly factor: Schema.Finite;
2063
+ }>;
2064
+ /** Modifier keys held during an input. */
2065
+ export declare const Modifiers: Schema.Struct<{
2066
+ readonly shift: Schema.Boolean;
2067
+ readonly control: Schema.Boolean;
2068
+ readonly meta: Schema.Boolean;
2069
+ readonly alt: Schema.Boolean;
2070
+ }>;
2071
+ /** A drag, wheel or pinch on the canvas: distances in CSS pixels since the last one. */
2072
+ export declare const Gesture: Schema.Union<readonly [Schema.TaggedStruct<"Drag", {
2073
+ readonly view: Schema.optionalKey<Schema.String>;
2074
+ readonly width: Schema.Finite;
2075
+ readonly height: Schema.Finite;
2076
+ readonly x: Schema.Finite;
2077
+ readonly y: Schema.Finite;
2078
+ readonly button: Schema.Int;
2079
+ readonly modifiers: Schema.Struct<{
2080
+ readonly shift: Schema.Boolean;
2081
+ readonly control: Schema.Boolean;
2082
+ readonly meta: Schema.Boolean;
2083
+ readonly alt: Schema.Boolean;
2084
+ }>;
2085
+ readonly key: Schema.optionalKey<Schema.String>;
2086
+ readonly deltaX: Schema.Finite;
2087
+ readonly deltaY: Schema.Finite;
2088
+ }>, Schema.TaggedStruct<"Wheel", {
2089
+ readonly view: Schema.optionalKey<Schema.String>;
2090
+ readonly width: Schema.Finite;
2091
+ readonly height: Schema.Finite;
2092
+ readonly x: Schema.Finite;
2093
+ readonly y: Schema.Finite;
2094
+ readonly modifiers: Schema.Struct<{
2095
+ readonly shift: Schema.Boolean;
2096
+ readonly control: Schema.Boolean;
2097
+ readonly meta: Schema.Boolean;
2098
+ readonly alt: Schema.Boolean;
2099
+ }>;
2100
+ readonly deltaX: Schema.Finite;
2101
+ readonly deltaY: Schema.Finite;
2102
+ }>, Schema.TaggedStruct<"Pinch", {
2103
+ readonly view: Schema.optionalKey<Schema.String>;
2104
+ readonly width: Schema.Finite;
2105
+ readonly height: Schema.Finite;
2106
+ readonly x: Schema.Finite;
2107
+ readonly y: Schema.Finite;
2108
+ readonly scale: Schema.Finite;
2109
+ readonly deltaX: Schema.Finite;
2110
+ readonly deltaY: Schema.Finite;
2111
+ }>]>;
2112
+ /**
2113
+ * Detail of collision events: the two bodies' keys (and instances', for bodies on
2114
+ * instances), and whether they began touching.
2115
+ */
2116
+ export declare const CollisionDetail: Schema.Struct<{
2117
+ readonly a: Schema.String;
2118
+ readonly aInstance: Schema.optionalKey<Schema.String>;
2119
+ readonly aPart: Schema.optionalKey<Schema.String>;
2120
+ readonly b: Schema.String;
2121
+ readonly bInstance: Schema.optionalKey<Schema.String>;
2122
+ readonly bPart: Schema.optionalKey<Schema.String>;
2123
+ readonly started: Schema.Boolean;
2124
+ }>;
2125
+ /** Detail of XR stick events: a thumbstick pushed past halfway, or let back. */
2126
+ export declare const XrStickDetail: Schema.Struct<{
2127
+ readonly hand: Schema.Literals<readonly ["left", "right", "none"]>;
2128
+ readonly direction: Schema.Literals<readonly ["center", "left", "right", "forward", "back"]>;
2129
+ }>;
2130
+ /** Detail of XR button events: a controller button pressed or released. */
2131
+ export declare const XrButtonDetail: Schema.Struct<{
2132
+ readonly hand: Schema.Literals<readonly ["left", "right", "none"]>;
2133
+ readonly button: Schema.Literals<readonly ["trigger", "squeeze", "touchpad", "thumbstick", "primary", "secondary"]>;
2134
+ readonly pressed: Schema.Boolean;
2135
+ }>;
2136
+ /** Detail of XR moved events: where gliding left the player. */
2137
+ export declare const XrMovedDetail: Schema.Struct<{
2138
+ readonly origin: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
2139
+ readonly heading: Schema.Finite;
2140
+ }>;
2141
+ /** Detail of XR surface events: in AR, where a select met a real surface. */
2142
+ export declare const XrSurfaceDetail: Schema.Struct<{
2143
+ readonly hand: Schema.Literals<readonly ["left", "right", "none"]>;
2144
+ readonly point: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
2145
+ readonly normal: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
2146
+ }>;
2147
+ /** A detected plane, in the scene's space. */
2148
+ export declare const XrPlane: Schema.Struct<{
2149
+ readonly id: Schema.String;
2150
+ readonly orientation: Schema.Literals<readonly ["horizontal", "vertical"]>;
2151
+ readonly label: Schema.String;
2152
+ readonly position: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
2153
+ readonly rotation: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
2154
+ readonly polygon: Schema.$Array<Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>>;
2155
+ }>;
2156
+ /** Detail of XR planes events: every plane the session has detected, as it is now. */
2157
+ export declare const XrPlanesDetail: Schema.Struct<{
2158
+ readonly planes: Schema.$Array<Schema.Struct<{
2159
+ readonly id: Schema.String;
2160
+ readonly orientation: Schema.Literals<readonly ["horizontal", "vertical"]>;
2161
+ readonly label: Schema.String;
2162
+ readonly position: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
2163
+ readonly rotation: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
2164
+ readonly polygon: Schema.$Array<Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>>;
2165
+ }>>;
2166
+ }>;
2167
+ /** A detected mesh, in the scene's space: its geometry is lent for `xrMesh(id)`. */
2168
+ export declare const XrMesh: Schema.Struct<{
2169
+ readonly id: Schema.String;
2170
+ readonly label: Schema.String;
2171
+ readonly position: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
2172
+ readonly rotation: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
2173
+ }>;
2174
+ /** Detail of XR meshes events: every mesh the session has detected, as it is now. */
2175
+ export declare const XrMeshesDetail: Schema.Struct<{
2176
+ readonly meshes: Schema.$Array<Schema.Struct<{
2177
+ readonly id: Schema.String;
2178
+ readonly label: Schema.String;
2179
+ readonly position: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
2180
+ readonly rotation: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
2181
+ }>>;
2182
+ }>;
2183
+ /** Detail of contact force events: the two bodies, and how hard they pushed. */
2184
+ export declare const ContactForceDetail: Schema.Struct<{
2185
+ readonly a: Schema.String;
2186
+ readonly aInstance: Schema.optionalKey<Schema.String>;
2187
+ readonly aPart: Schema.optionalKey<Schema.String>;
2188
+ readonly b: Schema.String;
2189
+ readonly bInstance: Schema.optionalKey<Schema.String>;
2190
+ readonly bPart: Schema.optionalKey<Schema.String>;
2191
+ readonly totalForce: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
2192
+ readonly totalForceMagnitude: Schema.Finite;
2193
+ readonly maxForceDirection: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
2194
+ readonly maxForceMagnitude: Schema.Finite;
2195
+ }>;
2196
+ /** Detail of label measured events: a label's laid-out size in its own units. */
2197
+ export declare const LabelMeasuredDetail: Schema.Struct<{
2198
+ readonly key: Schema.String;
2199
+ readonly block: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite, Schema.Finite]>;
2200
+ readonly visible: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite, Schema.Finite]>;
2201
+ }>;
2202
+ /** Detail of measured events: a node's world bounding box. */
2203
+ export declare const MeasuredDetail: Schema.Struct<{
2204
+ readonly key: Schema.String;
2205
+ readonly min: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
2206
+ readonly max: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
2207
+ }>;
2208
+ /** Detail of auto-rotated events: where a camera turning by itself got to. */
2209
+ export declare const AutoRotatedDetail: Schema.Struct<{
2210
+ readonly view: Schema.optionalKey<Schema.String>;
2211
+ readonly position: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
2212
+ }>;
2213
+ /** Detail of gesture events. */
2214
+ export declare const GestureDetail: Schema.Struct<{
2215
+ readonly gesture: Schema.Union<readonly [Schema.TaggedStruct<"Drag", {
2216
+ readonly view: Schema.optionalKey<Schema.String>;
2217
+ readonly width: Schema.Finite;
2218
+ readonly height: Schema.Finite;
2219
+ readonly x: Schema.Finite;
2220
+ readonly y: Schema.Finite;
2221
+ readonly button: Schema.Int;
2222
+ readonly modifiers: Schema.Struct<{
2223
+ readonly shift: Schema.Boolean;
2224
+ readonly control: Schema.Boolean;
2225
+ readonly meta: Schema.Boolean;
2226
+ readonly alt: Schema.Boolean;
2227
+ }>;
2228
+ readonly key: Schema.optionalKey<Schema.String>;
2229
+ readonly deltaX: Schema.Finite;
2230
+ readonly deltaY: Schema.Finite;
2231
+ }>, Schema.TaggedStruct<"Wheel", {
2232
+ readonly view: Schema.optionalKey<Schema.String>;
2233
+ readonly width: Schema.Finite;
2234
+ readonly height: Schema.Finite;
2235
+ readonly x: Schema.Finite;
2236
+ readonly y: Schema.Finite;
2237
+ readonly modifiers: Schema.Struct<{
2238
+ readonly shift: Schema.Boolean;
2239
+ readonly control: Schema.Boolean;
2240
+ readonly meta: Schema.Boolean;
2241
+ readonly alt: Schema.Boolean;
2242
+ }>;
2243
+ readonly deltaX: Schema.Finite;
2244
+ readonly deltaY: Schema.Finite;
2245
+ }>, Schema.TaggedStruct<"Pinch", {
2246
+ readonly view: Schema.optionalKey<Schema.String>;
2247
+ readonly width: Schema.Finite;
2248
+ readonly height: Schema.Finite;
2249
+ readonly x: Schema.Finite;
2250
+ readonly y: Schema.Finite;
2251
+ readonly scale: Schema.Finite;
2252
+ readonly deltaX: Schema.Finite;
2253
+ readonly deltaY: Schema.Finite;
2254
+ }>]>;
2255
+ }>;
2256
+ /** A pointer interaction with an interactive mesh, or a miss. */
2257
+ export declare const SceneEvent: Schema.Union<readonly [Schema.TaggedStruct<"PointerEnter", {
2258
+ readonly key: Schema.String;
2259
+ readonly instance: Schema.optionalKey<Schema.String>;
2260
+ readonly part: Schema.optionalKey<Schema.String>;
2261
+ readonly view: Schema.optionalKey<Schema.String>;
2262
+ readonly path: Schema.$Array<Schema.String>;
2263
+ readonly point: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
2264
+ readonly distance: Schema.Finite;
2265
+ readonly normal: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
2266
+ readonly uv: Schema.Tuple<readonly [Schema.Finite, Schema.Finite]>;
2267
+ readonly ray: Schema.Struct<{
2268
+ readonly origin: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
2269
+ readonly direction: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
2270
+ }>;
2271
+ }>, Schema.TaggedStruct<"PointerLeave", {
2272
+ readonly key: Schema.String;
2273
+ }>, Schema.TaggedStruct<"PointerMove", {
2274
+ readonly key: Schema.String;
2275
+ readonly instance: Schema.optionalKey<Schema.String>;
2276
+ readonly part: Schema.optionalKey<Schema.String>;
2277
+ readonly view: Schema.optionalKey<Schema.String>;
2278
+ readonly path: Schema.$Array<Schema.String>;
2279
+ readonly point: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
2280
+ readonly distance: Schema.Finite;
2281
+ readonly normal: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
2282
+ readonly uv: Schema.Tuple<readonly [Schema.Finite, Schema.Finite]>;
2283
+ readonly ray: Schema.Struct<{
2284
+ readonly origin: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
2285
+ readonly direction: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
2286
+ }>;
2287
+ }>, Schema.TaggedStruct<"PointerDown", {
2288
+ readonly key: Schema.String;
2289
+ readonly instance: Schema.optionalKey<Schema.String>;
2290
+ readonly part: Schema.optionalKey<Schema.String>;
2291
+ readonly view: Schema.optionalKey<Schema.String>;
2292
+ readonly path: Schema.$Array<Schema.String>;
2293
+ readonly point: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
2294
+ readonly distance: Schema.Finite;
2295
+ readonly normal: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
2296
+ readonly uv: Schema.Tuple<readonly [Schema.Finite, Schema.Finite]>;
2297
+ readonly ray: Schema.Struct<{
2298
+ readonly origin: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
2299
+ readonly direction: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
2300
+ }>;
2301
+ readonly button: Schema.Int;
2302
+ }>, Schema.TaggedStruct<"PointerUp", {
2303
+ readonly key: Schema.String;
2304
+ readonly instance: Schema.optionalKey<Schema.String>;
2305
+ readonly part: Schema.optionalKey<Schema.String>;
2306
+ readonly view: Schema.optionalKey<Schema.String>;
2307
+ readonly path: Schema.$Array<Schema.String>;
2308
+ readonly point: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
2309
+ readonly distance: Schema.Finite;
2310
+ readonly normal: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
2311
+ readonly uv: Schema.Tuple<readonly [Schema.Finite, Schema.Finite]>;
2312
+ readonly ray: Schema.Struct<{
2313
+ readonly origin: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
2314
+ readonly direction: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
2315
+ }>;
2316
+ readonly button: Schema.Int;
2317
+ }>, Schema.TaggedStruct<"Click", {
2318
+ readonly key: Schema.String;
2319
+ readonly instance: Schema.optionalKey<Schema.String>;
2320
+ readonly part: Schema.optionalKey<Schema.String>;
2321
+ readonly view: Schema.optionalKey<Schema.String>;
2322
+ readonly path: Schema.$Array<Schema.String>;
2323
+ readonly point: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
2324
+ readonly distance: Schema.Finite;
2325
+ readonly normal: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
2326
+ readonly uv: Schema.Tuple<readonly [Schema.Finite, Schema.Finite]>;
2327
+ readonly ray: Schema.Struct<{
2328
+ readonly origin: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
2329
+ readonly direction: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
2330
+ }>;
2331
+ readonly button: Schema.Int;
2332
+ }>, Schema.TaggedStruct<"DoubleClick", {
2333
+ readonly key: Schema.String;
2334
+ readonly instance: Schema.optionalKey<Schema.String>;
2335
+ readonly part: Schema.optionalKey<Schema.String>;
2336
+ readonly view: Schema.optionalKey<Schema.String>;
2337
+ readonly path: Schema.$Array<Schema.String>;
2338
+ readonly point: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
2339
+ readonly distance: Schema.Finite;
2340
+ readonly normal: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
2341
+ readonly uv: Schema.Tuple<readonly [Schema.Finite, Schema.Finite]>;
2342
+ readonly ray: Schema.Struct<{
2343
+ readonly origin: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
2344
+ readonly direction: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
2345
+ }>;
2346
+ readonly button: Schema.Int;
2347
+ }>, Schema.TaggedStruct<"ContextMenu", {
2348
+ readonly key: Schema.String;
2349
+ readonly instance: Schema.optionalKey<Schema.String>;
2350
+ readonly part: Schema.optionalKey<Schema.String>;
2351
+ readonly view: Schema.optionalKey<Schema.String>;
2352
+ readonly path: Schema.$Array<Schema.String>;
2353
+ readonly point: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
2354
+ readonly distance: Schema.Finite;
2355
+ readonly normal: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
2356
+ readonly uv: Schema.Tuple<readonly [Schema.Finite, Schema.Finite]>;
2357
+ readonly ray: Schema.Struct<{
2358
+ readonly origin: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
2359
+ readonly direction: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
2360
+ }>;
2361
+ }>, Schema.TaggedStruct<"Wheel", {
2362
+ readonly key: Schema.String;
2363
+ readonly instance: Schema.optionalKey<Schema.String>;
2364
+ readonly part: Schema.optionalKey<Schema.String>;
2365
+ readonly view: Schema.optionalKey<Schema.String>;
2366
+ readonly path: Schema.$Array<Schema.String>;
2367
+ readonly point: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
2368
+ readonly distance: Schema.Finite;
2369
+ readonly normal: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
2370
+ readonly uv: Schema.Tuple<readonly [Schema.Finite, Schema.Finite]>;
2371
+ readonly ray: Schema.Struct<{
2372
+ readonly origin: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
2373
+ readonly direction: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
2374
+ }>;
2375
+ readonly deltaX: Schema.Finite;
2376
+ readonly deltaY: Schema.Finite;
2377
+ }>, Schema.TaggedStruct<"PointerMissed", {
2378
+ readonly button: Schema.Int;
2379
+ }>, Schema.TaggedStruct<"Drag", {
2380
+ readonly key: Schema.String;
2381
+ readonly button: Schema.Int;
2382
+ readonly ray: Schema.Struct<{
2383
+ readonly origin: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
2384
+ readonly direction: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
2385
+ }>;
2386
+ }>, Schema.TaggedStruct<"DragEnd", {
2387
+ readonly key: Schema.String;
2388
+ readonly button: Schema.Int;
2389
+ readonly ray: Schema.Struct<{
2390
+ readonly origin: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
2391
+ readonly direction: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
2392
+ }>;
2393
+ }>, Schema.TaggedStruct<"Gesture", {
2394
+ readonly gesture: Schema.Union<readonly [Schema.TaggedStruct<"Drag", {
2395
+ readonly view: Schema.optionalKey<Schema.String>;
2396
+ readonly width: Schema.Finite;
2397
+ readonly height: Schema.Finite;
2398
+ readonly x: Schema.Finite;
2399
+ readonly y: Schema.Finite;
2400
+ readonly button: Schema.Int;
2401
+ readonly modifiers: Schema.Struct<{
2402
+ readonly shift: Schema.Boolean;
2403
+ readonly control: Schema.Boolean;
2404
+ readonly meta: Schema.Boolean;
2405
+ readonly alt: Schema.Boolean;
2406
+ }>;
2407
+ readonly key: Schema.optionalKey<Schema.String>;
2408
+ readonly deltaX: Schema.Finite;
2409
+ readonly deltaY: Schema.Finite;
2410
+ }>, Schema.TaggedStruct<"Wheel", {
2411
+ readonly view: Schema.optionalKey<Schema.String>;
2412
+ readonly width: Schema.Finite;
2413
+ readonly height: Schema.Finite;
2414
+ readonly x: Schema.Finite;
2415
+ readonly y: Schema.Finite;
2416
+ readonly modifiers: Schema.Struct<{
2417
+ readonly shift: Schema.Boolean;
2418
+ readonly control: Schema.Boolean;
2419
+ readonly meta: Schema.Boolean;
2420
+ readonly alt: Schema.Boolean;
2421
+ }>;
2422
+ readonly deltaX: Schema.Finite;
2423
+ readonly deltaY: Schema.Finite;
2424
+ }>, Schema.TaggedStruct<"Pinch", {
2425
+ readonly view: Schema.optionalKey<Schema.String>;
2426
+ readonly width: Schema.Finite;
2427
+ readonly height: Schema.Finite;
2428
+ readonly x: Schema.Finite;
2429
+ readonly y: Schema.Finite;
2430
+ readonly scale: Schema.Finite;
2431
+ readonly deltaX: Schema.Finite;
2432
+ readonly deltaY: Schema.Finite;
2433
+ }>]>;
2434
+ }>, Schema.TaggedStruct<"AutoRotated", {
2435
+ readonly view: Schema.optionalKey<Schema.String>;
2436
+ readonly position: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
2437
+ }>, Schema.TaggedStruct<"Collision", {
2438
+ readonly a: Schema.String;
2439
+ readonly aInstance: Schema.optionalKey<Schema.String>;
2440
+ readonly aPart: Schema.optionalKey<Schema.String>;
2441
+ readonly b: Schema.String;
2442
+ readonly bInstance: Schema.optionalKey<Schema.String>;
2443
+ readonly bPart: Schema.optionalKey<Schema.String>;
2444
+ readonly started: Schema.Boolean;
2445
+ }>, Schema.TaggedStruct<"Measured", {
2446
+ readonly key: Schema.String;
2447
+ readonly min: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
2448
+ readonly max: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
2449
+ }>, Schema.TaggedStruct<"LabelMeasured", {
2450
+ readonly key: Schema.String;
2451
+ readonly block: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite, Schema.Finite]>;
2452
+ readonly visible: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite, Schema.Finite]>;
2453
+ }>, Schema.TaggedStruct<"ContactForce", {
2454
+ readonly a: Schema.String;
2455
+ readonly aInstance: Schema.optionalKey<Schema.String>;
2456
+ readonly aPart: Schema.optionalKey<Schema.String>;
2457
+ readonly b: Schema.String;
2458
+ readonly bInstance: Schema.optionalKey<Schema.String>;
2459
+ readonly bPart: Schema.optionalKey<Schema.String>;
2460
+ readonly totalForce: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
2461
+ readonly totalForceMagnitude: Schema.Finite;
2462
+ readonly maxForceDirection: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
2463
+ readonly maxForceMagnitude: Schema.Finite;
2464
+ }>, Schema.TaggedStruct<"XrStick", {
2465
+ readonly hand: Schema.Literals<readonly ["left", "right", "none"]>;
2466
+ readonly direction: Schema.Literals<readonly ["center", "left", "right", "forward", "back"]>;
2467
+ }>, Schema.TaggedStruct<"XrButton", {
2468
+ readonly hand: Schema.Literals<readonly ["left", "right", "none"]>;
2469
+ readonly button: Schema.Literals<readonly ["trigger", "squeeze", "touchpad", "thumbstick", "primary", "secondary"]>;
2470
+ readonly pressed: Schema.Boolean;
2471
+ }>, Schema.TaggedStruct<"XrSurface", {
2472
+ readonly hand: Schema.Literals<readonly ["left", "right", "none"]>;
2473
+ readonly point: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
2474
+ readonly normal: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
2475
+ }>, Schema.TaggedStruct<"XrMoved", {
2476
+ readonly origin: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
2477
+ readonly heading: Schema.Finite;
2478
+ }>, Schema.TaggedStruct<"XrPlanes", {
2479
+ readonly planes: Schema.$Array<Schema.Struct<{
2480
+ readonly id: Schema.String;
2481
+ readonly orientation: Schema.Literals<readonly ["horizontal", "vertical"]>;
2482
+ readonly label: Schema.String;
2483
+ readonly position: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
2484
+ readonly rotation: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
2485
+ readonly polygon: Schema.$Array<Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>>;
2486
+ }>>;
2487
+ }>, Schema.TaggedStruct<"XrMeshes", {
2488
+ readonly meshes: Schema.$Array<Schema.Struct<{
2489
+ readonly id: Schema.String;
2490
+ readonly label: Schema.String;
2491
+ readonly position: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
2492
+ readonly rotation: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
2493
+ }>>;
2494
+ }>, Schema.TaggedStruct<"PerformanceChanged", {
2495
+ readonly fps: Schema.Finite;
2496
+ readonly factor: Schema.Finite;
2497
+ }>]>;
2498
+ /** Why a scene description was rejected. */
2499
+ export declare const DescriptionError: Schema.Union<readonly [Schema.TaggedStruct<"DuplicateKey", {
2500
+ readonly key: Schema.String;
2501
+ }>, Schema.TaggedStruct<"DuplicateResourceId", {
2502
+ readonly resource: Schema.Literals<readonly ["geometry", "material"]>;
2503
+ readonly id: Schema.String;
2504
+ }>, Schema.TaggedStruct<"UnknownSharedGeometry", {
2505
+ readonly nodeKey: Schema.String;
2506
+ readonly id: Schema.String;
2507
+ }>, Schema.TaggedStruct<"UnknownSharedMaterial", {
2508
+ readonly nodeKey: Schema.String;
2509
+ readonly id: Schema.String;
2510
+ }>, Schema.TaggedStruct<"DuplicateInstanceKey", {
2511
+ readonly nodeKey: Schema.String;
2512
+ readonly key: Schema.String;
2513
+ }>, Schema.TaggedStruct<"UnknownBehaviour", {
2514
+ readonly nodeKey: Schema.String;
2515
+ readonly name: Schema.String;
2516
+ }>, Schema.TaggedStruct<"DuplicateViewKey", {
2517
+ readonly key: Schema.String;
2518
+ }>, Schema.TaggedStruct<"DuplicateOverlayKey", {
2519
+ readonly key: Schema.String;
2520
+ }>, Schema.TaggedStruct<"UnknownOverlayNode", {
2521
+ readonly key: Schema.String;
2522
+ readonly node: Schema.String;
2523
+ }>, Schema.TaggedStruct<"UnknownOverlayView", {
2524
+ readonly key: Schema.String;
2525
+ readonly view: Schema.String;
2526
+ }>, Schema.TaggedStruct<"UnknownMeasuredNode", {
2527
+ readonly key: Schema.String;
2528
+ }>, Schema.TaggedStruct<"DuplicateJointKey", {
2529
+ readonly key: Schema.String;
2530
+ }>, Schema.TaggedStruct<"UnknownJointBody", {
2531
+ readonly joint: Schema.String;
2532
+ readonly body: Schema.String;
2533
+ }>, Schema.TaggedStruct<"DuplicateRenderTextureId", {
2534
+ readonly id: Schema.String;
2535
+ }>]>;
2536
+ //# sourceMappingURL=SceneSchema.d.ts.map