@pilates/core 1.1.0 → 2.0.1
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/algorithm/cache.d.ts +7 -19
- package/dist/algorithm/cache.d.ts.map +1 -1
- package/dist/algorithm/cache.js +31 -27
- package/dist/algorithm/cache.js.map +1 -1
- package/dist/algorithm/index.js +22 -14
- package/dist/algorithm/index.js.map +1 -1
- package/dist/algorithm/round.d.ts.map +1 -1
- package/dist/algorithm/round.js +19 -19
- package/dist/algorithm/round.js.map +1 -1
- package/dist/algorithm/spineless/classify.d.ts +47 -0
- package/dist/algorithm/spineless/classify.d.ts.map +1 -0
- package/dist/algorithm/spineless/classify.js +109 -0
- package/dist/algorithm/spineless/classify.js.map +1 -0
- package/dist/algorithm/spineless/field-id-pool.d.ts +28 -0
- package/dist/algorithm/spineless/field-id-pool.d.ts.map +1 -0
- package/dist/algorithm/spineless/field-id-pool.js +35 -0
- package/dist/algorithm/spineless/field-id-pool.js.map +1 -0
- package/dist/algorithm/spineless/flex-grammar.d.ts.map +1 -1
- package/dist/algorithm/spineless/flex-grammar.js +194 -58
- package/dist/algorithm/spineless/flex-grammar.js.map +1 -1
- package/dist/algorithm/spineless/grammar.d.ts +6 -0
- package/dist/algorithm/spineless/grammar.d.ts.map +1 -1
- package/dist/algorithm/spineless/grammar.js +2 -1
- package/dist/algorithm/spineless/grammar.js.map +1 -1
- package/dist/algorithm/spineless/layout.d.ts +52 -15
- package/dist/algorithm/spineless/layout.d.ts.map +1 -1
- package/dist/algorithm/spineless/layout.js +450 -312
- package/dist/algorithm/spineless/layout.js.map +1 -1
- package/dist/algorithm/spineless/order-maintenance.d.ts +9 -0
- package/dist/algorithm/spineless/order-maintenance.d.ts.map +1 -1
- package/dist/algorithm/spineless/order-maintenance.js +6 -0
- package/dist/algorithm/spineless/order-maintenance.js.map +1 -1
- package/dist/algorithm/spineless/runtime.d.ts +61 -8
- package/dist/algorithm/spineless/runtime.d.ts.map +1 -1
- package/dist/algorithm/spineless/runtime.js +201 -50
- package/dist/algorithm/spineless/runtime.js.map +1 -1
- package/dist/algorithm/spineless/style-dirty.d.ts +8 -6
- package/dist/algorithm/spineless/style-dirty.d.ts.map +1 -1
- package/dist/algorithm/spineless/style-dirty.js +10 -11
- package/dist/algorithm/spineless/style-dirty.js.map +1 -1
- package/dist/dirty-flags.d.ts +30 -0
- package/dist/dirty-flags.d.ts.map +1 -0
- package/dist/dirty-flags.js +35 -0
- package/dist/dirty-flags.js.map +1 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/dist/layout-pool.d.ts +49 -0
- package/dist/layout-pool.d.ts.map +1 -0
- package/dist/layout-pool.js +75 -0
- package/dist/layout-pool.js.map +1 -0
- package/dist/node.d.ts +20 -3
- package/dist/node.d.ts.map +1 -1
- package/dist/node.js +63 -42
- package/dist/node.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export declare const VERSION = "
|
|
1
|
+
export declare const VERSION = "2.0.1";
|
|
2
2
|
export { Node } from './node.js';
|
|
3
3
|
export { Edge } from './edge.js';
|
|
4
4
|
export type { Align, Display, FlexDirection, FlexWrap, Justify, Length, Overflow, PositionType, Style, } from './style.js';
|
|
@@ -6,6 +6,7 @@ export { MeasureMode } from './measure-func.js';
|
|
|
6
6
|
export type { MeasureFunc, MeasureSize } from './measure-func.js';
|
|
7
7
|
export type { ComputedLayout } from './layout.js';
|
|
8
8
|
export { setLayoutProfiler, type LayoutProfiler, type LayoutTrace } from './algorithm/index.js';
|
|
9
|
+
export { DIRTY_ANY, DIRTY_CHILDREN, DIRTY_FLEX_DISTRIBUTION, DIRTY_MEASURE, DIRTY_MEASURE_CONTENT, DIRTY_STYLE_SIG, DIRTY_STYLE_VALUE, } from './dirty-flags.js';
|
|
9
10
|
export { inspectLayout } from './inspect.js';
|
|
10
11
|
export { cellWidth, graphemes, stringWidth, stripAnsi, type Grapheme } from './measure/index.js';
|
|
11
12
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,UAAU,CAAC;AAG/B,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,YAAY,EACV,KAAK,EACL,OAAO,EACP,aAAa,EACb,QAAQ,EACR,OAAO,EACP,MAAM,EACN,QAAQ,EACR,YAAY,EACZ,KAAK,GACN,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGlE,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAIlD,OAAO,EAAE,iBAAiB,EAAE,KAAK,cAAc,EAAE,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,UAAU,CAAC;AAG/B,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,YAAY,EACV,KAAK,EACL,OAAO,EACP,aAAa,EACb,QAAQ,EACR,OAAO,EACP,MAAM,EACN,QAAQ,EACR,YAAY,EACZ,KAAK,GACN,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGlE,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAIlD,OAAO,EAAE,iBAAiB,EAAE,KAAK,cAAc,EAAE,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAIhG,OAAO,EACL,SAAS,EACT,cAAc,EACd,uBAAuB,EACvB,aAAa,EACb,qBAAqB,EACrB,eAAe,EACf,iBAAiB,GAClB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAI7C,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,QAAQ,EAAE,MAAM,oBAAoB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export const VERSION = '
|
|
1
|
+
export const VERSION = '2.0.1';
|
|
2
2
|
// Tree
|
|
3
3
|
export { Node } from './node.js';
|
|
4
4
|
// Style values
|
|
@@ -8,6 +8,9 @@ export { MeasureMode } from './measure-func.js';
|
|
|
8
8
|
// Layout profiling — observe what the incremental engine did per
|
|
9
9
|
// `calculateLayout` call (phase 9).
|
|
10
10
|
export { setLayoutProfiler } from './algorithm/index.js';
|
|
11
|
+
// Per-property dirty flags (phase 15B). @internal — consumed by the
|
|
12
|
+
// algorithm + spineless layers; not part of the public API surface.
|
|
13
|
+
export { DIRTY_ANY, DIRTY_CHILDREN, DIRTY_FLEX_DISTRIBUTION, DIRTY_MEASURE, DIRTY_MEASURE_CONTENT, DIRTY_STYLE_SIG, DIRTY_STYLE_VALUE, } from './dirty-flags.js';
|
|
11
14
|
// Layout inspection — a console dump of a computed-layout subtree.
|
|
12
15
|
export { inspectLayout } from './inspect.js';
|
|
13
16
|
// Text measurement (re-exported from the measure module so consumers can
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC;AAE/B,OAAO;AACP,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,eAAe;AACf,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAajC,mBAAmB;AACnB,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAMhD,iEAAiE;AACjE,oCAAoC;AACpC,OAAO,EAAE,iBAAiB,EAAyC,MAAM,sBAAsB,CAAC;AAEhG,mEAAmE;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,yEAAyE;AACzE,uDAAuD;AACvD,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAiB,MAAM,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC;AAE/B,OAAO;AACP,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,eAAe;AACf,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAajC,mBAAmB;AACnB,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAMhD,iEAAiE;AACjE,oCAAoC;AACpC,OAAO,EAAE,iBAAiB,EAAyC,MAAM,sBAAsB,CAAC;AAEhG,oEAAoE;AACpE,oEAAoE;AACpE,OAAO,EACL,SAAS,EACT,cAAc,EACd,uBAAuB,EACvB,aAAa,EACb,qBAAqB,EACrB,eAAe,EACf,iBAAiB,GAClB,MAAM,kBAAkB,CAAC;AAE1B,mEAAmE;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,yEAAyE;AACzE,uDAAuD;AACvD,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAiB,MAAM,oBAAoB,CAAC"}
|
|
@@ -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
|
-
/**
|
|
72
|
-
private
|
|
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: `
|
|
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
|
package/dist/node.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,KAAK,WAAW,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;
|
|
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
|
-
/**
|
|
93
|
-
|
|
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: `
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
220
|
+
this.markDirtyFlag(DIRTY_STYLE_SIG);
|
|
211
221
|
}
|
|
212
222
|
setFlexWrap(value) {
|
|
213
223
|
this._style.flexWrap = value;
|
|
214
|
-
this.
|
|
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.
|
|
254
|
+
this.markDirtyFlag(DIRTY_FLEX_DISTRIBUTION);
|
|
245
255
|
}
|
|
246
256
|
setFlexGrow(value) {
|
|
247
257
|
this._style.flexGrow = clampNonNegative(value);
|
|
248
|
-
this.
|
|
258
|
+
this.markDirtyFlag(DIRTY_FLEX_DISTRIBUTION);
|
|
249
259
|
}
|
|
250
260
|
setFlexShrink(value) {
|
|
251
261
|
this._style.flexShrink = clampNonNegative(value);
|
|
252
|
-
this.
|
|
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.
|
|
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.
|
|
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.
|
|
281
|
+
this.markDirtyFlag(DIRTY_STYLE_VALUE);
|
|
272
282
|
}
|
|
273
283
|
setMinWidth(value) {
|
|
274
284
|
this._style.minWidth = nonNegativeOrThrow(value, 'minWidth');
|
|
275
|
-
this.
|
|
285
|
+
this.markDirtyFlag(DIRTY_STYLE_VALUE);
|
|
276
286
|
}
|
|
277
287
|
setMinHeight(value) {
|
|
278
288
|
this._style.minHeight = nonNegativeOrThrow(value, 'minHeight');
|
|
279
|
-
this.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
335
|
+
this.markDirtyFlag(DIRTY_STYLE_VALUE);
|
|
326
336
|
}
|
|
327
337
|
// ─── alignment ─────────────────────────────────────────────────────────
|
|
328
338
|
setJustifyContent(value) {
|
|
329
339
|
this._style.justifyContent = value;
|
|
330
|
-
this.
|
|
340
|
+
this.markDirtyFlag(DIRTY_STYLE_SIG);
|
|
331
341
|
}
|
|
332
342
|
setAlignItems(value) {
|
|
333
343
|
this._style.alignItems = value;
|
|
334
|
-
this.
|
|
344
|
+
this.markDirtyFlag(DIRTY_STYLE_SIG);
|
|
335
345
|
}
|
|
336
346
|
setAlignContent(value) {
|
|
337
347
|
this._style.alignContent = value;
|
|
338
|
-
this.
|
|
348
|
+
this.markDirtyFlag(DIRTY_STYLE_SIG);
|
|
339
349
|
}
|
|
340
350
|
setAlignSelf(value) {
|
|
341
351
|
this._style.alignSelf = value;
|
|
342
|
-
this.
|
|
352
|
+
this.markDirtyFlag(DIRTY_STYLE_SIG);
|
|
343
353
|
}
|
|
344
354
|
// ─── positioning ───────────────────────────────────────────────────────
|
|
345
355
|
setPositionType(value) {
|
|
346
356
|
this._style.positionType = value;
|
|
347
|
-
this.
|
|
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.
|
|
365
|
+
this.markDirtyFlag(DIRTY_STYLE_VALUE);
|
|
356
366
|
}
|
|
357
367
|
// ─── display ───────────────────────────────────────────────────────────
|
|
358
368
|
setDisplay(value) {
|
|
359
369
|
this._style.display = value;
|
|
360
|
-
this.
|
|
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.
|
|
377
|
+
this.markDirtyFlag(DIRTY_STYLE_SIG);
|
|
368
378
|
}
|
|
369
379
|
setOverflowX(overflow) {
|
|
370
380
|
this._style.overflowX = overflow;
|
|
371
|
-
this.
|
|
381
|
+
this.markDirtyFlag(DIRTY_STYLE_SIG);
|
|
372
382
|
}
|
|
373
383
|
setOverflowY(overflow) {
|
|
374
384
|
this._style.overflowY = overflow;
|
|
375
|
-
this.
|
|
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
|
-
|
|
442
|
-
|
|
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 &&
|
|
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.
|
|
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 &&
|
|
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 &&
|
|
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.
|
|
527
|
+
this._dirtyFlags |= DIRTY_ANY;
|
|
507
528
|
this._measureCache?.clear();
|
|
508
529
|
this._layoutCache?.clear();
|
|
509
|
-
if (this._parent !== null &&
|
|
530
|
+
if (this._parent !== null && this._parent._dirtyFlags === 0)
|
|
510
531
|
this._parent._forceDirty();
|
|
511
532
|
}
|
|
512
533
|
isDirty() {
|
|
513
|
-
return this.
|
|
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.
|
|
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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"}
|