@pilates/core 1.1.0 → 2.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 (53) hide show
  1. package/dist/algorithm/cache.d.ts +7 -19
  2. package/dist/algorithm/cache.d.ts.map +1 -1
  3. package/dist/algorithm/cache.js +31 -27
  4. package/dist/algorithm/cache.js.map +1 -1
  5. package/dist/algorithm/index.js +22 -14
  6. package/dist/algorithm/index.js.map +1 -1
  7. package/dist/algorithm/round.d.ts.map +1 -1
  8. package/dist/algorithm/round.js +19 -19
  9. package/dist/algorithm/round.js.map +1 -1
  10. package/dist/algorithm/spineless/classify.d.ts +47 -0
  11. package/dist/algorithm/spineless/classify.d.ts.map +1 -0
  12. package/dist/algorithm/spineless/classify.js +109 -0
  13. package/dist/algorithm/spineless/classify.js.map +1 -0
  14. package/dist/algorithm/spineless/field-id-pool.d.ts +28 -0
  15. package/dist/algorithm/spineless/field-id-pool.d.ts.map +1 -0
  16. package/dist/algorithm/spineless/field-id-pool.js +35 -0
  17. package/dist/algorithm/spineless/field-id-pool.js.map +1 -0
  18. package/dist/algorithm/spineless/flex-grammar.d.ts.map +1 -1
  19. package/dist/algorithm/spineless/flex-grammar.js +194 -58
  20. package/dist/algorithm/spineless/flex-grammar.js.map +1 -1
  21. package/dist/algorithm/spineless/grammar.d.ts +6 -0
  22. package/dist/algorithm/spineless/grammar.d.ts.map +1 -1
  23. package/dist/algorithm/spineless/grammar.js +2 -1
  24. package/dist/algorithm/spineless/grammar.js.map +1 -1
  25. package/dist/algorithm/spineless/layout.d.ts +52 -15
  26. package/dist/algorithm/spineless/layout.d.ts.map +1 -1
  27. package/dist/algorithm/spineless/layout.js +450 -312
  28. package/dist/algorithm/spineless/layout.js.map +1 -1
  29. package/dist/algorithm/spineless/order-maintenance.d.ts +9 -0
  30. package/dist/algorithm/spineless/order-maintenance.d.ts.map +1 -1
  31. package/dist/algorithm/spineless/order-maintenance.js +6 -0
  32. package/dist/algorithm/spineless/order-maintenance.js.map +1 -1
  33. package/dist/algorithm/spineless/runtime.d.ts +61 -8
  34. package/dist/algorithm/spineless/runtime.d.ts.map +1 -1
  35. package/dist/algorithm/spineless/runtime.js +201 -50
  36. package/dist/algorithm/spineless/runtime.js.map +1 -1
  37. package/dist/dirty-flags.d.ts +30 -0
  38. package/dist/dirty-flags.d.ts.map +1 -0
  39. package/dist/dirty-flags.js +35 -0
  40. package/dist/dirty-flags.js.map +1 -0
  41. package/dist/index.d.ts +2 -1
  42. package/dist/index.d.ts.map +1 -1
  43. package/dist/index.js +4 -1
  44. package/dist/index.js.map +1 -1
  45. package/dist/layout-pool.d.ts +49 -0
  46. package/dist/layout-pool.d.ts.map +1 -0
  47. package/dist/layout-pool.js +75 -0
  48. package/dist/layout-pool.js.map +1 -0
  49. package/dist/node.d.ts +20 -3
  50. package/dist/node.d.ts.map +1 -1
  51. package/dist/node.js +63 -42
  52. package/dist/node.js.map +1 -1
  53. package/package.json +1 -1
@@ -0,0 +1,49 @@
1
+ /**
2
+ * LayoutPool — typed-array storage indexed by Node._id.
3
+ *
4
+ * Manages Float64Arrays for absolute corner coordinates used by
5
+ * roundLayout. IDs are allocated at Node construction and recycled
6
+ * via FinalizationRegistry when the Node is garbage-collected.
7
+ *
8
+ * @internal
9
+ */
10
+ /**
11
+ * Mutable pool object. Properties are reassigned during growth so that
12
+ * consumers reading `Pool.absCornersX[id]` always see the latest array.
13
+ */
14
+ export declare const Pool: {
15
+ absCornersX: Float64Array;
16
+ absCornersY: Float64Array;
17
+ };
18
+ /**
19
+ * Allocate a unique integer ID for `node`. Phase 15C defers
20
+ * recycling: the FinalizationRegistry pattern showed ~2× regression
21
+ * on cold-build scenarios (huge/big) because per-Node registration
22
+ * cost dominated. Without recycling, the pool grows to peak-live-
23
+ * node count; for long-running TUIs this is bounded by the app's
24
+ * actual node footprint. A future sub-phase can add manual
25
+ * compactPool() if a real consumer reports memory pressure.
26
+ *
27
+ * The `node` parameter is unused for now; preserving the signature
28
+ * for API compatibility when recycling returns.
29
+ *
30
+ * @internal
31
+ */
32
+ export declare function allocateNodeId(_node: object): number;
33
+ /**
34
+ * Returns diagnostic stats about the pool. Intended for tests only.
35
+ *
36
+ * @internal
37
+ */
38
+ export declare function _poolStats(): {
39
+ capacity: number;
40
+ nextId: number;
41
+ freeCount: number;
42
+ };
43
+ /**
44
+ * Reset pool to initial state. Call in `beforeEach` in tests only.
45
+ *
46
+ * @internal
47
+ */
48
+ export declare function _resetPoolForTesting(): void;
49
+ //# sourceMappingURL=layout-pool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layout-pool.d.ts","sourceRoot":"","sources":["../src/layout-pool.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH;;;GAGG;AACH,eAAO,MAAM,IAAI,EAAE;IACjB,WAAW,EAAE,YAAY,CAAC;IAC1B,WAAW,EAAE,YAAY,CAAC;CAI3B,CAAC;AAiBF;;;;;;;;;;;;;GAaG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAQpD;AAED;;;;GAIG;AACH,wBAAgB,UAAU,IAAI;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAEpF;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,IAAI,IAAI,CAM3C"}
@@ -0,0 +1,75 @@
1
+ /**
2
+ * LayoutPool — typed-array storage indexed by Node._id.
3
+ *
4
+ * Manages Float64Arrays for absolute corner coordinates used by
5
+ * roundLayout. IDs are allocated at Node construction and recycled
6
+ * via FinalizationRegistry when the Node is garbage-collected.
7
+ *
8
+ * @internal
9
+ */
10
+ const INITIAL_CAPACITY = 1024;
11
+ /**
12
+ * Mutable pool object. Properties are reassigned during growth so that
13
+ * consumers reading `Pool.absCornersX[id]` always see the latest array.
14
+ */
15
+ export const Pool = {
16
+ absCornersX: new Float64Array(INITIAL_CAPACITY),
17
+ absCornersY: new Float64Array(INITIAL_CAPACITY),
18
+ };
19
+ let _nextId = 0;
20
+ let _capacity = INITIAL_CAPACITY;
21
+ const _freeIds = [];
22
+ function growPool() {
23
+ const newCapacity = _capacity * 2;
24
+ const newX = new Float64Array(newCapacity);
25
+ const newY = new Float64Array(newCapacity);
26
+ newX.set(Pool.absCornersX);
27
+ newY.set(Pool.absCornersY);
28
+ Pool.absCornersX = newX;
29
+ Pool.absCornersY = newY;
30
+ _capacity = newCapacity;
31
+ }
32
+ /**
33
+ * Allocate a unique integer ID for `node`. Phase 15C defers
34
+ * recycling: the FinalizationRegistry pattern showed ~2× regression
35
+ * on cold-build scenarios (huge/big) because per-Node registration
36
+ * cost dominated. Without recycling, the pool grows to peak-live-
37
+ * node count; for long-running TUIs this is bounded by the app's
38
+ * actual node footprint. A future sub-phase can add manual
39
+ * compactPool() if a real consumer reports memory pressure.
40
+ *
41
+ * The `node` parameter is unused for now; preserving the signature
42
+ * for API compatibility when recycling returns.
43
+ *
44
+ * @internal
45
+ */
46
+ export function allocateNodeId(_node) {
47
+ if (_freeIds.length > 0) {
48
+ return _freeIds.pop();
49
+ }
50
+ if (_nextId >= _capacity) {
51
+ growPool();
52
+ }
53
+ return _nextId++;
54
+ }
55
+ /**
56
+ * Returns diagnostic stats about the pool. Intended for tests only.
57
+ *
58
+ * @internal
59
+ */
60
+ export function _poolStats() {
61
+ return { capacity: _capacity, nextId: _nextId, freeCount: _freeIds.length };
62
+ }
63
+ /**
64
+ * Reset pool to initial state. Call in `beforeEach` in tests only.
65
+ *
66
+ * @internal
67
+ */
68
+ export function _resetPoolForTesting() {
69
+ Pool.absCornersX = new Float64Array(INITIAL_CAPACITY);
70
+ Pool.absCornersY = new Float64Array(INITIAL_CAPACITY);
71
+ _nextId = 0;
72
+ _capacity = INITIAL_CAPACITY;
73
+ _freeIds.length = 0;
74
+ }
75
+ //# sourceMappingURL=layout-pool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layout-pool.js","sourceRoot":"","sources":["../src/layout-pool.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,gBAAgB,GAAG,IAAI,CAAC;AAE9B;;;GAGG;AACH,MAAM,CAAC,MAAM,IAAI,GAGb;IACF,WAAW,EAAE,IAAI,YAAY,CAAC,gBAAgB,CAAC;IAC/C,WAAW,EAAE,IAAI,YAAY,CAAC,gBAAgB,CAAC;CAChD,CAAC;AAEF,IAAI,OAAO,GAAG,CAAC,CAAC;AAChB,IAAI,SAAS,GAAG,gBAAgB,CAAC;AACjC,MAAM,QAAQ,GAAa,EAAE,CAAC;AAE9B,SAAS,QAAQ;IACf,MAAM,WAAW,GAAG,SAAS,GAAG,CAAC,CAAC;IAClC,MAAM,IAAI,GAAG,IAAI,YAAY,CAAC,WAAW,CAAC,CAAC;IAC3C,MAAM,IAAI,GAAG,IAAI,YAAY,CAAC,WAAW,CAAC,CAAC;IAC3C,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC3B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC3B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IACxB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IACxB,SAAS,GAAG,WAAW,CAAC;AAC1B,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,cAAc,CAAC,KAAa;IAC1C,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,OAAO,QAAQ,CAAC,GAAG,EAAG,CAAC;IACzB,CAAC;IACD,IAAI,OAAO,IAAI,SAAS,EAAE,CAAC;QACzB,QAAQ,EAAE,CAAC;IACb,CAAC;IACD,OAAO,OAAO,EAAE,CAAC;AACnB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,UAAU;IACxB,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC;AAC9E,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB;IAClC,IAAI,CAAC,WAAW,GAAG,IAAI,YAAY,CAAC,gBAAgB,CAAC,CAAC;IACtD,IAAI,CAAC,WAAW,GAAG,IAAI,YAAY,CAAC,gBAAgB,CAAC,CAAC;IACtD,OAAO,GAAG,CAAC,CAAC;IACZ,SAAS,GAAG,gBAAgB,CAAC;IAC7B,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;AACtB,CAAC"}
package/dist/node.d.ts CHANGED
@@ -29,6 +29,14 @@ export declare class Node {
29
29
  *
30
30
  * @internal
31
31
  */
32
+ /**
33
+ * Unique integer ID for typed-array indexing in the LayoutPool.
34
+ * Assigned at construction; recycled via FinalizationRegistry when
35
+ * this Node is garbage-collected.
36
+ *
37
+ * @internal
38
+ */
39
+ readonly _id: number;
32
40
  readonly _style: Style;
33
41
  /**
34
42
  * Backing storage for `layout`. Written by the algorithm in this package
@@ -68,15 +76,15 @@ export declare class Node {
68
76
  private readonly _children;
69
77
  private _parent;
70
78
  private _measure;
71
- /** True if style or tree has changed since the last `calculateLayout()`. */
72
- private _dirty;
79
+ /** Bitmask of `DIRTY_*` flags. Non-zero means this node is dirty. */
80
+ private _dirtyFlags;
73
81
  /**
74
82
  * True if any descendant has been marked dirty (even if dirty propagation
75
83
  * was stopped by a relayout boundary before reaching this node). Used by
76
84
  * the root cache-hit path to skip `layoutChildren` for subtrees that have
77
85
  * no mutations at all — not just subtrees where this node itself is clean.
78
86
  *
79
- * Invariant: `_dirty` implies `_hasDirtyDescendant` on the parent (if any).
87
+ * Invariant: `_dirtyFlags !== 0` implies `_hasDirtyDescendant` on the parent (if any).
80
88
  * Cleared by `clearDirty()` after each `calculateLayout()`.
81
89
  */
82
90
  _hasDirtyDescendant: boolean;
@@ -226,6 +234,15 @@ export declare class Node {
226
234
  * Walk up the tree marking every ancestor dirty too. The algorithm uses
227
235
  * this hint to short-circuit work in subtrees that did not change.
228
236
  */
237
+ /**
238
+ * Set specific dirty flag(s) on this node. Propagates upward
239
+ * through ancestors. Used by individual setters to indicate the
240
+ * granular nature of the change; cache layers consume the flag
241
+ * to decide whether to invalidate.
242
+ *
243
+ * @internal
244
+ */
245
+ markDirtyFlag(flag: number): void;
229
246
  markDirty(): void;
230
247
  /**
231
248
  * Called when a child (or descendant via recursion) is mutated. Marks
@@ -1 +1 @@
1
- {"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"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"}
package/dist/node.js CHANGED
@@ -17,7 +17,9 @@
17
17
  */
18
18
  import { MeasureCache } from './algorithm/cache.js';
19
19
  import { calculateLayout as runCalculateLayout } from './algorithm/index.js';
20
+ import { DIRTY_ANY, DIRTY_CHILDREN, DIRTY_FLEX_DISTRIBUTION, DIRTY_MEASURE, DIRTY_STYLE_SIG, DIRTY_STYLE_VALUE, } from './dirty-flags.js';
20
21
  import { Edge } from './edge.js';
22
+ import { allocateNodeId } from './layout-pool.js';
21
23
  import { defaultLayout } from './layout.js';
22
24
  import { defaultStyle, } from './style.js';
23
25
  const TOP = 0;
@@ -42,6 +44,14 @@ export class Node {
42
44
  *
43
45
  * @internal
44
46
  */
47
+ /**
48
+ * Unique integer ID for typed-array indexing in the LayoutPool.
49
+ * Assigned at construction; recycled via FinalizationRegistry when
50
+ * this Node is garbage-collected.
51
+ *
52
+ * @internal
53
+ */
54
+ _id = allocateNodeId(this);
45
55
  _style = defaultStyle();
46
56
  /**
47
57
  * Backing storage for `layout`. Written by the algorithm in this package
@@ -89,15 +99,15 @@ export class Node {
89
99
  _children = [];
90
100
  _parent = null;
91
101
  _measure = null;
92
- /** True if style or tree has changed since the last `calculateLayout()`. */
93
- _dirty = true;
102
+ /** Bitmask of `DIRTY_*` flags. Non-zero means this node is dirty. */
103
+ _dirtyFlags = DIRTY_ANY;
94
104
  /**
95
105
  * True if any descendant has been marked dirty (even if dirty propagation
96
106
  * was stopped by a relayout boundary before reaching this node). Used by
97
107
  * the root cache-hit path to skip `layoutChildren` for subtrees that have
98
108
  * no mutations at all — not just subtrees where this node itself is clean.
99
109
  *
100
- * Invariant: `_dirty` implies `_hasDirtyDescendant` on the parent (if any).
110
+ * Invariant: `_dirtyFlags !== 0` implies `_hasDirtyDescendant` on the parent (if any).
101
111
  * Cleared by `clearDirty()` after each `calculateLayout()`.
102
112
  */
103
113
  _hasDirtyDescendant = false;
@@ -156,7 +166,7 @@ export class Node {
156
166
  const i = Math.max(0, Math.min(index, this._children.length));
157
167
  this._children.splice(i, 0, child);
158
168
  child._parent = this;
159
- this.markDirty();
169
+ this.markDirtyFlag(DIRTY_CHILDREN);
160
170
  }
161
171
  removeChild(child) {
162
172
  const idx = this._children.indexOf(child);
@@ -164,7 +174,7 @@ export class Node {
164
174
  return;
165
175
  this._children.splice(idx, 1);
166
176
  child._parent = null;
167
- this.markDirty();
177
+ this.markDirtyFlag(DIRTY_CHILDREN);
168
178
  }
169
179
  getChild(index) {
170
180
  return this._children[index];
@@ -199,7 +209,7 @@ export class Node {
199
209
  this._measureCache.clear();
200
210
  }
201
211
  }
202
- this.markDirty();
212
+ this.markDirtyFlag(DIRTY_MEASURE);
203
213
  }
204
214
  getMeasureFunc() {
205
215
  return this._measure;
@@ -207,11 +217,11 @@ export class Node {
207
217
  // ─── flex direction / wrap / flex shorthand ───────────────────────────
208
218
  setFlexDirection(value) {
209
219
  this._style.flexDirection = value;
210
- this.markDirty();
220
+ this.markDirtyFlag(DIRTY_STYLE_SIG);
211
221
  }
212
222
  setFlexWrap(value) {
213
223
  this._style.flexWrap = value;
214
- this.markDirty();
224
+ this.markDirtyFlag(DIRTY_STYLE_SIG);
215
225
  }
216
226
  /**
217
227
  * CSS `flex` shorthand: grow=value, shrink=1, basis=0 (when value > 0).
@@ -241,56 +251,56 @@ export class Node {
241
251
  this._style.flexShrink = 0;
242
252
  this._style.flexBasis = 'auto';
243
253
  }
244
- this.markDirty();
254
+ this.markDirtyFlag(DIRTY_FLEX_DISTRIBUTION);
245
255
  }
246
256
  setFlexGrow(value) {
247
257
  this._style.flexGrow = clampNonNegative(value);
248
- this.markDirty();
258
+ this.markDirtyFlag(DIRTY_FLEX_DISTRIBUTION);
249
259
  }
250
260
  setFlexShrink(value) {
251
261
  this._style.flexShrink = clampNonNegative(value);
252
- this.markDirty();
262
+ this.markDirtyFlag(DIRTY_FLEX_DISTRIBUTION);
253
263
  }
254
264
  setFlexBasis(value) {
255
265
  if (value !== 'auto')
256
266
  nonNegativeOrThrow(value, 'flexBasis');
257
267
  this._style.flexBasis = value;
258
- this.markDirty();
268
+ this.markDirtyFlag(DIRTY_FLEX_DISTRIBUTION);
259
269
  }
260
270
  // ─── sizing ────────────────────────────────────────────────────────────
261
271
  setWidth(value) {
262
272
  if (value !== 'auto')
263
273
  nonNegativeOrThrow(value, 'width');
264
274
  this._style.width = value;
265
- this.markDirty();
275
+ this.markDirtyFlag(DIRTY_STYLE_VALUE);
266
276
  }
267
277
  setHeight(value) {
268
278
  if (value !== 'auto')
269
279
  nonNegativeOrThrow(value, 'height');
270
280
  this._style.height = value;
271
- this.markDirty();
281
+ this.markDirtyFlag(DIRTY_STYLE_VALUE);
272
282
  }
273
283
  setMinWidth(value) {
274
284
  this._style.minWidth = nonNegativeOrThrow(value, 'minWidth');
275
- this.markDirty();
285
+ this.markDirtyFlag(DIRTY_STYLE_VALUE);
276
286
  }
277
287
  setMinHeight(value) {
278
288
  this._style.minHeight = nonNegativeOrThrow(value, 'minHeight');
279
- this.markDirty();
289
+ this.markDirtyFlag(DIRTY_STYLE_VALUE);
280
290
  }
281
291
  /** Pass `undefined` to remove an upper bound. */
282
292
  setMaxWidth(value) {
283
293
  if (value !== undefined)
284
294
  nonNegativeOrThrow(value, 'maxWidth');
285
295
  this._style.maxWidth = value;
286
- this.markDirty();
296
+ this.markDirtyFlag(DIRTY_STYLE_VALUE);
287
297
  }
288
298
  /** Pass `undefined` to remove an upper bound. */
289
299
  setMaxHeight(value) {
290
300
  if (value !== undefined)
291
301
  nonNegativeOrThrow(value, 'maxHeight');
292
302
  this._style.maxHeight = value;
293
- this.markDirty();
303
+ this.markDirtyFlag(DIRTY_STYLE_VALUE);
294
304
  }
295
305
  /**
296
306
  * Pass `undefined` to clear the constraint. Must be a positive finite
@@ -303,18 +313,18 @@ export class Node {
303
313
  }
304
314
  }
305
315
  this._style.aspectRatio = value;
306
- this.markDirty();
316
+ this.markDirtyFlag(DIRTY_STYLE_SIG);
307
317
  }
308
318
  // ─── padding / margin / gap ────────────────────────────────────────────
309
319
  setPadding(edge, value) {
310
320
  nonNegativeOrThrow(value, 'padding');
311
321
  writeEdge(this._style.padding, edge, value);
312
- this.markDirty();
322
+ this.markDirtyFlag(DIRTY_STYLE_VALUE);
313
323
  }
314
324
  setMargin(edge, value) {
315
325
  nonNegativeOrThrow(value, 'margin');
316
326
  writeEdge(this._style.margin, edge, value);
317
- this.markDirty();
327
+ this.markDirtyFlag(DIRTY_STYLE_VALUE);
318
328
  }
319
329
  setGap(axis, value) {
320
330
  nonNegativeOrThrow(value, 'gap');
@@ -322,29 +332,29 @@ export class Node {
322
332
  this._style.gapRow = value;
323
333
  else
324
334
  this._style.gapColumn = value;
325
- this.markDirty();
335
+ this.markDirtyFlag(DIRTY_STYLE_VALUE);
326
336
  }
327
337
  // ─── alignment ─────────────────────────────────────────────────────────
328
338
  setJustifyContent(value) {
329
339
  this._style.justifyContent = value;
330
- this.markDirty();
340
+ this.markDirtyFlag(DIRTY_STYLE_SIG);
331
341
  }
332
342
  setAlignItems(value) {
333
343
  this._style.alignItems = value;
334
- this.markDirty();
344
+ this.markDirtyFlag(DIRTY_STYLE_SIG);
335
345
  }
336
346
  setAlignContent(value) {
337
347
  this._style.alignContent = value;
338
- this.markDirty();
348
+ this.markDirtyFlag(DIRTY_STYLE_SIG);
339
349
  }
340
350
  setAlignSelf(value) {
341
351
  this._style.alignSelf = value;
342
- this.markDirty();
352
+ this.markDirtyFlag(DIRTY_STYLE_SIG);
343
353
  }
344
354
  // ─── positioning ───────────────────────────────────────────────────────
345
355
  setPositionType(value) {
346
356
  this._style.positionType = value;
347
- this.markDirty();
357
+ this.markDirtyFlag(DIRTY_STYLE_SIG);
348
358
  }
349
359
  /** Pass `undefined` to leave that edge unconstrained. */
350
360
  setPosition(edge, value) {
@@ -352,27 +362,27 @@ export class Node {
352
362
  throw new RangeError(`position must be finite or undefined, got ${value}`);
353
363
  }
354
364
  writePositionEdge(this._style.position, edge, value);
355
- this.markDirty();
365
+ this.markDirtyFlag(DIRTY_STYLE_VALUE);
356
366
  }
357
367
  // ─── display ───────────────────────────────────────────────────────────
358
368
  setDisplay(value) {
359
369
  this._style.display = value;
360
- this.markDirty();
370
+ this.markDirtyFlag(DIRTY_STYLE_SIG);
361
371
  }
362
372
  // ─── overflow ──────────────────────────────────────────────────────────
363
373
  setOverflow(overflow) {
364
374
  this._style.overflow = overflow;
365
375
  this._style.overflowX = overflow;
366
376
  this._style.overflowY = overflow;
367
- this.markDirty();
377
+ this.markDirtyFlag(DIRTY_STYLE_SIG);
368
378
  }
369
379
  setOverflowX(overflow) {
370
380
  this._style.overflowX = overflow;
371
- this.markDirty();
381
+ this.markDirtyFlag(DIRTY_STYLE_SIG);
372
382
  }
373
383
  setOverflowY(overflow) {
374
384
  this._style.overflowY = overflow;
375
- this.markDirty();
385
+ this.markDirtyFlag(DIRTY_STYLE_SIG);
376
386
  }
377
387
  // ─── layout entry points ───────────────────────────────────────────────
378
388
  /**
@@ -438,17 +448,28 @@ export class Node {
438
448
  * Walk up the tree marking every ancestor dirty too. The algorithm uses
439
449
  * this hint to short-circuit work in subtrees that did not change.
440
450
  */
441
- markDirty() {
442
- this._dirty = true;
451
+ /**
452
+ * Set specific dirty flag(s) on this node. Propagates upward
453
+ * through ancestors. Used by individual setters to indicate the
454
+ * granular nature of the change; cache layers consume the flag
455
+ * to decide whether to invalidate.
456
+ *
457
+ * @internal
458
+ */
459
+ markDirtyFlag(flag) {
460
+ this._dirtyFlags |= flag;
443
461
  // Optional-chain: only fires on leaves with a measure func installed.
444
462
  // Ancestor nodes (containers with children) cannot have a MeasureCache
445
463
  // because setMeasureFunc rejects nodes with children; the optional-chain
446
464
  // is a deliberate no-op as we propagate dirty up the tree.
447
465
  this._measureCache?.clear();
448
466
  this._layoutCache?.clear();
449
- if (this._parent !== null && !this._parent._dirty)
467
+ if (this._parent !== null && this._parent._dirtyFlags === 0)
450
468
  this._parent.markDirtyFromChild(this);
451
469
  }
470
+ markDirty() {
471
+ this.markDirtyFlag(DIRTY_ANY);
472
+ }
452
473
  /**
453
474
  * Called when a child (or descendant via recursion) is mutated. Marks
454
475
  * this node dirty and propagates upward — but stops here if this node
@@ -459,7 +480,7 @@ export class Node {
459
480
  * See `isLayoutBoundary()` for the boundary definition and rationale.
460
481
  */
461
482
  markDirtyFromChild(_child) {
462
- this._dirty = true;
483
+ this._dirtyFlags |= DIRTY_ANY;
463
484
  this._layoutCache?.clear();
464
485
  // Stop dirty propagation at relayout boundaries — see isLayoutBoundary
465
486
  // and the Phase 3 spec for why explicit width+height makes the
@@ -475,7 +496,7 @@ export class Node {
475
496
  this._parent.markHasDirtyDescendant();
476
497
  return;
477
498
  }
478
- if (this._parent !== null && !this._parent._dirty)
499
+ if (this._parent !== null && this._parent._dirtyFlags === 0)
479
500
  this._parent.markDirtyFromChild(this);
480
501
  }
481
502
  /**
@@ -490,7 +511,7 @@ export class Node {
490
511
  if (this._hasDirtyDescendant)
491
512
  return; // already set; further propagation is a no-op
492
513
  this._hasDirtyDescendant = true;
493
- if (this._parent !== null && !this._parent._dirty)
514
+ if (this._parent !== null && this._parent._dirtyFlags === 0)
494
515
  this._parent.markHasDirtyDescendant();
495
516
  }
496
517
  /**
@@ -503,14 +524,14 @@ export class Node {
503
524
  * @internal
504
525
  */
505
526
  _forceDirty() {
506
- this._dirty = true;
527
+ this._dirtyFlags |= DIRTY_ANY;
507
528
  this._measureCache?.clear();
508
529
  this._layoutCache?.clear();
509
- if (this._parent !== null && !this._parent._dirty)
530
+ if (this._parent !== null && this._parent._dirtyFlags === 0)
510
531
  this._parent._forceDirty();
511
532
  }
512
533
  isDirty() {
513
- return this._dirty;
534
+ return this._dirtyFlags !== 0;
514
535
  }
515
536
  /**
516
537
  * Called by the algorithm once layout is fresh. Not part of the public
@@ -520,7 +541,7 @@ export class Node {
520
541
  * @internal
521
542
  */
522
543
  clearDirty() {
523
- this._dirty = false;
544
+ this._dirtyFlags = 0;
524
545
  this._hasDirtyDescendant = false;
525
546
  }
526
547
  }
package/dist/node.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"node.js","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"node.js","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pilates/core",
3
- "version": "1.1.0",
3
+ "version": "2.0.0",
4
4
  "description": "Headless flex layout engine for terminal UIs. Pure TypeScript, zero dependencies.",
5
5
  "license": "MIT",
6
6
  "author": "Zhijie Wang",