@opsydyn/effect-three 0.2.0 → 0.4.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 (134) hide show
  1. package/CHANGELOG.md +21 -1
  2. package/README.md +14 -1
  3. package/dist/{index-01kwfekm.js → index-h3vf50fn.js} +2418 -85
  4. package/dist/index-h3vf50fn.js.map +53 -0
  5. package/dist/index-ttwy0znv.js +145 -0
  6. package/dist/index-ttwy0znv.js.map +12 -0
  7. package/dist/index.js +543 -149
  8. package/dist/index.js.map +8 -6
  9. package/dist/kernel/behaviours.d.ts.map +1 -1
  10. package/dist/kernel/boxSelect.d.ts +22 -0
  11. package/dist/kernel/boxSelect.d.ts.map +1 -0
  12. package/dist/kernel/build.d.ts +197 -6
  13. package/dist/kernel/build.d.ts.map +1 -1
  14. package/dist/kernel/cameraMotion.d.ts +3 -1
  15. package/dist/kernel/cameraMotion.d.ts.map +1 -1
  16. package/dist/kernel/cameraShake.d.ts +33 -0
  17. package/dist/kernel/cameraShake.d.ts.map +1 -0
  18. package/dist/kernel/describeScene.d.ts +50 -0
  19. package/dist/kernel/describeScene.d.ts.map +1 -0
  20. package/dist/kernel/description.d.ts +240 -2
  21. package/dist/kernel/description.d.ts.map +1 -1
  22. package/dist/kernel/diff.d.ts +18 -1
  23. package/dist/kernel/diff.d.ts.map +1 -1
  24. package/dist/kernel/equality.d.ts +13 -1
  25. package/dist/kernel/equality.d.ts.map +1 -1
  26. package/dist/kernel/gizmo.d.ts +69 -0
  27. package/dist/kernel/gizmo.d.ts.map +1 -0
  28. package/dist/kernel/history.d.ts +61 -0
  29. package/dist/kernel/history.d.ts.map +1 -0
  30. package/dist/kernel/index.d.ts +13 -2
  31. package/dist/kernel/index.d.ts.map +1 -1
  32. package/dist/kernel/index.js +116 -3
  33. package/dist/kernel/index.js.map +1 -1
  34. package/dist/kernel/inspect.d.ts +85 -0
  35. package/dist/kernel/inspect.d.ts.map +1 -0
  36. package/dist/kernel/lineGeometry.d.ts +25 -0
  37. package/dist/kernel/lineGeometry.d.ts.map +1 -0
  38. package/dist/kernel/lockstep.d.ts +114 -0
  39. package/dist/kernel/lockstep.d.ts.map +1 -0
  40. package/dist/kernel/loop.d.ts.map +1 -1
  41. package/dist/kernel/materials.d.ts.map +1 -1
  42. package/dist/kernel/pivot.d.ts +54 -0
  43. package/dist/kernel/pivot.d.ts.map +1 -0
  44. package/dist/kernel/pointBuffers.d.ts +17 -0
  45. package/dist/kernel/pointBuffers.d.ts.map +1 -0
  46. package/dist/kernel/pointer.d.ts +12 -0
  47. package/dist/kernel/pointer.d.ts.map +1 -1
  48. package/dist/kernel/renderKit.d.ts +21 -1
  49. package/dist/kernel/renderKit.d.ts.map +1 -1
  50. package/dist/kernel/renderer.d.ts +6 -0
  51. package/dist/kernel/renderer.d.ts.map +1 -1
  52. package/dist/kernel/resources.d.ts.map +1 -1
  53. package/dist/kernel/sceneChanges.d.ts +87 -0
  54. package/dist/kernel/sceneChanges.d.ts.map +1 -0
  55. package/dist/kernel/sceneGraph.d.ts +6 -1
  56. package/dist/kernel/sceneGraph.d.ts.map +1 -1
  57. package/dist/kernel/seeded.d.ts +9 -0
  58. package/dist/kernel/seeded.d.ts.map +1 -0
  59. package/dist/kernel/shots.d.ts +26 -0
  60. package/dist/kernel/shots.d.ts.map +1 -0
  61. package/dist/kernel/tape.d.ts +38 -0
  62. package/dist/kernel/tape.d.ts.map +1 -0
  63. package/dist/kernel/trail.d.ts +31 -0
  64. package/dist/kernel/trail.d.ts.map +1 -0
  65. package/dist/kernel/viewportGizmo.d.ts +25 -0
  66. package/dist/kernel/viewportGizmo.d.ts.map +1 -0
  67. package/dist/runtime/Inspector.d.ts +20 -0
  68. package/dist/runtime/Inspector.d.ts.map +1 -0
  69. package/dist/runtime/SceneFile.d.ts +448 -0
  70. package/dist/runtime/SceneFile.d.ts.map +1 -0
  71. package/dist/runtime/SceneSchema.d.ts +614 -5
  72. package/dist/runtime/SceneSchema.d.ts.map +1 -1
  73. package/dist/runtime/errors.d.ts +9 -0
  74. package/dist/runtime/errors.d.ts.map +1 -1
  75. package/dist/runtime/index.d.ts +3 -1
  76. package/dist/runtime/index.d.ts.map +1 -1
  77. package/dist/webgl/index.d.ts.map +1 -1
  78. package/dist/webgl/index.js +228 -3
  79. package/dist/webgl/index.js.map +6 -4
  80. package/dist/webgl/line.d.ts +4 -0
  81. package/dist/webgl/line.d.ts.map +1 -0
  82. package/dist/webgl/points.d.ts +4 -0
  83. package/dist/webgl/points.d.ts.map +1 -0
  84. package/dist/webgpu/index.d.ts.map +1 -1
  85. package/dist/webgpu/index.js +206 -26
  86. package/dist/webgpu/index.js.map +6 -4
  87. package/dist/webgpu/line.d.ts +4 -0
  88. package/dist/webgpu/line.d.ts.map +1 -0
  89. package/dist/webgpu/points.d.ts +4 -0
  90. package/dist/webgpu/points.d.ts.map +1 -0
  91. package/package.json +2 -1
  92. package/src/kernel/behaviours.ts +5 -0
  93. package/src/kernel/bodySources.ts +1 -1
  94. package/src/kernel/boxSelect.ts +73 -0
  95. package/src/kernel/build.ts +430 -0
  96. package/src/kernel/cameraMotion.ts +3 -0
  97. package/src/kernel/cameraShake.ts +87 -0
  98. package/src/kernel/describeScene.ts +224 -0
  99. package/src/kernel/description.ts +266 -1
  100. package/src/kernel/diff.ts +46 -1
  101. package/src/kernel/equality.ts +148 -0
  102. package/src/kernel/gizmo.ts +478 -0
  103. package/src/kernel/history.ts +118 -0
  104. package/src/kernel/index.ts +102 -0
  105. package/src/kernel/inspect.ts +214 -0
  106. package/src/kernel/lineGeometry.ts +75 -0
  107. package/src/kernel/lockstep.ts +237 -0
  108. package/src/kernel/loop.ts +5 -0
  109. package/src/kernel/materials.ts +3 -0
  110. package/src/kernel/pivot.ts +418 -0
  111. package/src/kernel/pointBuffers.ts +115 -0
  112. package/src/kernel/pointer.ts +63 -12
  113. package/src/kernel/renderKit.ts +23 -1
  114. package/src/kernel/renderer.ts +6 -0
  115. package/src/kernel/resources.ts +69 -0
  116. package/src/kernel/sceneChanges.ts +265 -0
  117. package/src/kernel/sceneGraph.ts +461 -9
  118. package/src/kernel/seeded.ts +18 -0
  119. package/src/kernel/shots.ts +167 -0
  120. package/src/kernel/tape.ts +124 -0
  121. package/src/kernel/trail.ts +170 -0
  122. package/src/kernel/viewportGizmo.ts +194 -0
  123. package/src/runtime/Inspector.ts +43 -0
  124. package/src/runtime/SceneFile.ts +46 -0
  125. package/src/runtime/SceneSchema.ts +305 -4
  126. package/src/runtime/errors.ts +6 -0
  127. package/src/runtime/index.ts +3 -1
  128. package/src/webgl/index.ts +4 -0
  129. package/src/webgl/line.ts +66 -0
  130. package/src/webgl/points.ts +205 -0
  131. package/src/webgpu/index.ts +4 -0
  132. package/src/webgpu/line.ts +67 -0
  133. package/src/webgpu/points.ts +193 -0
  134. package/dist/index-01kwfekm.js.map +0 -40
@@ -15,13 +15,17 @@ export declare const Vec3: Schema.Tuple<readonly [Schema.Finite, Schema.Finite,
15
15
  export declare const Axis: Schema.Literals<readonly ["x", "y", "z"]>;
16
16
  /** A 24-bit RGB colour, for example `0x3366ff`. */
17
17
  export declare const Rgb: Schema.Int;
18
- /** Model-owned Euler angles, or a spin behaviour that owns the rotation. */
18
+ /** Model-owned Euler angles, a spin behaviour, or facing the camera (a billboard). */
19
19
  export declare const Rotation: Schema.Union<readonly [Schema.TaggedStruct<"Fixed", {
20
20
  readonly euler: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
21
21
  }>, Schema.TaggedStruct<"Spin", {
22
22
  readonly axis: Schema.Literals<readonly ["x", "y", "z"]>;
23
23
  readonly radiansPerSecond: Schema.Finite;
24
24
  readonly phase: Schema.Finite;
25
+ }>, Schema.TaggedStruct<"Billboard", {
26
+ readonly lockX: Schema.Boolean;
27
+ readonly lockY: Schema.Boolean;
28
+ readonly lockZ: Schema.Boolean;
25
29
  }>]>;
26
30
  /** Box geometry parameters. */
27
31
  export declare const BoxGeometry: Schema.TaggedStruct<"Box", {
@@ -67,6 +71,22 @@ export declare const CapsuleGeometry: Schema.TaggedStruct<"Capsule", {
67
71
  readonly capSegments: Schema.Int;
68
72
  readonly radialSegments: Schema.Int;
69
73
  }>;
74
+ /** Rounded box geometry parameters (Drei's `RoundedBox`). */
75
+ export declare const RoundedBoxGeometry: Schema.TaggedStruct<"RoundedBox", {
76
+ readonly width: Schema.Finite;
77
+ readonly height: Schema.Finite;
78
+ readonly depth: Schema.Finite;
79
+ readonly radius: Schema.Finite;
80
+ readonly smoothness: Schema.Int;
81
+ readonly bevelSegments: Schema.Int;
82
+ readonly steps: Schema.Int;
83
+ readonly creaseAngle: Schema.Finite;
84
+ }>;
85
+ /** Backdrop geometry parameters (Drei's `Backdrop`). */
86
+ export declare const BackdropGeometry: Schema.TaggedStruct<"Backdrop", {
87
+ readonly floor: Schema.Finite;
88
+ readonly segments: Schema.Int;
89
+ }>;
70
90
  /** Ring geometry parameters. */
71
91
  export declare const RingGeometry: Schema.TaggedStruct<"Ring", {
72
92
  readonly innerRadius: Schema.Finite;
@@ -150,6 +170,18 @@ export declare const ShapeGeometry: Schema.Union<readonly [Schema.TaggedStruct<"
150
170
  }>, Schema.TaggedStruct<"Circle", {
151
171
  readonly radius: Schema.Finite;
152
172
  readonly segments: Schema.Int;
173
+ }>, Schema.TaggedStruct<"RoundedBox", {
174
+ readonly width: Schema.Finite;
175
+ readonly height: Schema.Finite;
176
+ readonly depth: Schema.Finite;
177
+ readonly radius: Schema.Finite;
178
+ readonly smoothness: Schema.Int;
179
+ readonly bevelSegments: Schema.Int;
180
+ readonly steps: Schema.Int;
181
+ readonly creaseAngle: Schema.Finite;
182
+ }>, Schema.TaggedStruct<"Backdrop", {
183
+ readonly floor: Schema.Finite;
184
+ readonly segments: Schema.Int;
153
185
  }>]>;
154
186
  /** A registered behaviour, by name, with numeric parameters. */
155
187
  export declare const Behave: Schema.Struct<{
@@ -173,6 +205,7 @@ export declare const BasicMaterial: Schema.TaggedStruct<"Basic", {
173
205
  readonly wireframe: Schema.Boolean;
174
206
  readonly color: Schema.Int;
175
207
  readonly map: Schema.NullOr<Schema.String>;
208
+ readonly depthTest: Schema.withDecodingDefaultKey<Schema.Boolean, never>;
176
209
  }>;
177
210
  /** Matte material parameters. */
178
211
  export declare const LambertMaterial: Schema.TaggedStruct<"Lambert", {
@@ -254,6 +287,7 @@ export declare const SurfaceMaterial: Schema.Union<readonly [Schema.TaggedStruct
254
287
  readonly wireframe: Schema.Boolean;
255
288
  readonly color: Schema.Int;
256
289
  readonly map: Schema.NullOr<Schema.String>;
290
+ readonly depthTest: Schema.withDecodingDefaultKey<Schema.Boolean, never>;
257
291
  }>, Schema.TaggedStruct<"Lambert", {
258
292
  readonly opacity: Schema.Finite;
259
293
  readonly transparent: Schema.Boolean;
@@ -363,6 +397,18 @@ export declare const GeometryRef: Schema.Union<readonly [Schema.TaggedStruct<"Te
363
397
  }>, Schema.TaggedStruct<"Circle", {
364
398
  readonly radius: Schema.Finite;
365
399
  readonly segments: Schema.Int;
400
+ }>, Schema.TaggedStruct<"RoundedBox", {
401
+ readonly width: Schema.Finite;
402
+ readonly height: Schema.Finite;
403
+ readonly depth: Schema.Finite;
404
+ readonly radius: Schema.Finite;
405
+ readonly smoothness: Schema.Int;
406
+ readonly bevelSegments: Schema.Int;
407
+ readonly steps: Schema.Int;
408
+ readonly creaseAngle: Schema.Finite;
409
+ }>, Schema.TaggedStruct<"Backdrop", {
410
+ readonly floor: Schema.Finite;
411
+ readonly segments: Schema.Int;
366
412
  }>, Schema.TaggedStruct<"SharedGeometry", {
367
413
  readonly id: Schema.String;
368
414
  }>, Schema.TaggedStruct<"LentGeometry", {
@@ -379,6 +425,7 @@ export declare const MaterialRef: Schema.Union<readonly [Schema.TaggedStruct<"Sh
379
425
  readonly wireframe: Schema.Boolean;
380
426
  readonly color: Schema.Int;
381
427
  readonly map: Schema.NullOr<Schema.String>;
428
+ readonly depthTest: Schema.withDecodingDefaultKey<Schema.Boolean, never>;
382
429
  }>, Schema.TaggedStruct<"Lambert", {
383
430
  readonly opacity: Schema.Finite;
384
431
  readonly transparent: Schema.Boolean;
@@ -493,6 +540,18 @@ export declare const ResourceDefinitions: Schema.Struct<{
493
540
  }>, Schema.TaggedStruct<"Circle", {
494
541
  readonly radius: Schema.Finite;
495
542
  readonly segments: Schema.Int;
543
+ }>, Schema.TaggedStruct<"RoundedBox", {
544
+ readonly width: Schema.Finite;
545
+ readonly height: Schema.Finite;
546
+ readonly depth: Schema.Finite;
547
+ readonly radius: Schema.Finite;
548
+ readonly smoothness: Schema.Int;
549
+ readonly bevelSegments: Schema.Int;
550
+ readonly steps: Schema.Int;
551
+ readonly creaseAngle: Schema.Finite;
552
+ }>, Schema.TaggedStruct<"Backdrop", {
553
+ readonly floor: Schema.Finite;
554
+ readonly segments: Schema.Int;
496
555
  }>]>;
497
556
  }>>;
498
557
  readonly materials: Schema.$Array<Schema.Struct<{
@@ -507,6 +566,7 @@ export declare const ResourceDefinitions: Schema.Struct<{
507
566
  readonly wireframe: Schema.Boolean;
508
567
  readonly color: Schema.Int;
509
568
  readonly map: Schema.NullOr<Schema.String>;
569
+ readonly depthTest: Schema.withDecodingDefaultKey<Schema.Boolean, never>;
510
570
  }>, Schema.TaggedStruct<"Lambert", {
511
571
  readonly opacity: Schema.Finite;
512
572
  readonly transparent: Schema.Boolean;
@@ -693,6 +753,18 @@ export declare const JointKind: Schema.Union<readonly [Schema.TaggedStruct<"Fixe
693
753
  readonly stiffness: Schema.Finite;
694
754
  readonly damping: Schema.Finite;
695
755
  }>]>;
756
+ /** A trail behind a moving node (Drei's `Trail`). */
757
+ export declare const Trail: Schema.withDecodingDefaultKey<Schema.NullOr<Schema.Struct<{
758
+ readonly width: Schema.Finite;
759
+ readonly length: Schema.Finite;
760
+ readonly decay: Schema.Finite;
761
+ readonly local: Schema.Boolean;
762
+ readonly stride: Schema.Finite;
763
+ readonly interval: Schema.Finite;
764
+ readonly color: Schema.Int;
765
+ readonly taper: Schema.Literals<readonly ["none", "linear", "quadratic"]>;
766
+ readonly fade: Schema.Boolean;
767
+ }>>, never>;
696
768
  /** A joint between two bodies. */
697
769
  export declare const Joint: Schema.Struct<{
698
770
  readonly key: Schema.String;
@@ -794,6 +866,10 @@ export declare const MeshNode: Schema.TaggedStruct<"Mesh", {
794
866
  readonly axis: Schema.Literals<readonly ["x", "y", "z"]>;
795
867
  readonly radiansPerSecond: Schema.Finite;
796
868
  readonly phase: Schema.Finite;
869
+ }>, Schema.TaggedStruct<"Billboard", {
870
+ readonly lockX: Schema.Boolean;
871
+ readonly lockY: Schema.Boolean;
872
+ readonly lockZ: Schema.Boolean;
797
873
  }>]>;
798
874
  readonly scale: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
799
875
  readonly transition: Schema.Union<readonly [Schema.TaggedStruct<"Instant", {}>, Schema.TaggedStruct<"Ease", {
@@ -857,6 +933,18 @@ export declare const MeshNode: Schema.TaggedStruct<"Mesh", {
857
933
  }>, Schema.TaggedStruct<"Circle", {
858
934
  readonly radius: Schema.Finite;
859
935
  readonly segments: Schema.Int;
936
+ }>, Schema.TaggedStruct<"RoundedBox", {
937
+ readonly width: Schema.Finite;
938
+ readonly height: Schema.Finite;
939
+ readonly depth: Schema.Finite;
940
+ readonly radius: Schema.Finite;
941
+ readonly smoothness: Schema.Int;
942
+ readonly bevelSegments: Schema.Int;
943
+ readonly steps: Schema.Int;
944
+ readonly creaseAngle: Schema.Finite;
945
+ }>, Schema.TaggedStruct<"Backdrop", {
946
+ readonly floor: Schema.Finite;
947
+ readonly segments: Schema.Int;
860
948
  }>, Schema.TaggedStruct<"SharedGeometry", {
861
949
  readonly id: Schema.String;
862
950
  }>, Schema.TaggedStruct<"LentGeometry", {
@@ -872,6 +960,7 @@ export declare const MeshNode: Schema.TaggedStruct<"Mesh", {
872
960
  readonly wireframe: Schema.Boolean;
873
961
  readonly color: Schema.Int;
874
962
  readonly map: Schema.NullOr<Schema.String>;
963
+ readonly depthTest: Schema.withDecodingDefaultKey<Schema.Boolean, never>;
875
964
  }>, Schema.TaggedStruct<"Lambert", {
876
965
  readonly opacity: Schema.Finite;
877
966
  readonly transparent: Schema.Boolean;
@@ -978,6 +1067,28 @@ export declare const MeshNode: Schema.TaggedStruct<"Mesh", {
978
1067
  readonly filters: Schema.NullOr<Schema.$Array<Schema.Int>>;
979
1068
  }>>;
980
1069
  }>>;
1070
+ readonly edges: Schema.withDecodingDefaultKey<Schema.NullOr<Schema.Struct<{
1071
+ readonly threshold: Schema.Finite;
1072
+ readonly color: Schema.Int;
1073
+ readonly width: Schema.Finite;
1074
+ readonly worldUnits: Schema.Boolean;
1075
+ readonly dashed: Schema.Boolean;
1076
+ readonly dashSize: Schema.Finite;
1077
+ readonly gapSize: Schema.Finite;
1078
+ readonly opacity: Schema.Finite;
1079
+ readonly transparent: Schema.Boolean;
1080
+ }>>, never>;
1081
+ readonly trail: Schema.withDecodingDefaultKey<Schema.NullOr<Schema.Struct<{
1082
+ readonly width: Schema.Finite;
1083
+ readonly length: Schema.Finite;
1084
+ readonly decay: Schema.Finite;
1085
+ readonly local: Schema.Boolean;
1086
+ readonly stride: Schema.Finite;
1087
+ readonly interval: Schema.Finite;
1088
+ readonly color: Schema.Int;
1089
+ readonly taper: Schema.Literals<readonly ["none", "linear", "quadratic"]>;
1090
+ readonly fade: Schema.Boolean;
1091
+ }>>, never>;
981
1092
  }>;
982
1093
  /** One instance of an instances node. */
983
1094
  export declare const Instance: Schema.Struct<{
@@ -997,6 +1108,10 @@ export declare const InstancesNode: Schema.TaggedStruct<"Instances", {
997
1108
  readonly axis: Schema.Literals<readonly ["x", "y", "z"]>;
998
1109
  readonly radiansPerSecond: Schema.Finite;
999
1110
  readonly phase: Schema.Finite;
1111
+ }>, Schema.TaggedStruct<"Billboard", {
1112
+ readonly lockX: Schema.Boolean;
1113
+ readonly lockY: Schema.Boolean;
1114
+ readonly lockZ: Schema.Boolean;
1000
1115
  }>]>;
1001
1116
  readonly scale: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1002
1117
  readonly transition: Schema.Union<readonly [Schema.TaggedStruct<"Instant", {}>, Schema.TaggedStruct<"Ease", {
@@ -1060,6 +1175,18 @@ export declare const InstancesNode: Schema.TaggedStruct<"Instances", {
1060
1175
  }>, Schema.TaggedStruct<"Circle", {
1061
1176
  readonly radius: Schema.Finite;
1062
1177
  readonly segments: Schema.Int;
1178
+ }>, Schema.TaggedStruct<"RoundedBox", {
1179
+ readonly width: Schema.Finite;
1180
+ readonly height: Schema.Finite;
1181
+ readonly depth: Schema.Finite;
1182
+ readonly radius: Schema.Finite;
1183
+ readonly smoothness: Schema.Int;
1184
+ readonly bevelSegments: Schema.Int;
1185
+ readonly steps: Schema.Int;
1186
+ readonly creaseAngle: Schema.Finite;
1187
+ }>, Schema.TaggedStruct<"Backdrop", {
1188
+ readonly floor: Schema.Finite;
1189
+ readonly segments: Schema.Int;
1063
1190
  }>, Schema.TaggedStruct<"SharedGeometry", {
1064
1191
  readonly id: Schema.String;
1065
1192
  }>, Schema.TaggedStruct<"LentGeometry", {
@@ -1075,6 +1202,7 @@ export declare const InstancesNode: Schema.TaggedStruct<"Instances", {
1075
1202
  readonly wireframe: Schema.Boolean;
1076
1203
  readonly color: Schema.Int;
1077
1204
  readonly map: Schema.NullOr<Schema.String>;
1205
+ readonly depthTest: Schema.withDecodingDefaultKey<Schema.Boolean, never>;
1078
1206
  }>, Schema.TaggedStruct<"Lambert", {
1079
1207
  readonly opacity: Schema.Finite;
1080
1208
  readonly transparent: Schema.Boolean;
@@ -1210,6 +1338,10 @@ export declare const BorrowedNode: Schema.TaggedStruct<"Borrowed", {
1210
1338
  readonly axis: Schema.Literals<readonly ["x", "y", "z"]>;
1211
1339
  readonly radiansPerSecond: Schema.Finite;
1212
1340
  readonly phase: Schema.Finite;
1341
+ }>, Schema.TaggedStruct<"Billboard", {
1342
+ readonly lockX: Schema.Boolean;
1343
+ readonly lockY: Schema.Boolean;
1344
+ readonly lockZ: Schema.Boolean;
1213
1345
  }>]>;
1214
1346
  readonly scale: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1215
1347
  readonly transition: Schema.Union<readonly [Schema.TaggedStruct<"Instant", {}>, Schema.TaggedStruct<"Ease", {
@@ -1267,6 +1399,8 @@ export declare const BorrowedNode: Schema.TaggedStruct<"Borrowed", {
1267
1399
  readonly filters: Schema.NullOr<Schema.$Array<Schema.Int>>;
1268
1400
  }>>;
1269
1401
  }>>;
1402
+ readonly castShadow: Schema.withDecodingDefaultKey<Schema.Boolean, never>;
1403
+ readonly receiveShadow: Schema.withDecodingDefaultKey<Schema.Boolean, never>;
1270
1404
  }>;
1271
1405
  /** Distance-field text. */
1272
1406
  export declare const LabelNode: Schema.TaggedStruct<"Label", {
@@ -1278,6 +1412,10 @@ export declare const LabelNode: Schema.TaggedStruct<"Label", {
1278
1412
  readonly axis: Schema.Literals<readonly ["x", "y", "z"]>;
1279
1413
  readonly radiansPerSecond: Schema.Finite;
1280
1414
  readonly phase: Schema.Finite;
1415
+ }>, Schema.TaggedStruct<"Billboard", {
1416
+ readonly lockX: Schema.Boolean;
1417
+ readonly lockY: Schema.Boolean;
1418
+ readonly lockZ: Schema.Boolean;
1281
1419
  }>]>;
1282
1420
  readonly scale: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1283
1421
  readonly transition: Schema.Union<readonly [Schema.TaggedStruct<"Instant", {}>, Schema.TaggedStruct<"Ease", {
@@ -1319,6 +1457,7 @@ export declare const LabelNode: Schema.TaggedStruct<"Label", {
1319
1457
  readonly wireframe: Schema.Boolean;
1320
1458
  readonly color: Schema.Int;
1321
1459
  readonly map: Schema.NullOr<Schema.String>;
1460
+ readonly depthTest: Schema.withDecodingDefaultKey<Schema.Boolean, never>;
1322
1461
  }>, Schema.TaggedStruct<"Lambert", {
1323
1462
  readonly opacity: Schema.Finite;
1324
1463
  readonly transparent: Schema.Boolean;
@@ -1456,8 +1595,144 @@ export declare const HemisphereLightNode: Schema.TaggedStruct<"HemisphereLight",
1456
1595
  readonly intensity: Schema.Finite;
1457
1596
  readonly position: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1458
1597
  }>;
1598
+ /** What points look like: dots, Drei's sparkles, or its stars. */
1599
+ export declare const PointLook: Schema.Union<readonly [Schema.TaggedStruct<"Dots", {
1600
+ readonly positions: Schema.$Array<Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>>;
1601
+ readonly colors: Schema.NullOr<Schema.$Array<Schema.Int>>;
1602
+ readonly sizes: Schema.NullOr<Schema.$Array<Schema.Finite>>;
1603
+ readonly color: Schema.Int;
1604
+ readonly size: Schema.Finite;
1605
+ readonly sizeAttenuation: Schema.Boolean;
1606
+ readonly round: Schema.Boolean;
1607
+ readonly opacity: Schema.Finite;
1608
+ readonly transparent: Schema.Boolean;
1609
+ }>, Schema.TaggedStruct<"Sparkles", {
1610
+ readonly count: Schema.Int;
1611
+ readonly speed: Schema.Finite;
1612
+ readonly opacity: Schema.Finite;
1613
+ readonly scale: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1614
+ readonly size: Schema.NullOr<Schema.Finite>;
1615
+ readonly color: Schema.Int;
1616
+ readonly noise: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1617
+ readonly seed: Schema.Finite;
1618
+ }>, Schema.TaggedStruct<"Stars", {
1619
+ readonly radius: Schema.Finite;
1620
+ readonly depth: Schema.Finite;
1621
+ readonly count: Schema.Int;
1622
+ readonly factor: Schema.Finite;
1623
+ readonly saturation: Schema.Finite;
1624
+ readonly fade: Schema.Boolean;
1625
+ readonly speed: Schema.Finite;
1626
+ readonly seed: Schema.Finite;
1627
+ }>]>;
1628
+ /** Points (Drei's `Points`, `Sparkles` or `Stars`), drawn by the render kit. */
1629
+ export declare const PointsNode: Schema.TaggedStruct<"Points", {
1630
+ readonly key: Schema.String;
1631
+ readonly position: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1632
+ readonly rotation: Schema.Union<readonly [Schema.TaggedStruct<"Fixed", {
1633
+ readonly euler: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1634
+ }>, Schema.TaggedStruct<"Spin", {
1635
+ readonly axis: Schema.Literals<readonly ["x", "y", "z"]>;
1636
+ readonly radiansPerSecond: Schema.Finite;
1637
+ readonly phase: Schema.Finite;
1638
+ }>, Schema.TaggedStruct<"Billboard", {
1639
+ readonly lockX: Schema.Boolean;
1640
+ readonly lockY: Schema.Boolean;
1641
+ readonly lockZ: Schema.Boolean;
1642
+ }>]>;
1643
+ readonly scale: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1644
+ readonly transition: Schema.Union<readonly [Schema.TaggedStruct<"Instant", {}>, Schema.TaggedStruct<"Ease", {
1645
+ readonly seconds: Schema.Finite;
1646
+ readonly easing: Schema.Literals<readonly ["linear", "easeInOutCubic", "easeOutCubic", "easeOutBack"]>;
1647
+ }>]>;
1648
+ readonly behaviour: Schema.NullOr<Schema.Struct<{
1649
+ readonly name: Schema.String;
1650
+ readonly params: Schema.$Record<Schema.String, Schema.Finite>;
1651
+ }>>;
1652
+ readonly look: Schema.Union<readonly [Schema.TaggedStruct<"Dots", {
1653
+ readonly positions: Schema.$Array<Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>>;
1654
+ readonly colors: Schema.NullOr<Schema.$Array<Schema.Int>>;
1655
+ readonly sizes: Schema.NullOr<Schema.$Array<Schema.Finite>>;
1656
+ readonly color: Schema.Int;
1657
+ readonly size: Schema.Finite;
1658
+ readonly sizeAttenuation: Schema.Boolean;
1659
+ readonly round: Schema.Boolean;
1660
+ readonly opacity: Schema.Finite;
1661
+ readonly transparent: Schema.Boolean;
1662
+ }>, Schema.TaggedStruct<"Sparkles", {
1663
+ readonly count: Schema.Int;
1664
+ readonly speed: Schema.Finite;
1665
+ readonly opacity: Schema.Finite;
1666
+ readonly scale: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1667
+ readonly size: Schema.NullOr<Schema.Finite>;
1668
+ readonly color: Schema.Int;
1669
+ readonly noise: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1670
+ readonly seed: Schema.Finite;
1671
+ }>, Schema.TaggedStruct<"Stars", {
1672
+ readonly radius: Schema.Finite;
1673
+ readonly depth: Schema.Finite;
1674
+ readonly count: Schema.Int;
1675
+ readonly factor: Schema.Finite;
1676
+ readonly saturation: Schema.Finite;
1677
+ readonly fade: Schema.Boolean;
1678
+ readonly speed: Schema.Finite;
1679
+ readonly seed: Schema.Finite;
1680
+ }>]>;
1681
+ }>;
1682
+ /** A line through points (Drei's `Line`), drawn by the render kit. */
1683
+ export declare const LineNode: Schema.TaggedStruct<"Line", {
1684
+ readonly key: Schema.String;
1685
+ readonly position: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1686
+ readonly rotation: Schema.Union<readonly [Schema.TaggedStruct<"Fixed", {
1687
+ readonly euler: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1688
+ }>, Schema.TaggedStruct<"Spin", {
1689
+ readonly axis: Schema.Literals<readonly ["x", "y", "z"]>;
1690
+ readonly radiansPerSecond: Schema.Finite;
1691
+ readonly phase: Schema.Finite;
1692
+ }>, Schema.TaggedStruct<"Billboard", {
1693
+ readonly lockX: Schema.Boolean;
1694
+ readonly lockY: Schema.Boolean;
1695
+ readonly lockZ: Schema.Boolean;
1696
+ }>]>;
1697
+ readonly scale: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1698
+ readonly transition: Schema.Union<readonly [Schema.TaggedStruct<"Instant", {}>, Schema.TaggedStruct<"Ease", {
1699
+ readonly seconds: Schema.Finite;
1700
+ readonly easing: Schema.Literals<readonly ["linear", "easeInOutCubic", "easeOutCubic", "easeOutBack"]>;
1701
+ }>]>;
1702
+ readonly behaviour: Schema.NullOr<Schema.Struct<{
1703
+ readonly name: Schema.String;
1704
+ readonly params: Schema.$Record<Schema.String, Schema.Finite>;
1705
+ }>>;
1706
+ readonly interactive: Schema.Boolean;
1707
+ readonly points: Schema.$Array<Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>>;
1708
+ readonly segments: Schema.Boolean;
1709
+ readonly color: Schema.Int;
1710
+ readonly vertexColors: Schema.NullOr<Schema.$Array<Schema.Int>>;
1711
+ readonly width: Schema.Finite;
1712
+ readonly worldUnits: Schema.Boolean;
1713
+ readonly dashed: Schema.Boolean;
1714
+ readonly dashSize: Schema.Finite;
1715
+ readonly gapSize: Schema.Finite;
1716
+ readonly dashScale: Schema.Finite;
1717
+ readonly dashOffset: Schema.Finite;
1718
+ readonly opacity: Schema.Finite;
1719
+ readonly transparent: Schema.Boolean;
1720
+ }>;
1459
1721
  /** Any scene node. Groups nest recursively. */
1460
- export declare const SceneNode: Schema.Codec<KernelSceneNode>;
1722
+ export declare const SceneNode: Schema.Codec<KernelSceneNode, unknown>;
1723
+ /** Camera shake (Drei's `CameraShake`). */
1724
+ export declare const CameraShake: Schema.Struct<{
1725
+ readonly intensity: Schema.Finite;
1726
+ readonly decay: Schema.Boolean;
1727
+ readonly decayRate: Schema.Finite;
1728
+ readonly maxYaw: Schema.Finite;
1729
+ readonly maxPitch: Schema.Finite;
1730
+ readonly maxRoll: Schema.Finite;
1731
+ readonly yawFrequency: Schema.Finite;
1732
+ readonly pitchFrequency: Schema.Finite;
1733
+ readonly rollFrequency: Schema.Finite;
1734
+ readonly trigger: Schema.Finite;
1735
+ }>;
1461
1736
  /** A perspective camera. */
1462
1737
  export declare const PerspectiveCamera: Schema.TaggedStruct<"Perspective", {
1463
1738
  readonly fov: Schema.Finite;
@@ -1467,6 +1742,18 @@ export declare const PerspectiveCamera: Schema.TaggedStruct<"Perspective", {
1467
1742
  readonly lookAt: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1468
1743
  readonly damping: Schema.Finite;
1469
1744
  readonly autoRotate: Schema.Finite;
1745
+ readonly shake: Schema.withDecodingDefaultKey<Schema.NullOr<Schema.Struct<{
1746
+ readonly intensity: Schema.Finite;
1747
+ readonly decay: Schema.Boolean;
1748
+ readonly decayRate: Schema.Finite;
1749
+ readonly maxYaw: Schema.Finite;
1750
+ readonly maxPitch: Schema.Finite;
1751
+ readonly maxRoll: Schema.Finite;
1752
+ readonly yawFrequency: Schema.Finite;
1753
+ readonly pitchFrequency: Schema.Finite;
1754
+ readonly rollFrequency: Schema.Finite;
1755
+ readonly trigger: Schema.Finite;
1756
+ }>>, never>;
1470
1757
  }>;
1471
1758
  /** An orthographic camera; `zoom` is CSS pixels per world unit. */
1472
1759
  export declare const OrthographicCamera: Schema.TaggedStruct<"Orthographic", {
@@ -1477,6 +1764,18 @@ export declare const OrthographicCamera: Schema.TaggedStruct<"Orthographic", {
1477
1764
  readonly lookAt: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1478
1765
  readonly damping: Schema.Finite;
1479
1766
  readonly autoRotate: Schema.Finite;
1767
+ readonly shake: Schema.withDecodingDefaultKey<Schema.NullOr<Schema.Struct<{
1768
+ readonly intensity: Schema.Finite;
1769
+ readonly decay: Schema.Boolean;
1770
+ readonly decayRate: Schema.Finite;
1771
+ readonly maxYaw: Schema.Finite;
1772
+ readonly maxPitch: Schema.Finite;
1773
+ readonly maxRoll: Schema.Finite;
1774
+ readonly yawFrequency: Schema.Finite;
1775
+ readonly pitchFrequency: Schema.Finite;
1776
+ readonly rollFrequency: Schema.Finite;
1777
+ readonly trigger: Schema.Finite;
1778
+ }>>, never>;
1480
1779
  }>;
1481
1780
  /** The active camera. */
1482
1781
  export declare const Camera: Schema.Union<readonly [Schema.TaggedStruct<"Perspective", {
@@ -1487,6 +1786,18 @@ export declare const Camera: Schema.Union<readonly [Schema.TaggedStruct<"Perspec
1487
1786
  readonly lookAt: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1488
1787
  readonly damping: Schema.Finite;
1489
1788
  readonly autoRotate: Schema.Finite;
1789
+ readonly shake: Schema.withDecodingDefaultKey<Schema.NullOr<Schema.Struct<{
1790
+ readonly intensity: Schema.Finite;
1791
+ readonly decay: Schema.Boolean;
1792
+ readonly decayRate: Schema.Finite;
1793
+ readonly maxYaw: Schema.Finite;
1794
+ readonly maxPitch: Schema.Finite;
1795
+ readonly maxRoll: Schema.Finite;
1796
+ readonly yawFrequency: Schema.Finite;
1797
+ readonly pitchFrequency: Schema.Finite;
1798
+ readonly rollFrequency: Schema.Finite;
1799
+ readonly trigger: Schema.Finite;
1800
+ }>>, never>;
1490
1801
  }>, Schema.TaggedStruct<"Orthographic", {
1491
1802
  readonly zoom: Schema.Finite;
1492
1803
  readonly near: Schema.Finite;
@@ -1495,6 +1806,18 @@ export declare const Camera: Schema.Union<readonly [Schema.TaggedStruct<"Perspec
1495
1806
  readonly lookAt: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1496
1807
  readonly damping: Schema.Finite;
1497
1808
  readonly autoRotate: Schema.Finite;
1809
+ readonly shake: Schema.withDecodingDefaultKey<Schema.NullOr<Schema.Struct<{
1810
+ readonly intensity: Schema.Finite;
1811
+ readonly decay: Schema.Boolean;
1812
+ readonly decayRate: Schema.Finite;
1813
+ readonly maxYaw: Schema.Finite;
1814
+ readonly maxPitch: Schema.Finite;
1815
+ readonly maxRoll: Schema.Finite;
1816
+ readonly yawFrequency: Schema.Finite;
1817
+ readonly pitchFrequency: Schema.Finite;
1818
+ readonly rollFrequency: Schema.Finite;
1819
+ readonly trigger: Schema.Finite;
1820
+ }>>, never>;
1498
1821
  }>]>;
1499
1822
  /** A post-processing effect. */
1500
1823
  export declare const PostEffect: Schema.Union<readonly [Schema.TaggedStruct<"Bloom", {
@@ -1539,6 +1862,18 @@ export declare const View: Schema.Struct<{
1539
1862
  readonly lookAt: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1540
1863
  readonly damping: Schema.Finite;
1541
1864
  readonly autoRotate: Schema.Finite;
1865
+ readonly shake: Schema.withDecodingDefaultKey<Schema.NullOr<Schema.Struct<{
1866
+ readonly intensity: Schema.Finite;
1867
+ readonly decay: Schema.Boolean;
1868
+ readonly decayRate: Schema.Finite;
1869
+ readonly maxYaw: Schema.Finite;
1870
+ readonly maxPitch: Schema.Finite;
1871
+ readonly maxRoll: Schema.Finite;
1872
+ readonly yawFrequency: Schema.Finite;
1873
+ readonly pitchFrequency: Schema.Finite;
1874
+ readonly rollFrequency: Schema.Finite;
1875
+ readonly trigger: Schema.Finite;
1876
+ }>>, never>;
1542
1877
  }>, Schema.TaggedStruct<"Orthographic", {
1543
1878
  readonly zoom: Schema.Finite;
1544
1879
  readonly near: Schema.Finite;
@@ -1547,6 +1882,18 @@ export declare const View: Schema.Struct<{
1547
1882
  readonly lookAt: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1548
1883
  readonly damping: Schema.Finite;
1549
1884
  readonly autoRotate: Schema.Finite;
1885
+ readonly shake: Schema.withDecodingDefaultKey<Schema.NullOr<Schema.Struct<{
1886
+ readonly intensity: Schema.Finite;
1887
+ readonly decay: Schema.Boolean;
1888
+ readonly decayRate: Schema.Finite;
1889
+ readonly maxYaw: Schema.Finite;
1890
+ readonly maxPitch: Schema.Finite;
1891
+ readonly maxRoll: Schema.Finite;
1892
+ readonly yawFrequency: Schema.Finite;
1893
+ readonly pitchFrequency: Schema.Finite;
1894
+ readonly rollFrequency: Schema.Finite;
1895
+ readonly trigger: Schema.Finite;
1896
+ }>>, never>;
1550
1897
  }>]>;
1551
1898
  readonly rect: Schema.Struct<{
1552
1899
  readonly x: Schema.Finite;
@@ -1568,6 +1915,18 @@ export declare const RenderTexture: Schema.Struct<{
1568
1915
  readonly lookAt: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1569
1916
  readonly damping: Schema.Finite;
1570
1917
  readonly autoRotate: Schema.Finite;
1918
+ readonly shake: Schema.withDecodingDefaultKey<Schema.NullOr<Schema.Struct<{
1919
+ readonly intensity: Schema.Finite;
1920
+ readonly decay: Schema.Boolean;
1921
+ readonly decayRate: Schema.Finite;
1922
+ readonly maxYaw: Schema.Finite;
1923
+ readonly maxPitch: Schema.Finite;
1924
+ readonly maxRoll: Schema.Finite;
1925
+ readonly yawFrequency: Schema.Finite;
1926
+ readonly pitchFrequency: Schema.Finite;
1927
+ readonly rollFrequency: Schema.Finite;
1928
+ readonly trigger: Schema.Finite;
1929
+ }>>, never>;
1571
1930
  }>, Schema.TaggedStruct<"Orthographic", {
1572
1931
  readonly zoom: Schema.Finite;
1573
1932
  readonly near: Schema.Finite;
@@ -1576,9 +1935,29 @@ export declare const RenderTexture: Schema.Struct<{
1576
1935
  readonly lookAt: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1577
1936
  readonly damping: Schema.Finite;
1578
1937
  readonly autoRotate: Schema.Finite;
1938
+ readonly shake: Schema.withDecodingDefaultKey<Schema.NullOr<Schema.Struct<{
1939
+ readonly intensity: Schema.Finite;
1940
+ readonly decay: Schema.Boolean;
1941
+ readonly decayRate: Schema.Finite;
1942
+ readonly maxYaw: Schema.Finite;
1943
+ readonly maxPitch: Schema.Finite;
1944
+ readonly maxRoll: Schema.Finite;
1945
+ readonly yawFrequency: Schema.Finite;
1946
+ readonly pitchFrequency: Schema.Finite;
1947
+ readonly rollFrequency: Schema.Finite;
1948
+ readonly trigger: Schema.Finite;
1949
+ }>>, never>;
1579
1950
  }>]>;
1580
1951
  readonly background: Schema.NullOr<Schema.Int>;
1581
- readonly children: Schema.$Array<Schema.Codec<KernelSceneNode, KernelSceneNode, never, never>>;
1952
+ readonly children: Schema.$Array<Schema.Codec<KernelSceneNode, unknown, never, never>>;
1953
+ }>;
1954
+ /** Where a HUD's origin sits on the canvas. */
1955
+ export declare const HudAlignment: Schema.Literals<readonly ["top-left", "top-center", "top-right", "center-left", "center-center", "center-right", "bottom-left", "bottom-center", "bottom-right"]>;
1956
+ /** Nodes drawn over the scene, with their own camera in CSS pixels. */
1957
+ export declare const Hud: Schema.Struct<{
1958
+ readonly alignment: Schema.Literals<readonly ["top-left", "top-center", "top-right", "center-left", "center-center", "center-right", "bottom-left", "bottom-center", "bottom-right"]>;
1959
+ readonly margin: Schema.Tuple<readonly [Schema.Finite, Schema.Finite]>;
1960
+ readonly children: Schema.$Array<Schema.Codec<KernelSceneNode, unknown, never, never>>;
1582
1961
  }>;
1583
1962
  /** A complete scene description. */
1584
1963
  /** A point to show HTML at. */
@@ -1662,6 +2041,18 @@ export declare const SceneDescription: Schema.Struct<{
1662
2041
  readonly lookAt: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1663
2042
  readonly damping: Schema.Finite;
1664
2043
  readonly autoRotate: Schema.Finite;
2044
+ readonly shake: Schema.withDecodingDefaultKey<Schema.NullOr<Schema.Struct<{
2045
+ readonly intensity: Schema.Finite;
2046
+ readonly decay: Schema.Boolean;
2047
+ readonly decayRate: Schema.Finite;
2048
+ readonly maxYaw: Schema.Finite;
2049
+ readonly maxPitch: Schema.Finite;
2050
+ readonly maxRoll: Schema.Finite;
2051
+ readonly yawFrequency: Schema.Finite;
2052
+ readonly pitchFrequency: Schema.Finite;
2053
+ readonly rollFrequency: Schema.Finite;
2054
+ readonly trigger: Schema.Finite;
2055
+ }>>, never>;
1665
2056
  }>, Schema.TaggedStruct<"Orthographic", {
1666
2057
  readonly zoom: Schema.Finite;
1667
2058
  readonly near: Schema.Finite;
@@ -1670,6 +2061,18 @@ export declare const SceneDescription: Schema.Struct<{
1670
2061
  readonly lookAt: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1671
2062
  readonly damping: Schema.Finite;
1672
2063
  readonly autoRotate: Schema.Finite;
2064
+ readonly shake: Schema.withDecodingDefaultKey<Schema.NullOr<Schema.Struct<{
2065
+ readonly intensity: Schema.Finite;
2066
+ readonly decay: Schema.Boolean;
2067
+ readonly decayRate: Schema.Finite;
2068
+ readonly maxYaw: Schema.Finite;
2069
+ readonly maxPitch: Schema.Finite;
2070
+ readonly maxRoll: Schema.Finite;
2071
+ readonly yawFrequency: Schema.Finite;
2072
+ readonly pitchFrequency: Schema.Finite;
2073
+ readonly rollFrequency: Schema.Finite;
2074
+ readonly trigger: Schema.Finite;
2075
+ }>>, never>;
1673
2076
  }>]>;
1674
2077
  readonly gestures: Schema.Literals<readonly ["page", "scene"]>;
1675
2078
  readonly views: Schema.$Array<Schema.Struct<{
@@ -1682,6 +2085,18 @@ export declare const SceneDescription: Schema.Struct<{
1682
2085
  readonly lookAt: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1683
2086
  readonly damping: Schema.Finite;
1684
2087
  readonly autoRotate: Schema.Finite;
2088
+ readonly shake: Schema.withDecodingDefaultKey<Schema.NullOr<Schema.Struct<{
2089
+ readonly intensity: Schema.Finite;
2090
+ readonly decay: Schema.Boolean;
2091
+ readonly decayRate: Schema.Finite;
2092
+ readonly maxYaw: Schema.Finite;
2093
+ readonly maxPitch: Schema.Finite;
2094
+ readonly maxRoll: Schema.Finite;
2095
+ readonly yawFrequency: Schema.Finite;
2096
+ readonly pitchFrequency: Schema.Finite;
2097
+ readonly rollFrequency: Schema.Finite;
2098
+ readonly trigger: Schema.Finite;
2099
+ }>>, never>;
1685
2100
  }>, Schema.TaggedStruct<"Orthographic", {
1686
2101
  readonly zoom: Schema.Finite;
1687
2102
  readonly near: Schema.Finite;
@@ -1690,6 +2105,18 @@ export declare const SceneDescription: Schema.Struct<{
1690
2105
  readonly lookAt: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1691
2106
  readonly damping: Schema.Finite;
1692
2107
  readonly autoRotate: Schema.Finite;
2108
+ readonly shake: Schema.withDecodingDefaultKey<Schema.NullOr<Schema.Struct<{
2109
+ readonly intensity: Schema.Finite;
2110
+ readonly decay: Schema.Boolean;
2111
+ readonly decayRate: Schema.Finite;
2112
+ readonly maxYaw: Schema.Finite;
2113
+ readonly maxPitch: Schema.Finite;
2114
+ readonly maxRoll: Schema.Finite;
2115
+ readonly yawFrequency: Schema.Finite;
2116
+ readonly pitchFrequency: Schema.Finite;
2117
+ readonly rollFrequency: Schema.Finite;
2118
+ readonly trigger: Schema.Finite;
2119
+ }>>, never>;
1693
2120
  }>]>;
1694
2121
  readonly rect: Schema.Struct<{
1695
2122
  readonly x: Schema.Finite;
@@ -1710,6 +2137,18 @@ export declare const SceneDescription: Schema.Struct<{
1710
2137
  readonly lookAt: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1711
2138
  readonly damping: Schema.Finite;
1712
2139
  readonly autoRotate: Schema.Finite;
2140
+ readonly shake: Schema.withDecodingDefaultKey<Schema.NullOr<Schema.Struct<{
2141
+ readonly intensity: Schema.Finite;
2142
+ readonly decay: Schema.Boolean;
2143
+ readonly decayRate: Schema.Finite;
2144
+ readonly maxYaw: Schema.Finite;
2145
+ readonly maxPitch: Schema.Finite;
2146
+ readonly maxRoll: Schema.Finite;
2147
+ readonly yawFrequency: Schema.Finite;
2148
+ readonly pitchFrequency: Schema.Finite;
2149
+ readonly rollFrequency: Schema.Finite;
2150
+ readonly trigger: Schema.Finite;
2151
+ }>>, never>;
1713
2152
  }>, Schema.TaggedStruct<"Orthographic", {
1714
2153
  readonly zoom: Schema.Finite;
1715
2154
  readonly near: Schema.Finite;
@@ -1718,10 +2157,27 @@ export declare const SceneDescription: Schema.Struct<{
1718
2157
  readonly lookAt: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1719
2158
  readonly damping: Schema.Finite;
1720
2159
  readonly autoRotate: Schema.Finite;
2160
+ readonly shake: Schema.withDecodingDefaultKey<Schema.NullOr<Schema.Struct<{
2161
+ readonly intensity: Schema.Finite;
2162
+ readonly decay: Schema.Boolean;
2163
+ readonly decayRate: Schema.Finite;
2164
+ readonly maxYaw: Schema.Finite;
2165
+ readonly maxPitch: Schema.Finite;
2166
+ readonly maxRoll: Schema.Finite;
2167
+ readonly yawFrequency: Schema.Finite;
2168
+ readonly pitchFrequency: Schema.Finite;
2169
+ readonly rollFrequency: Schema.Finite;
2170
+ readonly trigger: Schema.Finite;
2171
+ }>>, never>;
1721
2172
  }>]>;
1722
2173
  readonly background: Schema.NullOr<Schema.Int>;
1723
- readonly children: Schema.$Array<Schema.Codec<KernelSceneNode, KernelSceneNode, never, never>>;
2174
+ readonly children: Schema.$Array<Schema.Codec<KernelSceneNode, unknown, never, never>>;
1724
2175
  }>>;
2176
+ readonly hud: Schema.withDecodingDefaultKey<Schema.NullOr<Schema.Struct<{
2177
+ readonly alignment: Schema.Literals<readonly ["top-left", "top-center", "top-right", "center-left", "center-center", "center-right", "bottom-left", "bottom-center", "bottom-right"]>;
2178
+ readonly margin: Schema.Tuple<readonly [Schema.Finite, Schema.Finite]>;
2179
+ readonly children: Schema.$Array<Schema.Codec<KernelSceneNode, unknown, never, never>>;
2180
+ }>>, never>;
1725
2181
  readonly overlays: Schema.$Array<Schema.Struct<{
1726
2182
  readonly key: Schema.String;
1727
2183
  readonly node: Schema.NullOr<Schema.String>;
@@ -1906,6 +2362,18 @@ export declare const SceneDescription: Schema.Struct<{
1906
2362
  }>, Schema.TaggedStruct<"Circle", {
1907
2363
  readonly radius: Schema.Finite;
1908
2364
  readonly segments: Schema.Int;
2365
+ }>, Schema.TaggedStruct<"RoundedBox", {
2366
+ readonly width: Schema.Finite;
2367
+ readonly height: Schema.Finite;
2368
+ readonly depth: Schema.Finite;
2369
+ readonly radius: Schema.Finite;
2370
+ readonly smoothness: Schema.Int;
2371
+ readonly bevelSegments: Schema.Int;
2372
+ readonly steps: Schema.Int;
2373
+ readonly creaseAngle: Schema.Finite;
2374
+ }>, Schema.TaggedStruct<"Backdrop", {
2375
+ readonly floor: Schema.Finite;
2376
+ readonly segments: Schema.Int;
1909
2377
  }>]>;
1910
2378
  }>>;
1911
2379
  readonly materials: Schema.$Array<Schema.Struct<{
@@ -1920,6 +2388,7 @@ export declare const SceneDescription: Schema.Struct<{
1920
2388
  readonly wireframe: Schema.Boolean;
1921
2389
  readonly color: Schema.Int;
1922
2390
  readonly map: Schema.NullOr<Schema.String>;
2391
+ readonly depthTest: Schema.withDecodingDefaultKey<Schema.Boolean, never>;
1923
2392
  }>, Schema.TaggedStruct<"Lambert", {
1924
2393
  readonly opacity: Schema.Finite;
1925
2394
  readonly transparent: Schema.Boolean;
@@ -1977,7 +2446,7 @@ export declare const SceneDescription: Schema.Struct<{
1977
2446
  }>]>;
1978
2447
  }>>;
1979
2448
  }>;
1980
- readonly children: Schema.$Array<Schema.Codec<KernelSceneNode, KernelSceneNode, never, never>>;
2449
+ readonly children: Schema.$Array<Schema.Codec<KernelSceneNode, unknown, never, never>>;
1981
2450
  }>;
1982
2451
  /** Detail of pointer-leave events: the interactive mesh's key. */
1983
2452
  export declare const KeyDetail: Schema.Struct<{
@@ -2253,6 +2722,18 @@ export declare const GestureDetail: Schema.Struct<{
2253
2722
  readonly deltaY: Schema.Finite;
2254
2723
  }>]>;
2255
2724
  }>;
2725
+ /** Detail of the end of a gesture that moved: the press's button, modifiers, mesh and view. */
2726
+ export declare const GestureEndDetail: Schema.Struct<{
2727
+ readonly button: Schema.Int;
2728
+ readonly modifiers: Schema.Struct<{
2729
+ readonly shift: Schema.Boolean;
2730
+ readonly control: Schema.Boolean;
2731
+ readonly meta: Schema.Boolean;
2732
+ readonly alt: Schema.Boolean;
2733
+ }>;
2734
+ readonly key: Schema.optionalKey<Schema.String>;
2735
+ readonly view: Schema.optionalKey<Schema.String>;
2736
+ }>;
2256
2737
  /** A pointer interaction with an interactive mesh, or a miss. */
2257
2738
  export declare const SceneEvent: Schema.Union<readonly [Schema.TaggedStruct<"PointerEnter", {
2258
2739
  readonly key: Schema.String;
@@ -2431,6 +2912,16 @@ export declare const SceneEvent: Schema.Union<readonly [Schema.TaggedStruct<"Poi
2431
2912
  readonly deltaX: Schema.Finite;
2432
2913
  readonly deltaY: Schema.Finite;
2433
2914
  }>]>;
2915
+ }>, Schema.TaggedStruct<"GestureEnd", {
2916
+ readonly button: Schema.Int;
2917
+ readonly modifiers: Schema.Struct<{
2918
+ readonly shift: Schema.Boolean;
2919
+ readonly control: Schema.Boolean;
2920
+ readonly meta: Schema.Boolean;
2921
+ readonly alt: Schema.Boolean;
2922
+ }>;
2923
+ readonly key: Schema.optionalKey<Schema.String>;
2924
+ readonly view: Schema.optionalKey<Schema.String>;
2434
2925
  }>, Schema.TaggedStruct<"AutoRotated", {
2435
2926
  readonly view: Schema.optionalKey<Schema.String>;
2436
2927
  readonly position: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
@@ -2533,4 +3024,122 @@ export declare const DescriptionError: Schema.Union<readonly [Schema.TaggedStruc
2533
3024
  }>, Schema.TaggedStruct<"DuplicateRenderTextureId", {
2534
3025
  readonly id: Schema.String;
2535
3026
  }>]>;
3027
+ /** Where an object is, for a transform gizmo: position, Euler angles and scale. */
3028
+ export declare const Placement: Schema.Struct<{
3029
+ readonly position: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
3030
+ readonly rotation: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
3031
+ readonly scale: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
3032
+ }>;
3033
+ /** A transform gizmo's state, for keeping in a Model. */
3034
+ export declare const Gizmo: Schema.Struct<{
3035
+ readonly mode: Schema.Literals<readonly ["translate", "rotate", "scale"]>;
3036
+ readonly space: Schema.Literals<readonly ["world", "local"]>;
3037
+ readonly size: Schema.Finite;
3038
+ readonly translationSnap: Schema.NullOr<Schema.Finite>;
3039
+ readonly rotationSnap: Schema.NullOr<Schema.Finite>;
3040
+ readonly scaleSnap: Schema.NullOr<Schema.Finite>;
3041
+ readonly showX: Schema.Boolean;
3042
+ readonly showY: Schema.Boolean;
3043
+ readonly showZ: Schema.Boolean;
3044
+ readonly hovered: Schema.NullOr<Schema.Literals<readonly ["x", "y", "z", "xy", "yz", "xz", "xyz"]>>;
3045
+ readonly grab: Schema.NullOr<Schema.Struct<{
3046
+ readonly handle: Schema.Literals<readonly ["x", "y", "z", "xy", "yz", "xz", "xyz"]>;
3047
+ readonly start: Schema.Struct<{
3048
+ readonly position: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
3049
+ readonly rotation: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
3050
+ readonly scale: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
3051
+ }>;
3052
+ readonly from: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
3053
+ readonly plane: Schema.Struct<{
3054
+ readonly normal: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
3055
+ readonly constant: Schema.Finite;
3056
+ }>;
3057
+ readonly eye: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
3058
+ readonly distance: Schema.Finite;
3059
+ }>>;
3060
+ }>;
3061
+ /** A branching history of `value`s (`History.make`), for a Model that keeps one. */
3062
+ export declare const History: <S extends Schema.Top>(value: S) => Schema.Struct<{
3063
+ readonly entries: Schema.$Array<Schema.Struct<{
3064
+ readonly id: Schema.Int;
3065
+ readonly parent: Schema.NullOr<Schema.Int>;
3066
+ readonly label: Schema.String;
3067
+ readonly value: S;
3068
+ readonly next: Schema.NullOr<Schema.Int>;
3069
+ }>>;
3070
+ readonly current: Schema.Int;
3071
+ }>;
3072
+ /** One peer's lockstep packet for one turn, carrying the app's `input`s. */
3073
+ export declare const LockstepPacket: <S extends Schema.Top>(input: S) => Schema.Struct<{
3074
+ readonly peer: Schema.String;
3075
+ readonly turn: Schema.Int;
3076
+ readonly entries: Schema.$Array<Schema.Union<readonly [Schema.TaggedStruct<"Input", {
3077
+ readonly input: S;
3078
+ }>, Schema.TaggedStruct<"Admit", {
3079
+ readonly peer: Schema.String;
3080
+ }>]>>;
3081
+ }>;
3082
+ /** A lockstep member: the first turn it sends for, and the turn it stopped before. */
3083
+ export declare const LockstepMember: Schema.Struct<{
3084
+ readonly peer: Schema.String;
3085
+ readonly from: Schema.Int;
3086
+ readonly until: Schema.NullOr<Schema.Int>;
3087
+ }>;
3088
+ /** A lockstep session (`Lockstep.make`) over the app's `input`s, for a Model. */
3089
+ export declare const Lockstep: <S extends Schema.Top>(input: S) => Schema.Struct<{
3090
+ readonly self: Schema.String;
3091
+ readonly members: Schema.$Array<Schema.Struct<{
3092
+ readonly peer: Schema.String;
3093
+ readonly from: Schema.Int;
3094
+ readonly until: Schema.NullOr<Schema.Int>;
3095
+ }>>;
3096
+ readonly turn: Schema.Int;
3097
+ readonly sent: Schema.Int;
3098
+ readonly lead: Schema.Int;
3099
+ readonly pending: Schema.$Array<Schema.Union<readonly [Schema.TaggedStruct<"Input", {
3100
+ readonly input: S;
3101
+ }>, Schema.TaggedStruct<"Admit", {
3102
+ readonly peer: Schema.String;
3103
+ }>]>>;
3104
+ readonly received: Schema.$Array<Schema.Struct<{
3105
+ readonly peer: Schema.String;
3106
+ readonly turn: Schema.Int;
3107
+ readonly entries: Schema.$Array<Schema.Union<readonly [Schema.TaggedStruct<"Input", {
3108
+ readonly input: S;
3109
+ }>, Schema.TaggedStruct<"Admit", {
3110
+ readonly peer: Schema.String;
3111
+ }>]>>;
3112
+ }>>;
3113
+ }>;
3114
+ /** A measuring tape as data (`tape`), for a Model that keeps it. */
3115
+ export declare const Tape: Schema.Struct<{
3116
+ readonly from: Schema.NullOr<Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>>;
3117
+ readonly to: Schema.NullOr<Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>>;
3118
+ readonly pointer: Schema.NullOr<Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>>;
3119
+ readonly snap: Schema.NullOr<Schema.Finite>;
3120
+ }>;
3121
+ /** A pivot handle: what it does, and its axis. */
3122
+ export declare const PivotHandle: Schema.Literals<("arrow-x" | "arrow-y" | "arrow-z" | "rotator-x" | "rotator-y" | "rotator-z" | "slider-x" | "slider-y" | "slider-z" | "sphere-x" | "sphere-y" | "sphere-z")[]>;
3123
+ /** Pivot controls as data (`pivot`), for a Model that keeps them. */
3124
+ export declare const Pivot: Schema.Struct<{
3125
+ readonly scale: Schema.Finite;
3126
+ readonly depthTest: Schema.Boolean;
3127
+ readonly disableAxes: Schema.Boolean;
3128
+ readonly disableSliders: Schema.Boolean;
3129
+ readonly disableRotations: Schema.Boolean;
3130
+ readonly disableScaling: Schema.Boolean;
3131
+ readonly hovered: Schema.NullOr<Schema.Literals<("arrow-x" | "arrow-y" | "arrow-z" | "rotator-x" | "rotator-y" | "rotator-z" | "slider-x" | "slider-y" | "slider-z" | "sphere-x" | "sphere-y" | "sphere-z")[]>>;
3132
+ readonly grab: Schema.NullOr<Schema.Struct<{
3133
+ readonly handle: Schema.Literals<("arrow-x" | "arrow-y" | "arrow-z" | "rotator-x" | "rotator-y" | "rotator-z" | "slider-x" | "slider-y" | "slider-z" | "sphere-x" | "sphere-y" | "sphere-z")[]>;
3134
+ readonly start: Schema.Struct<{
3135
+ readonly position: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
3136
+ readonly rotation: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
3137
+ readonly scale: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
3138
+ }>;
3139
+ readonly point: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
3140
+ readonly e1: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
3141
+ readonly e2: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
3142
+ readonly normal: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
3143
+ }>>;
3144
+ }>;
2536
3145
  //# sourceMappingURL=SceneSchema.d.ts.map