flexily 0.3.0 → 0.3.2

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 (73) hide show
  1. package/README.md +2 -0
  2. package/package.json +14 -22
  3. package/src/classic/layout.ts +2 -2
  4. package/src/layout-helpers.ts +2 -2
  5. package/dist/classic/layout.d.ts +0 -57
  6. package/dist/classic/layout.d.ts.map +0 -1
  7. package/dist/classic/layout.js +0 -1567
  8. package/dist/classic/layout.js.map +0 -1
  9. package/dist/classic/node.d.ts +0 -648
  10. package/dist/classic/node.d.ts.map +0 -1
  11. package/dist/classic/node.js +0 -1002
  12. package/dist/classic/node.js.map +0 -1
  13. package/dist/constants.d.ts +0 -59
  14. package/dist/constants.d.ts.map +0 -1
  15. package/dist/constants.js +0 -71
  16. package/dist/constants.js.map +0 -1
  17. package/dist/index-classic.d.ts +0 -30
  18. package/dist/index-classic.d.ts.map +0 -1
  19. package/dist/index-classic.js +0 -57
  20. package/dist/index-classic.js.map +0 -1
  21. package/dist/index.d.ts +0 -30
  22. package/dist/index.d.ts.map +0 -1
  23. package/dist/index.js +0 -57
  24. package/dist/index.js.map +0 -1
  25. package/dist/layout-flex-lines.d.ts +0 -77
  26. package/dist/layout-flex-lines.d.ts.map +0 -1
  27. package/dist/layout-flex-lines.js +0 -317
  28. package/dist/layout-flex-lines.js.map +0 -1
  29. package/dist/layout-helpers.d.ts +0 -45
  30. package/dist/layout-helpers.d.ts.map +0 -1
  31. package/dist/layout-helpers.js +0 -103
  32. package/dist/layout-helpers.js.map +0 -1
  33. package/dist/layout-measure.d.ts +0 -25
  34. package/dist/layout-measure.d.ts.map +0 -1
  35. package/dist/layout-measure.js +0 -231
  36. package/dist/layout-measure.js.map +0 -1
  37. package/dist/layout-stats.d.ts +0 -19
  38. package/dist/layout-stats.d.ts.map +0 -1
  39. package/dist/layout-stats.js +0 -37
  40. package/dist/layout-stats.js.map +0 -1
  41. package/dist/layout-traversal.d.ts +0 -28
  42. package/dist/layout-traversal.d.ts.map +0 -1
  43. package/dist/layout-traversal.js +0 -65
  44. package/dist/layout-traversal.js.map +0 -1
  45. package/dist/layout-zero.d.ts +0 -26
  46. package/dist/layout-zero.d.ts.map +0 -1
  47. package/dist/layout-zero.js +0 -1757
  48. package/dist/layout-zero.js.map +0 -1
  49. package/dist/logger.d.ts +0 -14
  50. package/dist/logger.d.ts.map +0 -1
  51. package/dist/logger.js +0 -61
  52. package/dist/logger.js.map +0 -1
  53. package/dist/node-zero.d.ts +0 -702
  54. package/dist/node-zero.d.ts.map +0 -1
  55. package/dist/node-zero.js +0 -1268
  56. package/dist/node-zero.js.map +0 -1
  57. package/dist/testing.d.ts +0 -69
  58. package/dist/testing.d.ts.map +0 -1
  59. package/dist/testing.js +0 -179
  60. package/dist/testing.js.map +0 -1
  61. package/dist/trace.d.ts +0 -74
  62. package/dist/trace.d.ts.map +0 -1
  63. package/dist/trace.js +0 -191
  64. package/dist/trace.js.map +0 -1
  65. package/dist/types.d.ts +0 -170
  66. package/dist/types.d.ts.map +0 -1
  67. package/dist/types.js +0 -43
  68. package/dist/types.js.map +0 -1
  69. package/dist/utils.d.ts +0 -49
  70. package/dist/utils.d.ts.map +0 -1
  71. package/dist/utils.js +0 -222
  72. package/dist/utils.js.map +0 -1
  73. package/src/beorn-logger.d.ts +0 -10
@@ -1 +0,0 @@
1
- {"version":3,"file":"node-zero.js","sourceRoot":"","sources":["../src/node-zero.ts"],"names":[],"mappings":"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"}
package/dist/testing.d.ts DELETED
@@ -1,69 +0,0 @@
1
- /**
2
- * Flexily Testing Utilities
3
- *
4
- * Diagnostic helpers for verifying layout correctness, especially
5
- * incremental re-layout consistency. Used by downstream consumers
6
- * (silvery, km-tui) and flexily's own test suite.
7
- *
8
- * @example
9
- * ```typescript
10
- * import { Node, DIRECTION_LTR } from 'flexily';
11
- * import { getLayout, diffLayouts, assertLayoutSanity } from 'flexily/testing';
12
- *
13
- * const root = Node.create();
14
- * root.setWidth(80);
15
- * root.calculateLayout(80, 24, DIRECTION_LTR);
16
- * assertLayoutSanity(root);
17
- * const layout = getLayout(root);
18
- * ```
19
- */
20
- import type { MeasureFunc } from "./types.js";
21
- import { Node } from "./node-zero.js";
22
- export interface LayoutResult {
23
- left: number;
24
- top: number;
25
- width: number;
26
- height: number;
27
- children: LayoutResult[];
28
- }
29
- export interface BuildTreeResult {
30
- root: Node;
31
- dirtyTargets: Node[];
32
- }
33
- /** Recursively extract computed layout from a node tree. */
34
- export declare function getLayout(node: Node): LayoutResult;
35
- /** Format a layout tree as an indented string for debugging. */
36
- export declare function formatLayout(layout: LayoutResult, indent?: number): string;
37
- /**
38
- * Collect node-by-node diffs between two layout trees.
39
- * Returns empty array if layouts match.
40
- */
41
- export declare function diffLayouts(a: LayoutResult, b: LayoutResult, path?: string): string[];
42
- /**
43
- * Wrapping text measure function factory.
44
- * Simulates text of given width that wraps to multiple lines when constrained.
45
- */
46
- export declare function textMeasure(textWidth: number): MeasureFunc;
47
- /**
48
- * Assert that all layout values are non-negative and width is finite.
49
- * Height may be NaN for auto-height trees with unconstrained height.
50
- * Throws a descriptive error on failure.
51
- */
52
- export declare function assertLayoutSanity(node: Node, path?: string): void;
53
- /**
54
- * Differential oracle: re-layout of partially-dirty tree must match fresh layout.
55
- * Throws a descriptive error with node-by-node diff on failure.
56
- */
57
- export declare function expectRelayoutMatchesFresh(buildTree: () => BuildTreeResult, layoutWidth: number, layoutHeight: number): void;
58
- /**
59
- * Assert that laying out twice with identical constraints produces identical results.
60
- * Catches non-determinism or state corruption from a single layout pass.
61
- */
62
- export declare function expectIdempotent(buildTree: () => BuildTreeResult, layoutWidth: number, layoutHeight: number): void;
63
- /**
64
- * Assert that layout at width W, then different width W', then back to W
65
- * produces the same result as fresh layout at W.
66
- * Catches stale cache entries that don't update on constraint change.
67
- */
68
- export declare function expectResizeRoundTrip(buildTree: () => BuildTreeResult, widths: number[]): void;
69
- //# sourceMappingURL=testing.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../src/testing.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAA;AAMrC,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,YAAY,EAAE,CAAA;CACzB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,IAAI,CAAA;IACV,YAAY,EAAE,IAAI,EAAE,CAAA;CACrB;AAMD,4DAA4D;AAC5D,wBAAgB,SAAS,CAAC,IAAI,EAAE,IAAI,GAAG,YAAY,CAQlD;AAED,gEAAgE;AAChE,wBAAgB,YAAY,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,SAAI,GAAG,MAAM,CAOrE;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,EAAE,IAAI,SAAS,GAAG,MAAM,EAAE,CAiBrF;AAMD;;;GAGG;AACH,wBAAgB,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,WAAW,CAS1D;AAMD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,SAAS,GAAG,IAAI,CAelE;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,MAAM,eAAe,EAChC,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,GACnB,IAAI,CAqBN;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,eAAe,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI,CAYlH;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAoB9F"}
package/dist/testing.js DELETED
@@ -1,179 +0,0 @@
1
- /**
2
- * Flexily Testing Utilities
3
- *
4
- * Diagnostic helpers for verifying layout correctness, especially
5
- * incremental re-layout consistency. Used by downstream consumers
6
- * (silvery, km-tui) and flexily's own test suite.
7
- *
8
- * @example
9
- * ```typescript
10
- * import { Node, DIRECTION_LTR } from 'flexily';
11
- * import { getLayout, diffLayouts, assertLayoutSanity } from 'flexily/testing';
12
- *
13
- * const root = Node.create();
14
- * root.setWidth(80);
15
- * root.calculateLayout(80, 24, DIRECTION_LTR);
16
- * assertLayoutSanity(root);
17
- * const layout = getLayout(root);
18
- * ```
19
- */
20
- import { DIRECTION_LTR, MEASURE_MODE_AT_MOST, MEASURE_MODE_EXACTLY } from "./constants.js";
21
- // ============================================================================
22
- // Layout Inspection
23
- // ============================================================================
24
- /** Recursively extract computed layout from a node tree. */
25
- export function getLayout(node) {
26
- return {
27
- left: node.getComputedLeft(),
28
- top: node.getComputedTop(),
29
- width: node.getComputedWidth(),
30
- height: node.getComputedHeight(),
31
- children: Array.from({ length: node.getChildCount() }, (_, i) => getLayout(node.getChild(i))),
32
- };
33
- }
34
- /** Format a layout tree as an indented string for debugging. */
35
- export function formatLayout(layout, indent = 0) {
36
- const pad = " ".repeat(indent);
37
- let result = `${pad}{ left: ${layout.left}, top: ${layout.top}, width: ${layout.width}, height: ${layout.height} }`;
38
- if (layout.children.length > 0) {
39
- result += ` [\n${layout.children.map((c) => formatLayout(c, indent + 1)).join(",\n")}\n${pad}]`;
40
- }
41
- return result;
42
- }
43
- /**
44
- * Collect node-by-node diffs between two layout trees.
45
- * Returns empty array if layouts match.
46
- */
47
- export function diffLayouts(a, b, path = "root") {
48
- const diffs = [];
49
- // Use Object.is for NaN-safe comparison (NaN === NaN is false, Object.is(NaN, NaN) is true)
50
- if (!Object.is(a.left, b.left))
51
- diffs.push(`${path}: left ${a.left} vs ${b.left}`);
52
- if (!Object.is(a.top, b.top))
53
- diffs.push(`${path}: top ${a.top} vs ${b.top}`);
54
- if (!Object.is(a.width, b.width))
55
- diffs.push(`${path}: width ${a.width} vs ${b.width}`);
56
- if (!Object.is(a.height, b.height))
57
- diffs.push(`${path}: height ${a.height} vs ${b.height}`);
58
- for (let i = 0; i < Math.max(a.children.length, b.children.length); i++) {
59
- if (a.children[i] && b.children[i]) {
60
- diffs.push(...diffLayouts(a.children[i], b.children[i], `${path}[${i}]`));
61
- }
62
- else if (a.children[i]) {
63
- diffs.push(`${path}[${i}]: missing in incremental`);
64
- }
65
- else {
66
- diffs.push(`${path}[${i}]: missing in reference`);
67
- }
68
- }
69
- return diffs;
70
- }
71
- // ============================================================================
72
- // Measure Functions
73
- // ============================================================================
74
- /**
75
- * Wrapping text measure function factory.
76
- * Simulates text of given width that wraps to multiple lines when constrained.
77
- */
78
- export function textMeasure(textWidth) {
79
- return (width, widthMode, _height, _heightMode) => {
80
- if (widthMode === MEASURE_MODE_EXACTLY || widthMode === MEASURE_MODE_AT_MOST) {
81
- if (width >= textWidth)
82
- return { width: textWidth, height: 1 };
83
- const lines = Math.ceil(textWidth / width);
84
- return { width: Math.min(textWidth, width), height: lines };
85
- }
86
- return { width: textWidth, height: 1 };
87
- };
88
- }
89
- // ============================================================================
90
- // Assertions (throw on failure, no vitest dependency)
91
- // ============================================================================
92
- /**
93
- * Assert that all layout values are non-negative and width is finite.
94
- * Height may be NaN for auto-height trees with unconstrained height.
95
- * Throws a descriptive error on failure.
96
- */
97
- export function assertLayoutSanity(node, path = "root") {
98
- const w = node.getComputedWidth();
99
- const h = node.getComputedHeight();
100
- const l = node.getComputedLeft();
101
- const t = node.getComputedTop();
102
- if (w < 0)
103
- throw new Error(`${path}: width is negative (${w})`);
104
- if (!Number.isFinite(w))
105
- throw new Error(`${path}: width is not finite (${w})`);
106
- if (!Number.isFinite(l))
107
- throw new Error(`${path}: left is not finite (${l})`);
108
- if (Number.isFinite(h) && h < 0)
109
- throw new Error(`${path}: height is negative (${h})`);
110
- if (Number.isFinite(t) && t < 0)
111
- throw new Error(`${path}: top is negative (${t})`);
112
- for (let i = 0; i < node.getChildCount(); i++) {
113
- assertLayoutSanity(node.getChild(i), `${path}[${i}]`);
114
- }
115
- }
116
- /**
117
- * Differential oracle: re-layout of partially-dirty tree must match fresh layout.
118
- * Throws a descriptive error with node-by-node diff on failure.
119
- */
120
- export function expectRelayoutMatchesFresh(buildTree, layoutWidth, layoutHeight) {
121
- // 1. Build, layout, mark dirty, re-layout
122
- const { root, dirtyTargets } = buildTree();
123
- root.calculateLayout(layoutWidth, layoutHeight, DIRECTION_LTR);
124
- for (const t of dirtyTargets)
125
- t.markDirty();
126
- root.calculateLayout(layoutWidth, layoutHeight, DIRECTION_LTR);
127
- const incremental = getLayout(root);
128
- // 2. Build identical fresh tree, layout once
129
- const fresh = buildTree();
130
- fresh.root.calculateLayout(layoutWidth, layoutHeight, DIRECTION_LTR);
131
- const reference = getLayout(fresh.root);
132
- // 3. Must be identical — show detailed diff on failure
133
- const diffs = diffLayouts(reference, incremental);
134
- if (diffs.length > 0) {
135
- const detail = diffs.map((d) => ` ${d}`).join("\n");
136
- throw new Error(`Incremental layout differs from fresh (${diffs.length} diffs):\n${detail}\n\nFresh:\n${formatLayout(reference)}\n\nIncremental:\n${formatLayout(incremental)}`);
137
- }
138
- }
139
- /**
140
- * Assert that laying out twice with identical constraints produces identical results.
141
- * Catches non-determinism or state corruption from a single layout pass.
142
- */
143
- export function expectIdempotent(buildTree, layoutWidth, layoutHeight) {
144
- const { root } = buildTree();
145
- root.calculateLayout(layoutWidth, layoutHeight, DIRECTION_LTR);
146
- const first = getLayout(root);
147
- root.calculateLayout(layoutWidth, layoutHeight, DIRECTION_LTR);
148
- const second = getLayout(root);
149
- const diffs = diffLayouts(first, second);
150
- if (diffs.length > 0) {
151
- const detail = diffs.map((d) => ` ${d}`).join("\n");
152
- throw new Error(`Layout not idempotent (${diffs.length} diffs after 2nd pass):\n${detail}`);
153
- }
154
- }
155
- /**
156
- * Assert that layout at width W, then different width W', then back to W
157
- * produces the same result as fresh layout at W.
158
- * Catches stale cache entries that don't update on constraint change.
159
- */
160
- export function expectResizeRoundTrip(buildTree, widths) {
161
- const { root } = buildTree();
162
- for (const w of widths) {
163
- root.setWidth(w);
164
- root.calculateLayout(w, NaN, DIRECTION_LTR);
165
- }
166
- const incremental = getLayout(root);
167
- // Fresh reference at final width
168
- const finalWidth = widths[widths.length - 1];
169
- const fresh = buildTree();
170
- fresh.root.setWidth(finalWidth);
171
- fresh.root.calculateLayout(finalWidth, NaN, DIRECTION_LTR);
172
- const reference = getLayout(fresh.root);
173
- const diffs = diffLayouts(reference, incremental);
174
- if (diffs.length > 0) {
175
- const detail = diffs.map((d) => ` ${d}`).join("\n");
176
- throw new Error(`Resize round-trip differs (widths: ${widths.join("→")}, ${diffs.length} diffs):\n${detail}`);
177
- }
178
- }
179
- //# sourceMappingURL=testing.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"testing.js","sourceRoot":"","sources":["../src/testing.ts"],"names":[],"mappings":"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"}
package/dist/trace.d.ts DELETED
@@ -1,74 +0,0 @@
1
- /**
2
- * Layout Trace — instrumented debug mode for fingerprint/cache tracing.
3
- *
4
- * Records every fingerprint check (hit/miss), cache lookup (hit/miss),
5
- * measureNode save/restore, and parent size override during a layout pass.
6
- * Two traces from consecutive passes can be diffed to find where they diverge.
7
- *
8
- * Zero-cost when disabled: the module-level `trace` getter returns undefined,
9
- * and all callsites use optional chaining (`trace?.event()`).
10
- *
11
- * @example
12
- * ```typescript
13
- * import { enableTrace, disableTrace, diffTraces } from 'flexily/trace';
14
- *
15
- * const t1 = enableTrace();
16
- * root.calculateLayout(80, 24, DIRECTION_LTR);
17
- * disableTrace();
18
- *
19
- * // Mutate tree...
20
- * const t2 = enableTrace();
21
- * root.calculateLayout(80, 24, DIRECTION_LTR);
22
- * disableTrace();
23
- *
24
- * const diffs = diffTraces(t1, t2);
25
- * ```
26
- */
27
- export type TraceEventType = "fingerprint_hit" | "fingerprint_miss" | "cache_hit" | "cache_miss" | "measure_cache_hit" | "measure_cache_miss" | "measure_save_restore" | "parent_override" | "layout_enter" | "layout_exit";
28
- export interface TraceEvent {
29
- type: TraceEventType;
30
- /** Node index in tree traversal order (stable across same tree) */
31
- nodeIndex: number;
32
- /** Available width constraint */
33
- availW: number;
34
- /** Available height constraint */
35
- availH: number;
36
- /** Extra data depending on event type */
37
- detail?: Record<string, number | string | boolean>;
38
- }
39
- export interface TraceDiff {
40
- index: number;
41
- event1: TraceEvent | undefined;
42
- event2: TraceEvent | undefined;
43
- reason: string;
44
- }
45
- export declare class LayoutTrace {
46
- readonly events: TraceEvent[];
47
- private _nodeCounter;
48
- /** Reset node counter at start of a new layout pass */
49
- resetCounter(): void;
50
- /** Get next node index (call once per layoutNode entry) */
51
- nextNode(): number;
52
- fingerprintHit(nodeIndex: number, availW: number, availH: number): void;
53
- fingerprintMiss(nodeIndex: number, availW: number, availH: number, detail?: Record<string, number | string | boolean>): void;
54
- cacheHit(nodeIndex: number, availW: number, availH: number, width: number, height: number): void;
55
- cacheMiss(nodeIndex: number, availW: number, availH: number): void;
56
- measureCacheHit(nodeIndex: number, availW: number, availH: number, width: number, height: number): void;
57
- measureCacheMiss(nodeIndex: number, availW: number, availH: number): void;
58
- measureSaveRestore(nodeIndex: number, savedW: number, savedH: number, measuredW: number, measuredH: number): void;
59
- parentOverride(nodeIndex: number, axis: "main" | "cross", original: number, overridden: number): void;
60
- layoutEnter(nodeIndex: number, availW: number, availH: number, isDirty: boolean, childCount: number): void;
61
- layoutExit(nodeIndex: number, width: number, height: number): void;
62
- }
63
- /** Enable tracing. Returns the trace recorder for later inspection. */
64
- export declare function enableTrace(): LayoutTrace;
65
- /** Disable tracing. Returns the trace that was recorded. */
66
- export declare function disableTrace(): LayoutTrace | null;
67
- /** Get the current trace recorder (null when tracing is disabled). */
68
- export declare function getTrace(): LayoutTrace | null;
69
- /**
70
- * Compare two traces event-by-event.
71
- * Returns divergence points — where the two passes made different decisions.
72
- */
73
- export declare function diffTraces(t1: LayoutTrace, t2: LayoutTrace): TraceDiff[];
74
- //# sourceMappingURL=trace.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"trace.d.ts","sourceRoot":"","sources":["../src/trace.ts"],"names":[],"mappings":"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"}
package/dist/trace.js DELETED
@@ -1,191 +0,0 @@
1
- /**
2
- * Layout Trace — instrumented debug mode for fingerprint/cache tracing.
3
- *
4
- * Records every fingerprint check (hit/miss), cache lookup (hit/miss),
5
- * measureNode save/restore, and parent size override during a layout pass.
6
- * Two traces from consecutive passes can be diffed to find where they diverge.
7
- *
8
- * Zero-cost when disabled: the module-level `trace` getter returns undefined,
9
- * and all callsites use optional chaining (`trace?.event()`).
10
- *
11
- * @example
12
- * ```typescript
13
- * import { enableTrace, disableTrace, diffTraces } from 'flexily/trace';
14
- *
15
- * const t1 = enableTrace();
16
- * root.calculateLayout(80, 24, DIRECTION_LTR);
17
- * disableTrace();
18
- *
19
- * // Mutate tree...
20
- * const t2 = enableTrace();
21
- * root.calculateLayout(80, 24, DIRECTION_LTR);
22
- * disableTrace();
23
- *
24
- * const diffs = diffTraces(t1, t2);
25
- * ```
26
- */
27
- // =============================================================================
28
- // Trace Recorder
29
- // =============================================================================
30
- export class LayoutTrace {
31
- events = [];
32
- _nodeCounter = 0;
33
- /** Reset node counter at start of a new layout pass */
34
- resetCounter() {
35
- this._nodeCounter = 0;
36
- }
37
- /** Get next node index (call once per layoutNode entry) */
38
- nextNode() {
39
- return this._nodeCounter++;
40
- }
41
- fingerprintHit(nodeIndex, availW, availH) {
42
- this.events.push({ type: "fingerprint_hit", nodeIndex, availW, availH });
43
- }
44
- fingerprintMiss(nodeIndex, availW, availH, detail) {
45
- this.events.push({ type: "fingerprint_miss", nodeIndex, availW, availH, detail });
46
- }
47
- cacheHit(nodeIndex, availW, availH, width, height) {
48
- this.events.push({
49
- type: "cache_hit",
50
- nodeIndex,
51
- availW,
52
- availH,
53
- detail: { width, height },
54
- });
55
- }
56
- cacheMiss(nodeIndex, availW, availH) {
57
- this.events.push({ type: "cache_miss", nodeIndex, availW, availH });
58
- }
59
- measureCacheHit(nodeIndex, availW, availH, width, height) {
60
- this.events.push({
61
- type: "measure_cache_hit",
62
- nodeIndex,
63
- availW,
64
- availH,
65
- detail: { width, height },
66
- });
67
- }
68
- measureCacheMiss(nodeIndex, availW, availH) {
69
- this.events.push({ type: "measure_cache_miss", nodeIndex, availW, availH });
70
- }
71
- measureSaveRestore(nodeIndex, savedW, savedH, measuredW, measuredH) {
72
- this.events.push({
73
- type: "measure_save_restore",
74
- nodeIndex,
75
- availW: 0,
76
- availH: 0,
77
- detail: { savedW, savedH, measuredW, measuredH },
78
- });
79
- }
80
- parentOverride(nodeIndex, axis, original, overridden) {
81
- this.events.push({
82
- type: "parent_override",
83
- nodeIndex,
84
- availW: 0,
85
- availH: 0,
86
- detail: { axis, original, overridden },
87
- });
88
- }
89
- layoutEnter(nodeIndex, availW, availH, isDirty, childCount) {
90
- this.events.push({
91
- type: "layout_enter",
92
- nodeIndex,
93
- availW,
94
- availH,
95
- detail: { isDirty, childCount },
96
- });
97
- }
98
- layoutExit(nodeIndex, width, height) {
99
- this.events.push({
100
- type: "layout_exit",
101
- nodeIndex,
102
- availW: 0,
103
- availH: 0,
104
- detail: { width, height },
105
- });
106
- }
107
- }
108
- // =============================================================================
109
- // Module-level state (zero-cost when null)
110
- // =============================================================================
111
- let _trace = null;
112
- /** Enable tracing. Returns the trace recorder for later inspection. */
113
- export function enableTrace() {
114
- _trace = new LayoutTrace();
115
- return _trace;
116
- }
117
- /** Disable tracing. Returns the trace that was recorded. */
118
- export function disableTrace() {
119
- const t = _trace;
120
- _trace = null;
121
- return t;
122
- }
123
- /** Get the current trace recorder (null when tracing is disabled). */
124
- export function getTrace() {
125
- return _trace;
126
- }
127
- // =============================================================================
128
- // Diff Utility
129
- // =============================================================================
130
- /**
131
- * Compare two traces event-by-event.
132
- * Returns divergence points — where the two passes made different decisions.
133
- */
134
- export function diffTraces(t1, t2) {
135
- const diffs = [];
136
- const maxLen = Math.max(t1.events.length, t2.events.length);
137
- for (let i = 0; i < maxLen; i++) {
138
- const e1 = t1.events[i];
139
- const e2 = t2.events[i];
140
- if (!e1 || !e2) {
141
- diffs.push({
142
- index: i,
143
- event1: e1,
144
- event2: e2,
145
- reason: !e1 ? "extra event in trace 2" : "extra event in trace 1",
146
- });
147
- continue;
148
- }
149
- if (e1.type !== e2.type) {
150
- diffs.push({
151
- index: i,
152
- event1: e1,
153
- event2: e2,
154
- reason: `type differs: ${e1.type} vs ${e2.type}`,
155
- });
156
- }
157
- else if (e1.nodeIndex !== e2.nodeIndex) {
158
- diffs.push({
159
- index: i,
160
- event1: e1,
161
- event2: e2,
162
- reason: `nodeIndex differs: ${e1.nodeIndex} vs ${e2.nodeIndex}`,
163
- });
164
- }
165
- else if (!Object.is(e1.availW, e2.availW) || !Object.is(e1.availH, e2.availH)) {
166
- diffs.push({
167
- index: i,
168
- event1: e1,
169
- event2: e2,
170
- reason: `constraints differ: (${e1.availW},${e1.availH}) vs (${e2.availW},${e2.availH})`,
171
- });
172
- }
173
- else if (e1.detail && e2.detail) {
174
- // Compare detail fields
175
- const keys = new Set([...Object.keys(e1.detail), ...Object.keys(e2.detail)]);
176
- for (const key of keys) {
177
- if (!Object.is(e1.detail[key], e2.detail[key])) {
178
- diffs.push({
179
- index: i,
180
- event1: e1,
181
- event2: e2,
182
- reason: `detail.${key} differs: ${e1.detail[key]} vs ${e2.detail[key]}`,
183
- });
184
- break;
185
- }
186
- }
187
- }
188
- }
189
- return diffs;
190
- }
191
- //# sourceMappingURL=trace.js.map
package/dist/trace.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"trace.js","sourceRoot":"","sources":["../src/trace.ts"],"names":[],"mappings":"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"}