@wardic/core 1.0.0-rc.7 → 1.0.0-rc.8

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.
package/dist/Frame.d.ts CHANGED
@@ -16,6 +16,19 @@ export type Physics = Frame<number> & {
16
16
  export interface MultiPhysics extends Frame<Record<string, number>> {
17
17
  readonly velocity: Record<string, number>;
18
18
  }
19
+ /**
20
+ * `Machine.springValues`' own Frame: its records, and the same values and velocities by index, in
21
+ * `keys`' order. A sink that reads them every frame reads `positions` and `velocities`: storing a
22
+ * number under a key a frame costs where an index doesn't. A velocity record the run wasn't asked to
23
+ * write (`records: "value"`) holds its start. Rewritten each tick, as its records are.
24
+ */
25
+ export interface SpringValues extends MultiPhysics {
26
+ readonly keys: ReadonlyArray<string>;
27
+ readonly positions: ReadonlyArray<number>;
28
+ readonly velocities: ReadonlyArray<number>;
29
+ }
30
+ /** Whether a record Frame is `Machine.springValues`' own, with its keys by index (#663). */
31
+ export declare const isSpringValues: (frame: MultiPhysics) => frame is SpringValues;
19
32
  /** Whether `frame` carries a velocity: a spring's, a decay's. */
20
33
  export declare const isPhysics: (frame: Frame<number>) => frame is Physics;
21
34
  //# sourceMappingURL=Frame.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Frame.d.ts","sourceRoot":"","sources":["../src/Frame.ts"],"names":[],"mappings":"AAoBA,uEAAuE;AACvE,MAAM,WAAW,KAAK,CAAC,CAAC;IACtB,2BAA2B;IAC3B,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAA;IACjB,wDAAwD;IACxD,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;CACvB;AAED,uHAAuH;AACvH,MAAM,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG;IAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAA;AAEnE;;;GAGG;AACH,MAAM,WAAW,YAAa,SAAQ,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAC1C;AAED,iEAAiE;AACjE,eAAO,MAAM,SAAS,UAAW,KAAK,CAAC,MAAM,CAAC,KAAG,KAAK,IAAI,OAA0D,CAAA"}
1
+ {"version":3,"file":"Frame.d.ts","sourceRoot":"","sources":["../src/Frame.ts"],"names":[],"mappings":"AAoBA,uEAAuE;AACvE,MAAM,WAAW,KAAK,CAAC,CAAC;IACtB,2BAA2B;IAC3B,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAA;IACjB,wDAAwD;IACxD,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;CACvB;AAED,uHAAuH;AACvH,MAAM,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG;IAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAA;AAEnE;;;GAGG;AACH,MAAM,WAAW,YAAa,SAAQ,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAC1C;AAED;;;;;GAKG;AAEH,MAAM,WAAW,YAAa,SAAQ,YAAY;IAChD,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IACpC,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IACzC,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;CAC3C;AAED,4FAA4F;AAC5F,eAAO,MAAM,cAAc,UAAW,YAAY,KAAG,KAAK,IAAI,YAAyD,CAAA;AAEvH,iEAAiE;AACjE,eAAO,MAAM,SAAS,UAAW,KAAK,CAAC,MAAM,CAAC,KAAG,KAAK,IAAI,OAA0D,CAAA"}
package/dist/Frame.js CHANGED
@@ -17,6 +17,8 @@
17
17
  // `springValues`' does (ADR-0030, decision 11). Only the physics Primitives (`spring`, `decay`, `chase`)
18
18
  // emit `velocity`, the field `isPhysics` narrows on.
19
19
  import * as Predicate from "effect/Predicate";
20
+ /** Whether a record Frame is `Machine.springValues`' own, with its keys by index (#663). */
21
+ export const isSpringValues = (frame) => Predicate.hasProperty(frame, "positions");
20
22
  /** Whether `frame` carries a velocity: a spring's, a decay's. */
21
23
  export const isPhysics = (frame) => Predicate.isNumber(frame.velocity);
22
24
  //# sourceMappingURL=Frame.js.map
package/dist/Frame.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Frame.js","sourceRoot":"","sources":["../src/Frame.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,mGAAmG;AACnG,gGAAgG;AAChG,yGAAyG;AACzG,qDAAqD;AACrD,OAAO,KAAK,SAAS,MAAM,kBAAkB,CAAA;AAqB7C,iEAAiE;AACjE,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,KAAoB,EAAoB,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAE,KAAiB,CAAC,QAAQ,CAAC,CAAA"}
1
+ {"version":3,"file":"Frame.js","sourceRoot":"","sources":["../src/Frame.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,mGAAmG;AACnG,gGAAgG;AAChG,yGAAyG;AACzG,qDAAqD;AACrD,OAAO,KAAK,SAAS,MAAM,kBAAkB,CAAA;AAkC7C,4FAA4F;AAC5F,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAAmB,EAAyB,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,CAAA;AAEvH,iEAAiE;AACjE,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,KAAoB,EAAoB,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAE,KAAiB,CAAC,QAAQ,CAAC,CAAA"}
package/dist/Machine.d.ts CHANGED
@@ -33,7 +33,7 @@ import * as Stream from "effect/Stream";
33
33
  import type { Covariant } from "effect/Types";
34
34
  import * as Clock from "./Clock.ts";
35
35
  import * as Easing from "./Easing.ts";
36
- import type * as Frame from "./Frame.ts";
36
+ import * as Frame from "./Frame.ts";
37
37
  import * as FrameLoop from "./FrameLoop.ts";
38
38
  import * as InterpolatorRegistry from "./InterpolatorRegistry.ts";
39
39
  import type * as Point from "./Point.ts";
@@ -361,6 +361,11 @@ export declare const withSpan: {
361
361
  (name: string, options?: SpanOptions): <F extends Frame.Frame<unknown>>(self: Machine<F>) => Machine<F>;
362
362
  <F extends Frame.Frame<unknown>>(self: Machine<F>, name: string, options?: SpanOptions): Machine<F>;
363
363
  };
364
+ /**
365
+ * What `toStream` emits for a machine's Frame: a copy its consumer owns, and for `springValues`'
366
+ * Frame its records alone, since its arrays are its run's (#663).
367
+ */
368
+ export type Streamed<F> = F extends Frame.SpringValues ? Frame.MultiPhysics : F;
364
369
  /**
365
370
  * `self` as a `Stream` over the Clock's ticks: a frame a tick, through its settled frame when it settles.
366
371
  * Each subscriber gets a run of its own, and each frame is its to keep. For one value in an Effect
@@ -369,7 +374,7 @@ export declare const withSpan: {
369
374
  * @example
370
375
  * yield* Machine.toStream(fadeIn).pipe(Stream.runForEach((frame) => Effect.sync(() => draw(frame.value))))
371
376
  */
372
- export declare const toStream: <F extends Frame.Frame<unknown>>(self: Machine<F>) => Stream.Stream<F, never, Clock.Clock>;
377
+ export declare const toStream: <F extends Frame.Frame<unknown>>(self: Machine<F>) => Stream.Stream<Streamed<F>, never, Clock.Clock>;
373
378
  /**
374
379
  * Runs `self` on the Frame loop, from its next tick, handing each frame to `sink`. It succeeds with the
375
380
  * settled frame; one that never settles runs until it's interrupted, and interrupting removes it at
@@ -451,6 +456,12 @@ export interface InertiaValuesStart {
451
456
  export interface SpringValuesStart {
452
457
  readonly from?: Readonly<Record<string, number>>;
453
458
  readonly velocity?: Readonly<Record<string, number>>;
459
+ /**
460
+ * Which of its Frame's records the run writes each tick: both (the default), or `"value"` alone. A
461
+ * sink that reads its velocities by index (`velocities`) asks for `"value"`, and the run skips
462
+ * storing a number under each key a frame. Its `velocity` record then holds its start.
463
+ */
464
+ readonly records?: "value";
454
465
  }
455
466
  /**
456
467
  * Inertia on a bag of numbers, as a transition's `type: "inertia"`: one glide per key from `from`, at
@@ -479,12 +490,15 @@ export declare const inertiaVec: (initial: Point.Point, velocity: Point.Point, o
479
490
  *
480
491
  * Each frame carries a per-key `velocity` beside `value`; a settled key reports 0. Seeding `from` and
481
492
  * `velocity` from a frame of the run before keeps its velocity when the target changes. Each frame is
482
- * rewritten every tick: copy one, or its records, to keep it; the settled frame is stable.
493
+ * rewritten every tick: copy one, or its records, to keep it; the settled frame is stable. Its
494
+ * `positions` and `velocities` are the same values by index, in `keys`' order, on the run's own
495
+ * Frame: a sink that reads every frame reads those, and `start.records` stops the run writing a
496
+ * record it doesn't read. `toStream`'s copies carry the records alone.
483
497
  *
484
498
  * @example
485
499
  * const card = Machine.springValues({ x: 120, y: 40, scale: 1.1 }, Spring.stiff, { from: { x: 0, y: 0, scale: 1 } })
486
500
  */
487
- export declare const springValues: (target: Readonly<Record<string, number>>, options?: SpringOptions, start?: SpringValuesStart) => Machine<Frame.MultiPhysics>;
501
+ export declare const springValues: (target: Readonly<Record<string, number>>, options?: SpringOptions, start?: SpringValuesStart) => Machine<Frame.SpringValues>;
488
502
  /**
489
503
  * A tween that repeats: `repeat` plays it again, `repeatType` turns every other play (`"reverse"`,
490
504
  * `"mirror"`), and `reverse` swaps its ends. `delay` holds once, before the first play, as Motion's
@@ -1 +1 @@
1
- {"version":3,"file":"Machine.d.ts","sourceRoot":"","sources":["../src/Machine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Machine.d.ts","sourceRoot":"","sources":["../src/Machine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AASH,OAAO,KAAK,GAAG,MAAM,cAAc,CAAA;AAEnC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAAY,KAAK,OAAO,EAAE,MAAM,iBAAiB,CAAA;AACxD,OAAO,KAAK,WAAW,MAAM,oBAAoB,CAAA;AAEjD,OAAO,EAAE,KAAK,QAAQ,EAAiB,MAAM,iBAAiB,CAAA;AAI9D,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAE7C,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AACnC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AACnC,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAC3C,OAAO,KAAK,oBAAoB,MAAM,2BAA2B,CAAA;AAwBjE,OAAO,KAAK,KAAK,KAAK,MAAM,YAAY,CAAA;AAGxC,OAAO,KAAK,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAChD,OAAO,KAAK,KAAK,MAAM,MAAM,aAAa,CAAA;AAM1C,QAAA,MAAM,MAAM,0BAA0B,CAAA;AAEtC;;;GAGG;AAEH,MAAM,WAAW,OAAO,CAAC,GAAG,CAAC,CAAC,SAAS,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAE,SAAQ,QAAQ,EAAE,WAAW,CAAC,WAAW;IACpG,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC,CAAA;KAAE,CAAA;IAChD;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,KAAK,CAAC,CAAA;IACvC;;;OAGG;IACH,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,8FAA8F;IAE9F,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAA;CACpB;AAED,oFAAoF;AACpF,MAAM,WAAW,IAAI;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;CACvD;AAED,uDAAuD;AACvD,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;CACxD;AAaD;;;;;;;;;;;;;;;;;GAiBG;AAEH,eAAO,MAAM,IAAI,GAAI,CAAC,SAAS,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU;IAC3D,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,KAAK,CAAC,CAAA;IACvC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAA;CACpB,KAAG,OAAO,CAAC,CAAC,CAAgD,CAAA;AAE7D,mEAAmE;AACnE,eAAO,MAAM,SAAS,MAAO,OAAO,KAAG,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAqC,CAAA;AAE7G;;;;GAIG;AASH,eAAO,MAAM,MAAM,MAAM,CAAA;AAWzB,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAEnD;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,qCAAqC;IAErC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B;;;OAGG;IAEH,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,UAAU,CAAA;IACjC;;;OAGG;IAEH,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CACxB;AAED;;;;GAIG;AAEH,MAAM,WAAW,gBAAiB,SAAQ,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,EAAE,SAAS;IAC7E,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;IACpE;;;;OAIG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;CACvC;AAED;;;GAGG;AACH,OAAO,EAAE,KAAK,aAAa,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAQxE;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC5B,kCAAkC;IAClC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,wDAAwD;IACxD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,gFAAgF;IAChF,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;IACzB,uDAAuD;IACvD,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,0DAA0D;IAC1D,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B;;;OAGG;IAEH,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,sHAAsH;IAEtH,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,qDAAqD;IACrD,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB;;;;OAIG;IAEH,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B;;;OAGG;IAEH,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB;;;OAGG;IAEH,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAA;CACjC;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,4DAA4D;IAC5D,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B,yDAAyD;IACzD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,qDAAqD;IACrD,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CACxB;AAED;;;;;GAKG;AAEH,MAAM,WAAW,cAAc;IAC7B,uHAAuH;IACvH,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,qGAAqG;IACrG,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;IAC9B,6DAA6D;IAC7D,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAA;IACjC,+CAA+C;IAC/C,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAA;IAC/B,4GAA4G;IAC5G,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,gEAAgE;IAChE,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,qGAAqG;IACrG,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAA;IACjD,0EAA0E;IAC1E,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,sEAAsE;AACtE,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,oGAAoG;AACpG,MAAM,WAAW,iBAAkB,SAAQ,IAAI,CAAC,cAAc,EAAE,KAAK,GAAG,KAAK,CAAC;IAC5E,QAAQ,CAAC,CAAC,CAAC,EAAE,YAAY,CAAA;IACzB,QAAQ,CAAC,CAAC,CAAC,EAAE,YAAY,CAAA;CAC1B;AAED,oFAAoF;AACpF,MAAM,WAAW,SAAS;IACxB;;;;OAIG;IAEH,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB;;;OAGG;IAEH,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B;;;;;;;OAOG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,CAAA;IACnD,6GAA6G;IAE7G,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAC3B;AAED,yDAAyD;AACzD,MAAM,WAAW,cAAe,SAAQ,YAAY,EAAE,SAAS;CAAG;AAOlE;;;;;GAKG;AAEH,eAAO,MAAM,GAAG,EAAE;IAChB,CAAC,CAAC,SAAS,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,SAAS,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAA;IACtH,CAAC,CAAC,SAAS,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,SAAS,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;CAYnH,CAAA;AAED;;;;;;;;;;GAUG;AAKH,eAAO,MAAM,SAAS,GAAI,CAAC,SAAS,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,GAAG,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAG,OAAO,CAAC,CAAC,CAiCrH,CAAA;AAED;;;;;;GAMG;AAEH,eAAO,MAAM,MAAM,EAAE;IACnB,CAAC,CAAC,SAAS,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;IACxH,CAAC,CAAC,SAAS,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,SAAS,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;CAKrH,CAAA;AAED;;;;GAIG;AAEH,eAAO,MAAM,OAAO,GAAI,CAAC,SAAS,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,OAAO,CAAC,CAAC,CAAC,KAAG,OAAO,CAAC,CAAC,CAkBhF,CAAA;AAEJ;;;;;;;GAOG;AAKH,eAAO,MAAM,KAAK,EAAE;IAClB,CAAC,OAAO,EAAE,MAAM,GAAG,CAAC,CAAC,SAAS,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAA;IACnF,CAAC,CAAC,SAAS,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;CA4BhF,CAAA;AAED;;;;;;GAMG;AAIH,eAAO,MAAM,SAAS,EAAE;IACtB,CAAC,OAAO,EAAE,MAAM,GAAG,CAAC,CAAC,SAAS,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAA;IACnF,CAAC,CAAC,SAAS,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;CAkChF,CAAA;AAED,uDAAuD;AAGvD,eAAO,MAAM,WAAW,QAAS,CAAA;AAEjC;;;;;;;;;GASG;AAKH,eAAO,MAAM,OAAO,EAAE;IACpB,CAAC,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAA;IACvF,CAAC,CAAC,SAAS,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;CAoCpF,CAAA;AAED,+FAA+F;AAE/F,eAAO,MAAM,YAAY,KAAK,CAAA;AAE9B;;;;;;GAMG;AAEH,eAAO,MAAM,UAAU,GAAI,CAAC,SAAS,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,OAAO,CAAC,CAAC,CAAC,KAAG,MAa7E,CAAA;AAiBD,sIAAsI;AAEtI,eAAO,MAAM,OAAO,EAAE;IACpB,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,CAAC,SAAS,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAA;IAC/E,CAAC,CAAC,SAAS,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;CAa5E,CAAA;AAED;;;;;;GAMG;AAGH,eAAO,MAAM,QAAQ,EAAE;IACrB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,CAAC,CAAC,SAAS,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAA;IACvG,CAAC,CAAC,SAAS,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;CAKpG,CAAA;AA2BD;;;GAGG;AACH,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI,CAAC,SAAS,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,GAAG,CAAC,CAAA;AAE/E;;;;;;;GAOG;AAMH,eAAO,MAAM,QAAQ,GAAI,CAAC,SAAS,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,OAAO,CAAC,CAAC,CAAC,KAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAazB,CAAA;AAEhG;;;;;;;;;;;GAWG;AAMH,eAAO,MAAM,GAAG,EAAE;IAChB,CAAC,CAAC,SAAS,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,SAAS,CAAC,CAAA;IAC7H,CAAC,CAAC,SAAS,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,EAC7B,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EACvB,OAAO,EAAE,UAAU,GAClB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,SAAS,CAAC,UAAU,EAAE,KAAK,EAAE,SAAS,CAAC,SAAS,CAAC,CAAA;IAC5F,CAAC,CAAC,SAAS,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,SAAS,CAAC,CAAA;IACzH,CAAC,CAAC,SAAS,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,EAC7B,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,EAChB,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EACvB,OAAO,EAAE,UAAU,GAClB,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,SAAS,CAAC,UAAU,EAAE,KAAK,EAAE,SAAS,CAAC,SAAS,CAAC,CAAA;CAMvE,CAAA;AAED,4FAA4F;AAE5F,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC,SAAS,CAAA;CACxC;AA0BD;;;;;GAKG;AACH,eAAO,MAAM,KAAK,SAAU,MAAM,MAAM,MAAM,WAAW,YAAY,KAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAGlG,CAAA;AAqFD;;;;;;GAMG;AACH,eAAO,MAAM,MAAM,WAAY,MAAM,YAAW,aAAa,KAAgB,OAAO,CAAC,KAAK,CAAC,OAAO,CAOjG,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,KAAK,cAAe,MAAM,MAAM,YAAW,aAAa,KAAgB,OAAO,CAAC,KAAK,CAAC,OAAO,CAOzG,CAAA;AAED;;;;;;GAMG;AAEH,eAAO,MAAM,KAAK,YAAa,MAAM,YAAY,MAAM,YAAW,YAAY,KAAgB,OAAO,CAAC,KAAK,CAAC,OAAO,CAelH,CAAA;AAED,iFAAiF;AACjF,eAAO,MAAM,QAAQ,YAAa,KAAK,CAAC,KAAK,YAAY,KAAK,CAAC,KAAK,WAAW,YAAY,KAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAoB7H,CAAA;AAED;;;;;;;;GAQG;AAEH,eAAO,MAAM,OAAO,YAAa,MAAM,YAAY,MAAM,YAAW,cAAc,KAAgB,OAAO,CAAC,KAAK,CAAC,OAAO,CAcnH,CAAA;AAEJ,4HAA4H;AAC5H,MAAM,WAAW,oBAAqB,SAAQ,cAAc;IAC1D,6EAA6E;IAC7E,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B,0EAA0E;IAC1E,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,sFAAsF;AAGtF,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;CACrD;AAED,mFAAmF;AAEnF,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IAChD,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IACpD;;;;OAIG;IAEH,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAC3B;AAQD;;;;;;;;;GASG;AAEH,eAAO,MAAM,aAAa,SAClB,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,YAC7B,oBAAoB,UACtB,kBAAkB,KACxB,OAAO,CAAC,KAAK,CAAC,YAAY,CAuC5B,CAAA;AAED,6EAA6E;AAC7E,MAAM,WAAW,YAAa,SAAQ,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC;IAC5D,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAA;CAC/B;AAED;;;GAGG;AAEH,eAAO,MAAM,UAAU,YAAa,KAAK,CAAC,KAAK,YAAY,KAAK,CAAC,KAAK,YAAW,iBAAiB,KAAgB,OAAO,CAAC,YAAY,CAmBlI,CAAA;AAEJ;;;;;;;;;;;;;;GAcG;AAGH,eAAO,MAAM,YAAY,WACf,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,YAC/B,aAAa,UACf,iBAAiB,KACvB,OAAO,CAAC,KAAK,CAAC,YAAY,CA6I5B,CAAA;AAmED;;;;;;;;GAQG;AAKH,eAAO,MAAM,OAAO,SAAU,MAAM,MAAM,MAAM,YAAW,cAAc,KAAgB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAcnH,CAAA;AAyFD;;;;;;;;;GASG;AAGH,eAAO,MAAM,SAAS,UAAW,aAAa,CAAC,MAAM,CAAC,YAAW,gBAAgB,KAAgB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CA6B3H,CAAA;AAwDD;;;;;;;;;GASG;AAIH,eAAO,MAAM,aAAa,SAClB,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,MACzB,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,YAClB,cAAc,KACtB,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,oBAAoB,CAAC,oBAAoB,CAOhG,CAAA;AAEN;;;;;;;;;;GAUG;AAIH,eAAO,MAAM,WAAW,SAChB,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,MACzB,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,YAClB,aAAa,KACrB,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,oBAAoB,CAAC,oBAAoB,CAShG,CAAA;AAyCN;;;;;;GAMG;AAKH,eAAO,MAAM,eAAe,EAAE,CAC5B,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,EAC/D,OAAO,CAAC,EAAE,gBAAgB,KACvB,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,oBAAoB,CAAC,oBAAoB,CA0CvG,CAAA"}
package/dist/Machine.js CHANGED
@@ -46,6 +46,7 @@ import * as Stream from "effect/Stream";
46
46
  import * as UndefinedOr from "effect/UndefinedOr";
47
47
  import * as Clock from "./Clock.js";
48
48
  import * as Easing from "./Easing.js";
49
+ import * as Frame from "./Frame.js";
49
50
  import * as FrameLoop from "./FrameLoop.js";
50
51
  import * as InterpolatorRegistry from "./InterpolatorRegistry.js";
51
52
  import { sourceOf } from "./internal/driven.js";
@@ -432,8 +433,12 @@ const isMultiPhysics = (frame) => Predicate.isObject(frame.velocity);
432
433
  const owned = (frame) => {
433
434
  if (!Predicate.isObject(frame.value))
434
435
  return frame;
435
- if (isMultiPhysics(frame))
436
+ if (isMultiPhysics(frame)) {
437
+ // A `springValues` Frame's arrays are its run's, rewritten each tick: its copy is its records alone (#663).
438
+ if (Frame.isSpringValues(frame))
439
+ return { value: { ...frame.value }, velocity: { ...frame.velocity }, done: frame.done };
436
440
  return { ...frame, value: { ...frame.value }, velocity: { ...frame.velocity } };
441
+ }
437
442
  return { ...frame, value: { ...frame.value } };
438
443
  };
439
444
  /**
@@ -771,14 +776,19 @@ export const inertiaVec = (initial, velocity, options = NO_OPTIONS) => make({
771
776
  *
772
777
  * Each frame carries a per-key `velocity` beside `value`; a settled key reports 0. Seeding `from` and
773
778
  * `velocity` from a frame of the run before keeps its velocity when the target changes. Each frame is
774
- * rewritten every tick: copy one, or its records, to keep it; the settled frame is stable.
779
+ * rewritten every tick: copy one, or its records, to keep it; the settled frame is stable. Its
780
+ * `positions` and `velocities` are the same values by index, in `keys`' order, on the run's own
781
+ * Frame: a sink that reads every frame reads those, and `start.records` stops the run writing a
782
+ * record it doesn't read. `toStream`'s copies carry the records alone.
775
783
  *
776
784
  * @example
777
785
  * const card = Machine.springValues({ x: 120, y: 40, scale: 1.1 }, Spring.stiff, { from: { x: 0, y: 0, scale: 1 } })
778
786
  */
779
- // Each run steps in place (ADR-0030, decision 11); `toStream` copies each Frame it emits.
787
+ // Each run steps in place (ADR-0030, decision 11); `toStream` copies each Frame it emits, its records
788
+ // alone. A run asked for its values alone skips its velocity record (ADR-0030, *Amendment (#663)*).
780
789
  export const springValues = (target, options = NO_OPTIONS, start = NO_START) => {
781
- const { from = NO_START_VALUES, velocity = NO_START_VALUES } = start;
790
+ const { from = NO_START_VALUES, velocity = NO_START_VALUES, records } = start;
791
+ const writesVelocity = Predicate.isUndefined(records);
782
792
  const keys = Rec.keys(target);
783
793
  /** A key's start: its own value, else the options', else 0. */
784
794
  const startOf = (values, key, fallback) => Option.fromNullishOr(values[key]).pipe(Option.orElse(() => Option.fromNullishOr(fallback)), Option.getOrElse(() => 0));
@@ -803,7 +813,7 @@ export const springValues = (target, options = NO_OPTIONS, start = NO_START) =>
803
813
  record[key] = xs[i];
804
814
  return record;
805
815
  });
806
- const frame = { value: recordOf(positions), velocity: recordOf(velocities), done: false };
816
+ const frame = { value: recordOf(positions), velocity: recordOf(velocities), done: false, keys, positions, velocities };
807
817
  const frameValue = frame.value;
808
818
  const frameVelocity = frame.velocity;
809
819
  const delay = spring.delay;
@@ -812,40 +822,78 @@ export const springValues = (target, options = NO_OPTIONS, start = NO_START) =>
812
822
  // spring's fields read as this closure's locals. Each key steps by `Spring.step`'s exact
813
823
  // step (#370), written out in place: called per key, `Spring.step` returns a new state and
814
824
  // result. The keys share one matrix, worked out once a frame. One spring per key gives the
815
- // same Frames (machines.test.ts).
816
- const step = (dt) => {
817
- const clamped = Math.min(dt, MAX_DT);
818
- let done = true;
819
- for (let i = 0; i < count; i++) {
820
- const goal = targets[i];
821
- const time = elapsed[i] + clamped;
822
- let position = positions[i];
823
- let speed = velocities[i];
824
- // Only the part of this tick past the delay moves it.
825
- const simDt = Math.max(0, Math.min(clamped, time - delay));
826
- if (simDt > 0) {
827
- const m = Spring.matrixFor(spring, simDt);
828
- const d = position - goal;
829
- position = goal + m.dd * d + m.dv * speed;
830
- speed = m.vd * d + m.vv * speed;
831
- }
832
- const settled = simDt > 0 && Math.abs(speed) <= restSpeeds[i] && Math.abs(position - goal) <= restDeltas[i];
833
- if (settled) {
834
- position = goal;
835
- speed = 0;
836
- }
837
- if (!settled)
838
- done = false;
839
- positions[i] = position;
840
- velocities[i] = speed;
841
- elapsed[i] = time;
842
- const key = keys[i];
843
- frameValue[key] = position;
844
- frameVelocity[key] = speed;
825
+ // same Frames (machines.test.ts). A run that writes its velocity record steps by the loop as it
826
+ // always was; one that doesn't, by the same loop less that store (#663). One is chosen per run:
827
+ // a choice per key cost the default path about 4% in V8, the records written after the loop
828
+ // 21% in JSC, and the velocity record written after it 5% in Chromium (ADR-0030, *Amendment (#663)*).
829
+ const stepOf = () => {
830
+ if (Bool.not(writesVelocity)) {
831
+ return (dt) => {
832
+ const clamped = Math.min(dt, MAX_DT);
833
+ let done = true;
834
+ for (let i = 0; i < count; i++) {
835
+ const goal = targets[i];
836
+ const time = elapsed[i] + clamped;
837
+ let position = positions[i];
838
+ let speed = velocities[i];
839
+ const simDt = Math.max(0, Math.min(clamped, time - delay));
840
+ if (simDt > 0) {
841
+ const m = Spring.matrixFor(spring, simDt);
842
+ const d = position - goal;
843
+ position = goal + m.dd * d + m.dv * speed;
844
+ speed = m.vd * d + m.vv * speed;
845
+ }
846
+ const settled = simDt > 0 && Math.abs(speed) <= restSpeeds[i] && Math.abs(position - goal) <= restDeltas[i];
847
+ if (settled) {
848
+ position = goal;
849
+ speed = 0;
850
+ }
851
+ if (!settled)
852
+ done = false;
853
+ positions[i] = position;
854
+ velocities[i] = speed;
855
+ elapsed[i] = time;
856
+ frameValue[keys[i]] = position;
857
+ }
858
+ frame.done = done;
859
+ return frame;
860
+ };
845
861
  }
846
- frame.done = done;
847
- return frame;
862
+ return (dt) => {
863
+ const clamped = Math.min(dt, MAX_DT);
864
+ let done = true;
865
+ for (let i = 0; i < count; i++) {
866
+ const goal = targets[i];
867
+ const time = elapsed[i] + clamped;
868
+ let position = positions[i];
869
+ let speed = velocities[i];
870
+ // Only the part of this tick past the delay moves it.
871
+ const simDt = Math.max(0, Math.min(clamped, time - delay));
872
+ if (simDt > 0) {
873
+ const m = Spring.matrixFor(spring, simDt);
874
+ const d = position - goal;
875
+ position = goal + m.dd * d + m.dv * speed;
876
+ speed = m.vd * d + m.vv * speed;
877
+ }
878
+ const settled = simDt > 0 && Math.abs(speed) <= restSpeeds[i] && Math.abs(position - goal) <= restDeltas[i];
879
+ if (settled) {
880
+ position = goal;
881
+ speed = 0;
882
+ }
883
+ if (!settled)
884
+ done = false;
885
+ positions[i] = position;
886
+ velocities[i] = speed;
887
+ elapsed[i] = time;
888
+ const key = keys[i];
889
+ frameValue[key] = position;
890
+ frameVelocity[key] = speed;
891
+ }
892
+ frame.done = done;
893
+ return frame;
894
+ };
848
895
  };
896
+ const step = stepOf();
849
897
  if (Bool.not(Spring.endsOnTime(spring)))
850
898
  return step;
851
899
  // A spring that ends at its duration (#359) starts each key from rest, as Motion's, never rests
@@ -856,7 +904,8 @@ export const springValues = (target, options = NO_OPTIONS, start = NO_START) =>
856
904
  velocities[i] = 0;
857
905
  restDeltas[i] = -1;
858
906
  restSpeeds[i] = -1;
859
- frameVelocity[keys[i]] = 0;
907
+ if (writesVelocity)
908
+ frameVelocity[keys[i]] = 0;
860
909
  }
861
910
  const duration = spring.duration;
862
911
  let time = 0;
@@ -871,7 +920,8 @@ export const springValues = (target, options = NO_OPTIONS, start = NO_START) =>
871
920
  velocities[i] = 0;
872
921
  const key = keys[i];
873
922
  frameValue[key] = goal;
874
- frameVelocity[key] = 0;
923
+ if (writesVelocity)
924
+ frameVelocity[key] = 0;
875
925
  }
876
926
  frame.done = true;
877
927
  return frame;
@@ -1133,7 +1183,9 @@ Effect.map(blendersFor(from, to), (blenders) => withSpan(map(animate(0, 1, optio
1133
1183
  // 16c61222c4166bbef5ff6ab0051192faa79fa8c8); its default thresholds a move of 100's (#344).
1134
1184
  export const springBlend = (from, to, options = NO_OPTIONS) =>
1135
1185
  // Per leg (#460): the combinators called data-first.
1136
- Effect.map(blendersFor(from, to), (blenders) => withSpan(map(springValues({ progress: 100 }, options, { from: { progress: 0 }, velocity: { progress: 0 } }), (frame) => blendAt(blenders, UndefinedOr.getOrThrow(frame.value.progress) / 100, frame.done)), "wardic.springBlend", { attributes: { keys: blenders.length } }));
1186
+ Effect.map(blendersFor(from, to), (blenders) => withSpan(
1187
+ // Its one key read by index (#663).
1188
+ map(springValues({ progress: 100 }, options, { from: { progress: 0 }, velocity: { progress: 0 }, records: "value" }), (frame) => blendAt(blenders, frame.positions[0] / 100, frame.done)), "wardic.springBlend", { attributes: { keys: blenders.length } }));
1137
1189
  /** No blenders: a Track whose passes never read its stops from last to first. */
1138
1190
  const NO_BLENDERS = [];
1139
1191
  /** `key`'s blender for each Interval through `stops` (two or more). */
@@ -1 +1 @@
1
- {"version":3,"file":"Machine.js","sourceRoot":"","sources":["../src/Machine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Machine.js","sourceRoot":"","sources":["../src/Machine.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import * as Inspectable from "effect/Inspectable";
2
2
  import { type Pipeable } from "effect/Pipeable";
3
- import type * as Frame from "./Frame.ts";
3
+ import * as Frame from "./Frame.ts";
4
4
  import * as Machine from "./Machine.ts";
5
5
  declare const TypeId = "~@wardic/core/Playback";
6
6
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"Playback.d.ts","sourceRoot":"","sources":["../src/Playback.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,WAAW,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,KAAK,QAAQ,EAAiB,MAAM,iBAAiB,CAAA;AAG9D,OAAO,KAAK,KAAK,KAAK,MAAM,YAAY,CAAA;AACxC,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AAIvC,QAAA,MAAM,MAAM,2BAA2B,CAAA;AAEvC;;;;GAIG;AAEH,MAAM,WAAW,QAAS,SAAQ,QAAQ,EAAE,WAAW,CAAC,WAAW;IACjE,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,MAAM,CAAA;IAChC,kIAAkI;IAClI,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,sFAAsF;IACtF,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,gDAAgD;IAChD,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;CACzB;AAoBD,2CAA2C;AAC3C,eAAO,MAAM,IAAI,QAAO,QAMvB,CAAA;AAED,iCAAiC;AACjC,eAAO,MAAM,UAAU,MAAO,OAAO,KAAG,CAAC,IAAI,QAA4C,CAAA;AAwBzF;;;;;;;;;;;;;GAaG;AAIH,eAAO,MAAM,KAAK,EAAE;IAClB,CAAC,IAAI,EAAE,QAAQ,GAAG,CAAC,CAAC,SAAS,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;IAClG,CAAC,CAAC,SAAS,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;CA8C/F,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,IAAI,EAAE;IACjB,CAAC,IAAI,EAAE,MAAM,GAAG,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAA;IACxC,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;CAIpC,CAAA;AAEF;;;;;;GAMG;AAEH,eAAO,MAAM,QAAQ,EAAE;IACrB,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAA;IACzC,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CAIrC,CAAA;AAEF,+DAA+D;AAE/D,eAAO,MAAM,KAAK,SAAU,QAAQ,KAAG,IAGtC,CAAA;AAED,2EAA2E;AAE3E,eAAO,MAAM,IAAI,SAAU,QAAQ,KAAG,IAGrC,CAAA"}
1
+ {"version":3,"file":"Playback.d.ts","sourceRoot":"","sources":["../src/Playback.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,WAAW,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,KAAK,QAAQ,EAAiB,MAAM,iBAAiB,CAAA;AAG9D,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AACnC,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AAIvC,QAAA,MAAM,MAAM,2BAA2B,CAAA;AAEvC;;;;GAIG;AAEH,MAAM,WAAW,QAAS,SAAQ,QAAQ,EAAE,WAAW,CAAC,WAAW;IACjE,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,MAAM,CAAA;IAChC,kIAAkI;IAClI,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,sFAAsF;IACtF,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,gDAAgD;IAChD,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;CACzB;AAoBD,2CAA2C;AAC3C,eAAO,MAAM,IAAI,QAAO,QAMvB,CAAA;AAED,iCAAiC;AACjC,eAAO,MAAM,UAAU,MAAO,OAAO,KAAG,CAAC,IAAI,QAA4C,CAAA;AAgCzF;;;;;;;;;;;;;GAaG;AAIH,eAAO,MAAM,KAAK,EAAE;IAClB,CAAC,IAAI,EAAE,QAAQ,GAAG,CAAC,CAAC,SAAS,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;IAClG,CAAC,CAAC,SAAS,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;CA8C/F,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,IAAI,EAAE;IACjB,CAAC,IAAI,EAAE,MAAM,GAAG,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAA;IACxC,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;CAIpC,CAAA;AAEF;;;;;;GAMG;AAEH,eAAO,MAAM,QAAQ,EAAE;IACrB,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAA;IACzC,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CAIrC,CAAA;AAEF,+DAA+D;AAE/D,eAAO,MAAM,KAAK,SAAU,QAAQ,KAAG,IAGtC,CAAA;AAED,2EAA2E;AAE3E,eAAO,MAAM,IAAI,SAAU,QAAQ,KAAG,IAGrC,CAAA"}
package/dist/Playback.js CHANGED
@@ -15,11 +15,13 @@
15
15
  // #433, Motion's playback controls. Machines step by `dt` (a design principle), so a time is reached by
16
16
  // starting a machine partway through (`Machine.startAt`), as an Appear animation's Handoff is
17
17
  // (ADR-0044). Tier 2 (ADR-0008): for binding authors.
18
+ import * as Arr from "effect/Array";
18
19
  import { constant } from "effect/Function";
19
20
  import * as Inspectable from "effect/Inspectable";
20
21
  import { pipeArguments } from "effect/Pipeable";
21
22
  import * as Predicate from "effect/Predicate";
22
23
  import * as Rec from "effect/Record";
24
+ import * as Frame from "./Frame.js";
23
25
  import * as Machine from "./Machine.js";
24
26
  import { measuredAs } from "./internal/driven.js";
25
27
  import { dual } from "./internal/dual.js";
@@ -58,8 +60,15 @@ const heldOf = (frame) => {
58
60
  const velocity = frame.velocity;
59
61
  if (Predicate.isNumber(velocity))
60
62
  return { ...frame, velocity: 0 };
61
- if (Predicate.isObject(velocity))
62
- return { ...frame, velocity: Rec.map(velocity, ZERO) };
63
+ if (Predicate.isObject(velocity)) {
64
+ const held = { ...frame, velocity: Rec.map(velocity, ZERO) };
65
+ // `springValues`' by index too (#663), its arrays its own: the run rewrites its own when it resumes.
66
+ if (Frame.isSpringValues(held)) {
67
+ const spring = held;
68
+ return { ...held, positions: Arr.copy(spring.positions), velocities: Arr.map(spring.velocities, ZERO) };
69
+ }
70
+ return held;
71
+ }
63
72
  return frame;
64
73
  };
65
74
  const ZERO = constant(0);
@@ -1 +1 @@
1
- {"version":3,"file":"Playback.js","sourceRoot":"","sources":["../src/Playback.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Playback.js","sourceRoot":"","sources":["../src/Playback.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wardic/core",
3
- "version": "1.0.0-rc.7",
3
+ "version": "1.0.0-rc.8",
4
4
  "description": "Wardic's animation engine on Effect: springs, tweens, keyframes, variants, the projection geometry, and the services an environment provides.",
5
5
  "keywords": [
6
6
  "animation",
package/src/Frame.ts CHANGED
@@ -37,5 +37,21 @@ export interface MultiPhysics extends Frame<Record<string, number>> {
37
37
  readonly velocity: Record<string, number>
38
38
  }
39
39
 
40
+ /**
41
+ * `Machine.springValues`' own Frame: its records, and the same values and velocities by index, in
42
+ * `keys`' order. A sink that reads them every frame reads `positions` and `velocities`: storing a
43
+ * number under a key a frame costs where an index doesn't. A velocity record the run wasn't asked to
44
+ * write (`records: "value"`) holds its start. Rewritten each tick, as its records are.
45
+ */
46
+ // #663. The arrays are the run's own state: `Machine.toStream`'s copies carry the records alone.
47
+ export interface SpringValues extends MultiPhysics {
48
+ readonly keys: ReadonlyArray<string>
49
+ readonly positions: ReadonlyArray<number>
50
+ readonly velocities: ReadonlyArray<number>
51
+ }
52
+
53
+ /** Whether a record Frame is `Machine.springValues`' own, with its keys by index (#663). */
54
+ export const isSpringValues = (frame: MultiPhysics): frame is SpringValues => Predicate.hasProperty(frame, "positions")
55
+
40
56
  /** Whether `frame` carries a velocity: a spring's, a decay's. */
41
57
  export const isPhysics = (frame: Frame<number>): frame is Physics => Predicate.isNumber((frame as Physics).velocity)
package/src/Machine.ts CHANGED
@@ -47,7 +47,7 @@ import type { Covariant } from "effect/Types"
47
47
  import * as UndefinedOr from "effect/UndefinedOr"
48
48
  import * as Clock from "./Clock.ts"
49
49
  import * as Easing from "./Easing.ts"
50
- import type * as Frame from "./Frame.ts"
50
+ import * as Frame from "./Frame.ts"
51
51
  import * as FrameLoop from "./FrameLoop.ts"
52
52
  import * as InterpolatorRegistry from "./InterpolatorRegistry.ts"
53
53
  import { sourceOf } from "./internal/driven.ts"
@@ -734,10 +734,20 @@ const isMultiPhysics = (frame: Frame.Frame<unknown>): frame is Frame.MultiPhysic
734
734
  */
735
735
  const owned = <F extends Frame.Frame<unknown>>(frame: F): F => {
736
736
  if (!Predicate.isObject(frame.value)) return frame
737
- if (isMultiPhysics(frame)) return { ...frame, value: { ...frame.value }, velocity: { ...frame.velocity } }
737
+ if (isMultiPhysics(frame)) {
738
+ // A `springValues` Frame's arrays are its run's, rewritten each tick: its copy is its records alone (#663).
739
+ if (Frame.isSpringValues(frame)) return { value: { ...frame.value }, velocity: { ...frame.velocity }, done: frame.done } as unknown as F
740
+ return { ...frame, value: { ...frame.value }, velocity: { ...frame.velocity } }
741
+ }
738
742
  return { ...frame, value: { ...frame.value } }
739
743
  }
740
744
 
745
+ /**
746
+ * What `toStream` emits for a machine's Frame: a copy its consumer owns, and for `springValues`'
747
+ * Frame its records alone, since its arrays are its run's (#663).
748
+ */
749
+ export type Streamed<F> = F extends Frame.SpringValues ? Frame.MultiPhysics : F
750
+
741
751
  /**
742
752
  * `self` as a `Stream` over the Clock's ticks: a frame a tick, through its settled frame when it settles.
743
753
  * Each subscriber gets a run of its own, and each frame is its to keep. For one value in an Effect
@@ -751,14 +761,14 @@ const owned = <F extends Frame.Frame<unknown>>(frame: F): F => {
751
761
  // emitted, so a consumer that collects Frames never sees one rewritten (ADR-0030, decision 11). A
752
762
  // Stream, not a Channel: measured 2026-11-02, Stream's own layers were ~5% of a pull of the Clock's
753
763
  // ticks, and elements never use `toStream`, so a Channel would gain nothing measurable (#618, M5).
754
- export const toStream = <F extends Frame.Frame<unknown>>(self: Machine<F>): Stream.Stream<F, never, Clock.Clock> =>
764
+ export const toStream = <F extends Frame.Frame<unknown>>(self: Machine<F>): Stream.Stream<Streamed<F>, never, Clock.Clock> =>
755
765
  Stream.unwrap(
756
766
  Effect.gen(function* () {
757
767
  const clock = yield* Clock.Clock
758
768
  yield* Effect.logDebug(`${self.span.name}: subscribe`)
759
769
  const step = self.start()
760
770
  // Per frame (ADR-0025): the step, then the copy, plain calls in one closure built here.
761
- const frames = clock.ticks.pipe(Stream.map((dt: number) => owned(step(dt))))
771
+ const frames = clock.ticks.pipe(Stream.map((dt: number) => owned(step(dt)) as Streamed<F>))
762
772
  return Bool.match(self.settles, {
763
773
  onTrue: () => frames.pipe(Stream.takeUntil(isSettled)),
764
774
  onFalse: () => frames,
@@ -1053,6 +1063,13 @@ export interface InertiaValuesStart {
1053
1063
  export interface SpringValuesStart {
1054
1064
  readonly from?: Readonly<Record<string, number>>
1055
1065
  readonly velocity?: Readonly<Record<string, number>>
1066
+ /**
1067
+ * Which of its Frame's records the run writes each tick: both (the default), or `"value"` alone. A
1068
+ * sink that reads its velocities by index (`velocities`) asks for `"value"`, and the run skips
1069
+ * storing a number under each key a frame. Its `velocity` record then holds its start.
1070
+ */
1071
+ // #663: a keyed store of a number allocates in V8 (about 12 B), an indexed one doesn't.
1072
+ readonly records?: "value"
1056
1073
  }
1057
1074
 
1058
1075
  /** A start's values when it gives none. */
@@ -1155,18 +1172,23 @@ export const inertiaVec = (initial: Point.Point, velocity: Point.Point, options:
1155
1172
  *
1156
1173
  * Each frame carries a per-key `velocity` beside `value`; a settled key reports 0. Seeding `from` and
1157
1174
  * `velocity` from a frame of the run before keeps its velocity when the target changes. Each frame is
1158
- * rewritten every tick: copy one, or its records, to keep it; the settled frame is stable.
1175
+ * rewritten every tick: copy one, or its records, to keep it; the settled frame is stable. Its
1176
+ * `positions` and `velocities` are the same values by index, in `keys`' order, on the run's own
1177
+ * Frame: a sink that reads every frame reads those, and `start.records` stops the run writing a
1178
+ * record it doesn't read. `toStream`'s copies carry the records alone.
1159
1179
  *
1160
1180
  * @example
1161
1181
  * const card = Machine.springValues({ x: 120, y: 40, scale: 1.1 }, Spring.stiff, { from: { x: 0, y: 0, scale: 1 } })
1162
1182
  */
1163
- // Each run steps in place (ADR-0030, decision 11); `toStream` copies each Frame it emits.
1183
+ // Each run steps in place (ADR-0030, decision 11); `toStream` copies each Frame it emits, its records
1184
+ // alone. A run asked for its values alone skips its velocity record (ADR-0030, *Amendment (#663)*).
1164
1185
  export const springValues = (
1165
1186
  target: Readonly<Record<string, number>>,
1166
1187
  options: SpringOptions = NO_OPTIONS,
1167
1188
  start: SpringValuesStart = NO_START,
1168
- ): Machine<Frame.MultiPhysics> => {
1169
- const { from = NO_START_VALUES, velocity = NO_START_VALUES } = start
1189
+ ): Machine<Frame.SpringValues> => {
1190
+ const { from = NO_START_VALUES, velocity = NO_START_VALUES, records } = start
1191
+ const writesVelocity = Predicate.isUndefined(records)
1170
1192
  const keys = Rec.keys(target)
1171
1193
  /** A key's start: its own value, else the options', else 0. */
1172
1194
  const startOf = (values: Record<string, number>, key: string, fallback: number | undefined): number =>
@@ -1196,7 +1218,7 @@ export const springValues = (
1196
1218
  record[key] = xs[i]
1197
1219
  return record
1198
1220
  })
1199
- const frame = { value: recordOf(positions), velocity: recordOf(velocities), done: false }
1221
+ const frame = { value: recordOf(positions), velocity: recordOf(velocities), done: false, keys, positions, velocities }
1200
1222
  const frameValue = frame.value
1201
1223
  const frameVelocity = frame.velocity
1202
1224
  const delay = spring.delay
@@ -1205,39 +1227,76 @@ export const springValues = (
1205
1227
  // spring's fields read as this closure's locals. Each key steps by `Spring.step`'s exact
1206
1228
  // step (#370), written out in place: called per key, `Spring.step` returns a new state and
1207
1229
  // result. The keys share one matrix, worked out once a frame. One spring per key gives the
1208
- // same Frames (machines.test.ts).
1209
- const step = (dt: number): Frame.MultiPhysics => {
1210
- const clamped = Math.min(dt, MAX_DT)
1211
- let done = true
1212
- for (let i = 0; i < count; i++) {
1213
- const goal = targets[i]
1214
- const time = elapsed[i] + clamped
1215
- let position = positions[i]
1216
- let speed = velocities[i]
1217
- // Only the part of this tick past the delay moves it.
1218
- const simDt = Math.max(0, Math.min(clamped, time - delay))
1219
- if (simDt > 0) {
1220
- const m = Spring.matrixFor(spring, simDt)
1221
- const d = position - goal
1222
- position = goal + m.dd * d + m.dv * speed
1223
- speed = m.vd * d + m.vv * speed
1230
+ // same Frames (machines.test.ts). A run that writes its velocity record steps by the loop as it
1231
+ // always was; one that doesn't, by the same loop less that store (#663). One is chosen per run:
1232
+ // a choice per key cost the default path about 4% in V8, the records written after the loop
1233
+ // 21% in JSC, and the velocity record written after it 5% in Chromium (ADR-0030, *Amendment (#663)*).
1234
+ const stepOf = (): ((dt: number) => Frame.SpringValues) => {
1235
+ if (Bool.not(writesVelocity)) {
1236
+ return (dt) => {
1237
+ const clamped = Math.min(dt, MAX_DT)
1238
+ let done = true
1239
+ for (let i = 0; i < count; i++) {
1240
+ const goal = targets[i]
1241
+ const time = elapsed[i] + clamped
1242
+ let position = positions[i]
1243
+ let speed = velocities[i]
1244
+ const simDt = Math.max(0, Math.min(clamped, time - delay))
1245
+ if (simDt > 0) {
1246
+ const m = Spring.matrixFor(spring, simDt)
1247
+ const d = position - goal
1248
+ position = goal + m.dd * d + m.dv * speed
1249
+ speed = m.vd * d + m.vv * speed
1250
+ }
1251
+ const settled = simDt > 0 && Math.abs(speed) <= restSpeeds[i] && Math.abs(position - goal) <= restDeltas[i]
1252
+ if (settled) {
1253
+ position = goal
1254
+ speed = 0
1255
+ }
1256
+ if (!settled) done = false
1257
+ positions[i] = position
1258
+ velocities[i] = speed
1259
+ elapsed[i] = time
1260
+ frameValue[keys[i]] = position
1261
+ }
1262
+ frame.done = done
1263
+ return frame
1224
1264
  }
1225
- const settled = simDt > 0 && Math.abs(speed) <= restSpeeds[i] && Math.abs(position - goal) <= restDeltas[i]
1226
- if (settled) {
1227
- position = goal
1228
- speed = 0
1265
+ }
1266
+ return (dt) => {
1267
+ const clamped = Math.min(dt, MAX_DT)
1268
+ let done = true
1269
+ for (let i = 0; i < count; i++) {
1270
+ const goal = targets[i]
1271
+ const time = elapsed[i] + clamped
1272
+ let position = positions[i]
1273
+ let speed = velocities[i]
1274
+ // Only the part of this tick past the delay moves it.
1275
+ const simDt = Math.max(0, Math.min(clamped, time - delay))
1276
+ if (simDt > 0) {
1277
+ const m = Spring.matrixFor(spring, simDt)
1278
+ const d = position - goal
1279
+ position = goal + m.dd * d + m.dv * speed
1280
+ speed = m.vd * d + m.vv * speed
1281
+ }
1282
+ const settled = simDt > 0 && Math.abs(speed) <= restSpeeds[i] && Math.abs(position - goal) <= restDeltas[i]
1283
+ if (settled) {
1284
+ position = goal
1285
+ speed = 0
1286
+ }
1287
+ if (!settled) done = false
1288
+ positions[i] = position
1289
+ velocities[i] = speed
1290
+ elapsed[i] = time
1291
+ const key = keys[i]
1292
+ frameValue[key] = position
1293
+ frameVelocity[key] = speed
1229
1294
  }
1230
- if (!settled) done = false
1231
- positions[i] = position
1232
- velocities[i] = speed
1233
- elapsed[i] = time
1234
- const key = keys[i]
1235
- frameValue[key] = position
1236
- frameVelocity[key] = speed
1295
+ frame.done = done
1296
+ return frame
1237
1297
  }
1238
- frame.done = done
1239
- return frame
1240
1298
  }
1299
+ const step = stepOf()
1241
1300
  if (Bool.not(Spring.endsOnTime(spring))) return step
1242
1301
  // A spring that ends at its duration (#359) starts each key from rest, as Motion's, never rests
1243
1302
  // (thresholds no key meets), and lands every key at its duration, after its delay. Set here,
@@ -1247,7 +1306,7 @@ export const springValues = (
1247
1306
  velocities[i] = 0
1248
1307
  restDeltas[i] = -1
1249
1308
  restSpeeds[i] = -1
1250
- frameVelocity[keys[i]] = 0
1309
+ if (writesVelocity) frameVelocity[keys[i]] = 0
1251
1310
  }
1252
1311
  const duration = spring.duration
1253
1312
  let time = 0
@@ -1261,7 +1320,7 @@ export const springValues = (
1261
1320
  velocities[i] = 0
1262
1321
  const key = keys[i]
1263
1322
  frameValue[key] = goal
1264
- frameVelocity[key] = 0
1323
+ if (writesVelocity) frameVelocity[key] = 0
1265
1324
  }
1266
1325
  frame.done = true
1267
1326
  return frame
@@ -1596,8 +1655,9 @@ export const springBlend = (
1596
1655
  // Per leg (#460): the combinators called data-first.
1597
1656
  Effect.map(blendersFor(from, to), (blenders) =>
1598
1657
  withSpan(
1599
- map(springValues({ progress: 100 }, options, { from: { progress: 0 }, velocity: { progress: 0 } }), (frame) =>
1600
- blendAt(blenders, UndefinedOr.getOrThrow(frame.value.progress) / 100, frame.done)),
1658
+ // Its one key read by index (#663).
1659
+ map(springValues({ progress: 100 }, options, { from: { progress: 0 }, velocity: { progress: 0 }, records: "value" }), (frame) =>
1660
+ blendAt(blenders, frame.positions[0] / 100, frame.done)),
1601
1661
  "wardic.springBlend",
1602
1662
  { attributes: { keys: blenders.length } },
1603
1663
  ))
package/src/Playback.ts CHANGED
@@ -15,12 +15,13 @@
15
15
  // #433, Motion's playback controls. Machines step by `dt` (a design principle), so a time is reached by
16
16
  // starting a machine partway through (`Machine.startAt`), as an Appear animation's Handoff is
17
17
  // (ADR-0044). Tier 2 (ADR-0008): for binding authors.
18
+ import * as Arr from "effect/Array"
18
19
  import { constant } from "effect/Function"
19
20
  import * as Inspectable from "effect/Inspectable"
20
21
  import { type Pipeable, pipeArguments } from "effect/Pipeable"
21
22
  import * as Predicate from "effect/Predicate"
22
23
  import * as Rec from "effect/Record"
23
- import type * as Frame from "./Frame.ts"
24
+ import * as Frame from "./Frame.ts"
24
25
  import * as Machine from "./Machine.ts"
25
26
  import { measuredAs } from "./internal/driven.ts"
26
27
  import { dual } from "./internal/dual.ts"
@@ -86,7 +87,15 @@ const runFrom = <F extends Frame.Frame<unknown>>(self: Machine.Machine<F>, at: n
86
87
  const heldOf = <F extends Frame.Frame<unknown>>(frame: F): F => {
87
88
  const velocity: unknown = (frame as { readonly velocity?: unknown }).velocity
88
89
  if (Predicate.isNumber(velocity)) return { ...frame, velocity: 0 }
89
- if (Predicate.isObject(velocity)) return { ...frame, velocity: Rec.map(velocity as Record<string, number>, ZERO) }
90
+ if (Predicate.isObject(velocity)) {
91
+ const held = { ...frame, velocity: Rec.map(velocity as Record<string, number>, ZERO) }
92
+ // `springValues`' by index too (#663), its arrays its own: the run rewrites its own when it resumes.
93
+ if (Frame.isSpringValues(held as unknown as Frame.MultiPhysics)) {
94
+ const spring = held as unknown as Frame.SpringValues
95
+ return { ...held, positions: Arr.copy(spring.positions), velocities: Arr.map(spring.velocities, ZERO) }
96
+ }
97
+ return held
98
+ }
90
99
  return frame
91
100
  }
92
101