@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
@@ -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,7 +13,7 @@ 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, scene, sharedGeometry, lentGeometry, sharedMaterial, sphere, spin, 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, 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
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';
19
19
  export { createResourceStore, type GeometryReplaced, type Loan, type MaterialReplaced, type ResourceCounts, type ResourceStats, type ResourceStore, } from './resources.ts';
@@ -23,7 +23,7 @@ export { autoRotated, type Box, clipCamera, type Cursor, defaultOrbit, dollyCame
23
23
  export { type OverlayPlacement, placeOverlays } from './overlays.ts';
24
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
25
  export type { BodyCollision, BodyContactForce } from './bodies.ts';
26
- export type { ContactShadowPasses, HostedShaderGrid, HostedSky, RenderKit, ShadowedScene, } from './renderKit.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';
@@ -34,4 +34,15 @@ export { createPicker, createPointerTracker, type Gesture, type Hit, type Modifi
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
36
  export { type DescriptionError, emptyIndex, type IndexedNode, indexScene, type IndexResult, type ParentKey, type SceneIndex, } from './sceneIndex.ts';
37
+ export { dragGizmo, gizmo, type Gizmo, type GizmoGrab, type GizmoHandle, gizmoHandleOf, type GizmoMode, gizmoNodes, type GizmoSpace, hoverGizmo, movedAlike, type Placement, pressGizmo, releaseGizmo, } from './gizmo.ts';
38
+ export { type BoxCorner, boxSelect, type CanvasSize, type Selectable } from './boxSelect.ts';
39
+ export * as History from './history.ts';
40
+ export * as Lockstep from './lockstep.ts';
41
+ export { describeScene, formatSummary, type LightSummary, type SceneSummary, type ThingSummary, thingsBounds, } from './describeScene.ts';
42
+ export { type Mood, moodStaging, moods, shotAngles, type ShotAngle, shotCamera, type Staging, } from './shots.ts';
43
+ export { type FieldPath, type FieldValue, type InspectableAst, type InspectedField, type InspectHints, inspectFields, setAt, } from './inspect.ts';
44
+ export { type ChangePlace, formatChanges, type SceneChange, type SceneChanges, sceneChanges, type SceneSetting, } from './sceneChanges.ts';
45
+ export { clearTape, placeTapeEnd, pointTape, type Tape, tape, tapeLength, type TapeLook, tapeMiddle, tapeNodes, } from './tape.ts';
46
+ export { dragPivot, hoverPivot, type Pivot, pivot, type PivotGrab, type PivotHandle, pivotHandleOf, pivotNodes, pressPivot, releasePivot, } from './pivot.ts';
47
+ export { cameraAlong, type ViewAxis, viewportAxisOf, viewportGizmoNodes, type ViewportGizmoOptions, } from './viewportGizmo.ts';
37
48
  //# 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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"}
@@ -39,6 +39,7 @@ import {
39
39
  applyTween2,
40
40
  fixed2,
41
41
  spin2,
42
+ billboard2,
42
43
  box2,
43
44
  sphere2,
44
45
  plane2,
@@ -46,6 +47,8 @@ import {
46
47
  torus2,
47
48
  cone2,
48
49
  capsule2,
50
+ roundedBox2,
51
+ backdrop2,
49
52
  ring2,
50
53
  circle2,
51
54
  text2,
@@ -64,6 +67,16 @@ import {
64
67
  lentGeometry2,
65
68
  sharedMaterial2,
66
69
  group2,
70
+ detailed2,
71
+ line2,
72
+ points2,
73
+ sparkles2,
74
+ stars2,
75
+ catmullRomPoints2,
76
+ catmullRomPointAt2,
77
+ catmullRomColors2,
78
+ cubicBezierPoints2,
79
+ quadraticBezierPoints2,
67
80
  headSpace2,
68
81
  jointSpace2,
69
82
  controllerSpace2,
@@ -74,6 +87,8 @@ import {
74
87
  xrMesh2,
75
88
  xrAnchor2,
76
89
  mesh2,
90
+ trail2,
91
+ edges2,
77
92
  body2,
78
93
  interactionGroups2,
79
94
  cuboidCollider2,
@@ -108,6 +123,7 @@ import {
108
123
  hemisphereLight2,
109
124
  perspectiveCamera2,
110
125
  orthographicCamera2,
126
+ cameraShake2,
111
127
  bloom2,
112
128
  vignette2,
113
129
  film2,
@@ -119,6 +135,7 @@ import {
119
135
  sky2,
120
136
  contactShadows2,
121
137
  overlay2,
138
+ hud2,
122
139
  scene2,
123
140
  emptyIndex2,
124
141
  indexScene2,
@@ -162,33 +179,84 @@ import {
162
179
  createPointerTracker2,
163
180
  createSceneLoop2,
164
181
  recordingRendererFactory2,
165
- createSceneGraph2
166
- } from "../index-01kwfekm.js";
182
+ createSceneGraph2,
183
+ gizmo2,
184
+ pressGizmo2,
185
+ releaseGizmo2,
186
+ hoverGizmo2,
187
+ dragGizmo2,
188
+ movedAlike2,
189
+ gizmoHandleOf2,
190
+ gizmoNodes2,
191
+ boxSelect2,
192
+ exports_history,
193
+ exports_lockstep,
194
+ thingsBounds2,
195
+ describeScene2,
196
+ formatSummary2,
197
+ shotAngles2,
198
+ shotCamera2,
199
+ moods2,
200
+ moodStaging2,
201
+ inspectFields2,
202
+ setAt2,
203
+ sceneChanges2,
204
+ formatChanges2,
205
+ tape2,
206
+ placeTapeEnd2,
207
+ pointTape2,
208
+ clearTape2,
209
+ tapeLength2,
210
+ tapeMiddle2,
211
+ tapeNodes2,
212
+ pivot2,
213
+ pressPivot2,
214
+ releasePivot2,
215
+ hoverPivot2,
216
+ dragPivot2,
217
+ pivotHandleOf2,
218
+ pivotNodes2,
219
+ viewportGizmoNodes2,
220
+ viewportAxisOf2,
221
+ cameraAlong2
222
+ } from "../index-h3vf50fn.js";
223
+ import"../index-ttwy0znv.js";
167
224
  export {
225
+ exports_history as History,
226
+ exports_lockstep as Lockstep,
168
227
  ambientLight2 as ambientLight,
169
228
  anchorSpace2 as anchorSpace,
170
229
  animationEquals2 as animationEquals,
171
230
  applyTween2 as applyTween,
172
231
  autoRotated2 as autoRotated,
232
+ backdrop2 as backdrop,
173
233
  ballCollider2 as ballCollider,
174
234
  basic2 as basic,
175
235
  behave2 as behave,
176
236
  behaviourEquals2 as behaviourEquals,
237
+ billboard2 as billboard,
177
238
  bloom2 as bloom,
178
239
  body2 as body,
179
240
  bodyEquals2 as bodyEquals,
180
241
  bodyRef2 as bodyRef,
181
242
  borrowed2 as borrowed,
182
243
  box2 as box,
244
+ boxSelect2 as boxSelect,
183
245
  buildMaterial2 as buildMaterial,
184
246
  builtinBehaviours2 as builtinBehaviours,
247
+ cameraAlong2 as cameraAlong,
185
248
  cameraEquals2 as cameraEquals,
249
+ cameraShake2 as cameraShake,
186
250
  capacityFor2 as capacityFor,
187
251
  capsule2 as capsule,
188
252
  capsuleCollider2 as capsuleCollider,
253
+ catmullRomColors2 as catmullRomColors,
254
+ catmullRomPointAt2 as catmullRomPointAt,
255
+ catmullRomPoints2 as catmullRomPoints,
189
256
  centerOffset2 as centerOffset,
190
257
  changedFields2 as changedFields,
191
258
  circle2 as circle,
259
+ clearTape2 as clearTape,
192
260
  clipCamera2 as clipCamera,
193
261
  clipRunning2 as clipRunning,
194
262
  clipTime2 as clipTime,
@@ -213,17 +281,23 @@ export {
213
281
  createSceneGraph2 as createSceneGraph,
214
282
  createSceneLoop2 as createSceneLoop,
215
283
  createXrTracker2 as createXrTracker,
284
+ cubicBezierPoints2 as cubicBezierPoints,
216
285
  cuboidCollider2 as cuboidCollider,
217
286
  cylinder2 as cylinder,
218
287
  cylinderCollider2 as cylinderCollider,
219
288
  defaultOrbit2 as defaultOrbit,
289
+ describeScene2 as describeScene,
220
290
  describedColliders2 as describedColliders,
291
+ detailed2 as detailed,
221
292
  diff2 as diff,
222
293
  directionalLight2 as directionalLight,
223
294
  dollyCamera2 as dollyCamera,
224
295
  dollyCameraToward2 as dollyCameraToward,
296
+ dragGizmo2 as dragGizmo,
297
+ dragPivot2 as dragPivot,
225
298
  ease2 as ease,
226
299
  easeProgress2 as easeProgress,
300
+ edges2 as edges,
227
301
  effectsEqual2 as effectsEqual,
228
302
  emptyIndex2 as emptyIndex,
229
303
  environment2 as environment,
@@ -235,7 +309,12 @@ export {
235
309
  fixed2 as fixed,
236
310
  fixedJoint2 as fixedJoint,
237
311
  float2 as float,
312
+ formatChanges2 as formatChanges,
313
+ formatSummary2 as formatSummary,
238
314
  geometryRefEquals2 as geometryRefEquals,
315
+ gizmo2 as gizmo,
316
+ gizmoHandleOf2 as gizmoHandleOf,
317
+ gizmoNodes2 as gizmoNodes,
239
318
  glide2 as glide,
240
319
  glided2 as glided,
241
320
  grid2 as grid,
@@ -243,7 +322,11 @@ export {
243
322
  handJoints2 as handJoints,
244
323
  headSpace2 as headSpace,
245
324
  hemisphereLight2 as hemisphereLight,
325
+ hoverGizmo2 as hoverGizmo,
326
+ hoverPivot2 as hoverPivot,
327
+ hud2 as hud,
246
328
  indexScene2 as indexScene,
329
+ inspectFields2 as inspectFields,
247
330
  instance2 as instance,
248
331
  instanceEquals2 as instanceEquals,
249
332
  instances2 as instances,
@@ -256,10 +339,14 @@ export {
256
339
  label2 as label,
257
340
  lambert2 as lambert,
258
341
  lentGeometry2 as lentGeometry,
342
+ line2 as line,
259
343
  locomote2 as locomote,
260
344
  materialRefEquals2 as materialRefEquals,
261
345
  mesh2 as mesh,
262
346
  meshSpace2 as meshSpace,
347
+ moodStaging2 as moodStaging,
348
+ moods2 as moods,
349
+ movedAlike2 as movedAlike,
263
350
  noModifiers2 as noModifiers,
264
351
  normalMaterial2 as normalMaterial,
265
352
  orbit2 as orbit,
@@ -274,15 +361,26 @@ export {
274
361
  physical2 as physical,
275
362
  physics2 as physics,
276
363
  physicsEquals2 as physicsEquals,
364
+ pivot2 as pivot,
365
+ pivotHandleOf2 as pivotHandleOf,
366
+ pivotNodes2 as pivotNodes,
277
367
  placeOverlays2 as placeOverlays,
368
+ placeTapeEnd2 as placeTapeEnd,
278
369
  plane2 as plane,
279
370
  planeSpace2 as planeSpace,
280
371
  play2 as play,
281
372
  pointLight2 as pointLight,
282
373
  pointOnPlane2 as pointOnPlane,
374
+ pointTape2 as pointTape,
375
+ points2 as points,
283
376
  positionMotor2 as positionMotor,
377
+ pressGizmo2 as pressGizmo,
378
+ pressPivot2 as pressPivot,
284
379
  prismaticJoint2 as prismaticJoint,
380
+ quadraticBezierPoints2 as quadraticBezierPoints,
285
381
  recordingRendererFactory2 as recordingRendererFactory,
382
+ releaseGizmo2 as releaseGizmo,
383
+ releasePivot2 as releasePivot,
286
384
  renderSettings2 as renderSettings,
287
385
  renderSettingsEquals2 as renderSettingsEquals,
288
386
  renderTexture2 as renderTexture,
@@ -293,14 +391,20 @@ export {
293
391
  ropeJoint2 as ropeJoint,
294
392
  rotateCamera2 as rotateCamera,
295
393
  rotationEquals2 as rotationEquals,
394
+ roundedBox2 as roundedBox,
296
395
  scene2 as scene,
396
+ sceneChanges2 as sceneChanges,
397
+ setAt2 as setAt,
297
398
  shaderGrid2 as shaderGrid,
298
399
  shadowMaterial2 as shadowMaterial,
299
400
  shapeEquals2 as shapeEquals,
300
401
  sharedGeometry2 as sharedGeometry,
301
402
  sharedMaterial2 as sharedMaterial,
403
+ shotAngles2 as shotAngles,
404
+ shotCamera2 as shotCamera,
302
405
  sky2 as sky,
303
406
  skyEquals2 as skyEquals,
407
+ sparkles2 as sparkles,
304
408
  sphere2 as sphere,
305
409
  sphericalJoint2 as sphericalJoint,
306
410
  spin2 as spin,
@@ -311,16 +415,25 @@ export {
311
415
  stageBounds2 as stageBounds,
312
416
  stagePresets2 as stagePresets,
313
417
  standard2 as standard,
418
+ stars2 as stars,
314
419
  startTween2 as startTween,
315
420
  sunPositionFromAngles2 as sunPositionFromAngles,
421
+ tape2 as tape,
422
+ tapeLength2 as tapeLength,
423
+ tapeMiddle2 as tapeMiddle,
424
+ tapeNodes2 as tapeNodes,
316
425
  teleport2 as teleport,
317
426
  text2 as text,
427
+ thingsBounds2 as thingsBounds,
318
428
  torus2 as torus,
429
+ trail2 as trail,
319
430
  transitionEquals2 as transitionEquals,
320
431
  updateMaterial2 as updateMaterial,
321
432
  vec3Equals2 as vec3Equals,
322
433
  velocityMotor2 as velocityMotor,
323
434
  view2 as view,
435
+ viewportAxisOf2 as viewportAxisOf,
436
+ viewportGizmoNodes2 as viewportGizmoNodes,
324
437
  viewsEqual2 as viewsEqual,
325
438
  vignette2 as vignette,
326
439
  writeRotation2 as writeRotation,
@@ -331,5 +444,5 @@ export {
331
444
  xrMeshGeometryId2 as xrMeshGeometryId
332
445
  };
333
446
 
334
- //# debugId=0E05A0594250FA0164756E2164756E21
447
+ //# debugId=ACCA5BFCFA2D51FE64756E2164756E21
335
448
  //# sourceMappingURL=index.js.map
@@ -4,6 +4,6 @@
4
4
  "sourcesContent": [
5
5
  ],
6
6
  "mappings": "",
7
- "debugId": "0E05A0594250FA0164756E2164756E21",
7
+ "debugId": "ACCA5BFCFA2D51FE64756E2164756E21",
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"}
@@ -0,0 +1,114 @@
1
+ /**
2
+ * Lockstep, as data (roadmap, "Beyond parity" 2): peers that run the same `update` stay
3
+ * in the same state by applying the same inputs in the same order. Time is cut into
4
+ * turns; every member sends one packet for each turn (empty when it did nothing), and a
5
+ * turn applies only once every member's packet for it has arrived, its inputs in peer
6
+ * order. Any transport that delivers each packet to every peer will do: a
7
+ * `BroadcastChannel` between tabs, a socket relay between machines.
8
+ *
9
+ * Membership changes in step too. The leader (the member whose id sorts first) admits
10
+ * a newcomer with an entry in its own packet; when that turn applies, everywhere at
11
+ * once, the newcomer becomes a member `lead + 1` turns later, and the leader sends it
12
+ * the state as it is then (`welcomeDue`), from which it carries on. A member that leaves
13
+ * says which turn it sent last (`leave`); one that goes quiet is dropped by the leader
14
+ * from the turn everyone is waiting on, which no one can have applied.
15
+ *
16
+ * Pure functions over a value, like the rest of the kernel: an app keeps the `Lockstep`
17
+ * in its Model, sends what `send` gives it, passes what arrives to `receive`, and
18
+ * applies what `advance` returns. Use it as a namespace: `Lockstep.make(self)`.
19
+ *
20
+ * @module
21
+ */
22
+ /** What a turn carries: an app's input, or the leader admitting a newcomer. */
23
+ export type Entry<I> = {
24
+ readonly _tag: 'Input';
25
+ readonly input: I;
26
+ } | {
27
+ readonly _tag: 'Admit';
28
+ readonly peer: string;
29
+ };
30
+ /** One member's packet for one turn. */
31
+ export type Packet<I> = {
32
+ readonly peer: string;
33
+ readonly turn: number;
34
+ readonly entries: ReadonlyArray<Entry<I>>;
35
+ };
36
+ /** A member: the first turn it sends for, and the turn it stopped before, once it has. */
37
+ export type Member = {
38
+ readonly peer: string;
39
+ readonly from: number;
40
+ readonly until: number | null;
41
+ };
42
+ export type Lockstep<I> = {
43
+ readonly self: string;
44
+ readonly members: ReadonlyArray<Member>;
45
+ /** The next turn to apply. */
46
+ readonly turn: number;
47
+ /** The next turn this peer sends for. */
48
+ readonly sent: number;
49
+ /** How many turns ahead of the applied one a peer may send: inputs wait this long. */
50
+ readonly lead: number;
51
+ /** Entries waiting for this peer's next packet. */
52
+ readonly pending: ReadonlyArray<Entry<I>>;
53
+ /** Packets for turns not yet applied, this peer's own among them. */
54
+ readonly received: ReadonlyArray<Packet<I>>;
55
+ };
56
+ /** An input applied: the turn, and the peer it came from. */
57
+ export type Applied<I> = {
58
+ readonly turn: number;
59
+ readonly peer: string;
60
+ readonly input: I;
61
+ };
62
+ /** The members a turn waits for, in the order their inputs apply. */
63
+ export declare const membersAt: <I>(state: Lockstep<I>, turn: number) => ReadonlyArray<string>;
64
+ /** The member who admits and drops others at `turn`: the one whose id sorts first. */
65
+ export declare const leaderAt: <I>(state: Lockstep<I>, turn: number) => string | undefined;
66
+ /** A session of one: this peer alone, from turn 0. */
67
+ export declare const make: <I>(self: string, lead?: number) => Lockstep<I>;
68
+ /**
69
+ * A newcomer's session, from the leader's welcome: the members and the turn it starts
70
+ * at, with whatever packets it heard while it waited.
71
+ */
72
+ export declare const join: <I>(self: string, welcome: {
73
+ readonly turn: number;
74
+ readonly members: ReadonlyArray<Member>;
75
+ readonly lead: number;
76
+ }, heard?: ReadonlyArray<Packet<I>>) => Lockstep<I>;
77
+ /** `input` waits for this peer's next packet. */
78
+ export declare const submit: <I>(state: Lockstep<I>, input: I) => Lockstep<I>;
79
+ /** The leader asks for `peer` to be admitted; anyone else, or a known peer, changes nothing. */
80
+ export declare const admit: <I>(state: Lockstep<I>, peer: string) => Lockstep<I>;
81
+ /**
82
+ * A packet arriving: kept until its turn applies. Ones for turns already applied, from
83
+ * peers not members then, and second copies are dropped.
84
+ */
85
+ export declare const receive: <I>(state: Lockstep<I>, packet: Packet<I>) => Lockstep<I>;
86
+ /**
87
+ * This peer's packet for its next turn, with what is pending, when it is a member then
88
+ * and not more than `lead` turns ahead; it keeps its own copy.
89
+ */
90
+ export declare const send: <I>(state: Lockstep<I>) => {
91
+ readonly state: Lockstep<I>;
92
+ readonly packet: Packet<I> | undefined;
93
+ };
94
+ /** Peers whose packet for the next turn has not arrived: what the session waits on. */
95
+ export declare const waitingOn: <I>(state: Lockstep<I>) => ReadonlyArray<string>;
96
+ /**
97
+ * Every turn whose packets have all arrived, applied in order: the new state, and the
98
+ * inputs to apply to the app, oldest first and in peer order within a turn.
99
+ */
100
+ export declare const advance: <I>(state: Lockstep<I>) => {
101
+ readonly state: Lockstep<I>;
102
+ readonly applied: ReadonlyArray<Applied<I>>;
103
+ };
104
+ /**
105
+ * Newcomers this peer, as leader, should welcome now: those who become members at the
106
+ * turn about to apply, once every turn before it has (the state is then theirs to start
107
+ * from). Each is due once: at the moment `before` (the previous turn) is passed.
108
+ */
109
+ export declare const welcomeDue: <I>(before: number, state: Lockstep<I>) => ReadonlyArray<string>;
110
+ /** This peer leaving: the turn it sent last, for the others to stop waiting after. */
111
+ export declare const leave: <I>(state: Lockstep<I>) => number;
112
+ /** `peer` stops being a member from `until`; its packets from then are dropped. */
113
+ export declare const remove: <I>(state: Lockstep<I>, peer: string, until: number) => Lockstep<I>;
114
+ //# sourceMappingURL=lockstep.d.ts.map