@opsydyn/effect-three 0.3.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 (143) hide show
  1. package/CHANGELOG.md +56 -0
  2. package/README.md +15 -1
  3. package/dist/{index-8cf8t6by.js → index-re3rrfwd.js} +2935 -104
  4. package/dist/index-re3rrfwd.js.map +56 -0
  5. package/dist/index-ttwy0znv.js +145 -0
  6. package/dist/index-ttwy0znv.js.map +12 -0
  7. package/dist/index.js +557 -147
  8. package/dist/index.js.map +8 -6
  9. package/dist/kernel/bodies.d.ts +20 -1
  10. package/dist/kernel/bodies.d.ts.map +1 -1
  11. package/dist/kernel/boxSelect.d.ts +22 -0
  12. package/dist/kernel/boxSelect.d.ts.map +1 -0
  13. package/dist/kernel/build.d.ts +165 -7
  14. package/dist/kernel/build.d.ts.map +1 -1
  15. package/dist/kernel/cameraShake.d.ts.map +1 -1
  16. package/dist/kernel/describeScene.d.ts +50 -0
  17. package/dist/kernel/describeScene.d.ts.map +1 -0
  18. package/dist/kernel/description.d.ts +223 -1
  19. package/dist/kernel/description.d.ts.map +1 -1
  20. package/dist/kernel/diff.d.ts +15 -0
  21. package/dist/kernel/diff.d.ts.map +1 -1
  22. package/dist/kernel/equality.d.ts +11 -1
  23. package/dist/kernel/equality.d.ts.map +1 -1
  24. package/dist/kernel/gizmo.d.ts +69 -0
  25. package/dist/kernel/gizmo.d.ts.map +1 -0
  26. package/dist/kernel/history.d.ts +61 -0
  27. package/dist/kernel/history.d.ts.map +1 -0
  28. package/dist/kernel/index.d.ts +19 -6
  29. package/dist/kernel/index.d.ts.map +1 -1
  30. package/dist/kernel/index.js +124 -3
  31. package/dist/kernel/index.js.map +1 -1
  32. package/dist/kernel/inspect.d.ts +85 -0
  33. package/dist/kernel/inspect.d.ts.map +1 -0
  34. package/dist/kernel/lineGeometry.d.ts +25 -0
  35. package/dist/kernel/lineGeometry.d.ts.map +1 -0
  36. package/dist/kernel/lockstep.d.ts +114 -0
  37. package/dist/kernel/lockstep.d.ts.map +1 -0
  38. package/dist/kernel/loop.d.ts.map +1 -1
  39. package/dist/kernel/materials.d.ts.map +1 -1
  40. package/dist/kernel/paintOrder.d.ts +53 -0
  41. package/dist/kernel/paintOrder.d.ts.map +1 -0
  42. package/dist/kernel/physics.d.ts +39 -0
  43. package/dist/kernel/physics.d.ts.map +1 -1
  44. package/dist/kernel/pivot.d.ts +54 -0
  45. package/dist/kernel/pivot.d.ts.map +1 -0
  46. package/dist/kernel/pointBuffers.d.ts +17 -0
  47. package/dist/kernel/pointBuffers.d.ts.map +1 -0
  48. package/dist/kernel/pointer.d.ts +31 -1
  49. package/dist/kernel/pointer.d.ts.map +1 -1
  50. package/dist/kernel/preview.d.ts +32 -0
  51. package/dist/kernel/preview.d.ts.map +1 -0
  52. package/dist/kernel/renderKit.d.ts +21 -1
  53. package/dist/kernel/renderKit.d.ts.map +1 -1
  54. package/dist/kernel/renderer.d.ts +6 -0
  55. package/dist/kernel/renderer.d.ts.map +1 -1
  56. package/dist/kernel/sceneChanges.d.ts +87 -0
  57. package/dist/kernel/sceneChanges.d.ts.map +1 -0
  58. package/dist/kernel/sceneGraph.d.ts +9 -1
  59. package/dist/kernel/sceneGraph.d.ts.map +1 -1
  60. package/dist/kernel/sceneIndex.d.ts +5 -0
  61. package/dist/kernel/sceneIndex.d.ts.map +1 -1
  62. package/dist/kernel/seeded.d.ts +9 -0
  63. package/dist/kernel/seeded.d.ts.map +1 -0
  64. package/dist/kernel/shots.d.ts +26 -0
  65. package/dist/kernel/shots.d.ts.map +1 -0
  66. package/dist/kernel/tape.d.ts +38 -0
  67. package/dist/kernel/tape.d.ts.map +1 -0
  68. package/dist/kernel/timeline.d.ts +60 -0
  69. package/dist/kernel/timeline.d.ts.map +1 -0
  70. package/dist/kernel/trail.d.ts +31 -0
  71. package/dist/kernel/trail.d.ts.map +1 -0
  72. package/dist/kernel/viewportGizmo.d.ts +25 -0
  73. package/dist/kernel/viewportGizmo.d.ts.map +1 -0
  74. package/dist/runtime/Inspector.d.ts +20 -0
  75. package/dist/runtime/Inspector.d.ts.map +1 -0
  76. package/dist/runtime/SceneFile.d.ts +462 -0
  77. package/dist/runtime/SceneFile.d.ts.map +1 -0
  78. package/dist/runtime/SceneSchema.d.ts +404 -0
  79. package/dist/runtime/SceneSchema.d.ts.map +1 -1
  80. package/dist/runtime/errors.d.ts +9 -0
  81. package/dist/runtime/errors.d.ts.map +1 -1
  82. package/dist/runtime/index.d.ts +3 -1
  83. package/dist/runtime/index.d.ts.map +1 -1
  84. package/dist/webgl/index.d.ts.map +1 -1
  85. package/dist/webgl/index.js +228 -3
  86. package/dist/webgl/index.js.map +6 -4
  87. package/dist/webgl/line.d.ts +4 -0
  88. package/dist/webgl/line.d.ts.map +1 -0
  89. package/dist/webgl/points.d.ts +4 -0
  90. package/dist/webgl/points.d.ts.map +1 -0
  91. package/dist/webgpu/index.d.ts.map +1 -1
  92. package/dist/webgpu/index.js +206 -26
  93. package/dist/webgpu/index.js.map +6 -4
  94. package/dist/webgpu/line.d.ts +4 -0
  95. package/dist/webgpu/line.d.ts.map +1 -0
  96. package/dist/webgpu/points.d.ts +4 -0
  97. package/dist/webgpu/points.d.ts.map +1 -0
  98. package/package.json +4 -2
  99. package/src/kernel/bodies.ts +299 -17
  100. package/src/kernel/boxSelect.ts +73 -0
  101. package/src/kernel/build.ts +374 -1
  102. package/src/kernel/cameraShake.ts +3 -13
  103. package/src/kernel/describeScene.ts +224 -0
  104. package/src/kernel/description.ts +243 -0
  105. package/src/kernel/diff.ts +39 -0
  106. package/src/kernel/equality.ts +123 -0
  107. package/src/kernel/gizmo.ts +478 -0
  108. package/src/kernel/history.ts +118 -0
  109. package/src/kernel/index.ts +110 -1
  110. package/src/kernel/inspect.ts +214 -0
  111. package/src/kernel/lineGeometry.ts +75 -0
  112. package/src/kernel/lockstep.ts +237 -0
  113. package/src/kernel/loop.ts +7 -0
  114. package/src/kernel/materials.ts +3 -0
  115. package/src/kernel/paintOrder.ts +274 -0
  116. package/src/kernel/physics.ts +86 -1
  117. package/src/kernel/pivot.ts +418 -0
  118. package/src/kernel/pointBuffers.ts +115 -0
  119. package/src/kernel/pointer.ts +98 -17
  120. package/src/kernel/preview.ts +467 -0
  121. package/src/kernel/renderKit.ts +23 -1
  122. package/src/kernel/renderer.ts +6 -0
  123. package/src/kernel/sceneChanges.ts +265 -0
  124. package/src/kernel/sceneGraph.ts +354 -11
  125. package/src/kernel/sceneIndex.ts +8 -0
  126. package/src/kernel/seeded.ts +18 -0
  127. package/src/kernel/shots.ts +167 -0
  128. package/src/kernel/tape.ts +124 -0
  129. package/src/kernel/timeline.ts +93 -0
  130. package/src/kernel/trail.ts +170 -0
  131. package/src/kernel/viewportGizmo.ts +194 -0
  132. package/src/runtime/Inspector.ts +43 -0
  133. package/src/runtime/SceneFile.ts +46 -0
  134. package/src/runtime/SceneSchema.ts +319 -0
  135. package/src/runtime/errors.ts +6 -0
  136. package/src/runtime/index.ts +3 -1
  137. package/src/webgl/index.ts +4 -0
  138. package/src/webgl/line.ts +66 -0
  139. package/src/webgl/points.ts +205 -0
  140. package/src/webgpu/index.ts +4 -0
  141. package/src/webgpu/line.ts +67 -0
  142. package/src/webgpu/points.ts +193 -0
  143. package/dist/index-8cf8t6by.js.map +0 -41
@@ -0,0 +1,61 @@
1
+ /**
2
+ * Undo and branching history from an immutable Model (roadmap, "Beyond parity" 4). A
3
+ * Model's values are never changed in place, so keeping every one costs only the
4
+ * references: a history is a tree of them. Recording after an undo starts a new branch
5
+ * and keeps the old future as another, so nothing done is ever lost; redo follows the
6
+ * branch last taken, and `chooseBranch` or `jumpTo` take another.
7
+ *
8
+ * Entries are numbered in the order they were recorded, from 0 (the first value), and
9
+ * each names the entry it followed. Pure data with a schema (`SceneSchema.History`),
10
+ * so a history can be saved, sent or inspected like the rest of the Model. Use it as a
11
+ * namespace: `History.make(value)`, `History.record(history, next, 'Moved crate')`.
12
+ *
13
+ * @module
14
+ */
15
+ /** A value in the history: the entry it followed, and the one redo goes to from it. */
16
+ export type HistoryEntry<A> = {
17
+ readonly id: number;
18
+ /** The entry this one followed, `null` for the first. */
19
+ readonly parent: number | null;
20
+ /** A few words for the change that made it, for a list of steps. */
21
+ readonly label: string;
22
+ readonly value: A;
23
+ /** The entry redo goes to from here: the branch last taken, `null` with none. */
24
+ readonly next: number | null;
25
+ };
26
+ export type History<A> = {
27
+ /** Every value recorded, by id. */
28
+ readonly entries: ReadonlyArray<HistoryEntry<A>>;
29
+ /** The present value's id. */
30
+ readonly current: number;
31
+ };
32
+ /** A history holding `value` alone. */
33
+ export declare const make: <A>(value: A, label?: string) => History<A>;
34
+ /** The present entry. */
35
+ export declare const presentEntry: <A>(state: History<A>) => HistoryEntry<A>;
36
+ /** The present value. */
37
+ export declare const present: <A>(state: History<A>) => A;
38
+ /** `value` after the present, labelled: the new present, its own branch after an undo. */
39
+ export declare const record: <A>(state: History<A>, value: A, label: string) => History<A>;
40
+ /** Whether there is a value before the present. */
41
+ export declare const canUndo: <A>(state: History<A>) => boolean;
42
+ /** Whether there is a value after the present on the branch last taken. */
43
+ export declare const canRedo: <A>(state: History<A>) => boolean;
44
+ /** Back one value; at the first, as it was. */
45
+ export declare const undo: <A>(state: History<A>) => History<A>;
46
+ /** Forward one value along the branch last taken; at its end, as it was. */
47
+ export declare const redo: <A>(state: History<A>) => History<A>;
48
+ /** The entries that followed the present: one per branch, in the order recorded. */
49
+ export declare const branches: <A>(state: History<A>) => ReadonlyArray<HistoryEntry<A>>;
50
+ /** Redo from the present goes to `id`, when it is one of the present's branches. */
51
+ export declare const chooseBranch: <A>(state: History<A>, id: number) => History<A>;
52
+ /** The entries from the first to `id`, in order. */
53
+ export declare const pathTo: <A>(state: History<A>, id: number) => ReadonlyArray<HistoryEntry<A>>;
54
+ /**
55
+ * Straight to entry `id`, wherever it is in the tree, with each step to it the branch
56
+ * redo takes, so undoing and redoing comes back to it.
57
+ */
58
+ export declare const jumpTo: <A>(state: History<A>, id: number) => History<A>;
59
+ /** How many steps the present is from the first value. */
60
+ export declare const depth: <A>(state: History<A>) => number;
61
+ //# sourceMappingURL=history.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"history.d.ts","sourceRoot":"","sources":["../../src/kernel/history.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,uFAAuF;AACvF,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI;IAC5B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,yDAAyD;IACzD,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,oEAAoE;IACpE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IAClB,iFAAiF;IACjF,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI;IACvB,mCAAmC;IACnC,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IACjD,8BAA8B;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,uCAAuC;AACvC,eAAO,MAAM,IAAI,GAAI,CAAC,SAAS,CAAC,qBAAoB,OAAO,CAAC,CAAC,CAG3D,CAAC;AASH,yBAAyB;AACzB,eAAO,MAAM,YAAY,GAAI,CAAC,SAAS,OAAO,CAAC,CAAC,CAAC,KAAG,YAAY,CAAC,CAAC,CACnC,CAAC;AAEhC,yBAAyB;AACzB,eAAO,MAAM,OAAO,GAAI,CAAC,SAAS,OAAO,CAAC,CAAC,CAAC,KAAG,CAA8B,CAAC;AAO9E,0FAA0F;AAC1F,eAAO,MAAM,MAAM,GAAI,CAAC,SAAS,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,MAAM,KAAG,OAAO,CAAC,CAAC,CAO/E,CAAC;AAEF,mDAAmD;AACnD,eAAO,MAAM,OAAO,GAAI,CAAC,SAAS,OAAO,CAAC,CAAC,CAAC,KAAG,OAA8C,CAAC;AAE9F,2EAA2E;AAC3E,eAAO,MAAM,OAAO,GAAI,CAAC,SAAS,OAAO,CAAC,CAAC,CAAC,KAAG,OAA4C,CAAC;AAE5F,+CAA+C;AAC/C,eAAO,MAAM,IAAI,GAAI,CAAC,SAAS,OAAO,CAAC,CAAC,CAAC,KAAG,OAAO,CAAC,CAAC,CAGpD,CAAC;AAEF,4EAA4E;AAC5E,eAAO,MAAM,IAAI,GAAI,CAAC,SAAS,OAAO,CAAC,CAAC,CAAC,KAAG,OAAO,CAAC,CAAC,CAGpD,CAAC;AAEF,oFAAoF;AACpF,eAAO,MAAM,QAAQ,GAAI,CAAC,SAAS,OAAO,CAAC,CAAC,CAAC,KAAG,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,CACZ,CAAC;AAElE,oFAAoF;AACpF,eAAO,MAAM,YAAY,GAAI,CAAC,SAAS,OAAO,CAAC,CAAC,CAAC,MAAM,MAAM,KAAG,OAAO,CAAC,CAAC,CACsB,CAAC;AAEhG,oDAAoD;AACpD,eAAO,MAAM,MAAM,GAAI,CAAC,SAAS,OAAO,CAAC,CAAC,CAAC,MAAM,MAAM,KAAG,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,CAMtF,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,MAAM,GAAI,CAAC,SAAS,OAAO,CAAC,CAAC,CAAC,MAAM,MAAM,KAAG,OAAO,CAAC,CAAC,CAMlE,CAAC;AAEF,0DAA0D;AAC1D,eAAO,MAAM,KAAK,GAAI,CAAC,SAAS,OAAO,CAAC,CAAC,CAAC,KAAG,MAAiD,CAAC"}
@@ -13,25 +13,38 @@ export { buildMaterial, type HostMaterial, type Textures, updateMaterial } from
13
13
  export { capacityFor, type HostInstances } from './instances.ts';
14
14
  export { createPerformanceMonitor, type PerformanceChange, type PerformanceMonitor, type PerformanceOptions, } from './performance.ts';
15
15
  export { applyTween, easeProgress, startTween, type Tween } from './tween.ts';
16
- export { ambientLight, basic, behave, bloom, borrowed, box, capsule, body, circle, colorRange, xr, glide, xrAnchor, headSpace, jointSpace, controllerSpace, anchorSpace, planeSpace, meshSpace, xrMesh, xrMeshGeometryId, physics, cuboidCollider, ballCollider, capsuleCollider, cylinderCollider, coneCollider, velocityMotor, interactionGroups, positionMotor, shaderGrid, label, bodyRef, joint, fixedJoint, sphericalJoint, revoluteJoint, prismaticJoint, ropeJoint, springJoint, contactShadows, grid, sky, sunPositionFromAngles, environment, text, cone, cylinder, directionalLight, ease, film, fixed, group, hemisphereLight, instance, instances, instant, lambert, mesh, normalMaterial, shadowMaterial, orthographicCamera, perspectiveCamera, phong, play, physical, plane, pointLight, renderSettings, ring, roundedBox, backdrop, scene, sharedGeometry, lentGeometry, sharedMaterial, sphere, spin, cameraShake, detailed, billboard, spotLight, standard, overlay, renderTexture, torus, type TransformOptions, view, vignette, } from './build.ts';
16
+ export { ambientLight, basic, behave, bloom, borrowed, box, capsule, body, circle, colorRange, xr, glide, xrAnchor, headSpace, jointSpace, controllerSpace, anchorSpace, planeSpace, meshSpace, xrMesh, xrMeshGeometryId, physics, modelAsset, textureAsset, environmentAsset, fontAsset, cuboidCollider, ballCollider, capsuleCollider, cylinderCollider, coneCollider, velocityMotor, interactionGroups, positionMotor, shaderGrid, label, bodyRef, joint, fixedJoint, sphericalJoint, revoluteJoint, prismaticJoint, ropeJoint, springJoint, contactShadows, grid, sky, sunPositionFromAngles, environment, text, cone, cylinder, directionalLight, ease, film, fixed, group, hemisphereLight, instance, instances, instant, lambert, mesh, normalMaterial, shadowMaterial, orthographicCamera, perspectiveCamera, phong, play, physical, plane, pointLight, renderSettings, ring, roundedBox, backdrop, scene, sharedGeometry, lentGeometry, sharedMaterial, sphere, spin, points, sparkles, stars, trail, edges, line, catmullRomPoints, catmullRomPointAt, catmullRomColors, cubicBezierPoints, quadraticBezierPoints, cameraShake, detailed, billboard, spotLight, standard, overlay, hud, renderTexture, torus, type TransformOptions, view, vignette, } from './build.ts';
17
17
  export { changedFields, diff, type DiffResult, type Field, type Op } from './diff.ts';
18
- export { cameraEquals, animationEquals, behaviourEquals, effectsEqual, geometryRefEquals, instanceEquals, instancesEqual, materialRefEquals, resourcesEqual, renderSettingsEquals, rotationEquals, shapeEquals, transitionEquals, environmentEquals, contactShadowsEquals, bodyEquals, overlaysEqual, xrEquals, physicsEquals, skyEquals, viewsEqual, vec3Equals, } from './equality.ts';
18
+ export { cameraEquals, animationEquals, behaviourEquals, effectsEqual, geometryRefEquals, instanceEquals, instancesEqual, materialRefEquals, resourcesEqual, renderSettingsEquals, rotationEquals, shapeEquals, transitionEquals, environmentEquals, contactShadowsEquals, bodyEquals, overlaysEqual, xrEquals, physicsEquals, assetsEqual, skyEquals, viewsEqual, vec3Equals, } from './equality.ts';
19
19
  export { createResourceStore, type GeometryReplaced, type Loan, type MaterialReplaced, type ResourceCounts, type ResourceStats, type ResourceStore, } from './resources.ts';
20
20
  export { createSceneClock, type SceneClock } from './clock.ts';
21
21
  export { createFramePacer, createGatedFrames, type FrameControl, type FramePacer, createManualFrames, type FrameScheduler, type GatedFrames, type ManualFrames, } from './frames.ts';
22
22
  export { autoRotated, type Box, clipCamera, type Cursor, defaultOrbit, dollyCamera, dollyCameraToward, fitCamera, orbit, type OrbitKey, orbitKey, type OrbitOptions, orbitOptions, panCamera, rotateCamera, } from './orbit.ts';
23
23
  export { type OverlayPlacement, placeOverlays } from './overlays.ts';
24
- export { type BodyPose, type Collider, type ColliderShape, colliderFor, collidersFor, colliderSignature, type Collision, type ContactForce, type DebugLines, describedColliders, interactionBits, type PhysicsEngine, type PhysicsJoint, type PhysicsWorld, type Quat, } from './physics.ts';
25
- export type { BodyCollision, BodyContactForce } from './bodies.ts';
26
- export type { ContactShadowPasses, HostedShaderGrid, HostedSky, RenderKit, ShadowedScene, } from './renderKit.ts';
24
+ export { type BodyPose, type Collider, type ColliderShape, colliderFor, collidersFor, colliderSignature, type Collision, type ContactForce, type DebugLines, describedColliders, interactionBits, type PhysicsEngine, type PhysicsJoint, type PhysicsWorld, type Quat, type Received, type RestoredWorld, snapshotBytes, snapshotText, } from './physics.ts';
25
+ export type { BodyCollision, BodyContactForce, PhysicsReached } from './bodies.ts';
26
+ export type { ContactShadowPasses, HostedLine, HostedPoints, HostedShaderGrid, HostedSky, RenderKit, ShadowedScene, } from './renderKit.ts';
27
27
  export { glided, type LocomotionOptions, locomote, teleport } from './xrLocomotion.ts';
28
28
  export { createXrTracker, type XrButtonName, type XrHand, type XrInput, type XrMesh, type XrPlane, type XrStickDirection, } from './xrInput.ts';
29
29
  export type { HostedLabel, LabelEngine, LabelLayout } from './labels.ts';
30
30
  export { type EnvironmentPreset, environmentPresets, environmentPresetUrl, } from './environmentPresets.ts';
31
31
  export { type CenterAlign, centerOffset, type Stage, stage, stageBounds, type StageLighting, type StagePreset, stagePresets, } from './stage.ts';
32
32
  export { createSceneLoop, type SceneLoop, type SceneLoopOptions } from './loop.ts';
33
- export { createPicker, createPointerTracker, type Gesture, type Hit, type Modifiers, noModifiers, type Picker, type PlaneEquation, pointOnPlane, type PointerInput, type PointerTracker, type Ray, type Region, type SceneEvent, } from './pointer.ts';
33
+ export { createPicker, createPointerTracker, type Gesture, type Hit, type Modifiers, noModifiers, type Picker, type PlaneEquation, pointOnPlane, type PointerDevice, type PointerInput, type PointerTracker, type Ray, type Region, type SceneEvent, } from './pointer.ts';
34
34
  export { recordingRendererFactory, type RecordingRenderer, type RenderArea, type RenderTarget, type RecordingRendererFactory, type RendererFactory, type RendererMemory, type SceneRenderer, type Viewport, } from './renderer.ts';
35
35
  export { createSceneGraph, type HostCamera, type HostedTexture, type HostedView, type HostMesh, type ReconcileResult, type SceneGraph, type SceneGraphOptions, } from './sceneGraph.ts';
36
+ export { type PreviewOptions, type PreviewResult, previewSvg } from './preview.ts';
36
37
  export { type DescriptionError, emptyIndex, type IndexedNode, indexScene, type IndexResult, type ParentKey, type SceneIndex, } from './sceneIndex.ts';
38
+ export { dragGizmo, gizmo, type Gizmo, type GizmoGrab, type GizmoHandle, gizmoHandleOf, type GizmoMode, gizmoNodes, type GizmoSpace, hoverGizmo, movedAlike, type Placement, pressGizmo, releaseGizmo, } from './gizmo.ts';
39
+ export { type BoxCorner, boxSelect, type CanvasSize, type Selectable } from './boxSelect.ts';
40
+ export * as History from './history.ts';
41
+ export * as Lockstep from './lockstep.ts';
42
+ export * as Timeline from './timeline.ts';
43
+ export { describeScene, formatSummary, type LightSummary, type SceneSummary, type ThingSummary, thingsBounds, } from './describeScene.ts';
44
+ export { type Mood, moodStaging, moods, shotAngles, type ShotAngle, shotCamera, type Staging, } from './shots.ts';
45
+ export { type FieldPath, type FieldValue, type InspectableAst, type InspectedField, type InspectHints, inspectFields, setAt, } from './inspect.ts';
46
+ export { type ChangePlace, formatChanges, type SceneChange, type SceneChanges, sceneChanges, type SceneSetting, } from './sceneChanges.ts';
47
+ export { clearTape, placeTapeEnd, pointTape, type Tape, tape, tapeLength, type TapeLook, tapeMiddle, tapeNodes, } from './tape.ts';
48
+ export { dragPivot, hoverPivot, type Pivot, pivot, type PivotGrab, type PivotHandle, pivotHandleOf, pivotNodes, pressPivot, releasePivot, } from './pivot.ts';
49
+ export { cameraAlong, type ViewAxis, viewportAxisOf, viewportGizmoNodes, type ViewportGizmoOptions, } from './viewportGizmo.ts';
37
50
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/kernel/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/kernel/index.ts"],"names":[],"mappings":"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"}
@@ -30,6 +30,7 @@ import {
30
30
  skyEquals2,
31
31
  contactShadowsEquals2,
32
32
  bodyEquals2,
33
+ assetsEqual2,
33
34
  physicsEquals2,
34
35
  xrEquals2,
35
36
  capacityFor2,
@@ -68,6 +69,15 @@ import {
68
69
  sharedMaterial2,
69
70
  group2,
70
71
  detailed2,
72
+ line2,
73
+ points2,
74
+ sparkles2,
75
+ stars2,
76
+ catmullRomPoints2,
77
+ catmullRomPointAt2,
78
+ catmullRomColors2,
79
+ cubicBezierPoints2,
80
+ quadraticBezierPoints2,
71
81
  headSpace2,
72
82
  jointSpace2,
73
83
  controllerSpace2,
@@ -78,6 +88,8 @@ import {
78
88
  xrMesh2,
79
89
  xrAnchor2,
80
90
  mesh2,
91
+ trail2,
92
+ edges2,
81
93
  body2,
82
94
  interactionGroups2,
83
95
  cuboidCollider2,
@@ -123,7 +135,12 @@ import {
123
135
  sunPositionFromAngles2,
124
136
  sky2,
125
137
  contactShadows2,
138
+ modelAsset2,
139
+ textureAsset2,
140
+ environmentAsset2,
141
+ fontAsset2,
126
142
  overlay2,
143
+ hud2,
127
144
  scene2,
128
145
  emptyIndex2,
129
146
  indexScene2,
@@ -147,6 +164,8 @@ import {
147
164
  clipCamera2,
148
165
  placeOverlays2,
149
166
  interactionBits2,
167
+ snapshotText2,
168
+ snapshotBytes2,
150
169
  colliderFor2,
151
170
  describedColliders2,
152
171
  collidersFor2,
@@ -167,13 +186,59 @@ import {
167
186
  createPointerTracker2,
168
187
  createSceneLoop2,
169
188
  recordingRendererFactory2,
170
- createSceneGraph2
171
- } from "../index-8cf8t6by.js";
189
+ createSceneGraph2,
190
+ previewSvg2,
191
+ gizmo2,
192
+ pressGizmo2,
193
+ releaseGizmo2,
194
+ hoverGizmo2,
195
+ dragGizmo2,
196
+ movedAlike2,
197
+ gizmoHandleOf2,
198
+ gizmoNodes2,
199
+ boxSelect2,
200
+ exports_history,
201
+ exports_lockstep,
202
+ exports_timeline,
203
+ thingsBounds2,
204
+ describeScene2,
205
+ formatSummary2,
206
+ shotAngles2,
207
+ shotCamera2,
208
+ moods2,
209
+ moodStaging2,
210
+ inspectFields2,
211
+ setAt2,
212
+ sceneChanges2,
213
+ formatChanges2,
214
+ tape2,
215
+ placeTapeEnd2,
216
+ pointTape2,
217
+ clearTape2,
218
+ tapeLength2,
219
+ tapeMiddle2,
220
+ tapeNodes2,
221
+ pivot2,
222
+ pressPivot2,
223
+ releasePivot2,
224
+ hoverPivot2,
225
+ dragPivot2,
226
+ pivotHandleOf2,
227
+ pivotNodes2,
228
+ viewportGizmoNodes2,
229
+ viewportAxisOf2,
230
+ cameraAlong2
231
+ } from "../index-re3rrfwd.js";
232
+ import"../index-ttwy0znv.js";
172
233
  export {
234
+ exports_history as History,
235
+ exports_lockstep as Lockstep,
236
+ exports_timeline as Timeline,
173
237
  ambientLight2 as ambientLight,
174
238
  anchorSpace2 as anchorSpace,
175
239
  animationEquals2 as animationEquals,
176
240
  applyTween2 as applyTween,
241
+ assetsEqual2 as assetsEqual,
177
242
  autoRotated2 as autoRotated,
178
243
  backdrop2 as backdrop,
179
244
  ballCollider2 as ballCollider,
@@ -187,16 +252,22 @@ export {
187
252
  bodyRef2 as bodyRef,
188
253
  borrowed2 as borrowed,
189
254
  box2 as box,
255
+ boxSelect2 as boxSelect,
190
256
  buildMaterial2 as buildMaterial,
191
257
  builtinBehaviours2 as builtinBehaviours,
258
+ cameraAlong2 as cameraAlong,
192
259
  cameraEquals2 as cameraEquals,
193
260
  cameraShake2 as cameraShake,
194
261
  capacityFor2 as capacityFor,
195
262
  capsule2 as capsule,
196
263
  capsuleCollider2 as capsuleCollider,
264
+ catmullRomColors2 as catmullRomColors,
265
+ catmullRomPointAt2 as catmullRomPointAt,
266
+ catmullRomPoints2 as catmullRomPoints,
197
267
  centerOffset2 as centerOffset,
198
268
  changedFields2 as changedFields,
199
269
  circle2 as circle,
270
+ clearTape2 as clearTape,
200
271
  clipCamera2 as clipCamera,
201
272
  clipRunning2 as clipRunning,
202
273
  clipTime2 as clipTime,
@@ -221,21 +292,27 @@ export {
221
292
  createSceneGraph2 as createSceneGraph,
222
293
  createSceneLoop2 as createSceneLoop,
223
294
  createXrTracker2 as createXrTracker,
295
+ cubicBezierPoints2 as cubicBezierPoints,
224
296
  cuboidCollider2 as cuboidCollider,
225
297
  cylinder2 as cylinder,
226
298
  cylinderCollider2 as cylinderCollider,
227
299
  defaultOrbit2 as defaultOrbit,
300
+ describeScene2 as describeScene,
228
301
  describedColliders2 as describedColliders,
229
302
  detailed2 as detailed,
230
303
  diff2 as diff,
231
304
  directionalLight2 as directionalLight,
232
305
  dollyCamera2 as dollyCamera,
233
306
  dollyCameraToward2 as dollyCameraToward,
307
+ dragGizmo2 as dragGizmo,
308
+ dragPivot2 as dragPivot,
234
309
  ease2 as ease,
235
310
  easeProgress2 as easeProgress,
311
+ edges2 as edges,
236
312
  effectsEqual2 as effectsEqual,
237
313
  emptyIndex2 as emptyIndex,
238
314
  environment2 as environment,
315
+ environmentAsset2 as environmentAsset,
239
316
  environmentEquals2 as environmentEquals,
240
317
  environmentPresetUrl2 as environmentPresetUrl,
241
318
  environmentPresets2 as environmentPresets,
@@ -244,7 +321,13 @@ export {
244
321
  fixed2 as fixed,
245
322
  fixedJoint2 as fixedJoint,
246
323
  float2 as float,
324
+ fontAsset2 as fontAsset,
325
+ formatChanges2 as formatChanges,
326
+ formatSummary2 as formatSummary,
247
327
  geometryRefEquals2 as geometryRefEquals,
328
+ gizmo2 as gizmo,
329
+ gizmoHandleOf2 as gizmoHandleOf,
330
+ gizmoNodes2 as gizmoNodes,
248
331
  glide2 as glide,
249
332
  glided2 as glided,
250
333
  grid2 as grid,
@@ -252,7 +335,11 @@ export {
252
335
  handJoints2 as handJoints,
253
336
  headSpace2 as headSpace,
254
337
  hemisphereLight2 as hemisphereLight,
338
+ hoverGizmo2 as hoverGizmo,
339
+ hoverPivot2 as hoverPivot,
340
+ hud2 as hud,
255
341
  indexScene2 as indexScene,
342
+ inspectFields2 as inspectFields,
256
343
  instance2 as instance,
257
344
  instanceEquals2 as instanceEquals,
258
345
  instances2 as instances,
@@ -265,10 +352,15 @@ export {
265
352
  label2 as label,
266
353
  lambert2 as lambert,
267
354
  lentGeometry2 as lentGeometry,
355
+ line2 as line,
268
356
  locomote2 as locomote,
269
357
  materialRefEquals2 as materialRefEquals,
270
358
  mesh2 as mesh,
271
359
  meshSpace2 as meshSpace,
360
+ modelAsset2 as modelAsset,
361
+ moodStaging2 as moodStaging,
362
+ moods2 as moods,
363
+ movedAlike2 as movedAlike,
272
364
  noModifiers2 as noModifiers,
273
365
  normalMaterial2 as normalMaterial,
274
366
  orbit2 as orbit,
@@ -283,15 +375,27 @@ export {
283
375
  physical2 as physical,
284
376
  physics2 as physics,
285
377
  physicsEquals2 as physicsEquals,
378
+ pivot2 as pivot,
379
+ pivotHandleOf2 as pivotHandleOf,
380
+ pivotNodes2 as pivotNodes,
286
381
  placeOverlays2 as placeOverlays,
382
+ placeTapeEnd2 as placeTapeEnd,
287
383
  plane2 as plane,
288
384
  planeSpace2 as planeSpace,
289
385
  play2 as play,
290
386
  pointLight2 as pointLight,
291
387
  pointOnPlane2 as pointOnPlane,
388
+ pointTape2 as pointTape,
389
+ points2 as points,
292
390
  positionMotor2 as positionMotor,
391
+ pressGizmo2 as pressGizmo,
392
+ pressPivot2 as pressPivot,
393
+ previewSvg2 as previewSvg,
293
394
  prismaticJoint2 as prismaticJoint,
395
+ quadraticBezierPoints2 as quadraticBezierPoints,
294
396
  recordingRendererFactory2 as recordingRendererFactory,
397
+ releaseGizmo2 as releaseGizmo,
398
+ releasePivot2 as releasePivot,
295
399
  renderSettings2 as renderSettings,
296
400
  renderSettingsEquals2 as renderSettingsEquals,
297
401
  renderTexture2 as renderTexture,
@@ -304,13 +408,20 @@ export {
304
408
  rotationEquals2 as rotationEquals,
305
409
  roundedBox2 as roundedBox,
306
410
  scene2 as scene,
411
+ sceneChanges2 as sceneChanges,
412
+ setAt2 as setAt,
307
413
  shaderGrid2 as shaderGrid,
308
414
  shadowMaterial2 as shadowMaterial,
309
415
  shapeEquals2 as shapeEquals,
310
416
  sharedGeometry2 as sharedGeometry,
311
417
  sharedMaterial2 as sharedMaterial,
418
+ shotAngles2 as shotAngles,
419
+ shotCamera2 as shotCamera,
312
420
  sky2 as sky,
313
421
  skyEquals2 as skyEquals,
422
+ snapshotBytes2 as snapshotBytes,
423
+ snapshotText2 as snapshotText,
424
+ sparkles2 as sparkles,
314
425
  sphere2 as sphere,
315
426
  sphericalJoint2 as sphericalJoint,
316
427
  spin2 as spin,
@@ -321,16 +432,26 @@ export {
321
432
  stageBounds2 as stageBounds,
322
433
  stagePresets2 as stagePresets,
323
434
  standard2 as standard,
435
+ stars2 as stars,
324
436
  startTween2 as startTween,
325
437
  sunPositionFromAngles2 as sunPositionFromAngles,
438
+ tape2 as tape,
439
+ tapeLength2 as tapeLength,
440
+ tapeMiddle2 as tapeMiddle,
441
+ tapeNodes2 as tapeNodes,
326
442
  teleport2 as teleport,
327
443
  text2 as text,
444
+ textureAsset2 as textureAsset,
445
+ thingsBounds2 as thingsBounds,
328
446
  torus2 as torus,
447
+ trail2 as trail,
329
448
  transitionEquals2 as transitionEquals,
330
449
  updateMaterial2 as updateMaterial,
331
450
  vec3Equals2 as vec3Equals,
332
451
  velocityMotor2 as velocityMotor,
333
452
  view2 as view,
453
+ viewportAxisOf2 as viewportAxisOf,
454
+ viewportGizmoNodes2 as viewportGizmoNodes,
334
455
  viewsEqual2 as viewsEqual,
335
456
  vignette2 as vignette,
336
457
  writeRotation2 as writeRotation,
@@ -341,5 +462,5 @@ export {
341
462
  xrMeshGeometryId2 as xrMeshGeometryId
342
463
  };
343
464
 
344
- //# debugId=E275C42D12CF324C64756E2164756E21
465
+ //# debugId=B49F54C336DAC32464756E2164756E21
345
466
  //# sourceMappingURL=index.js.map
@@ -4,6 +4,6 @@
4
4
  "sourcesContent": [
5
5
  ],
6
6
  "mappings": "",
7
- "debugId": "E275C42D12CF324C64756E2164756E21",
7
+ "debugId": "B49F54C336DAC32464756E2164756E21",
8
8
  "names": []
9
9
  }
@@ -0,0 +1,85 @@
1
+ /**
2
+ * The fields of a value, read from its schema (roadmap, "Beyond parity" 4: an inspector
3
+ * generated from the scene schemas). The runtime's `Inspector` passes a schema's AST in;
4
+ * this walks it beside the value and lists what an inspector shows: numbers, text,
5
+ * switches, choices of literals, colours, vectors, and the rest read-only (a node's
6
+ * kind, an absent part, a list of children). A tagged union shows the member the value
7
+ * is; nested structs show their fields under their name.
8
+ *
9
+ * The AST is read through the few shapes used here, so the kernel needs no schema
10
+ * library; colours and vectors are recognised by being the very AST nodes the caller
11
+ * names, not by field names.
12
+ *
13
+ * @module
14
+ */
15
+ import type { Vec3 } from './description.ts';
16
+ /** Where a field is in the value: property names and list indices from the top. */
17
+ export type FieldPath = ReadonlyArray<string | number>;
18
+ /** What an inspector's controls produce: a number, text, or a switch's state. */
19
+ export type FieldValue = number | string | boolean;
20
+ type Base = {
21
+ readonly path: FieldPath;
22
+ readonly label: string;
23
+ };
24
+ /** A field as an inspector shows it. */
25
+ export type InspectedField = Base & ({
26
+ readonly _tag: 'Number';
27
+ readonly value: number;
28
+ } | {
29
+ readonly _tag: 'Text';
30
+ readonly value: string;
31
+ } | {
32
+ readonly _tag: 'Toggle';
33
+ readonly value: boolean;
34
+ } | {
35
+ readonly _tag: 'Choice';
36
+ readonly value: string;
37
+ readonly options: ReadonlyArray<string>;
38
+ } | {
39
+ readonly _tag: 'Colour';
40
+ readonly value: number;
41
+ } | {
42
+ readonly _tag: 'Vector';
43
+ readonly value: Vec3;
44
+ }
45
+ /** Shown, not edited: a kind, an absent part, a list, or what this cannot edit. */
46
+ | {
47
+ readonly _tag: 'Fixed';
48
+ readonly text: string;
49
+ });
50
+ /** The parts of a schema AST read here (Effect's `SchemaAST`, structurally). */
51
+ export type InspectableAst = {
52
+ readonly _tag: 'Suspend';
53
+ readonly thunk: () => InspectableAst;
54
+ } | {
55
+ readonly _tag: 'Objects';
56
+ readonly propertySignatures: ReadonlyArray<{
57
+ readonly name: PropertyKey;
58
+ readonly type: InspectableAst;
59
+ }>;
60
+ } | {
61
+ readonly _tag: 'Arrays';
62
+ readonly elements: ReadonlyArray<InspectableAst>;
63
+ readonly rest: ReadonlyArray<InspectableAst>;
64
+ } | {
65
+ readonly _tag: 'Union';
66
+ readonly types: ReadonlyArray<InspectableAst>;
67
+ } | {
68
+ readonly _tag: 'Literal';
69
+ readonly literal: unknown;
70
+ } | {
71
+ readonly _tag: 'Number' | 'String' | 'Boolean' | 'Null';
72
+ } | {
73
+ readonly _tag: string;
74
+ };
75
+ /** AST nodes shown as a colour picker or as three numbers, by identity. */
76
+ export type InspectHints = {
77
+ readonly colours: ReadonlyArray<unknown>;
78
+ readonly vectors: ReadonlyArray<unknown>;
79
+ };
80
+ /** The fields of `value` as its schema's AST describes them, in the schema's order. */
81
+ export declare const inspectFields: (ast: InspectableAst, value: unknown, hints?: InspectHints) => ReadonlyArray<InspectedField>;
82
+ /** `value` with `next` at `path`, every object and list on the way copied, not changed. */
83
+ export declare const setAt: (value: unknown, path: FieldPath, next: unknown) => unknown;
84
+ export {};
85
+ //# sourceMappingURL=inspect.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inspect.d.ts","sourceRoot":"","sources":["../../src/kernel/inspect.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * A line's geometry, as Drei's `Line` builds it: three's `LineGeometry` through the points
3
+ * (or `LineSegmentsGeometry`, a segment for each pair), with a colour per point when it
4
+ * has them. Shared by the render kits, whose materials differ; the geometry does not.
5
+ *
6
+ * @module
7
+ */
8
+ import { type BufferGeometry } from 'three';
9
+ import type { LineSegmentsGeometry } from 'three/addons/lines/LineSegmentsGeometry.js';
10
+ import type { Edges, LineNode, Vec3 } from './description.ts';
11
+ /** Whether there is anything to draw: two points for a line, a pair for segments. */
12
+ export declare const drawable: (line: LineNode) => boolean;
13
+ /**
14
+ * Fills a line's geometry: a `LineGeometry` through the points, or a
15
+ * `LineSegmentsGeometry` for segments. Too few points give one empty segment (hidden).
16
+ */
17
+ export declare const fillLineGeometry: <G extends LineSegmentsGeometry>(geometry: G, line: LineNode) => G;
18
+ /**
19
+ * The line segments along a geometry's edges where faces meet at more than `threshold`
20
+ * degrees, as Drei's `Edges` takes them from three's `EdgesGeometry`.
21
+ */
22
+ export declare const edgePoints: (geometry: BufferGeometry, threshold: number) => ReadonlyArray<Vec3>;
23
+ /** The line a mesh's edges are drawn as: segments in the mesh's own space. */
24
+ export declare const edgeLine: (key: string, look: Edges, points: ReadonlyArray<Vec3>) => LineNode;
25
+ //# sourceMappingURL=lineGeometry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lineGeometry.d.ts","sourceRoot":"","sources":["../../src/kernel/lineGeometry.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,KAAK,cAAc,EAAwB,MAAM,OAAO,CAAC;AAClE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAC;AAEvF,OAAO,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAE9D,qFAAqF;AACrF,eAAO,MAAM,QAAQ,SAAU,QAAQ,KAAG,OAAkC,CAAC;AAE7E;;;GAGG;AACH,eAAO,MAAM,gBAAgB,GAAI,CAAC,SAAS,oBAAoB,YACnD,CAAC,QACL,QAAQ,KACb,CAYF,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,UAAU,aAAc,cAAc,aAAa,MAAM,KAAG,aAAa,CAAC,IAAI,CAS1F,CAAC;AAEF,8EAA8E;AAC9E,eAAO,MAAM,QAAQ,QAAS,MAAM,QAAQ,KAAK,UAAU,aAAa,CAAC,IAAI,CAAC,KAAG,QAsB/E,CAAC"}