@glissade/core 0.32.0 → 0.33.0-pre.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.
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # @glissade/core
2
2
 
3
- The engine-agnostic heart: pull-based signals, the serializable keyframe **Timeline document**, the fluent builder that compiles to it, easing + closed-form springs, OKLab color, `bake()` for stateful simulation under seeking, and the v2 analytic layer (ease derivatives, `velocityAt`, `spring.retarget`). Zero DOM or Node dependencies; ≤ 11 kB gz.
3
+ The engine-agnostic heart: pull-based signals, the serializable keyframe **Timeline document**, the fluent builder that compiles to it, easing + closed-form springs, OKLab color, `bake()` for stateful simulation under seeking, and the v2 analytic layer (ease derivatives, `velocityAt`, `spring.retarget`). Zero DOM or Node dependencies; ≤ 17 kB gz (the CI-enforced budget).
4
4
 
5
5
  ```sh
6
6
  npm i @glissade/core
@@ -10,10 +10,10 @@ npm i @glissade/core
10
10
  import { timeline, spring } from '@glissade/core';
11
11
 
12
12
  const doc = timeline((tl) => {
13
- tl.to('dot/opacity', 1, { duration: 0.5 })
14
- .to('dot/position.x', 520, { ease: spring({ stiffness: 170, damping: 14 }) })
13
+ tl.to('dot/opacity', 1, { duration: 0.5, from: 0 })
14
+ .to('dot/position.x', 520, { from: 120, ease: spring({ stiffness: 170, damping: 14 }) })
15
15
  .label('arrived')
16
- .to('dot/fill', '#7c4dff', { duration: 0.6, at: 'arrived' });
16
+ .to('dot/fill', '#7c4dff', { duration: 0.6, at: 'arrived', from: '#e6a700' });
17
17
  });
18
18
  // `doc` is plain JSON: nothing executes at play time, so any t samples in O(log keys)
19
19
  ```
package/dist/track.d.ts CHANGED
@@ -365,7 +365,10 @@ interface RetimeSpec {
365
365
  shift?: number;
366
366
  /** play the schedule BACKWARD in place — same [start,end] span, values reversed, eases time-mirrored. */
367
367
  reverse?: boolean;
368
- /** forward THEN reversed as one there-and-back track (roughly doubles the active span). */
368
+ /** forward THEN reversed as one there-and-back track (roughly doubles the active
369
+ * span). PER-TRACK: each track mirrors about its OWN last key, so tracks with
370
+ * different spans return at different times — pad shorter tracks with an end
371
+ * key first if a multi-track group must turn around together. */
369
372
  pingpong?: boolean;
370
373
  }
371
374
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@glissade/core",
3
- "version": "0.32.0",
3
+ "version": "0.33.0-pre.0",
4
4
  "description": "glissade core: signals, tracks, timeline document, evaluation, easing, springs, seeded RNG. Zero DOM/Node dependencies.",
5
5
  "license": "Apache-2.0",
6
6
  "engines": {