@opsydyn/effect-three 0.4.0 → 0.6.4

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 (53) hide show
  1. package/CHANGELOG.md +41 -0
  2. package/README.md +4 -2
  3. package/dist/{index-h3vf50fn.js → index-re3rrfwd.js} +880 -79
  4. package/dist/index-re3rrfwd.js.map +56 -0
  5. package/dist/index.js +71 -2
  6. package/dist/index.js.map +3 -3
  7. package/dist/kernel/bodies.d.ts +20 -1
  8. package/dist/kernel/bodies.d.ts.map +1 -1
  9. package/dist/kernel/build.d.ts +24 -2
  10. package/dist/kernel/build.d.ts.map +1 -1
  11. package/dist/kernel/description.d.ts +68 -0
  12. package/dist/kernel/description.d.ts.map +1 -1
  13. package/dist/kernel/equality.d.ts +3 -1
  14. package/dist/kernel/equality.d.ts.map +1 -1
  15. package/dist/kernel/index.d.ts +7 -5
  16. package/dist/kernel/index.d.ts.map +1 -1
  17. package/dist/kernel/index.js +20 -2
  18. package/dist/kernel/index.js.map +1 -1
  19. package/dist/kernel/loop.d.ts.map +1 -1
  20. package/dist/kernel/paintOrder.d.ts +53 -0
  21. package/dist/kernel/paintOrder.d.ts.map +1 -0
  22. package/dist/kernel/physics.d.ts +39 -0
  23. package/dist/kernel/physics.d.ts.map +1 -1
  24. package/dist/kernel/pointer.d.ts +19 -1
  25. package/dist/kernel/pointer.d.ts.map +1 -1
  26. package/dist/kernel/preview.d.ts +32 -0
  27. package/dist/kernel/preview.d.ts.map +1 -0
  28. package/dist/kernel/sceneGraph.d.ts +3 -1
  29. package/dist/kernel/sceneGraph.d.ts.map +1 -1
  30. package/dist/kernel/sceneIndex.d.ts +5 -0
  31. package/dist/kernel/sceneIndex.d.ts.map +1 -1
  32. package/dist/kernel/timeline.d.ts +60 -0
  33. package/dist/kernel/timeline.d.ts.map +1 -0
  34. package/dist/runtime/SceneFile.d.ts +14 -0
  35. package/dist/runtime/SceneFile.d.ts.map +1 -1
  36. package/dist/runtime/SceneSchema.d.ts +86 -0
  37. package/dist/runtime/SceneSchema.d.ts.map +1 -1
  38. package/package.json +3 -2
  39. package/src/kernel/bodies.ts +299 -17
  40. package/src/kernel/build.ts +42 -1
  41. package/src/kernel/description.ts +68 -0
  42. package/src/kernel/equality.ts +22 -0
  43. package/src/kernel/index.ts +13 -1
  44. package/src/kernel/loop.ts +2 -0
  45. package/src/kernel/paintOrder.ts +274 -0
  46. package/src/kernel/physics.ts +86 -1
  47. package/src/kernel/pointer.ts +43 -5
  48. package/src/kernel/preview.ts +467 -0
  49. package/src/kernel/sceneGraph.ts +35 -3
  50. package/src/kernel/sceneIndex.ts +8 -0
  51. package/src/kernel/timeline.ts +93 -0
  52. package/src/runtime/SceneSchema.ts +72 -0
  53. package/dist/index-h3vf50fn.js.map +0 -53
package/dist/index.js CHANGED
@@ -31,6 +31,7 @@ import {
31
31
  skyEquals2,
32
32
  contactShadowsEquals2,
33
33
  bodyEquals2,
34
+ assetsEqual2,
34
35
  physicsEquals2,
35
36
  xrEquals2,
36
37
  capacityFor2,
@@ -135,6 +136,10 @@ import {
135
136
  sunPositionFromAngles2,
136
137
  sky2,
137
138
  contactShadows2,
139
+ modelAsset2,
140
+ textureAsset2,
141
+ environmentAsset2,
142
+ fontAsset2,
138
143
  overlay2,
139
144
  hud2,
140
145
  scene2,
@@ -160,6 +165,8 @@ import {
160
165
  clipCamera2,
161
166
  placeOverlays2,
162
167
  interactionBits2,
168
+ snapshotText2,
169
+ snapshotBytes2,
163
170
  colliderFor2,
164
171
  describedColliders2,
165
172
  collidersFor2,
@@ -181,6 +188,7 @@ import {
181
188
  createSceneLoop2,
182
189
  recordingRendererFactory2,
183
190
  createSceneGraph2,
191
+ previewSvg2,
184
192
  gizmo2,
185
193
  pressGizmo2,
186
194
  releaseGizmo2,
@@ -192,6 +200,7 @@ import {
192
200
  boxSelect2,
193
201
  exports_history,
194
202
  exports_lockstep,
203
+ exports_timeline,
195
204
  thingsBounds2,
196
205
  describeScene2,
197
206
  formatSummary2,
@@ -220,7 +229,7 @@ import {
220
229
  viewportGizmoNodes2,
221
230
  viewportAxisOf2,
222
231
  cameraAlong2
223
- } from "./index-h3vf50fn.js";
232
+ } from "./index-re3rrfwd.js";
224
233
  import"./index-ttwy0znv.js";
225
234
 
226
235
  // src/runtime/FrameSource.ts
@@ -243,6 +252,10 @@ var exports_SceneSchema = {};
243
252
  __export(exports_SceneSchema, {
244
253
  AmbientLightNode: () => AmbientLightNode,
245
254
  Animation: () => Animation,
255
+ Asset: () => Asset,
256
+ AssetFailedDetail: () => AssetFailedDetail,
257
+ AssetKind: () => AssetKind,
258
+ AssetLoadedDetail: () => AssetLoadedDetail,
246
259
  AutoRotatedDetail: () => AutoRotatedDetail,
247
260
  Axis: () => Axis,
248
261
  BackdropGeometry: () => BackdropGeometry,
@@ -309,6 +322,7 @@ __export(exports_SceneSchema, {
309
322
  PhongMaterial: () => PhongMaterial,
310
323
  PhysicalMaterial: () => PhysicalMaterial,
311
324
  Physics: () => Physics,
325
+ PhysicsReachedDetail: () => PhysicsReachedDetail,
312
326
  Pivot: () => Pivot,
313
327
  PivotHandle: () => PivotHandle,
314
328
  Placement: () => Placement,
@@ -338,6 +352,7 @@ __export(exports_SceneSchema, {
338
352
  SurfaceMaterial: () => SurfaceMaterial,
339
353
  Tape: () => Tape,
340
354
  TextGeometry: () => TextGeometry,
355
+ Timeline: () => Timeline,
341
356
  TorusGeometry: () => TorusGeometry,
342
357
  Trail: () => Trail,
343
358
  Transition: () => Transition,
@@ -701,11 +716,17 @@ var Joint = Schema.Struct({
701
716
  kind: JointKind,
702
717
  contacts: Schema.Boolean
703
718
  });
719
+ var StepCount = Schema.Int.check(Schema.isGreaterThanOrEqualTo(0));
704
720
  var Physics = Schema.Struct({
705
721
  gravity: Vec3,
706
722
  paused: Schema.Boolean,
707
723
  timeStep: Positive,
708
724
  interpolate: Schema.Boolean,
725
+ until: absentAsNull(StepCount),
726
+ run: Schema.Int.pipe(Schema.withDecodingDefaultKey(Effect2.succeed(0))),
727
+ snapshotAt: absentAsNull(StepCount),
728
+ from: absentAsNull(Schema.Struct({ step: StepCount, snapshot: Schema.NullOr(Schema.String) })),
729
+ keep: StepCount.pipe(Schema.withDecodingDefaultKey(Effect2.succeed(0))),
709
730
  debug: Schema.Boolean,
710
731
  joints: Schema.Array(Joint)
711
732
  });
@@ -1118,6 +1139,13 @@ var Xr = Schema.Struct({
1118
1139
  }))
1119
1140
  });
1120
1141
  var Gestures = Schema.Literals(["page", "scene"]);
1142
+ var AssetKind = Schema.Literals(["model", "texture", "environment", "font"]);
1143
+ var Asset = Schema.Struct({
1144
+ kind: AssetKind,
1145
+ id: Schema.String,
1146
+ url: Schema.String,
1147
+ levels: Schema.Array(Schema.String).pipe(Schema.withDecodingDefaultKey(Effect2.succeed([])))
1148
+ });
1121
1149
  var SceneDescription = Schema.Struct({
1122
1150
  camera: Camera,
1123
1151
  gestures: Gestures,
@@ -1131,10 +1159,28 @@ var SceneDescription = Schema.Struct({
1131
1159
  physics: Schema.NullOr(Physics),
1132
1160
  xr: Schema.NullOr(Xr),
1133
1161
  measure: Schema.Array(Schema.String),
1162
+ assets: Schema.Array(Asset).pipe(Schema.withDecodingDefaultKey(Effect2.succeed([]))),
1134
1163
  render: RenderSettings,
1135
1164
  resources: ResourceDefinitions,
1136
1165
  children: Schema.Array(SceneNode)
1137
1166
  });
1167
+ var AssetLoadedDetail = Schema.Struct({
1168
+ kind: AssetKind,
1169
+ id: Schema.String,
1170
+ url: Schema.String,
1171
+ levels: Schema.Array(Schema.String),
1172
+ level: Schema.Int,
1173
+ final: Schema.Boolean,
1174
+ parts: Schema.Array(Schema.String),
1175
+ clips: Schema.Array(Schema.String)
1176
+ });
1177
+ var AssetFailedDetail = Schema.Struct({
1178
+ kind: AssetKind,
1179
+ id: Schema.String,
1180
+ url: Schema.String,
1181
+ levels: Schema.Array(Schema.String),
1182
+ reason: Schema.String
1183
+ });
1138
1184
  var KeyDetail = Schema.Struct({ key: Schema.String });
1139
1185
  var HitDetail = Schema.Struct({
1140
1186
  key: Schema.String,
@@ -1205,6 +1251,12 @@ var CollisionDetail = Schema.Struct({
1205
1251
  bPart: Schema.optionalKey(Schema.String),
1206
1252
  started: Schema.Boolean
1207
1253
  });
1254
+ var PhysicsReachedDetail = Schema.Struct({
1255
+ run: Schema.Int,
1256
+ step: StepCount,
1257
+ checksum: Schema.String,
1258
+ snapshot: Schema.optionalKey(Schema.String)
1259
+ });
1208
1260
  var XrHand = Schema.Literals(["left", "right", "none"]);
1209
1261
  var XrStickDetail = Schema.Struct({
1210
1262
  hand: XrHand,
@@ -1283,6 +1335,7 @@ var SceneEvent = Schema.Union([
1283
1335
  Schema.TaggedStruct("Measured", MeasuredDetail.fields),
1284
1336
  Schema.TaggedStruct("LabelMeasured", LabelMeasuredDetail.fields),
1285
1337
  Schema.TaggedStruct("ContactForce", ContactForceDetail.fields),
1338
+ Schema.TaggedStruct("PhysicsReached", PhysicsReachedDetail.fields),
1286
1339
  Schema.TaggedStruct("XrStick", XrStickDetail.fields),
1287
1340
  Schema.TaggedStruct("XrButton", XrButtonDetail.fields),
1288
1341
  Schema.TaggedStruct("XrSurface", XrSurfaceDetail.fields),
@@ -1306,6 +1359,7 @@ var DescriptionError = Schema.Union([
1306
1359
  Schema.TaggedStruct("UnknownOverlayNode", { key: Schema.String, node: Schema.String }),
1307
1360
  Schema.TaggedStruct("UnknownOverlayView", { key: Schema.String, view: Schema.String }),
1308
1361
  Schema.TaggedStruct("UnknownMeasuredNode", { key: Schema.String }),
1362
+ Schema.TaggedStruct("DuplicateAssetId", { id: Schema.String }),
1309
1363
  Schema.TaggedStruct("DuplicateJointKey", { key: Schema.String }),
1310
1364
  Schema.TaggedStruct("UnknownJointBody", { joint: Schema.String, body: Schema.String }),
1311
1365
  Schema.TaggedStruct("DuplicateRenderTextureId", { id: Schema.String })
@@ -1365,6 +1419,12 @@ var Lockstep = (input) => Schema.Struct({
1365
1419
  pending: Schema.Array(LockstepEntry(input)),
1366
1420
  received: Schema.Array(LockstepPacket(input))
1367
1421
  });
1422
+ var Timeline = (input) => Schema.Struct({
1423
+ inputs: Schema.Array(Schema.Struct({ step: StepCount, input })),
1424
+ applied: Schema.Int.check(Schema.isGreaterThanOrEqualTo(0)),
1425
+ reached: Schema.NullOr(StepCount),
1426
+ frontier: StepCount
1427
+ });
1368
1428
  var Tape = Schema.Struct({
1369
1429
  from: Schema.NullOr(Vec3),
1370
1430
  to: Schema.NullOr(Vec3),
@@ -1530,11 +1590,13 @@ export {
1530
1590
  exports_SceneFile as SceneFile,
1531
1591
  exports_SceneRuntime as SceneRuntime,
1532
1592
  exports_SceneSchema as SceneSchema,
1593
+ exports_timeline as Timeline,
1533
1594
  UnreadableScene,
1534
1595
  ambientLight2 as ambientLight,
1535
1596
  anchorSpace2 as anchorSpace,
1536
1597
  animationEquals2 as animationEquals,
1537
1598
  applyTween2 as applyTween,
1599
+ assetsEqual2 as assetsEqual,
1538
1600
  autoRotated2 as autoRotated,
1539
1601
  backdrop2 as backdrop,
1540
1602
  ballCollider2 as ballCollider,
@@ -1608,6 +1670,7 @@ export {
1608
1670
  effectsEqual2 as effectsEqual,
1609
1671
  emptyIndex2 as emptyIndex,
1610
1672
  environment2 as environment,
1673
+ environmentAsset2 as environmentAsset,
1611
1674
  environmentEquals2 as environmentEquals,
1612
1675
  environmentPresetUrl2 as environmentPresetUrl,
1613
1676
  environmentPresets2 as environmentPresets,
@@ -1616,6 +1679,7 @@ export {
1616
1679
  fixed2 as fixed,
1617
1680
  fixedJoint2 as fixedJoint,
1618
1681
  float2 as float,
1682
+ fontAsset2 as fontAsset,
1619
1683
  formatChanges2 as formatChanges,
1620
1684
  formatSummary2 as formatSummary,
1621
1685
  geometryRefEquals2 as geometryRefEquals,
@@ -1651,6 +1715,7 @@ export {
1651
1715
  materialRefEquals2 as materialRefEquals,
1652
1716
  mesh2 as mesh,
1653
1717
  meshSpace2 as meshSpace,
1718
+ modelAsset2 as modelAsset,
1654
1719
  moodStaging2 as moodStaging,
1655
1720
  moods2 as moods,
1656
1721
  movedAlike2 as movedAlike,
@@ -1683,6 +1748,7 @@ export {
1683
1748
  positionMotor2 as positionMotor,
1684
1749
  pressGizmo2 as pressGizmo,
1685
1750
  pressPivot2 as pressPivot,
1751
+ previewSvg2 as previewSvg,
1686
1752
  prismaticJoint2 as prismaticJoint,
1687
1753
  quadraticBezierPoints2 as quadraticBezierPoints,
1688
1754
  recordingRendererFactory2 as recordingRendererFactory,
@@ -1711,6 +1777,8 @@ export {
1711
1777
  shotCamera2 as shotCamera,
1712
1778
  sky2 as sky,
1713
1779
  skyEquals2 as skyEquals,
1780
+ snapshotBytes2 as snapshotBytes,
1781
+ snapshotText2 as snapshotText,
1714
1782
  sparkles2 as sparkles,
1715
1783
  sphere2 as sphere,
1716
1784
  sphericalJoint2 as sphericalJoint,
@@ -1731,6 +1799,7 @@ export {
1731
1799
  tapeNodes2 as tapeNodes,
1732
1800
  teleport2 as teleport,
1733
1801
  text2 as text,
1802
+ textureAsset2 as textureAsset,
1734
1803
  thingsBounds2 as thingsBounds,
1735
1804
  torus2 as torus,
1736
1805
  trail2 as trail,
@@ -1751,5 +1820,5 @@ export {
1751
1820
  xrMeshGeometryId2 as xrMeshGeometryId
1752
1821
  };
1753
1822
 
1754
- //# debugId=B502AD310FB99B5964756E2164756E21
1823
+ //# debugId=95B403F31DB6CB4364756E2164756E21
1755
1824
  //# sourceMappingURL=index.js.map