@flighthq/node 0.3.1-next.975.01aea94 → 0.4.0-edge.1908.751021c
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/contract.d.ts +1 -0
- package/dist/contract.d.ts.map +1 -1
- package/dist/contract.js +1 -0
- package/dist/contract.js.map +1 -1
- package/dist/enableNodeGuards.d.ts +4 -0
- package/dist/enableNodeGuards.d.ts.map +1 -0
- package/dist/enableNodeGuards.js +29 -0
- package/dist/enableNodeGuards.js.map +1 -0
- package/dist/hierarchy.d.ts +13 -5
- package/dist/hierarchy.d.ts.map +1 -1
- package/dist/hierarchy.js +27 -6
- package/dist/hierarchy.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +9 -8
- package/src/enableNodeGuards.test.ts +78 -0
- package/src/hierarchy.test.ts +76 -0
package/dist/contract.d.ts
CHANGED
package/dist/contract.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,QAAQ,CAAC;AACvB,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,QAAQ,CAAC;AACvB,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC"}
|
package/dist/contract.js
CHANGED
package/dist/contract.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract.js","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,QAAQ,CAAC;AACvB,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"contract.js","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,QAAQ,CAAC;AACvB,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enableNodeGuards.d.ts","sourceRoot":"","sources":["../src/enableNodeGuards.ts"],"names":[],"mappings":"AAMA,wBAAgB,oBAAoB,IAAI,OAAO,CAE9C;AAED,wBAAgB,iBAAiB,IAAI,IAAI,CAGxC;AAKD,wBAAgB,gBAAgB,IAAI,IAAI,CAGvC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { logOnce } from '@flighthq/log/contract';
|
|
2
|
+
import { LogLevel } from '@flighthq/types/contract';
|
|
3
|
+
import { setReparentNodeGuard } from './hierarchy';
|
|
4
|
+
export function areNodeGuardsEnabled() {
|
|
5
|
+
return nodeGuardsEnabled;
|
|
6
|
+
}
|
|
7
|
+
export function disableNodeGuards() {
|
|
8
|
+
setReparentNodeGuard(null);
|
|
9
|
+
nodeGuardsEnabled = false;
|
|
10
|
+
}
|
|
11
|
+
// Installs opt-in diagnostics for graph operations that decline rather than invent a result. The core
|
|
12
|
+
// modules stay message-free, so an application that omits this one sheds both the text and
|
|
13
|
+
// @flighthq/log.
|
|
14
|
+
export function enableNodeGuards() {
|
|
15
|
+
setReparentNodeGuard(warnOnDeclinedReparent);
|
|
16
|
+
nodeGuardsEnabled = true;
|
|
17
|
+
}
|
|
18
|
+
// `reparentNode` returning false is a complete no-op, so a caller that ignores the return sees a child
|
|
19
|
+
// that simply did not move — no error, no partial state, and nothing to attribute it to. That silence
|
|
20
|
+
// is the point of the design and the reason it needs a guard.
|
|
21
|
+
function warnOnDeclinedReparent(child, newParent) {
|
|
22
|
+
logOnce(`node:reparent-singular-parent:${newParent.name ?? '<unnamed>'}`, LogLevel.Warn, {
|
|
23
|
+
child: child.name ?? '<unnamed>',
|
|
24
|
+
message: 'reparentNode: the new parent has no invertible world matrix, so no local transform could preserve the child’s world transform — nothing was changed. A zero scale on the parent or an ancestor is the usual cause; use addNodeChild to attach without preserving world position.',
|
|
25
|
+
newParent: newParent.name ?? '<unnamed>',
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
let nodeGuardsEnabled = false;
|
|
29
|
+
//# sourceMappingURL=enableNodeGuards.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enableNodeGuards.js","sourceRoot":"","sources":["../src/enableNodeGuards.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEjD,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAEpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAEnD,MAAM,UAAU,oBAAoB;IAClC,OAAO,iBAAiB,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,oBAAoB,CAAC,IAAI,CAAC,CAAC;IAC3B,iBAAiB,GAAG,KAAK,CAAC;AAC5B,CAAC;AAED,sGAAsG;AACtG,2FAA2F;AAC3F,iBAAiB;AACjB,MAAM,UAAU,gBAAgB;IAC9B,oBAAoB,CAAC,sBAAsB,CAAC,CAAC;IAC7C,iBAAiB,GAAG,IAAI,CAAC;AAC3B,CAAC;AAED,uGAAuG;AACvG,sGAAsG;AACtG,8DAA8D;AAC9D,SAAS,sBAAsB,CAAC,KAAW,EAAE,SAAe;IAC1D,OAAO,CAAC,iCAAiC,SAAS,CAAC,IAAI,IAAI,WAAW,EAAE,EAAE,QAAQ,CAAC,IAAI,EAAE;QACvF,KAAK,EAAE,KAAK,CAAC,IAAI,IAAI,WAAW;QAChC,OAAO,EACL,kRAAkR;QACpR,SAAS,EAAE,SAAS,CAAC,IAAI,IAAI,WAAW;KACzC,CAAC,CAAC;AACL,CAAC;AAED,IAAI,iBAAiB,GAAG,KAAK,CAAC"}
|
package/dist/hierarchy.d.ts
CHANGED
|
@@ -89,15 +89,22 @@ export declare function removeNodeChildAt<Traits extends object>(target: Node<Tr
|
|
|
89
89
|
**/
|
|
90
90
|
export declare function removeNodeChildren<Traits extends object>(target: Node<Traits>, beginIndex?: number, endIndex?: number): void;
|
|
91
91
|
/**
|
|
92
|
-
* Moves a child to a new parent while preserving its world-space position
|
|
93
|
-
* The child's local transform fields are recomputed so its effective world transform remains
|
|
92
|
+
* Moves a child to a new parent while preserving its world-space position, and reports whether it
|
|
93
|
+
* did. The child's local transform fields are recomputed so its effective world transform remains
|
|
94
94
|
* unchanged. Its pivot is preserved; rotation and skew may be reparameterized because a general
|
|
95
95
|
* affine matrix has multiple equivalent decompositions.
|
|
96
96
|
*
|
|
97
|
-
*
|
|
98
|
-
*
|
|
97
|
+
* Returns `false`, having changed NOTHING — neither the attachment nor the transform — when
|
|
98
|
+
* `newParent`'s world matrix has no inverse (a zero scale anywhere in its ancestry). This is not a
|
|
99
|
+
* computation that went wrong: under a singular parent there EXISTS no local transform that would
|
|
100
|
+
* preserve the child's world transform, so there is no right answer to write and inventing one is
|
|
101
|
+
* the defect. Declining whole is what keeps the caller out of a half-applied state it would have to
|
|
102
|
+
* untangle without being told which half happened.
|
|
103
|
+
*
|
|
104
|
+
* To reparent without preserving world position (keeping local TRS unchanged), use addNodeChild
|
|
105
|
+
* instead — that is also the composition to reach for when a caller wants the attachment regardless.
|
|
99
106
|
*/
|
|
100
|
-
export declare function reparentNode<Traits extends object>(child: Transform2DNode<Traits>, newParent: Transform2DNode<Traits>):
|
|
107
|
+
export declare function reparentNode<Traits extends object>(child: Transform2DNode<Traits>, newParent: Transform2DNode<Traits>): boolean;
|
|
101
108
|
/**
|
|
102
109
|
* Replaces `oldChild` with `newChild` at the same index position in `target`'s children. If
|
|
103
110
|
* `oldChild` is not a child of `target`, this is a no-op. If `newChild` is already a child of
|
|
@@ -109,6 +116,7 @@ export declare function replaceNodeChild<Traits extends object>(target: Node<Tra
|
|
|
109
116
|
* This affects the layering of child objects.
|
|
110
117
|
**/
|
|
111
118
|
export declare function setNodeChildIndex<Traits extends object>(target: Node<Traits>, child: Node<Traits>, index: number): void;
|
|
119
|
+
export declare function setReparentNodeGuard(guard: ((child: Node, newParent: Node) => void) | null): void;
|
|
112
120
|
/**
|
|
113
121
|
* Recursively stops the timeline execution of all MovieClips rooted at this object.
|
|
114
122
|
**/
|
package/dist/hierarchy.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hierarchy.d.ts","sourceRoot":"","sources":["../src/hierarchy.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,EAAe,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAM3F;;;;IAII;AACJ,wBAAgB,YAAY,CAAC,MAAM,SAAS,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAE7G;AAED;;;;;IAKI;AACJ,wBAAgB,cAAc,CAAC,MAAM,SAAS,MAAM,EAClD,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,EACpB,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,EACnB,KAAK,EAAE,MAAM,GACZ,MAAM,CAAC,MAAM,CAAC,CAuDhB;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,MAAM,SAAS,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,GAAG,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI,CAI9G;AAED;;;IAGI;AACJ,wBAAgB,iBAAiB,CAAC,MAAM,SAAS,MAAM,EACrD,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAC9B,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAC5B,OAAO,CAMT;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,SAAS,MAAM,EACpD,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAC9B,QAAQ,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,GAAG,IAAI,GAC/D,IAAI,CAMN;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,SAAS,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,SAAS,MAAM,CAAC,MAAM,CAAC,EAAE,CAQjH;AAED;;;IAGI;AACJ,wBAAgB,cAAc,CAAC,MAAM,SAAS,MAAM,EAClD,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAC9B,KAAK,EAAE,MAAM,GACZ,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,CAMvB;AAED;;;;IAII;AACJ,wBAAgB,kBAAkB,CAAC,MAAM,SAAS,MAAM,EACtD,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAC9B,IAAI,EAAE,MAAM,GACX,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,CAQvB;AAED,wBAAgB,iBAAiB,CAAC,MAAM,SAAS,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAG/F;AAED;;IAEI;AACJ,wBAAgB,iBAAiB,CAAC,MAAM,SAAS,MAAM,EACrD,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAC9B,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAC5B,MAAM,CAQR;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,SAAS,MAAM,EACzD,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EACzB,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GACxB,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,CAevB;AAED,wBAAgB,aAAa,CAAC,MAAM,SAAS,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,CAE1G;AAED;;;IAGI;AACJ,wBAAgB,WAAW,CAAC,MAAM,SAAS,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAQjG;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,SAAS,MAAM,EACpD,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAChC,UAAU,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GACjC,OAAO,CAOT;AAED;;;;;;;IAOI;AACJ,wBAAgB,eAAe,CAAC,MAAM,SAAS,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAuBhH;AAED;;;;;;;IAOI;AACJ,wBAAgB,iBAAiB,CAAC,MAAM,SAAS,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,CAMnH;AAED;;;;IAII;AACJ,wBAAgB,kBAAkB,CAAC,MAAM,SAAS,MAAM,EACtD,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,EACpB,UAAU,GAAE,MAAU,EACtB,QAAQ,CAAC,EAAE,MAAM,GAChB,IAAI,CAkBN;AAED
|
|
1
|
+
{"version":3,"file":"hierarchy.d.ts","sourceRoot":"","sources":["../src/hierarchy.ts"],"names":[],"mappings":"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"}
|
package/dist/hierarchy.js
CHANGED
|
@@ -286,22 +286,36 @@ export function removeNodeChildren(target, beginIndex = 0, endIndex) {
|
|
|
286
286
|
}
|
|
287
287
|
}
|
|
288
288
|
/**
|
|
289
|
-
* Moves a child to a new parent while preserving its world-space position
|
|
290
|
-
* The child's local transform fields are recomputed so its effective world transform remains
|
|
289
|
+
* Moves a child to a new parent while preserving its world-space position, and reports whether it
|
|
290
|
+
* did. The child's local transform fields are recomputed so its effective world transform remains
|
|
291
291
|
* unchanged. Its pivot is preserved; rotation and skew may be reparameterized because a general
|
|
292
292
|
* affine matrix has multiple equivalent decompositions.
|
|
293
293
|
*
|
|
294
|
-
*
|
|
295
|
-
*
|
|
294
|
+
* Returns `false`, having changed NOTHING — neither the attachment nor the transform — when
|
|
295
|
+
* `newParent`'s world matrix has no inverse (a zero scale anywhere in its ancestry). This is not a
|
|
296
|
+
* computation that went wrong: under a singular parent there EXISTS no local transform that would
|
|
297
|
+
* preserve the child's world transform, so there is no right answer to write and inventing one is
|
|
298
|
+
* the defect. Declining whole is what keeps the caller out of a half-applied state it would have to
|
|
299
|
+
* untangle without being told which half happened.
|
|
300
|
+
*
|
|
301
|
+
* To reparent without preserving world position (keeping local TRS unchanged), use addNodeChild
|
|
302
|
+
* instead — that is also the composition to reach for when a caller wants the attachment regardless.
|
|
296
303
|
*/
|
|
297
304
|
export function reparentNode(child, newParent) {
|
|
298
305
|
ensureNodeWorldMatrix(child);
|
|
306
|
+
ensureNodeWorldMatrix(newParent);
|
|
299
307
|
const oldWorld = acquireMatrix();
|
|
300
308
|
const localM = acquireMatrix();
|
|
301
309
|
try {
|
|
302
310
|
copyMatrix(oldWorld, getNodeWorldMatrix(child));
|
|
311
|
+
// Inverted BEFORE attaching, which is what makes "no mutation at all" achievable rather than a
|
|
312
|
+
// rollback: the parent's world transform does not depend on the child, so this is the same matrix
|
|
313
|
+
// it would be afterwards.
|
|
314
|
+
if (!inverseMatrix(localM, getNodeWorldMatrix(newParent))) {
|
|
315
|
+
reparentNodeGuard?.(child, newParent);
|
|
316
|
+
return false;
|
|
317
|
+
}
|
|
303
318
|
addNodeChild(newParent, child);
|
|
304
|
-
inverseMatrix(localM, getNodeWorldMatrix(newParent));
|
|
305
319
|
multiplyMatrix(localM, localM, oldWorld);
|
|
306
320
|
const pivotX = child.pivotX;
|
|
307
321
|
const pivotY = child.pivotY;
|
|
@@ -316,7 +330,7 @@ export function reparentNode(child, newParent) {
|
|
|
316
330
|
releaseMatrix(oldWorld);
|
|
317
331
|
releaseMatrix(localM);
|
|
318
332
|
}
|
|
319
|
-
return
|
|
333
|
+
return true;
|
|
320
334
|
}
|
|
321
335
|
/**
|
|
322
336
|
* Replaces `oldChild` with `newChild` at the same index position in `target`'s children. If
|
|
@@ -352,6 +366,11 @@ export function setNodeChildIndex(target, child, index) {
|
|
|
352
366
|
}
|
|
353
367
|
}
|
|
354
368
|
}
|
|
369
|
+
// The seam the guard layer installs into; `null` keeps this module free of message text and of any
|
|
370
|
+
// dependency on @flighthq/log.
|
|
371
|
+
export function setReparentNodeGuard(guard) {
|
|
372
|
+
reparentNodeGuard = guard;
|
|
373
|
+
}
|
|
355
374
|
/**
|
|
356
375
|
* Recursively stops the timeline execution of all MovieClips rooted at this object.
|
|
357
376
|
**/
|
|
@@ -409,4 +428,6 @@ function invalidateNodeChildren(runtime) {
|
|
|
409
428
|
function throwOutOfBoundsError() {
|
|
410
429
|
throw new RangeError('The supplied index is out of bounds.');
|
|
411
430
|
}
|
|
431
|
+
// Module state for the opt-in guard seam above; see enableNodeGuards.
|
|
432
|
+
let reparentNodeGuard = null;
|
|
412
433
|
//# sourceMappingURL=hierarchy.js.map
|
package/dist/hierarchy.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hierarchy.js","sourceRoot":"","sources":["../src/hierarchy.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"hierarchy.js","sourceRoot":"","sources":["../src/hierarchy.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { addNodeChild, addNodeChildAt, addNodeChildren, addNodeColorAdjustment, addNodeOrderListEntry, applyNodeOrderList, computeNodeBoundsRectangle, computeNodeRootLocalBoundsRectangle, computeScene2DFitAlignX, computeScene2DFitAlignY, computeScene2DFitFillScale, computeScene2DFitScale, computeScene2DFitTransform, clearNodeOrderList, containsNodeChild, convertNodeVector2GlobalToLocal, convertNodeVector2LocalToGlobal, convertNodeVector3GlobalToLocal, convertNodeVector3LocalToGlobal, createNode, createNodeOrderList, createViewport, disposeNode, enableNodeSignals, findNode, findNodeByName, forEachNodeAncestor, forEachNodeChild, forEachNodeDescendant, getNodeAncestors, getNodeAppearanceRevision, getNodeChildAt, getNodeChildByName, getNodeChildCount, getNodeChildIndex, getNodeChildren, getNodeColorAdjustments, getNodeCommonAncestor, getNodeDepth, getNodeHeight, getNodeLocalBoundsRectangle, getNodeLocalBoundsRevision, getNodeLocalContentRevision, getNodeLocalMatrix, getNodeLocalMatrix4, getNodeLocalTransformRevision, getNodeNextSibling, getNodeParent, getNodeParentBoundsRectangle, getNodePreviousSibling, getNodeRoot, getNodeSignals, getNodeTransform2D, getNodeTransform3D, getNodeWidth, getNodeWorldBoundsRectangle, getNodeWorldMatrix, getNodeWorldMatrix4, getNodeWorldTransformRevision, getViewportAspect, invalidateNodeAppearance, invalidateNodeLocalTransform, invalidateNodeRender, isNodeAncestorOf, isNodeLocalMatrix4Detached, removeNodeChild, removeNodeChildAt, removeNodeChildren, reparentNode, replaceNodeChild, setNodeChildIndex, setNodeColorAdjustments, setNodeColorAdjustmentsTint, setNodeEnabled, setNodeHeight, setNodeLocalMatrix, setNodeLocalMatrix4, setNodeTransform2D, setNodeTransform3D, setNodeWidth, swapNodeChildren, swapNodeChildrenAt, walkNodeDescendants, disposeNodeOrderList, forEachNodeOrderListEntry, getNodeOrderListEntrySortKey, hasNodeOrderListEntry, removeNodeOrderListEntry, setNodeOrderListEntry, setNodeOrderListEntryAbove, setNodeOrderListEntryBelow, setNodeOrderListFromNodeChildren, swapNodeOrderListEntries, } from './contract';
|
|
1
|
+
export { addNodeChild, addNodeChildAt, addNodeChildren, addNodeColorAdjustment, addNodeOrderListEntry, applyNodeOrderList, areNodeGuardsEnabled, computeNodeBoundsRectangle, computeNodeRootLocalBoundsRectangle, computeScene2DFitAlignX, computeScene2DFitAlignY, computeScene2DFitFillScale, computeScene2DFitScale, computeScene2DFitTransform, clearNodeOrderList, containsNodeChild, convertNodeVector2GlobalToLocal, convertNodeVector2LocalToGlobal, convertNodeVector3GlobalToLocal, convertNodeVector3LocalToGlobal, createNode, createNodeOrderList, createViewport, disableNodeGuards, disposeNode, enableNodeGuards, enableNodeSignals, findNode, findNodeByName, forEachNodeAncestor, forEachNodeChild, forEachNodeDescendant, getNodeAncestors, getNodeAppearanceRevision, getNodeChildAt, getNodeChildByName, getNodeChildCount, getNodeChildIndex, getNodeChildren, getNodeColorAdjustments, getNodeCommonAncestor, getNodeDepth, getNodeHeight, getNodeLocalBoundsRectangle, getNodeLocalBoundsRevision, getNodeLocalContentRevision, getNodeLocalMatrix, getNodeLocalMatrix4, getNodeLocalTransformRevision, getNodeNextSibling, getNodeParent, getNodeParentBoundsRectangle, getNodePreviousSibling, getNodeRoot, getNodeSignals, getNodeTransform2D, getNodeTransform3D, getNodeWidth, getNodeWorldBoundsRectangle, getNodeWorldMatrix, getNodeWorldMatrix4, getNodeWorldTransformRevision, getViewportAspect, invalidateNodeAppearance, invalidateNodeLocalTransform, invalidateNodeRender, isNodeAncestorOf, isNodeLocalMatrix4Detached, removeNodeChild, removeNodeChildAt, removeNodeChildren, reparentNode, replaceNodeChild, setNodeChildIndex, setNodeColorAdjustments, setNodeColorAdjustmentsTint, setNodeEnabled, setNodeHeight, setNodeLocalMatrix, setNodeLocalMatrix4, setNodeTransform2D, setNodeTransform3D, setNodeWidth, swapNodeChildren, swapNodeChildrenAt, walkNodeDescendants, disposeNodeOrderList, forEachNodeOrderListEntry, getNodeOrderListEntrySortKey, hasNodeOrderListEntry, removeNodeOrderListEntry, setNodeOrderListEntry, setNodeOrderListEntryAbove, setNodeOrderListEntryBelow, setNodeOrderListFromNodeChildren, swapNodeOrderListEntries, } from './contract';
|
|
2
2
|
//# 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,OAAO,EACL,YAAY,EACZ,cAAc,EACd,eAAe,EACf,sBAAsB,EACtB,qBAAqB,EACrB,kBAAkB,EAClB,0BAA0B,EAC1B,mCAAmC,EACnC,uBAAuB,EACvB,uBAAuB,EACvB,0BAA0B,EAC1B,sBAAsB,EACtB,0BAA0B,EAC1B,kBAAkB,EAClB,iBAAiB,EACjB,+BAA+B,EAC/B,+BAA+B,EAC/B,+BAA+B,EAC/B,+BAA+B,EAC/B,UAAU,EACV,mBAAmB,EACnB,cAAc,EACd,WAAW,EACX,iBAAiB,EACjB,QAAQ,EACR,cAAc,EACd,mBAAmB,EACnB,gBAAgB,EAChB,qBAAqB,EACrB,gBAAgB,EAChB,yBAAyB,EACzB,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,uBAAuB,EACvB,qBAAqB,EACrB,YAAY,EACZ,aAAa,EACb,2BAA2B,EAC3B,0BAA0B,EAC1B,2BAA2B,EAC3B,kBAAkB,EAClB,mBAAmB,EACnB,6BAA6B,EAC7B,kBAAkB,EAClB,aAAa,EACb,4BAA4B,EAC5B,sBAAsB,EACtB,WAAW,EACX,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,YAAY,EACZ,2BAA2B,EAC3B,kBAAkB,EAClB,mBAAmB,EACnB,6BAA6B,EAC7B,iBAAiB,EACjB,wBAAwB,EACxB,4BAA4B,EAC5B,oBAAoB,EACpB,gBAAgB,EAChB,0BAA0B,EAC1B,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EACjB,uBAAuB,EACvB,2BAA2B,EAC3B,cAAc,EACd,aAAa,EACb,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,yBAAyB,EACzB,4BAA4B,EAC5B,qBAAqB,EACrB,wBAAwB,EACxB,qBAAqB,EACrB,0BAA0B,EAC1B,0BAA0B,EAC1B,gCAAgC,EAChC,wBAAwB,GACzB,MAAM,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,cAAc,EACd,eAAe,EACf,sBAAsB,EACtB,qBAAqB,EACrB,kBAAkB,EAClB,oBAAoB,EACpB,0BAA0B,EAC1B,mCAAmC,EACnC,uBAAuB,EACvB,uBAAuB,EACvB,0BAA0B,EAC1B,sBAAsB,EACtB,0BAA0B,EAC1B,kBAAkB,EAClB,iBAAiB,EACjB,+BAA+B,EAC/B,+BAA+B,EAC/B,+BAA+B,EAC/B,+BAA+B,EAC/B,UAAU,EACV,mBAAmB,EACnB,cAAc,EACd,iBAAiB,EACjB,WAAW,EACX,gBAAgB,EAChB,iBAAiB,EACjB,QAAQ,EACR,cAAc,EACd,mBAAmB,EACnB,gBAAgB,EAChB,qBAAqB,EACrB,gBAAgB,EAChB,yBAAyB,EACzB,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,uBAAuB,EACvB,qBAAqB,EACrB,YAAY,EACZ,aAAa,EACb,2BAA2B,EAC3B,0BAA0B,EAC1B,2BAA2B,EAC3B,kBAAkB,EAClB,mBAAmB,EACnB,6BAA6B,EAC7B,kBAAkB,EAClB,aAAa,EACb,4BAA4B,EAC5B,sBAAsB,EACtB,WAAW,EACX,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,YAAY,EACZ,2BAA2B,EAC3B,kBAAkB,EAClB,mBAAmB,EACnB,6BAA6B,EAC7B,iBAAiB,EACjB,wBAAwB,EACxB,4BAA4B,EAC5B,oBAAoB,EACpB,gBAAgB,EAChB,0BAA0B,EAC1B,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EACjB,uBAAuB,EACvB,2BAA2B,EAC3B,cAAc,EACd,aAAa,EACb,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,yBAAyB,EACzB,4BAA4B,EAC5B,qBAAqB,EACrB,wBAAwB,EACxB,qBAAqB,EACrB,0BAA0B,EAC1B,0BAA0B,EAC1B,gCAAgC,EAChC,wBAAwB,GACzB,MAAM,YAAY,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { addNodeChild, addNodeChildAt, addNodeChildren, addNodeColorAdjustment, addNodeOrderListEntry, applyNodeOrderList, computeNodeBoundsRectangle, computeNodeRootLocalBoundsRectangle, computeScene2DFitAlignX, computeScene2DFitAlignY, computeScene2DFitFillScale, computeScene2DFitScale, computeScene2DFitTransform, clearNodeOrderList, containsNodeChild, convertNodeVector2GlobalToLocal, convertNodeVector2LocalToGlobal, convertNodeVector3GlobalToLocal, convertNodeVector3LocalToGlobal, createNode, createNodeOrderList, createViewport, disposeNode, enableNodeSignals, findNode, findNodeByName, forEachNodeAncestor, forEachNodeChild, forEachNodeDescendant, getNodeAncestors, getNodeAppearanceRevision, getNodeChildAt, getNodeChildByName, getNodeChildCount, getNodeChildIndex, getNodeChildren, getNodeColorAdjustments, getNodeCommonAncestor, getNodeDepth, getNodeHeight, getNodeLocalBoundsRectangle, getNodeLocalBoundsRevision, getNodeLocalContentRevision, getNodeLocalMatrix, getNodeLocalMatrix4, getNodeLocalTransformRevision, getNodeNextSibling, getNodeParent, getNodeParentBoundsRectangle, getNodePreviousSibling, getNodeRoot, getNodeSignals, getNodeTransform2D, getNodeTransform3D, getNodeWidth, getNodeWorldBoundsRectangle, getNodeWorldMatrix, getNodeWorldMatrix4, getNodeWorldTransformRevision, getViewportAspect, invalidateNodeAppearance, invalidateNodeLocalTransform, invalidateNodeRender, isNodeAncestorOf, isNodeLocalMatrix4Detached, removeNodeChild, removeNodeChildAt, removeNodeChildren, reparentNode, replaceNodeChild, setNodeChildIndex, setNodeColorAdjustments, setNodeColorAdjustmentsTint, setNodeEnabled, setNodeHeight, setNodeLocalMatrix, setNodeLocalMatrix4, setNodeTransform2D, setNodeTransform3D, setNodeWidth, swapNodeChildren, swapNodeChildrenAt, walkNodeDescendants, disposeNodeOrderList, forEachNodeOrderListEntry, getNodeOrderListEntrySortKey, hasNodeOrderListEntry, removeNodeOrderListEntry, setNodeOrderListEntry, setNodeOrderListEntryAbove, setNodeOrderListEntryBelow, setNodeOrderListFromNodeChildren, swapNodeOrderListEntries, } from './contract';
|
|
1
|
+
export { addNodeChild, addNodeChildAt, addNodeChildren, addNodeColorAdjustment, addNodeOrderListEntry, applyNodeOrderList, areNodeGuardsEnabled, computeNodeBoundsRectangle, computeNodeRootLocalBoundsRectangle, computeScene2DFitAlignX, computeScene2DFitAlignY, computeScene2DFitFillScale, computeScene2DFitScale, computeScene2DFitTransform, clearNodeOrderList, containsNodeChild, convertNodeVector2GlobalToLocal, convertNodeVector2LocalToGlobal, convertNodeVector3GlobalToLocal, convertNodeVector3LocalToGlobal, createNode, createNodeOrderList, createViewport, disableNodeGuards, disposeNode, enableNodeGuards, enableNodeSignals, findNode, findNodeByName, forEachNodeAncestor, forEachNodeChild, forEachNodeDescendant, getNodeAncestors, getNodeAppearanceRevision, getNodeChildAt, getNodeChildByName, getNodeChildCount, getNodeChildIndex, getNodeChildren, getNodeColorAdjustments, getNodeCommonAncestor, getNodeDepth, getNodeHeight, getNodeLocalBoundsRectangle, getNodeLocalBoundsRevision, getNodeLocalContentRevision, getNodeLocalMatrix, getNodeLocalMatrix4, getNodeLocalTransformRevision, getNodeNextSibling, getNodeParent, getNodeParentBoundsRectangle, getNodePreviousSibling, getNodeRoot, getNodeSignals, getNodeTransform2D, getNodeTransform3D, getNodeWidth, getNodeWorldBoundsRectangle, getNodeWorldMatrix, getNodeWorldMatrix4, getNodeWorldTransformRevision, getViewportAspect, invalidateNodeAppearance, invalidateNodeLocalTransform, invalidateNodeRender, isNodeAncestorOf, isNodeLocalMatrix4Detached, removeNodeChild, removeNodeChildAt, removeNodeChildren, reparentNode, replaceNodeChild, setNodeChildIndex, setNodeColorAdjustments, setNodeColorAdjustmentsTint, setNodeEnabled, setNodeHeight, setNodeLocalMatrix, setNodeLocalMatrix4, setNodeTransform2D, setNodeTransform3D, setNodeWidth, swapNodeChildren, swapNodeChildrenAt, walkNodeDescendants, disposeNodeOrderList, forEachNodeOrderListEntry, getNodeOrderListEntrySortKey, hasNodeOrderListEntry, removeNodeOrderListEntry, setNodeOrderListEntry, setNodeOrderListEntryAbove, setNodeOrderListEntryBelow, setNodeOrderListFromNodeChildren, swapNodeOrderListEntries, } from './contract';
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,cAAc,EACd,eAAe,EACf,sBAAsB,EACtB,qBAAqB,EACrB,kBAAkB,EAClB,0BAA0B,EAC1B,mCAAmC,EACnC,uBAAuB,EACvB,uBAAuB,EACvB,0BAA0B,EAC1B,sBAAsB,EACtB,0BAA0B,EAC1B,kBAAkB,EAClB,iBAAiB,EACjB,+BAA+B,EAC/B,+BAA+B,EAC/B,+BAA+B,EAC/B,+BAA+B,EAC/B,UAAU,EACV,mBAAmB,EACnB,cAAc,EACd,WAAW,EACX,iBAAiB,EACjB,QAAQ,EACR,cAAc,EACd,mBAAmB,EACnB,gBAAgB,EAChB,qBAAqB,EACrB,gBAAgB,EAChB,yBAAyB,EACzB,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,uBAAuB,EACvB,qBAAqB,EACrB,YAAY,EACZ,aAAa,EACb,2BAA2B,EAC3B,0BAA0B,EAC1B,2BAA2B,EAC3B,kBAAkB,EAClB,mBAAmB,EACnB,6BAA6B,EAC7B,kBAAkB,EAClB,aAAa,EACb,4BAA4B,EAC5B,sBAAsB,EACtB,WAAW,EACX,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,YAAY,EACZ,2BAA2B,EAC3B,kBAAkB,EAClB,mBAAmB,EACnB,6BAA6B,EAC7B,iBAAiB,EACjB,wBAAwB,EACxB,4BAA4B,EAC5B,oBAAoB,EACpB,gBAAgB,EAChB,0BAA0B,EAC1B,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EACjB,uBAAuB,EACvB,2BAA2B,EAC3B,cAAc,EACd,aAAa,EACb,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,yBAAyB,EACzB,4BAA4B,EAC5B,qBAAqB,EACrB,wBAAwB,EACxB,qBAAqB,EACrB,0BAA0B,EAC1B,0BAA0B,EAC1B,gCAAgC,EAChC,wBAAwB,GACzB,MAAM,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,cAAc,EACd,eAAe,EACf,sBAAsB,EACtB,qBAAqB,EACrB,kBAAkB,EAClB,oBAAoB,EACpB,0BAA0B,EAC1B,mCAAmC,EACnC,uBAAuB,EACvB,uBAAuB,EACvB,0BAA0B,EAC1B,sBAAsB,EACtB,0BAA0B,EAC1B,kBAAkB,EAClB,iBAAiB,EACjB,+BAA+B,EAC/B,+BAA+B,EAC/B,+BAA+B,EAC/B,+BAA+B,EAC/B,UAAU,EACV,mBAAmB,EACnB,cAAc,EACd,iBAAiB,EACjB,WAAW,EACX,gBAAgB,EAChB,iBAAiB,EACjB,QAAQ,EACR,cAAc,EACd,mBAAmB,EACnB,gBAAgB,EAChB,qBAAqB,EACrB,gBAAgB,EAChB,yBAAyB,EACzB,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,uBAAuB,EACvB,qBAAqB,EACrB,YAAY,EACZ,aAAa,EACb,2BAA2B,EAC3B,0BAA0B,EAC1B,2BAA2B,EAC3B,kBAAkB,EAClB,mBAAmB,EACnB,6BAA6B,EAC7B,kBAAkB,EAClB,aAAa,EACb,4BAA4B,EAC5B,sBAAsB,EACtB,WAAW,EACX,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,YAAY,EACZ,2BAA2B,EAC3B,kBAAkB,EAClB,mBAAmB,EACnB,6BAA6B,EAC7B,iBAAiB,EACjB,wBAAwB,EACxB,4BAA4B,EAC5B,oBAAoB,EACpB,gBAAgB,EAChB,0BAA0B,EAC1B,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EACjB,uBAAuB,EACvB,2BAA2B,EAC3B,cAAc,EACd,aAAa,EACb,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,yBAAyB,EACzB,4BAA4B,EAC5B,qBAAqB,EACrB,wBAAwB,EACxB,qBAAqB,EACrB,0BAA0B,EAC1B,0BAA0B,EAC1B,gCAAgC,EAChC,wBAAwB,GACzB,MAAM,YAAY,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@flighthq/node",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0-edge.1908.751021c",
|
|
4
4
|
"author": "Joshua Granick and other contributors",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -38,13 +38,14 @@
|
|
|
38
38
|
"clean:dist": "tsx ../../scripts/clean-package-dist.ts"
|
|
39
39
|
},
|
|
40
40
|
"dependencies": {
|
|
41
|
-
"@flighthq/adjustments": "0.
|
|
42
|
-
"@flighthq/entity": "0.
|
|
43
|
-
"@flighthq/geometry": "0.
|
|
44
|
-
"@flighthq/
|
|
45
|
-
"@flighthq/
|
|
46
|
-
"@flighthq/
|
|
47
|
-
"@flighthq/
|
|
41
|
+
"@flighthq/adjustments": "0.4.0-edge.1908.751021c",
|
|
42
|
+
"@flighthq/entity": "0.4.0-edge.1908.751021c",
|
|
43
|
+
"@flighthq/geometry": "0.4.0-edge.1908.751021c",
|
|
44
|
+
"@flighthq/log": "0.4.0-edge.1908.751021c",
|
|
45
|
+
"@flighthq/materials": "0.4.0-edge.1908.751021c",
|
|
46
|
+
"@flighthq/math": "0.4.0-edge.1908.751021c",
|
|
47
|
+
"@flighthq/signals": "0.4.0-edge.1908.751021c",
|
|
48
|
+
"@flighthq/types": "0.4.0-edge.1908.751021c"
|
|
48
49
|
},
|
|
49
50
|
"devDependencies": {
|
|
50
51
|
"typescript": "^5.3.0"
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { getEntityRuntime as getRawEntityRuntime } from '@flighthq/entity/contract';
|
|
2
|
+
import { setLogSink } from '@flighthq/log/contract';
|
|
3
|
+
import type { HasTransform2D, HasTransform2DRuntime, LogEntry, Node } from '@flighthq/types/contract';
|
|
4
|
+
import { afterEach, describe, expect, test } from 'vitest';
|
|
5
|
+
|
|
6
|
+
import { areNodeGuardsEnabled, disableNodeGuards, enableNodeGuards } from './enableNodeGuards';
|
|
7
|
+
import { initTransform2DRuntimeTrait, initTransform2DTrait } from './hasTransform2d';
|
|
8
|
+
import { reparentNode } from './hierarchy';
|
|
9
|
+
import { createNode } from './node';
|
|
10
|
+
import { invalidateNodeLocalTransform } from './revision';
|
|
11
|
+
|
|
12
|
+
describe('areNodeGuardsEnabled', () => {
|
|
13
|
+
test('reports whether the guards are installed', () => {
|
|
14
|
+
expect(areNodeGuardsEnabled()).toBe(false);
|
|
15
|
+
enableNodeGuards();
|
|
16
|
+
expect(areNodeGuardsEnabled()).toBe(true);
|
|
17
|
+
disableNodeGuards();
|
|
18
|
+
expect(areNodeGuardsEnabled()).toBe(false);
|
|
19
|
+
});
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
describe('disableNodeGuards', () => {
|
|
23
|
+
test('leaves the core silent again once removed', () => {
|
|
24
|
+
enableNodeGuards();
|
|
25
|
+
disableNodeGuards();
|
|
26
|
+
expect(captureLog(() => reparentNode(transformNode(), collapsedParent('gone')))).toHaveLength(0);
|
|
27
|
+
});
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
describe('enableNodeGuards', () => {
|
|
31
|
+
// `logOnce` keys on the parent name and has no reset, so each triggering test must use a DISTINCT
|
|
32
|
+
// name — a repeat would be deduplicated away and assert nothing while still looking green.
|
|
33
|
+
test('warns, naming both nodes, when a reparent is declined', () => {
|
|
34
|
+
enableNodeGuards();
|
|
35
|
+
const child = transformNode();
|
|
36
|
+
child.name = 'child';
|
|
37
|
+
const entries = captureLog(() => reparentNode(child, collapsedParent('collapsed-warns')));
|
|
38
|
+
expect(entries).toHaveLength(1);
|
|
39
|
+
expect(entries[0].data).toMatchObject({ child: 'child', newParent: 'collapsed-warns' });
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
test('stays silent when the reparent succeeds', () => {
|
|
43
|
+
enableNodeGuards();
|
|
44
|
+
const healthy = transformNode();
|
|
45
|
+
invalidateNodeLocalTransform(healthy);
|
|
46
|
+
expect(captureLog(() => reparentNode(transformNode(), healthy))).toHaveLength(0);
|
|
47
|
+
});
|
|
48
|
+
});
|
|
49
|
+
|
|
50
|
+
afterEach(() => {
|
|
51
|
+
disableNodeGuards();
|
|
52
|
+
});
|
|
53
|
+
|
|
54
|
+
function captureLog(run: () => void): LogEntry[] {
|
|
55
|
+
const entries: LogEntry[] = [];
|
|
56
|
+
setLogSink((entry) => entries.push(entry));
|
|
57
|
+
try {
|
|
58
|
+
run();
|
|
59
|
+
} finally {
|
|
60
|
+
setLogSink(null);
|
|
61
|
+
}
|
|
62
|
+
return entries;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
function collapsedParent(name: string): Node<HasTransform2D> & HasTransform2D {
|
|
66
|
+
const parent = transformNode();
|
|
67
|
+
parent.name = name;
|
|
68
|
+
parent.scaleX = 0;
|
|
69
|
+
invalidateNodeLocalTransform(parent);
|
|
70
|
+
return parent;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
function transformNode(): Node<HasTransform2D> & HasTransform2D {
|
|
74
|
+
const node = createNode('NodeGuardTest') as Node<HasTransform2D> & HasTransform2D;
|
|
75
|
+
initTransform2DTrait(node);
|
|
76
|
+
initTransform2DRuntimeTrait(getRawEntityRuntime(node) as HasTransform2DRuntime);
|
|
77
|
+
return node;
|
|
78
|
+
}
|
package/src/hierarchy.test.ts
CHANGED
|
@@ -24,6 +24,7 @@ import {
|
|
|
24
24
|
removeNodeChildAt,
|
|
25
25
|
removeNodeChildren,
|
|
26
26
|
reparentNode,
|
|
27
|
+
setReparentNodeGuard,
|
|
27
28
|
replaceNodeChild,
|
|
28
29
|
setNodeChildIndex,
|
|
29
30
|
swapNodeChildren,
|
|
@@ -721,6 +722,50 @@ describe('reparentNode', () => {
|
|
|
721
722
|
return node;
|
|
722
723
|
}
|
|
723
724
|
|
|
725
|
+
// The ruled contract: under a singular new parent, NO local transform exists that would preserve the
|
|
726
|
+
// child's world transform, so the function declines whole rather than inventing one. These assert
|
|
727
|
+
// BOTH halves stay unchanged — a partial success is the state the ruling exists to prevent.
|
|
728
|
+
it('declines whole when the new parent has no invertible world matrix', () => {
|
|
729
|
+
const parentA = createTransformNode();
|
|
730
|
+
const child = createTransformNode();
|
|
731
|
+
child.x = 20;
|
|
732
|
+
child.y = 10;
|
|
733
|
+
invalidateNodeLocalTransform(child);
|
|
734
|
+
addNodeChild(parentA, child);
|
|
735
|
+
|
|
736
|
+
const collapsed = createTransformNode();
|
|
737
|
+
collapsed.scaleX = 0;
|
|
738
|
+
invalidateNodeLocalTransform(collapsed);
|
|
739
|
+
|
|
740
|
+
expect(reparentNode(child, collapsed)).toBe(false);
|
|
741
|
+
// Neither half happened: the attachment is untouched...
|
|
742
|
+
expect(getNodeParent(child)).toBe(parentA);
|
|
743
|
+
expect(getNodeChildCount(collapsed)).toBe(0);
|
|
744
|
+
// ...and so is the transform, with no NaN written into it.
|
|
745
|
+
expect(child.x).toBe(20);
|
|
746
|
+
expect(child.y).toBe(10);
|
|
747
|
+
});
|
|
748
|
+
|
|
749
|
+
it('reports true and still preserves world position for an invertible parent', () => {
|
|
750
|
+
const parentA = createTransformNode();
|
|
751
|
+
const child = createTransformNode();
|
|
752
|
+
child.x = 20;
|
|
753
|
+
child.y = 10;
|
|
754
|
+
invalidateNodeLocalTransform(child);
|
|
755
|
+
addNodeChild(parentA, child);
|
|
756
|
+
const before = cloneMatrix(getNodeWorldMatrix(child));
|
|
757
|
+
|
|
758
|
+
const parentB = createTransformNode();
|
|
759
|
+
parentB.x = 200;
|
|
760
|
+
invalidateNodeLocalTransform(parentB);
|
|
761
|
+
|
|
762
|
+
expect(reparentNode(child, parentB)).toBe(true);
|
|
763
|
+
expect(getNodeParent(child)).toBe(parentB);
|
|
764
|
+
const after = getNodeWorldMatrix(child);
|
|
765
|
+
expect(after.tx).toBeCloseTo(before.tx, 6);
|
|
766
|
+
expect(after.ty).toBeCloseTo(before.ty, 6);
|
|
767
|
+
});
|
|
768
|
+
|
|
724
769
|
it('preserves world position after reparenting', () => {
|
|
725
770
|
const parentA = createTransformNode();
|
|
726
771
|
parentA.x = 100;
|
|
@@ -1080,6 +1125,37 @@ describe('setNodeChildIndex', () => {
|
|
|
1080
1125
|
});
|
|
1081
1126
|
});
|
|
1082
1127
|
|
|
1128
|
+
describe('setReparentNodeGuard', () => {
|
|
1129
|
+
type TransformNode = Node<HasTransform2D> & HasTransform2D;
|
|
1130
|
+
function createTransformNode(): TransformNode {
|
|
1131
|
+
const node = createNode('TransformTest') as TransformNode;
|
|
1132
|
+
initTransform2DTrait(node);
|
|
1133
|
+
initTransform2DRuntimeTrait(getRawEntityRuntime(node) as HasTransform2DRuntime);
|
|
1134
|
+
return node;
|
|
1135
|
+
}
|
|
1136
|
+
|
|
1137
|
+
it('is notified on the decline and never on success', () => {
|
|
1138
|
+
const seen: string[] = [];
|
|
1139
|
+
setReparentNodeGuard((_child, newParent) => seen.push(newParent.name ?? '<unnamed>'));
|
|
1140
|
+
try {
|
|
1141
|
+
const child = createTransformNode();
|
|
1142
|
+
const collapsed = createTransformNode();
|
|
1143
|
+
collapsed.name = 'collapsed';
|
|
1144
|
+
collapsed.scaleX = 0;
|
|
1145
|
+
invalidateNodeLocalTransform(collapsed);
|
|
1146
|
+
const healthy = createTransformNode();
|
|
1147
|
+
healthy.name = 'healthy';
|
|
1148
|
+
invalidateNodeLocalTransform(healthy);
|
|
1149
|
+
|
|
1150
|
+
reparentNode(child, collapsed);
|
|
1151
|
+
reparentNode(child, healthy);
|
|
1152
|
+
expect(seen).toEqual(['collapsed']);
|
|
1153
|
+
} finally {
|
|
1154
|
+
setReparentNodeGuard(null);
|
|
1155
|
+
}
|
|
1156
|
+
});
|
|
1157
|
+
});
|
|
1158
|
+
|
|
1083
1159
|
describe('swapNodeChildren', () => {
|
|
1084
1160
|
it('does not advance the revision when both arguments are the same child', () => {
|
|
1085
1161
|
addNodeChild(container, childA);
|