@motion-script/core 0.2.5 → 1.0.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 (241) hide show
  1. package/dist/assets/index.d.ts +2 -1
  2. package/dist/assets/index.d.ts.map +1 -1
  3. package/dist/assets/index.js.map +1 -1
  4. package/dist/assets/manager.d.ts +15 -0
  5. package/dist/assets/manager.d.ts.map +1 -1
  6. package/dist/assets/manager.js +61 -0
  7. package/dist/assets/manager.js.map +1 -1
  8. package/dist/assets/record.d.ts +22 -2
  9. package/dist/assets/record.d.ts.map +1 -1
  10. package/dist/assets/tracker.d.ts +10 -8
  11. package/dist/assets/tracker.d.ts.map +1 -1
  12. package/dist/assets/tracker.js +16 -8
  13. package/dist/assets/tracker.js.map +1 -1
  14. package/dist/attributes/index.d.ts +1 -1
  15. package/dist/attributes/index.d.ts.map +1 -1
  16. package/dist/attributes/index.js +1 -1
  17. package/dist/attributes/index.js.map +1 -1
  18. package/dist/attributes/shape/fill/blend.d.ts +3 -3
  19. package/dist/attributes/shape/fill/blend.d.ts.map +1 -1
  20. package/dist/attributes/shape/fill/blend.js +2 -2
  21. package/dist/attributes/shape/fill/blend.js.map +1 -1
  22. package/dist/attributes/shape/fill/index.d.ts +1 -1
  23. package/dist/attributes/shape/fill/index.d.ts.map +1 -1
  24. package/dist/attributes/shape/fill/index.js +1 -1
  25. package/dist/attributes/shape/fill/index.js.map +1 -1
  26. package/dist/attributes/shape/stroke/index.d.ts +2 -2
  27. package/dist/attributes/shape/stroke/index.d.ts.map +1 -1
  28. package/dist/attributes/shape/stroke/index.js +1 -1
  29. package/dist/attributes/shape/stroke/index.js.map +1 -1
  30. package/dist/attributes/shape/stroke/lerp.d.ts.map +1 -1
  31. package/dist/attributes/shape/stroke/lerp.js +1 -0
  32. package/dist/attributes/shape/stroke/lerp.js.map +1 -1
  33. package/dist/attributes/shape/stroke/mapper.d.ts +18 -0
  34. package/dist/attributes/shape/stroke/mapper.d.ts.map +1 -1
  35. package/dist/attributes/shape/stroke/mapper.js +14 -0
  36. package/dist/attributes/shape/stroke/mapper.js.map +1 -1
  37. package/dist/layout/flex.d.ts +12 -0
  38. package/dist/layout/flex.d.ts.map +1 -1
  39. package/dist/layout/flex.js +31 -18
  40. package/dist/layout/flex.js.map +1 -1
  41. package/dist/layout/grid.d.ts +1 -1
  42. package/dist/layout/grid.d.ts.map +1 -1
  43. package/dist/layout/grid.js +24 -6
  44. package/dist/layout/grid.js.map +1 -1
  45. package/dist/nodes/base/node.d.ts +28 -0
  46. package/dist/nodes/base/node.d.ts.map +1 -1
  47. package/dist/nodes/base/node.js +40 -1
  48. package/dist/nodes/base/node.js.map +1 -1
  49. package/dist/nodes/base/scene-node.d.ts +11 -0
  50. package/dist/nodes/base/scene-node.d.ts.map +1 -1
  51. package/dist/nodes/base/scene-node.js +31 -0
  52. package/dist/nodes/base/scene-node.js.map +1 -1
  53. package/dist/nodes/geometry/grid-node.d.ts.map +1 -1
  54. package/dist/nodes/geometry/grid-node.js +8 -4
  55. package/dist/nodes/geometry/grid-node.js.map +1 -1
  56. package/dist/nodes/geometry/rect-node.d.ts +2 -0
  57. package/dist/nodes/geometry/rect-node.d.ts.map +1 -1
  58. package/dist/nodes/geometry/rect-node.js +35 -15
  59. package/dist/nodes/geometry/rect-node.js.map +1 -1
  60. package/dist/nodes/geometry/shape-node.d.ts +2 -0
  61. package/dist/nodes/geometry/shape-node.d.ts.map +1 -1
  62. package/dist/nodes/geometry/shape-node.js +19 -7
  63. package/dist/nodes/geometry/shape-node.js.map +1 -1
  64. package/dist/platform/storage-adapter.d.ts.map +1 -1
  65. package/dist/platform/storage-adapter.js +4 -0
  66. package/dist/platform/storage-adapter.js.map +1 -1
  67. package/dist/runtime/playback-controller.d.ts +2 -0
  68. package/dist/runtime/playback-controller.d.ts.map +1 -1
  69. package/dist/runtime/playback-controller.js +17 -0
  70. package/dist/runtime/playback-controller.js.map +1 -1
  71. package/dist/runtime/precompisition.js +10 -0
  72. package/dist/runtime/precompisition.js.map +1 -1
  73. package/package.json +6 -5
  74. package/dist/assets/manager.test.d.ts +0 -2
  75. package/dist/assets/manager.test.d.ts.map +0 -1
  76. package/dist/assets/manager.test.js +0 -133
  77. package/dist/assets/manager.test.js.map +0 -1
  78. package/dist/attributes/layout/padding.test.d.ts +0 -2
  79. package/dist/attributes/layout/padding.test.d.ts.map +0 -1
  80. package/dist/attributes/layout/padding.test.js +0 -32
  81. package/dist/attributes/layout/padding.test.js.map +0 -1
  82. package/dist/attributes/layout/vector2.test.d.ts +0 -2
  83. package/dist/attributes/layout/vector2.test.d.ts.map +0 -1
  84. package/dist/attributes/layout/vector2.test.js +0 -23
  85. package/dist/attributes/layout/vector2.test.js.map +0 -1
  86. package/dist/attributes/properties/decorator.test.d.ts +0 -2
  87. package/dist/attributes/properties/decorator.test.d.ts.map +0 -1
  88. package/dist/attributes/properties/decorator.test.js +0 -52
  89. package/dist/attributes/properties/decorator.test.js.map +0 -1
  90. package/dist/attributes/shape/corners/border-radius.test.d.ts +0 -2
  91. package/dist/attributes/shape/corners/border-radius.test.d.ts.map +0 -1
  92. package/dist/attributes/shape/corners/border-radius.test.js +0 -52
  93. package/dist/attributes/shape/corners/border-radius.test.js.map +0 -1
  94. package/dist/attributes/shape/effects/chain.test.d.ts +0 -2
  95. package/dist/attributes/shape/effects/chain.test.d.ts.map +0 -1
  96. package/dist/attributes/shape/effects/chain.test.js +0 -63
  97. package/dist/attributes/shape/effects/chain.test.js.map +0 -1
  98. package/dist/attributes/shape/fill/blend.test.d.ts +0 -2
  99. package/dist/attributes/shape/fill/blend.test.d.ts.map +0 -1
  100. package/dist/attributes/shape/fill/blend.test.js +0 -18
  101. package/dist/attributes/shape/fill/blend.test.js.map +0 -1
  102. package/dist/attributes/shape/fill/chain.test.d.ts +0 -2
  103. package/dist/attributes/shape/fill/chain.test.d.ts.map +0 -1
  104. package/dist/attributes/shape/fill/chain.test.js +0 -92
  105. package/dist/attributes/shape/fill/chain.test.js.map +0 -1
  106. package/dist/attributes/shape/fill/color/parser.test.d.ts +0 -2
  107. package/dist/attributes/shape/fill/color/parser.test.d.ts.map +0 -1
  108. package/dist/attributes/shape/fill/color/parser.test.js +0 -99
  109. package/dist/attributes/shape/fill/color/parser.test.js.map +0 -1
  110. package/dist/attributes/shape/fill/lerp.test.d.ts +0 -2
  111. package/dist/attributes/shape/fill/lerp.test.d.ts.map +0 -1
  112. package/dist/attributes/shape/fill/lerp.test.js +0 -18
  113. package/dist/attributes/shape/fill/lerp.test.js.map +0 -1
  114. package/dist/attributes/shape/filters/chain.test.d.ts +0 -2
  115. package/dist/attributes/shape/filters/chain.test.d.ts.map +0 -1
  116. package/dist/attributes/shape/filters/chain.test.js +0 -49
  117. package/dist/attributes/shape/filters/chain.test.js.map +0 -1
  118. package/dist/attributes/shape/filters/registry.test.d.ts +0 -5
  119. package/dist/attributes/shape/filters/registry.test.d.ts.map +0 -1
  120. package/dist/attributes/shape/filters/registry.test.js +0 -75
  121. package/dist/attributes/shape/filters/registry.test.js.map +0 -1
  122. package/dist/attributes/shape/path/bezier.test.d.ts +0 -2
  123. package/dist/attributes/shape/path/bezier.test.d.ts.map +0 -1
  124. package/dist/attributes/shape/path/bezier.test.js +0 -85
  125. package/dist/attributes/shape/path/bezier.test.js.map +0 -1
  126. package/dist/attributes/shape/path/dash.test.d.ts +0 -2
  127. package/dist/attributes/shape/path/dash.test.d.ts.map +0 -1
  128. package/dist/attributes/shape/path/dash.test.js +0 -36
  129. package/dist/attributes/shape/path/dash.test.js.map +0 -1
  130. package/dist/attributes/shape/path/length.test.d.ts +0 -2
  131. package/dist/attributes/shape/path/length.test.d.ts.map +0 -1
  132. package/dist/attributes/shape/path/length.test.js +0 -56
  133. package/dist/attributes/shape/path/length.test.js.map +0 -1
  134. package/dist/attributes/shape/path/subpath.test.d.ts +0 -2
  135. package/dist/attributes/shape/path/subpath.test.d.ts.map +0 -1
  136. package/dist/attributes/shape/path/subpath.test.js +0 -54
  137. package/dist/attributes/shape/path/subpath.test.js.map +0 -1
  138. package/dist/attributes/text/lerp.test.d.ts +0 -2
  139. package/dist/attributes/text/lerp.test.d.ts.map +0 -1
  140. package/dist/attributes/text/lerp.test.js +0 -39
  141. package/dist/attributes/text/lerp.test.js.map +0 -1
  142. package/dist/layout/flex.test.d.ts +0 -2
  143. package/dist/layout/flex.test.d.ts.map +0 -1
  144. package/dist/layout/flex.test.js +0 -336
  145. package/dist/layout/flex.test.js.map +0 -1
  146. package/dist/layout/padding.test.d.ts +0 -2
  147. package/dist/layout/padding.test.d.ts.map +0 -1
  148. package/dist/layout/padding.test.js +0 -39
  149. package/dist/layout/padding.test.js.map +0 -1
  150. package/dist/layout/size-resolver.test.d.ts +0 -2
  151. package/dist/layout/size-resolver.test.d.ts.map +0 -1
  152. package/dist/layout/size-resolver.test.js +0 -24
  153. package/dist/layout/size-resolver.test.js.map +0 -1
  154. package/dist/layout/tweens.test.d.ts +0 -2
  155. package/dist/layout/tweens.test.d.ts.map +0 -1
  156. package/dist/layout/tweens.test.js +0 -26
  157. package/dist/layout/tweens.test.js.map +0 -1
  158. package/dist/project/config.test.d.ts +0 -2
  159. package/dist/project/config.test.d.ts.map +0 -1
  160. package/dist/project/config.test.js +0 -28
  161. package/dist/project/config.test.js.map +0 -1
  162. package/dist/render/descriptors/path.test.d.ts +0 -2
  163. package/dist/render/descriptors/path.test.d.ts.map +0 -1
  164. package/dist/render/descriptors/path.test.js +0 -40
  165. package/dist/render/descriptors/path.test.js.map +0 -1
  166. package/dist/runtime/playback-controller.test.d.ts +0 -2
  167. package/dist/runtime/playback-controller.test.d.ts.map +0 -1
  168. package/dist/runtime/playback-controller.test.js +0 -148
  169. package/dist/runtime/playback-controller.test.js.map +0 -1
  170. package/dist/runtime/precompisition.test.d.ts +0 -2
  171. package/dist/runtime/precompisition.test.d.ts.map +0 -1
  172. package/dist/runtime/precompisition.test.js +0 -138
  173. package/dist/runtime/precompisition.test.js.map +0 -1
  174. package/dist/runtime/runtime.fixtures.d.ts +0 -158
  175. package/dist/runtime/runtime.fixtures.d.ts.map +0 -1
  176. package/dist/runtime/runtime.fixtures.js +0 -264
  177. package/dist/runtime/runtime.fixtures.js.map +0 -1
  178. package/dist/runtime/state-evaluator.test.d.ts +0 -2
  179. package/dist/runtime/state-evaluator.test.d.ts.map +0 -1
  180. package/dist/runtime/state-evaluator.test.js +0 -122
  181. package/dist/runtime/state-evaluator.test.js.map +0 -1
  182. package/dist/signals/create.test.d.ts +0 -2
  183. package/dist/signals/create.test.d.ts.map +0 -1
  184. package/dist/signals/create.test.js +0 -81
  185. package/dist/signals/create.test.js.map +0 -1
  186. package/dist/signals/signal-cell.test.d.ts +0 -2
  187. package/dist/signals/signal-cell.test.d.ts.map +0 -1
  188. package/dist/signals/signal-cell.test.js +0 -202
  189. package/dist/signals/signal-cell.test.js.map +0 -1
  190. package/dist/signals/signal.test.d.ts +0 -2
  191. package/dist/signals/signal.test.d.ts.map +0 -1
  192. package/dist/signals/signal.test.js +0 -192
  193. package/dist/signals/signal.test.js.map +0 -1
  194. package/dist/tween/eases.test.d.ts +0 -2
  195. package/dist/tween/eases.test.d.ts.map +0 -1
  196. package/dist/tween/eases.test.js +0 -91
  197. package/dist/tween/eases.test.js.map +0 -1
  198. package/dist/tween/lerp.test.d.ts +0 -2
  199. package/dist/tween/lerp.test.d.ts.map +0 -1
  200. package/dist/tween/lerp.test.js +0 -22
  201. package/dist/tween/lerp.test.js.map +0 -1
  202. package/dist/tween/prepare.test.d.ts +0 -2
  203. package/dist/tween/prepare.test.d.ts.map +0 -1
  204. package/dist/tween/prepare.test.js +0 -44
  205. package/dist/tween/prepare.test.js.map +0 -1
  206. package/dist/tween/sequence.test.d.ts +0 -2
  207. package/dist/tween/sequence.test.d.ts.map +0 -1
  208. package/dist/tween/sequence.test.js +0 -68
  209. package/dist/tween/sequence.test.js.map +0 -1
  210. package/dist/tween/tests/batched-parallel.test.d.ts +0 -2
  211. package/dist/tween/tests/batched-parallel.test.d.ts.map +0 -1
  212. package/dist/tween/tests/batched-parallel.test.js +0 -76
  213. package/dist/tween/tests/batched-parallel.test.js.map +0 -1
  214. package/dist/tween/tests/parallel.test.d.ts +0 -2
  215. package/dist/tween/tests/parallel.test.d.ts.map +0 -1
  216. package/dist/tween/tests/parallel.test.js +0 -129
  217. package/dist/tween/tests/parallel.test.js.map +0 -1
  218. package/dist/tween/tests/realtime.test.d.ts +0 -2
  219. package/dist/tween/tests/realtime.test.d.ts.map +0 -1
  220. package/dist/tween/tests/realtime.test.js +0 -76
  221. package/dist/tween/tests/realtime.test.js.map +0 -1
  222. package/dist/tween/tween.test.d.ts +0 -2
  223. package/dist/tween/tween.test.d.ts.map +0 -1
  224. package/dist/tween/tween.test.js +0 -38
  225. package/dist/tween/tween.test.js.map +0 -1
  226. package/dist/tween/wait.test.d.ts +0 -2
  227. package/dist/tween/wait.test.d.ts.map +0 -1
  228. package/dist/tween/wait.test.js +0 -35
  229. package/dist/tween/wait.test.js.map +0 -1
  230. package/dist/util/clamp.test.d.ts +0 -2
  231. package/dist/util/clamp.test.d.ts.map +0 -1
  232. package/dist/util/clamp.test.js +0 -31
  233. package/dist/util/clamp.test.js.map +0 -1
  234. package/dist/util/random.test.d.ts +0 -2
  235. package/dist/util/random.test.d.ts.map +0 -1
  236. package/dist/util/random.test.js +0 -42
  237. package/dist/util/random.test.js.map +0 -1
  238. package/dist/util/reference.test.d.ts +0 -2
  239. package/dist/util/reference.test.d.ts.map +0 -1
  240. package/dist/util/reference.test.js +0 -32
  241. package/dist/util/reference.test.js.map +0 -1
@@ -1,202 +0,0 @@
1
- import { describe, it, expect, vi } from 'vitest';
2
- import { Signal, isTracking } from './signal';
3
- import { getSignal, getOrCreateSignal } from './host';
4
- import { Rect } from '../nodes/geometry/rect-node';
5
- describe('Signal – basic get/set', () => {
6
- it('returns the initial value', () => {
7
- const cell = new Signal(42);
8
- expect(cell.get()).toBe(42);
9
- });
10
- it('set() updates the value', () => {
11
- const cell = new Signal(0);
12
- cell.set(10);
13
- expect(cell.get()).toBe(10);
14
- });
15
- it('set() is a no-op when value is identical (Object.is)', () => {
16
- const cell = new Signal(5);
17
- const peekBefore = cell.peek();
18
- cell.set(5); // same value
19
- expect(cell.peek()).toBe(peekBefore);
20
- });
21
- it('peek() returns value without entering tracking', () => {
22
- const cell = new Signal(99);
23
- expect(cell.peek()).toBe(99);
24
- });
25
- it('isBound() is false for plain cells', () => {
26
- const cell = new Signal(0);
27
- expect(cell.isBound()).toBe(false);
28
- });
29
- });
30
- describe('Signal – bind / reactive computation', () => {
31
- it('bind() makes isBound() return true', () => {
32
- const cell = new Signal(0);
33
- cell.bind(() => 1);
34
- expect(cell.isBound()).toBe(true);
35
- });
36
- it('get() after bind() returns computed value', () => {
37
- const cell = new Signal(0);
38
- cell.bind(() => 42);
39
- expect(cell.get()).toBe(42);
40
- });
41
- it('recomputes when a dependency changes', () => {
42
- const source = new Signal(10);
43
- const derived = new Signal(0);
44
- derived.bind(() => source.get() * 2);
45
- expect(derived.get()).toBe(20);
46
- source.set(5);
47
- expect(derived.get()).toBe(10);
48
- });
49
- it('does not recompute unnecessarily (no dirty)', () => {
50
- const source = new Signal(1);
51
- let computations = 0;
52
- const derived = new Signal(0);
53
- derived.bind(() => { computations++; return source.get(); });
54
- derived.get(); // computes once
55
- derived.get(); // should not recompute (not dirty)
56
- expect(computations).toBe(1);
57
- source.set(2); // marks dirty
58
- derived.get(); // recomputes
59
- expect(computations).toBe(2);
60
- });
61
- it('chains of derived cells propagate dirty', () => {
62
- const a = new Signal(1);
63
- const b = new Signal(0);
64
- const c = new Signal(0);
65
- b.bind(() => a.get() + 1);
66
- c.bind(() => b.get() + 1);
67
- expect(c.get()).toBe(3);
68
- a.set(10);
69
- expect(c.get()).toBe(12);
70
- });
71
- it('unbind() detaches computation and reverts to plain value', () => {
72
- const source = new Signal(5);
73
- const cell = new Signal(0);
74
- cell.bind(() => source.get() * 2);
75
- expect(cell.get()).toBe(10);
76
- cell.unbind();
77
- expect(cell.isBound()).toBe(false);
78
- // Value is the last computed value, now stored as plain
79
- expect(cell.get()).toBe(10);
80
- // Changing source no longer affects cell
81
- source.set(99);
82
- expect(cell.get()).toBe(10);
83
- });
84
- it('set() on a bound cell detaches and uses the new value', () => {
85
- const source = new Signal(5);
86
- const cell = new Signal(0);
87
- cell.bind(() => source.get() * 2);
88
- cell.set(77);
89
- expect(cell.isBound()).toBe(false);
90
- expect(cell.get()).toBe(77);
91
- });
92
- });
93
- describe('Signal – dependency re-subscription on recompute', () => {
94
- it('drops stale dependencies when recomputing', () => {
95
- const toggle = new Signal(true);
96
- const a = new Signal(1);
97
- const b = new Signal(100);
98
- const derived = new Signal(0);
99
- derived.bind(() => toggle.get() ? a.get() : b.get());
100
- expect(derived.get()).toBe(1); // reads a
101
- toggle.set(false);
102
- expect(derived.get()).toBe(100); // reads b now
103
- // Changing a should no longer dirty derived
104
- a.set(999);
105
- // derived is not dirty (a is no longer a dep), peek should still be 100
106
- expect(derived.peek()).toBe(100);
107
- });
108
- });
109
- describe('Signal – dispose', () => {
110
- it('dispose() removes cell from upstream _subs (no leak upstream → this)', () => {
111
- const source = new Signal(1);
112
- const derived = new Signal(0);
113
- derived.bind(() => source.get() * 2);
114
- derived.get(); // registers derived in source._subs
115
- derived.dispose();
116
- // source should no longer dirty derived — we verify by checking that
117
- // setting source doesn't throw and derived stays inert.
118
- expect(() => source.set(99)).not.toThrow();
119
- });
120
- it('dispose() removes cell from downstream _deps (no leak this → sub)', () => {
121
- const source = new Signal(1);
122
- const derived = new Signal(0);
123
- derived.bind(() => source.get() * 2);
124
- derived.get();
125
- // Create another cell that reads derived.
126
- const consumer = new Signal(0);
127
- consumer.bind(() => derived.get() + 10);
128
- consumer.get(); // consumer._deps now contains derived
129
- source.dispose();
130
- // consumer should not have source in its deps anymore (source cleared _subs → removed from consumer._deps)
131
- // At minimum: no throw when consumer tries to recompute.
132
- expect(() => consumer.get()).not.toThrow();
133
- });
134
- it('dispose() clears external listeners', () => {
135
- const cell = new Signal(0);
136
- const spy = vi.fn();
137
- cell.subscribe(spy);
138
- cell.dispose();
139
- // After dispose, no listener should fire (listeners were cleared).
140
- // We reach into the cell via set — but cell is inert after dispose,
141
- // so just verify no callback fires from a prior subscriber.
142
- expect(spy).not.toHaveBeenCalled();
143
- });
144
- it('dispose() on a bound cell stops upstream propagation', () => {
145
- const source = new Signal(10);
146
- const derived = new Signal(0);
147
- derived.bind(() => source.get() + 1);
148
- expect(derived.get()).toBe(11);
149
- derived.dispose();
150
- // Mutating source must not cause errors from stale subscriptions.
151
- source.set(20);
152
- expect(() => source.set(30)).not.toThrow();
153
- });
154
- });
155
- describe('isTracking', () => {
156
- it('returns false outside of any bound computation', () => {
157
- expect(isTracking()).toBe(false);
158
- });
159
- });
160
- describe('applyProp integration', () => {
161
- it('stores and retrieves plain values', () => {
162
- const node = new Rect({ x: 5 });
163
- expect(node.x).toBe(5);
164
- });
165
- it('allows direct assignment', () => {
166
- const node = new Rect({ x: 0 });
167
- node.set({ x: 42 });
168
- expect(node.x).toBe(42);
169
- });
170
- it('exposes a cell via getSignal once applyProp registers the field', () => {
171
- const node = new Rect({ x: 7 });
172
- const cell = getSignal(node, 'x');
173
- expect(cell).toBeDefined();
174
- expect(cell.get()).toBe(7);
175
- });
176
- it('cell writes propagate to the public accessor', () => {
177
- const node = new Rect({ x: 3 });
178
- const cell = getSignal(node, 'x');
179
- cell.set(99);
180
- expect(node.x).toBe(99);
181
- });
182
- it('binding the cell reactively tracks a source signal', () => {
183
- const node = new Rect({ x: 0 });
184
- const source = new Signal(10);
185
- const cell = getOrCreateSignal(node, 'x');
186
- cell.bind(() => source.get());
187
- expect(node.x).toBe(10);
188
- source.set(20);
189
- expect(node.x).toBe(20);
190
- });
191
- });
192
- describe('getSignal / getOrCreateSignal', () => {
193
- it('returns the cell for a registered field', () => {
194
- const node = new Rect({});
195
- expect(getSignal(node, 'x')).toBeDefined();
196
- });
197
- it('returns undefined for unknown property name', () => {
198
- const node = new Rect({});
199
- expect(getOrCreateSignal(node, 'nonexistent')).toBeUndefined();
200
- });
201
- });
202
- //# sourceMappingURL=signal-cell.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"signal-cell.test.js","sourceRoot":"","sources":["../../src/signals/signal-cell.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=signal.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"signal.test.d.ts","sourceRoot":"","sources":["../../src/signals/signal.test.ts"],"names":[],"mappings":""}
@@ -1,192 +0,0 @@
1
- import { describe, it, expect, vi } from 'vitest';
2
- import { createSignal } from '../signals/create';
3
- import { Signal } from '../signals/signal';
4
- import { linear } from '../tween/ease/constants';
5
- function drive(gen, dt = 1 / 60) {
6
- let frames = 0;
7
- let result = gen.next();
8
- while (!result.done) {
9
- result = gen.next(dt);
10
- if (++frames > 100_000)
11
- throw new Error('generator did not terminate');
12
- }
13
- return frames;
14
- }
15
- describe('createSignal – basic read/write', () => {
16
- it('returns the initial value via get()', () => {
17
- const s = createSignal(10);
18
- expect(s.get()).toBe(10);
19
- });
20
- it('zero-arg call is sugar for get()', () => {
21
- const s = createSignal(42);
22
- expect(s()).toBe(42);
23
- });
24
- it('set() updates the value', () => {
25
- const s = createSignal(0);
26
- s.set(5);
27
- expect(s.get()).toBe(5);
28
- });
29
- it('single-arg call writes the value', () => {
30
- const s = createSignal(0);
31
- s(7);
32
- expect(s.get()).toBe(7);
33
- });
34
- it('updater function receives previous value', () => {
35
- const s = createSignal(10);
36
- s.set((prev) => prev + 5);
37
- expect(s.get()).toBe(15);
38
- });
39
- it('updater via single-arg call works the same', () => {
40
- const s = createSignal(10);
41
- s((prev) => prev * 2);
42
- expect(s.get()).toBe(20);
43
- });
44
- });
45
- describe('createSignal – reactive binding', () => {
46
- it('binds to a zero-arity function and tracks dependencies', () => {
47
- const source = createSignal(1);
48
- const derived = createSignal(0);
49
- derived.set(() => source.get() * 10);
50
- expect(derived.get()).toBe(10);
51
- source.set(3);
52
- expect(derived.get()).toBe(30);
53
- });
54
- it('chain of derived signals propagates updates', () => {
55
- const a = createSignal(1);
56
- const b = createSignal(0);
57
- const c = createSignal(0);
58
- b.set(() => a.get() + 1);
59
- c.set(() => b.get() + 1);
60
- expect(c.get()).toBe(3);
61
- a.set(10);
62
- expect(c.get()).toBe(12);
63
- });
64
- it('plain value initializer is non-reactive', () => {
65
- const source = createSignal(5);
66
- const independent = createSignal(source.get());
67
- source.set(99);
68
- expect(independent.get()).toBe(5);
69
- });
70
- it('passing an existing signal returns the same signal', () => {
71
- const a = createSignal(1);
72
- const b = createSignal(a);
73
- expect(b).toBe(a);
74
- });
75
- });
76
- describe('createSignal – subscribe', () => {
77
- it('fires the subscriber when the value changes', () => {
78
- const s = createSignal(0);
79
- const fn = vi.fn();
80
- s.subscribe(fn);
81
- s.set(1);
82
- expect(fn).toHaveBeenCalledWith(1);
83
- });
84
- it('does not fire for set with identical value', () => {
85
- const s = createSignal(5);
86
- const fn = vi.fn();
87
- s.subscribe(fn);
88
- s.set(5);
89
- expect(fn).not.toHaveBeenCalled();
90
- });
91
- it('unsubscribe stops notifications', () => {
92
- const s = createSignal(0);
93
- const fn = vi.fn();
94
- const off = s.subscribe(fn);
95
- off();
96
- s.set(99);
97
- expect(fn).not.toHaveBeenCalled();
98
- });
99
- it('subscriber sees recomputed value when an upstream signal changes', () => {
100
- const source = createSignal(1);
101
- const derived = createSignal(0);
102
- derived.set(() => source.get() * 2);
103
- const fn = vi.fn();
104
- derived.subscribe(fn);
105
- // Ensure first compute happened
106
- derived.get();
107
- source.set(5);
108
- // The signal cell propagates eagerly to listened-to derived cells.
109
- expect(fn).toHaveBeenLastCalledWith(10);
110
- });
111
- });
112
- describe('createSignal – tween', () => {
113
- it('returns a FrameGenerator from tween()', () => {
114
- const s = createSignal(0);
115
- const gen = s.tween(10, 0.1, linear);
116
- expect(typeof gen.next).toBe('function');
117
- });
118
- it('arity ≥ 2 with numeric duration via call form delegates to tween', () => {
119
- const s = createSignal(0);
120
- const gen = s(10, 0.1, linear);
121
- expect(typeof gen.next).toBe('function');
122
- });
123
- it('tween advances numeric value to target by the end', () => {
124
- const s = createSignal(0);
125
- drive(s.tween(100, 0.2, linear));
126
- expect(s.get()).toBe(100);
127
- });
128
- it('intermediate value is between from and to', () => {
129
- const s = createSignal(0);
130
- const gen = s.tween(100, 0.5, linear);
131
- gen.next();
132
- gen.next(0.1);
133
- expect(s.get()).toBeGreaterThan(0);
134
- expect(s.get()).toBeLessThan(100);
135
- });
136
- it('applies easing function', () => {
137
- const s = createSignal(0);
138
- const seen = [];
139
- const easing = (t) => {
140
- seen.push(t);
141
- return t;
142
- };
143
- drive(s.tween(10, 0.05, easing));
144
- expect(seen.length).toBeGreaterThan(0);
145
- expect(s.get()).toBe(10);
146
- });
147
- it('uses defaultLerp when provided to createSignal', () => {
148
- const lerp = (from, to, t) => ({
149
- x: from.x + (to.x - from.x) * t,
150
- });
151
- const s = createSignal({ x: 0 }, lerp);
152
- drive(s.tween({ x: 100 }, 0.1, linear));
153
- expect(s.get().x).toBe(100);
154
- });
155
- it('custom lerp overrides default for a single tween', () => {
156
- const s = createSignal(0);
157
- const captured = [];
158
- const lerp = (from, to, t) => {
159
- captured.push(t);
160
- return from + (to - from) * t;
161
- };
162
- drive(s.tween(10, 0.05, linear, lerp));
163
- expect(captured.length).toBeGreaterThan(0);
164
- expect(s.get()).toBe(10);
165
- });
166
- it('non-numeric values without lerp snap at t=1', () => {
167
- const s = createSignal('a');
168
- drive(s.tween('b', 0.05, linear));
169
- expect(s.get()).toBe('b');
170
- });
171
- it('lerpNullable handles initial null', () => {
172
- const s = createSignal(null);
173
- drive(s.tween(50, 0.1, linear));
174
- expect(s.get()).toBe(50);
175
- });
176
- it('lerpNullable handles null target (returns from)', () => {
177
- const s = createSignal(10);
178
- drive(s.tween(null, 0.1, linear));
179
- expect(s.get()).toBe(10);
180
- });
181
- });
182
- describe('createSignal – interaction with Signal', () => {
183
- it('binding the underlying cell still drives the signal', () => {
184
- const upstream = new Signal(7);
185
- const s = createSignal(0);
186
- s.set(() => upstream.get() + 1);
187
- expect(s.get()).toBe(8);
188
- upstream.set(20);
189
- expect(s.get()).toBe(21);
190
- });
191
- });
192
- //# sourceMappingURL=signal.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"signal.test.js","sourceRoot":"","sources":["../../src/signals/signal.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=eases.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"eases.test.d.ts","sourceRoot":"","sources":["../../src/tween/eases.test.ts"],"names":[],"mappings":""}
@@ -1,91 +0,0 @@
1
- import { describe, it, expect } from 'vitest';
2
- import { linear, easeInQuad, easeOutQuad, easeOutQuart, easeInOutQuad, easeOutBack, easeInBack, easeInOutBack, easeOutElastic, easeInElastic, easeInOutElastic, } from '../tween/ease/constants';
3
- function endpoints(fn, atOne = 1) {
4
- expect(fn(0)).toBeCloseTo(0, 5);
5
- expect(fn(1)).toBeCloseTo(atOne, 5);
6
- }
7
- describe('linear', () => {
8
- it('is identity in [0,1]', () => {
9
- expect(linear(0)).toBe(0);
10
- expect(linear(0.5)).toBe(0.5);
11
- expect(linear(1)).toBe(1);
12
- });
13
- it('clamps below 0 and above 1', () => {
14
- expect(linear(-0.5)).toBe(0);
15
- expect(linear(2)).toBe(1);
16
- });
17
- });
18
- describe('easeInQuad / easeOutQuad', () => {
19
- it('endpoints', () => {
20
- endpoints(easeInQuad);
21
- endpoints(easeOutQuad);
22
- });
23
- it('easeInQuad(0.5) < 0.5', () => {
24
- expect(easeInQuad(0.5)).toBeLessThan(0.5);
25
- });
26
- it('easeOutQuad(0.5) > 0.5', () => {
27
- expect(easeOutQuad(0.5)).toBeGreaterThan(0.5);
28
- });
29
- it('clamps to [0,1] range', () => {
30
- expect(easeInQuad(-1)).toBe(0);
31
- expect(easeOutQuad(2)).toBe(1);
32
- });
33
- });
34
- describe('easeOutQuart', () => {
35
- it('endpoints', () => endpoints(easeOutQuart));
36
- it('decelerates strongly (f(0.5) > easeOutQuad(0.5))', () => {
37
- expect(easeOutQuart(0.5)).toBeGreaterThan(easeOutQuad(0.5));
38
- });
39
- });
40
- describe('easeInOutQuad', () => {
41
- it('endpoints', () => endpoints(easeInOutQuad));
42
- it('symmetric around 0.5', () => {
43
- expect(easeInOutQuad(0.5)).toBeCloseTo(0.5, 5);
44
- expect(easeInOutQuad(0.25)).toBeCloseTo(1 - easeInOutQuad(0.75), 5);
45
- });
46
- });
47
- describe('easeOutBack', () => {
48
- it('endpoints (default overshoot)', () => endpoints(easeOutBack()));
49
- it('overshoots above 1 before reaching endpoint', () => {
50
- const fn = easeOutBack();
51
- let overshot = false;
52
- for (let t = 0; t <= 1; t += 0.02) {
53
- if (fn(t) > 1.01)
54
- overshot = true;
55
- }
56
- expect(overshot).toBe(true);
57
- });
58
- });
59
- describe('easeInBack', () => {
60
- it('endpoints', () => endpoints(easeInBack()));
61
- it('dips below 0 before settling', () => {
62
- const fn = easeInBack();
63
- let dipped = false;
64
- for (let t = 0; t <= 1; t += 0.02) {
65
- if (fn(t) < -0.01)
66
- dipped = true;
67
- }
68
- expect(dipped).toBe(true);
69
- });
70
- });
71
- describe('easeInOutBack', () => {
72
- it('endpoints', () => endpoints(easeInOutBack()));
73
- it('midpoint is ~0.5', () => {
74
- expect(easeInOutBack()(0.5)).toBeCloseTo(0.5, 5);
75
- });
76
- });
77
- describe('elastic eases', () => {
78
- it('endpoints for easeOutElastic', () => endpoints(easeOutElastic()));
79
- it('endpoints for easeInElastic', () => endpoints(easeInElastic()));
80
- it('endpoints for easeInOutElastic', () => endpoints(easeInOutElastic()));
81
- it('oscillates somewhere in the middle', () => {
82
- const fn = easeOutElastic();
83
- let above1 = false;
84
- for (let t = 0; t <= 1; t += 0.01) {
85
- if (fn(t) > 1.001)
86
- above1 = true;
87
- }
88
- expect(above1).toBe(true);
89
- });
90
- });
91
- //# sourceMappingURL=eases.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"eases.test.js","sourceRoot":"","sources":["../../src/tween/eases.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=lerp.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"lerp.test.d.ts","sourceRoot":"","sources":["../../src/tween/lerp.test.ts"],"names":[],"mappings":""}
@@ -1,22 +0,0 @@
1
- import { describe, it, expect } from 'vitest';
2
- import { lerpNumber } from '../tween/lerp';
3
- describe('lerpNumber', () => {
4
- it('returns from at t=0 and to at t=1', () => {
5
- expect(lerpNumber(10, 20, 0)).toBe(10);
6
- expect(lerpNumber(10, 20, 1)).toBe(20);
7
- });
8
- it('interpolates the midpoint at t=0.5', () => {
9
- expect(lerpNumber(0, 10, 0.5)).toBe(5);
10
- });
11
- it('works with descending ranges', () => {
12
- expect(lerpNumber(20, 0, 0.25)).toBe(15);
13
- });
14
- it('extrapolates outside [0,1] (no clamping)', () => {
15
- expect(lerpNumber(0, 10, 2)).toBe(20);
16
- expect(lerpNumber(0, 10, -1)).toBe(-10);
17
- });
18
- it('handles negative endpoints', () => {
19
- expect(lerpNumber(-10, 10, 0.5)).toBe(0);
20
- });
21
- });
22
- //# sourceMappingURL=lerp.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"lerp.test.js","sourceRoot":"","sources":["../../src/tween/lerp.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IACxB,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;QACzC,MAAM,CAAC,UAAU,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACvC,MAAM,CAAC,UAAU,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC1C,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;QACpC,MAAM,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;QAChD,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACtC,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;QAClC,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=prepare.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"prepare.test.d.ts","sourceRoot":"","sources":["../../src/tween/prepare.test.ts"],"names":[],"mappings":""}
@@ -1,44 +0,0 @@
1
- import { describe, it, expect } from 'vitest';
2
- import { prepareNumericTween } from '../tween/prepare';
3
- describe('prepareNumericTween', () => {
4
- it('snapshots the start values and interpolates toward the target', () => {
5
- const target = { x: 0, y: 100 };
6
- const apply = prepareNumericTween(target, { x: 10, y: 0 });
7
- apply(0.5);
8
- expect(target.x).toBe(5);
9
- expect(target.y).toBe(50);
10
- });
11
- it('writes the exact target at t=1', () => {
12
- const target = { x: 0 };
13
- const apply = prepareNumericTween(target, { x: 42 });
14
- apply(1);
15
- expect(target.x).toBe(42);
16
- });
17
- it('leaves the start value at t=0', () => {
18
- const target = { x: 7 };
19
- const apply = prepareNumericTween(target, { x: 100 });
20
- apply(0);
21
- expect(target.x).toBe(7);
22
- });
23
- it('captures the start value at preparation time, not call time', () => {
24
- const target = { x: 0 };
25
- const apply = prepareNumericTween(target, { x: 10 });
26
- // Mutating after prepare must not change the interpolation baseline.
27
- target.x = 1000;
28
- apply(0.5);
29
- expect(target.x).toBe(5);
30
- });
31
- it('only touches keys present in the target spec', () => {
32
- const target = { x: 0, y: 0 };
33
- const apply = prepareNumericTween(target, { x: 10 });
34
- apply(1);
35
- expect(target.y).toBe(0);
36
- });
37
- it('ignores undefined target values', () => {
38
- const target = { x: 5 };
39
- const apply = prepareNumericTween(target, { x: undefined });
40
- apply(1);
41
- expect(target.x).toBe(5);
42
- });
43
- });
44
- //# sourceMappingURL=prepare.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"prepare.test.js","sourceRoot":"","sources":["../../src/tween/prepare.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=sequence.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sequence.test.d.ts","sourceRoot":"","sources":["../../src/tween/sequence.test.ts"],"names":[],"mappings":""}