@opsydyn/effect-three 0.2.0 → 0.3.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 (44) hide show
  1. package/CHANGELOG.md +6 -1
  2. package/README.md +2 -1
  3. package/dist/{index-01kwfekm.js → index-8cf8t6by.js} +327 -24
  4. package/dist/index-8cf8t6by.js.map +41 -0
  5. package/dist/index.js +61 -8
  6. package/dist/index.js.map +3 -3
  7. package/dist/kernel/behaviours.d.ts.map +1 -1
  8. package/dist/kernel/build.d.ts +56 -1
  9. package/dist/kernel/build.d.ts.map +1 -1
  10. package/dist/kernel/cameraMotion.d.ts +3 -1
  11. package/dist/kernel/cameraMotion.d.ts.map +1 -1
  12. package/dist/kernel/cameraShake.d.ts +33 -0
  13. package/dist/kernel/cameraShake.d.ts.map +1 -0
  14. package/dist/kernel/description.d.ts +85 -1
  15. package/dist/kernel/description.d.ts.map +1 -1
  16. package/dist/kernel/diff.d.ts +3 -1
  17. package/dist/kernel/diff.d.ts.map +1 -1
  18. package/dist/kernel/equality.d.ts +5 -1
  19. package/dist/kernel/equality.d.ts.map +1 -1
  20. package/dist/kernel/index.d.ts +1 -1
  21. package/dist/kernel/index.d.ts.map +1 -1
  22. package/dist/kernel/index.js +12 -2
  23. package/dist/kernel/index.js.map +1 -1
  24. package/dist/kernel/pointer.d.ts.map +1 -1
  25. package/dist/kernel/resources.d.ts.map +1 -1
  26. package/dist/kernel/sceneGraph.d.ts +0 -1
  27. package/dist/kernel/sceneGraph.d.ts.map +1 -1
  28. package/dist/runtime/SceneSchema.d.ts +296 -5
  29. package/dist/runtime/SceneSchema.d.ts.map +1 -1
  30. package/package.json +1 -1
  31. package/src/kernel/behaviours.ts +5 -0
  32. package/src/kernel/bodySources.ts +1 -1
  33. package/src/kernel/build.ts +98 -0
  34. package/src/kernel/cameraMotion.ts +3 -0
  35. package/src/kernel/cameraShake.ts +97 -0
  36. package/src/kernel/description.ts +91 -1
  37. package/src/kernel/diff.ts +7 -1
  38. package/src/kernel/equality.ts +47 -0
  39. package/src/kernel/index.ts +5 -0
  40. package/src/kernel/pointer.ts +8 -0
  41. package/src/kernel/resources.ts +69 -0
  42. package/src/kernel/sceneGraph.ts +142 -1
  43. package/src/runtime/SceneSchema.ts +58 -4
  44. 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<{
@@ -363,6 +395,18 @@ export declare const GeometryRef: Schema.Union<readonly [Schema.TaggedStruct<"Te
363
395
  }>, Schema.TaggedStruct<"Circle", {
364
396
  readonly radius: Schema.Finite;
365
397
  readonly segments: Schema.Int;
398
+ }>, Schema.TaggedStruct<"RoundedBox", {
399
+ readonly width: Schema.Finite;
400
+ readonly height: Schema.Finite;
401
+ readonly depth: Schema.Finite;
402
+ readonly radius: Schema.Finite;
403
+ readonly smoothness: Schema.Int;
404
+ readonly bevelSegments: Schema.Int;
405
+ readonly steps: Schema.Int;
406
+ readonly creaseAngle: Schema.Finite;
407
+ }>, Schema.TaggedStruct<"Backdrop", {
408
+ readonly floor: Schema.Finite;
409
+ readonly segments: Schema.Int;
366
410
  }>, Schema.TaggedStruct<"SharedGeometry", {
367
411
  readonly id: Schema.String;
368
412
  }>, Schema.TaggedStruct<"LentGeometry", {
@@ -493,6 +537,18 @@ export declare const ResourceDefinitions: Schema.Struct<{
493
537
  }>, Schema.TaggedStruct<"Circle", {
494
538
  readonly radius: Schema.Finite;
495
539
  readonly segments: Schema.Int;
540
+ }>, Schema.TaggedStruct<"RoundedBox", {
541
+ readonly width: Schema.Finite;
542
+ readonly height: Schema.Finite;
543
+ readonly depth: Schema.Finite;
544
+ readonly radius: Schema.Finite;
545
+ readonly smoothness: Schema.Int;
546
+ readonly bevelSegments: Schema.Int;
547
+ readonly steps: Schema.Int;
548
+ readonly creaseAngle: Schema.Finite;
549
+ }>, Schema.TaggedStruct<"Backdrop", {
550
+ readonly floor: Schema.Finite;
551
+ readonly segments: Schema.Int;
496
552
  }>]>;
497
553
  }>>;
498
554
  readonly materials: Schema.$Array<Schema.Struct<{
@@ -794,6 +850,10 @@ export declare const MeshNode: Schema.TaggedStruct<"Mesh", {
794
850
  readonly axis: Schema.Literals<readonly ["x", "y", "z"]>;
795
851
  readonly radiansPerSecond: Schema.Finite;
796
852
  readonly phase: Schema.Finite;
853
+ }>, Schema.TaggedStruct<"Billboard", {
854
+ readonly lockX: Schema.Boolean;
855
+ readonly lockY: Schema.Boolean;
856
+ readonly lockZ: Schema.Boolean;
797
857
  }>]>;
798
858
  readonly scale: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
799
859
  readonly transition: Schema.Union<readonly [Schema.TaggedStruct<"Instant", {}>, Schema.TaggedStruct<"Ease", {
@@ -857,6 +917,18 @@ export declare const MeshNode: Schema.TaggedStruct<"Mesh", {
857
917
  }>, Schema.TaggedStruct<"Circle", {
858
918
  readonly radius: Schema.Finite;
859
919
  readonly segments: Schema.Int;
920
+ }>, Schema.TaggedStruct<"RoundedBox", {
921
+ readonly width: Schema.Finite;
922
+ readonly height: Schema.Finite;
923
+ readonly depth: Schema.Finite;
924
+ readonly radius: Schema.Finite;
925
+ readonly smoothness: Schema.Int;
926
+ readonly bevelSegments: Schema.Int;
927
+ readonly steps: Schema.Int;
928
+ readonly creaseAngle: Schema.Finite;
929
+ }>, Schema.TaggedStruct<"Backdrop", {
930
+ readonly floor: Schema.Finite;
931
+ readonly segments: Schema.Int;
860
932
  }>, Schema.TaggedStruct<"SharedGeometry", {
861
933
  readonly id: Schema.String;
862
934
  }>, Schema.TaggedStruct<"LentGeometry", {
@@ -997,6 +1069,10 @@ export declare const InstancesNode: Schema.TaggedStruct<"Instances", {
997
1069
  readonly axis: Schema.Literals<readonly ["x", "y", "z"]>;
998
1070
  readonly radiansPerSecond: Schema.Finite;
999
1071
  readonly phase: Schema.Finite;
1072
+ }>, Schema.TaggedStruct<"Billboard", {
1073
+ readonly lockX: Schema.Boolean;
1074
+ readonly lockY: Schema.Boolean;
1075
+ readonly lockZ: Schema.Boolean;
1000
1076
  }>]>;
1001
1077
  readonly scale: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1002
1078
  readonly transition: Schema.Union<readonly [Schema.TaggedStruct<"Instant", {}>, Schema.TaggedStruct<"Ease", {
@@ -1060,6 +1136,18 @@ export declare const InstancesNode: Schema.TaggedStruct<"Instances", {
1060
1136
  }>, Schema.TaggedStruct<"Circle", {
1061
1137
  readonly radius: Schema.Finite;
1062
1138
  readonly segments: Schema.Int;
1139
+ }>, Schema.TaggedStruct<"RoundedBox", {
1140
+ readonly width: Schema.Finite;
1141
+ readonly height: Schema.Finite;
1142
+ readonly depth: Schema.Finite;
1143
+ readonly radius: Schema.Finite;
1144
+ readonly smoothness: Schema.Int;
1145
+ readonly bevelSegments: Schema.Int;
1146
+ readonly steps: Schema.Int;
1147
+ readonly creaseAngle: Schema.Finite;
1148
+ }>, Schema.TaggedStruct<"Backdrop", {
1149
+ readonly floor: Schema.Finite;
1150
+ readonly segments: Schema.Int;
1063
1151
  }>, Schema.TaggedStruct<"SharedGeometry", {
1064
1152
  readonly id: Schema.String;
1065
1153
  }>, Schema.TaggedStruct<"LentGeometry", {
@@ -1210,6 +1298,10 @@ export declare const BorrowedNode: Schema.TaggedStruct<"Borrowed", {
1210
1298
  readonly axis: Schema.Literals<readonly ["x", "y", "z"]>;
1211
1299
  readonly radiansPerSecond: Schema.Finite;
1212
1300
  readonly phase: Schema.Finite;
1301
+ }>, Schema.TaggedStruct<"Billboard", {
1302
+ readonly lockX: Schema.Boolean;
1303
+ readonly lockY: Schema.Boolean;
1304
+ readonly lockZ: Schema.Boolean;
1213
1305
  }>]>;
1214
1306
  readonly scale: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1215
1307
  readonly transition: Schema.Union<readonly [Schema.TaggedStruct<"Instant", {}>, Schema.TaggedStruct<"Ease", {
@@ -1267,6 +1359,8 @@ export declare const BorrowedNode: Schema.TaggedStruct<"Borrowed", {
1267
1359
  readonly filters: Schema.NullOr<Schema.$Array<Schema.Int>>;
1268
1360
  }>>;
1269
1361
  }>>;
1362
+ readonly castShadow: Schema.withDecodingDefaultKey<Schema.Boolean, never>;
1363
+ readonly receiveShadow: Schema.withDecodingDefaultKey<Schema.Boolean, never>;
1270
1364
  }>;
1271
1365
  /** Distance-field text. */
1272
1366
  export declare const LabelNode: Schema.TaggedStruct<"Label", {
@@ -1278,6 +1372,10 @@ export declare const LabelNode: Schema.TaggedStruct<"Label", {
1278
1372
  readonly axis: Schema.Literals<readonly ["x", "y", "z"]>;
1279
1373
  readonly radiansPerSecond: Schema.Finite;
1280
1374
  readonly phase: Schema.Finite;
1375
+ }>, Schema.TaggedStruct<"Billboard", {
1376
+ readonly lockX: Schema.Boolean;
1377
+ readonly lockY: Schema.Boolean;
1378
+ readonly lockZ: Schema.Boolean;
1281
1379
  }>]>;
1282
1380
  readonly scale: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1283
1381
  readonly transition: Schema.Union<readonly [Schema.TaggedStruct<"Instant", {}>, Schema.TaggedStruct<"Ease", {
@@ -1457,7 +1555,20 @@ export declare const HemisphereLightNode: Schema.TaggedStruct<"HemisphereLight",
1457
1555
  readonly position: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1458
1556
  }>;
1459
1557
  /** Any scene node. Groups nest recursively. */
1460
- export declare const SceneNode: Schema.Codec<KernelSceneNode>;
1558
+ export declare const SceneNode: Schema.Codec<KernelSceneNode, unknown>;
1559
+ /** Camera shake (Drei's `CameraShake`). */
1560
+ export declare const CameraShake: Schema.Struct<{
1561
+ readonly intensity: Schema.Finite;
1562
+ readonly decay: Schema.Boolean;
1563
+ readonly decayRate: Schema.Finite;
1564
+ readonly maxYaw: Schema.Finite;
1565
+ readonly maxPitch: Schema.Finite;
1566
+ readonly maxRoll: Schema.Finite;
1567
+ readonly yawFrequency: Schema.Finite;
1568
+ readonly pitchFrequency: Schema.Finite;
1569
+ readonly rollFrequency: Schema.Finite;
1570
+ readonly trigger: Schema.Finite;
1571
+ }>;
1461
1572
  /** A perspective camera. */
1462
1573
  export declare const PerspectiveCamera: Schema.TaggedStruct<"Perspective", {
1463
1574
  readonly fov: Schema.Finite;
@@ -1467,6 +1578,18 @@ export declare const PerspectiveCamera: Schema.TaggedStruct<"Perspective", {
1467
1578
  readonly lookAt: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1468
1579
  readonly damping: Schema.Finite;
1469
1580
  readonly autoRotate: Schema.Finite;
1581
+ readonly shake: Schema.withDecodingDefaultKey<Schema.NullOr<Schema.Struct<{
1582
+ readonly intensity: Schema.Finite;
1583
+ readonly decay: Schema.Boolean;
1584
+ readonly decayRate: Schema.Finite;
1585
+ readonly maxYaw: Schema.Finite;
1586
+ readonly maxPitch: Schema.Finite;
1587
+ readonly maxRoll: Schema.Finite;
1588
+ readonly yawFrequency: Schema.Finite;
1589
+ readonly pitchFrequency: Schema.Finite;
1590
+ readonly rollFrequency: Schema.Finite;
1591
+ readonly trigger: Schema.Finite;
1592
+ }>>, never>;
1470
1593
  }>;
1471
1594
  /** An orthographic camera; `zoom` is CSS pixels per world unit. */
1472
1595
  export declare const OrthographicCamera: Schema.TaggedStruct<"Orthographic", {
@@ -1477,6 +1600,18 @@ export declare const OrthographicCamera: Schema.TaggedStruct<"Orthographic", {
1477
1600
  readonly lookAt: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1478
1601
  readonly damping: Schema.Finite;
1479
1602
  readonly autoRotate: Schema.Finite;
1603
+ readonly shake: Schema.withDecodingDefaultKey<Schema.NullOr<Schema.Struct<{
1604
+ readonly intensity: Schema.Finite;
1605
+ readonly decay: Schema.Boolean;
1606
+ readonly decayRate: Schema.Finite;
1607
+ readonly maxYaw: Schema.Finite;
1608
+ readonly maxPitch: Schema.Finite;
1609
+ readonly maxRoll: Schema.Finite;
1610
+ readonly yawFrequency: Schema.Finite;
1611
+ readonly pitchFrequency: Schema.Finite;
1612
+ readonly rollFrequency: Schema.Finite;
1613
+ readonly trigger: Schema.Finite;
1614
+ }>>, never>;
1480
1615
  }>;
1481
1616
  /** The active camera. */
1482
1617
  export declare const Camera: Schema.Union<readonly [Schema.TaggedStruct<"Perspective", {
@@ -1487,6 +1622,18 @@ export declare const Camera: Schema.Union<readonly [Schema.TaggedStruct<"Perspec
1487
1622
  readonly lookAt: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1488
1623
  readonly damping: Schema.Finite;
1489
1624
  readonly autoRotate: Schema.Finite;
1625
+ readonly shake: Schema.withDecodingDefaultKey<Schema.NullOr<Schema.Struct<{
1626
+ readonly intensity: Schema.Finite;
1627
+ readonly decay: Schema.Boolean;
1628
+ readonly decayRate: Schema.Finite;
1629
+ readonly maxYaw: Schema.Finite;
1630
+ readonly maxPitch: Schema.Finite;
1631
+ readonly maxRoll: Schema.Finite;
1632
+ readonly yawFrequency: Schema.Finite;
1633
+ readonly pitchFrequency: Schema.Finite;
1634
+ readonly rollFrequency: Schema.Finite;
1635
+ readonly trigger: Schema.Finite;
1636
+ }>>, never>;
1490
1637
  }>, Schema.TaggedStruct<"Orthographic", {
1491
1638
  readonly zoom: Schema.Finite;
1492
1639
  readonly near: Schema.Finite;
@@ -1495,6 +1642,18 @@ export declare const Camera: Schema.Union<readonly [Schema.TaggedStruct<"Perspec
1495
1642
  readonly lookAt: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1496
1643
  readonly damping: Schema.Finite;
1497
1644
  readonly autoRotate: Schema.Finite;
1645
+ readonly shake: Schema.withDecodingDefaultKey<Schema.NullOr<Schema.Struct<{
1646
+ readonly intensity: Schema.Finite;
1647
+ readonly decay: Schema.Boolean;
1648
+ readonly decayRate: Schema.Finite;
1649
+ readonly maxYaw: Schema.Finite;
1650
+ readonly maxPitch: Schema.Finite;
1651
+ readonly maxRoll: Schema.Finite;
1652
+ readonly yawFrequency: Schema.Finite;
1653
+ readonly pitchFrequency: Schema.Finite;
1654
+ readonly rollFrequency: Schema.Finite;
1655
+ readonly trigger: Schema.Finite;
1656
+ }>>, never>;
1498
1657
  }>]>;
1499
1658
  /** A post-processing effect. */
1500
1659
  export declare const PostEffect: Schema.Union<readonly [Schema.TaggedStruct<"Bloom", {
@@ -1539,6 +1698,18 @@ export declare const View: Schema.Struct<{
1539
1698
  readonly lookAt: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1540
1699
  readonly damping: Schema.Finite;
1541
1700
  readonly autoRotate: Schema.Finite;
1701
+ readonly shake: Schema.withDecodingDefaultKey<Schema.NullOr<Schema.Struct<{
1702
+ readonly intensity: Schema.Finite;
1703
+ readonly decay: Schema.Boolean;
1704
+ readonly decayRate: Schema.Finite;
1705
+ readonly maxYaw: Schema.Finite;
1706
+ readonly maxPitch: Schema.Finite;
1707
+ readonly maxRoll: Schema.Finite;
1708
+ readonly yawFrequency: Schema.Finite;
1709
+ readonly pitchFrequency: Schema.Finite;
1710
+ readonly rollFrequency: Schema.Finite;
1711
+ readonly trigger: Schema.Finite;
1712
+ }>>, never>;
1542
1713
  }>, Schema.TaggedStruct<"Orthographic", {
1543
1714
  readonly zoom: Schema.Finite;
1544
1715
  readonly near: Schema.Finite;
@@ -1547,6 +1718,18 @@ export declare const View: Schema.Struct<{
1547
1718
  readonly lookAt: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1548
1719
  readonly damping: Schema.Finite;
1549
1720
  readonly autoRotate: Schema.Finite;
1721
+ readonly shake: Schema.withDecodingDefaultKey<Schema.NullOr<Schema.Struct<{
1722
+ readonly intensity: Schema.Finite;
1723
+ readonly decay: Schema.Boolean;
1724
+ readonly decayRate: Schema.Finite;
1725
+ readonly maxYaw: Schema.Finite;
1726
+ readonly maxPitch: Schema.Finite;
1727
+ readonly maxRoll: Schema.Finite;
1728
+ readonly yawFrequency: Schema.Finite;
1729
+ readonly pitchFrequency: Schema.Finite;
1730
+ readonly rollFrequency: Schema.Finite;
1731
+ readonly trigger: Schema.Finite;
1732
+ }>>, never>;
1550
1733
  }>]>;
1551
1734
  readonly rect: Schema.Struct<{
1552
1735
  readonly x: Schema.Finite;
@@ -1568,6 +1751,18 @@ export declare const RenderTexture: Schema.Struct<{
1568
1751
  readonly lookAt: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1569
1752
  readonly damping: Schema.Finite;
1570
1753
  readonly autoRotate: Schema.Finite;
1754
+ readonly shake: Schema.withDecodingDefaultKey<Schema.NullOr<Schema.Struct<{
1755
+ readonly intensity: Schema.Finite;
1756
+ readonly decay: Schema.Boolean;
1757
+ readonly decayRate: Schema.Finite;
1758
+ readonly maxYaw: Schema.Finite;
1759
+ readonly maxPitch: Schema.Finite;
1760
+ readonly maxRoll: Schema.Finite;
1761
+ readonly yawFrequency: Schema.Finite;
1762
+ readonly pitchFrequency: Schema.Finite;
1763
+ readonly rollFrequency: Schema.Finite;
1764
+ readonly trigger: Schema.Finite;
1765
+ }>>, never>;
1571
1766
  }>, Schema.TaggedStruct<"Orthographic", {
1572
1767
  readonly zoom: Schema.Finite;
1573
1768
  readonly near: Schema.Finite;
@@ -1576,9 +1771,21 @@ export declare const RenderTexture: Schema.Struct<{
1576
1771
  readonly lookAt: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1577
1772
  readonly damping: Schema.Finite;
1578
1773
  readonly autoRotate: Schema.Finite;
1774
+ readonly shake: Schema.withDecodingDefaultKey<Schema.NullOr<Schema.Struct<{
1775
+ readonly intensity: Schema.Finite;
1776
+ readonly decay: Schema.Boolean;
1777
+ readonly decayRate: Schema.Finite;
1778
+ readonly maxYaw: Schema.Finite;
1779
+ readonly maxPitch: Schema.Finite;
1780
+ readonly maxRoll: Schema.Finite;
1781
+ readonly yawFrequency: Schema.Finite;
1782
+ readonly pitchFrequency: Schema.Finite;
1783
+ readonly rollFrequency: Schema.Finite;
1784
+ readonly trigger: Schema.Finite;
1785
+ }>>, never>;
1579
1786
  }>]>;
1580
1787
  readonly background: Schema.NullOr<Schema.Int>;
1581
- readonly children: Schema.$Array<Schema.Codec<KernelSceneNode, KernelSceneNode, never, never>>;
1788
+ readonly children: Schema.$Array<Schema.Codec<KernelSceneNode, unknown, never, never>>;
1582
1789
  }>;
1583
1790
  /** A complete scene description. */
1584
1791
  /** A point to show HTML at. */
@@ -1662,6 +1869,18 @@ export declare const SceneDescription: Schema.Struct<{
1662
1869
  readonly lookAt: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1663
1870
  readonly damping: Schema.Finite;
1664
1871
  readonly autoRotate: Schema.Finite;
1872
+ readonly shake: Schema.withDecodingDefaultKey<Schema.NullOr<Schema.Struct<{
1873
+ readonly intensity: Schema.Finite;
1874
+ readonly decay: Schema.Boolean;
1875
+ readonly decayRate: Schema.Finite;
1876
+ readonly maxYaw: Schema.Finite;
1877
+ readonly maxPitch: Schema.Finite;
1878
+ readonly maxRoll: Schema.Finite;
1879
+ readonly yawFrequency: Schema.Finite;
1880
+ readonly pitchFrequency: Schema.Finite;
1881
+ readonly rollFrequency: Schema.Finite;
1882
+ readonly trigger: Schema.Finite;
1883
+ }>>, never>;
1665
1884
  }>, Schema.TaggedStruct<"Orthographic", {
1666
1885
  readonly zoom: Schema.Finite;
1667
1886
  readonly near: Schema.Finite;
@@ -1670,6 +1889,18 @@ export declare const SceneDescription: Schema.Struct<{
1670
1889
  readonly lookAt: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1671
1890
  readonly damping: Schema.Finite;
1672
1891
  readonly autoRotate: Schema.Finite;
1892
+ readonly shake: Schema.withDecodingDefaultKey<Schema.NullOr<Schema.Struct<{
1893
+ readonly intensity: Schema.Finite;
1894
+ readonly decay: Schema.Boolean;
1895
+ readonly decayRate: Schema.Finite;
1896
+ readonly maxYaw: Schema.Finite;
1897
+ readonly maxPitch: Schema.Finite;
1898
+ readonly maxRoll: Schema.Finite;
1899
+ readonly yawFrequency: Schema.Finite;
1900
+ readonly pitchFrequency: Schema.Finite;
1901
+ readonly rollFrequency: Schema.Finite;
1902
+ readonly trigger: Schema.Finite;
1903
+ }>>, never>;
1673
1904
  }>]>;
1674
1905
  readonly gestures: Schema.Literals<readonly ["page", "scene"]>;
1675
1906
  readonly views: Schema.$Array<Schema.Struct<{
@@ -1682,6 +1913,18 @@ export declare const SceneDescription: Schema.Struct<{
1682
1913
  readonly lookAt: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1683
1914
  readonly damping: Schema.Finite;
1684
1915
  readonly autoRotate: Schema.Finite;
1916
+ readonly shake: Schema.withDecodingDefaultKey<Schema.NullOr<Schema.Struct<{
1917
+ readonly intensity: Schema.Finite;
1918
+ readonly decay: Schema.Boolean;
1919
+ readonly decayRate: Schema.Finite;
1920
+ readonly maxYaw: Schema.Finite;
1921
+ readonly maxPitch: Schema.Finite;
1922
+ readonly maxRoll: Schema.Finite;
1923
+ readonly yawFrequency: Schema.Finite;
1924
+ readonly pitchFrequency: Schema.Finite;
1925
+ readonly rollFrequency: Schema.Finite;
1926
+ readonly trigger: Schema.Finite;
1927
+ }>>, never>;
1685
1928
  }>, Schema.TaggedStruct<"Orthographic", {
1686
1929
  readonly zoom: Schema.Finite;
1687
1930
  readonly near: Schema.Finite;
@@ -1690,6 +1933,18 @@ export declare const SceneDescription: Schema.Struct<{
1690
1933
  readonly lookAt: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1691
1934
  readonly damping: Schema.Finite;
1692
1935
  readonly autoRotate: Schema.Finite;
1936
+ readonly shake: Schema.withDecodingDefaultKey<Schema.NullOr<Schema.Struct<{
1937
+ readonly intensity: Schema.Finite;
1938
+ readonly decay: Schema.Boolean;
1939
+ readonly decayRate: Schema.Finite;
1940
+ readonly maxYaw: Schema.Finite;
1941
+ readonly maxPitch: Schema.Finite;
1942
+ readonly maxRoll: Schema.Finite;
1943
+ readonly yawFrequency: Schema.Finite;
1944
+ readonly pitchFrequency: Schema.Finite;
1945
+ readonly rollFrequency: Schema.Finite;
1946
+ readonly trigger: Schema.Finite;
1947
+ }>>, never>;
1693
1948
  }>]>;
1694
1949
  readonly rect: Schema.Struct<{
1695
1950
  readonly x: Schema.Finite;
@@ -1710,6 +1965,18 @@ export declare const SceneDescription: Schema.Struct<{
1710
1965
  readonly lookAt: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1711
1966
  readonly damping: Schema.Finite;
1712
1967
  readonly autoRotate: Schema.Finite;
1968
+ readonly shake: Schema.withDecodingDefaultKey<Schema.NullOr<Schema.Struct<{
1969
+ readonly intensity: Schema.Finite;
1970
+ readonly decay: Schema.Boolean;
1971
+ readonly decayRate: Schema.Finite;
1972
+ readonly maxYaw: Schema.Finite;
1973
+ readonly maxPitch: Schema.Finite;
1974
+ readonly maxRoll: Schema.Finite;
1975
+ readonly yawFrequency: Schema.Finite;
1976
+ readonly pitchFrequency: Schema.Finite;
1977
+ readonly rollFrequency: Schema.Finite;
1978
+ readonly trigger: Schema.Finite;
1979
+ }>>, never>;
1713
1980
  }>, Schema.TaggedStruct<"Orthographic", {
1714
1981
  readonly zoom: Schema.Finite;
1715
1982
  readonly near: Schema.Finite;
@@ -1718,9 +1985,21 @@ export declare const SceneDescription: Schema.Struct<{
1718
1985
  readonly lookAt: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
1719
1986
  readonly damping: Schema.Finite;
1720
1987
  readonly autoRotate: Schema.Finite;
1988
+ readonly shake: Schema.withDecodingDefaultKey<Schema.NullOr<Schema.Struct<{
1989
+ readonly intensity: Schema.Finite;
1990
+ readonly decay: Schema.Boolean;
1991
+ readonly decayRate: Schema.Finite;
1992
+ readonly maxYaw: Schema.Finite;
1993
+ readonly maxPitch: Schema.Finite;
1994
+ readonly maxRoll: Schema.Finite;
1995
+ readonly yawFrequency: Schema.Finite;
1996
+ readonly pitchFrequency: Schema.Finite;
1997
+ readonly rollFrequency: Schema.Finite;
1998
+ readonly trigger: Schema.Finite;
1999
+ }>>, never>;
1721
2000
  }>]>;
1722
2001
  readonly background: Schema.NullOr<Schema.Int>;
1723
- readonly children: Schema.$Array<Schema.Codec<KernelSceneNode, KernelSceneNode, never, never>>;
2002
+ readonly children: Schema.$Array<Schema.Codec<KernelSceneNode, unknown, never, never>>;
1724
2003
  }>>;
1725
2004
  readonly overlays: Schema.$Array<Schema.Struct<{
1726
2005
  readonly key: Schema.String;
@@ -1906,6 +2185,18 @@ export declare const SceneDescription: Schema.Struct<{
1906
2185
  }>, Schema.TaggedStruct<"Circle", {
1907
2186
  readonly radius: Schema.Finite;
1908
2187
  readonly segments: Schema.Int;
2188
+ }>, Schema.TaggedStruct<"RoundedBox", {
2189
+ readonly width: Schema.Finite;
2190
+ readonly height: Schema.Finite;
2191
+ readonly depth: Schema.Finite;
2192
+ readonly radius: Schema.Finite;
2193
+ readonly smoothness: Schema.Int;
2194
+ readonly bevelSegments: Schema.Int;
2195
+ readonly steps: Schema.Int;
2196
+ readonly creaseAngle: Schema.Finite;
2197
+ }>, Schema.TaggedStruct<"Backdrop", {
2198
+ readonly floor: Schema.Finite;
2199
+ readonly segments: Schema.Int;
1909
2200
  }>]>;
1910
2201
  }>>;
1911
2202
  readonly materials: Schema.$Array<Schema.Struct<{
@@ -1977,7 +2268,7 @@ export declare const SceneDescription: Schema.Struct<{
1977
2268
  }>]>;
1978
2269
  }>>;
1979
2270
  }>;
1980
- readonly children: Schema.$Array<Schema.Codec<KernelSceneNode, KernelSceneNode, never, never>>;
2271
+ readonly children: Schema.$Array<Schema.Codec<KernelSceneNode, unknown, never, never>>;
1981
2272
  }>;
1982
2273
  /** Detail of pointer-leave events: the interactive mesh's key. */
1983
2274
  export declare const KeyDetail: Schema.Struct<{
@@ -1 +1 @@
1
- {"version":3,"file":"SceneSchema.d.ts","sourceRoot":"","sources":["../../src/runtime/SceneSchema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SceneSchema.d.ts","sourceRoot":"","sources":["../../src/runtime/SceneSchema.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opsydyn/effect-three",
3
- "version": "0.2.0",
3
+ "version": "0.3.0",
4
4
  "description": "Effect-native declarative Three.js scenes: scoped resources, keyed reconciliation, testable frame loop.",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -21,6 +21,11 @@ export const writeRotation = (target: Euler, rotation: Rotation, elapsedSeconds:
21
21
  target.set(rotation.euler[0], rotation.euler[1], rotation.euler[2]);
22
22
  return;
23
23
  }
24
+ // The scene graph turns a billboard towards the camera each frame; until then, none.
25
+ if (rotation._tag === 'Billboard') {
26
+ target.set(0, 0, 0);
27
+ return;
28
+ }
24
29
  const angle = spinAngle(rotation, elapsedSeconds);
25
30
  switch (rotation.axis) {
26
31
  case 'x':
@@ -87,7 +87,7 @@ const scaleText = (from: Matrix4): string =>
87
87
  .join(',');
88
88
 
89
89
  const rotationText = (rotation: Rotation): string =>
90
- rotation._tag === 'Fixed' ? rotation.euler.join(',') : 'spin';
90
+ rotation._tag === 'Fixed' ? rotation.euler.join(',') : rotation._tag;
91
91
 
92
92
  /** A world pose written to an object in its parent's space, keeping its scale. */
93
93
  export const placeObject = (object: Object3D, pose: BodyPose): void => {