@flighthq/node 0.3.0 → 0.3.1-next.1050.9114695
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/boundsRectangle.d.ts +3 -3
- package/dist/boundsRectangle.d.ts.map +1 -1
- package/dist/boundsRectangle.js +63 -11
- package/dist/boundsRectangle.js.map +1 -1
- 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/hasAppearance.d.ts +2 -1
- package/dist/hasAppearance.d.ts.map +1 -1
- package/dist/hasAppearance.js +10 -0
- package/dist/hasAppearance.js.map +1 -1
- package/dist/hasBoundsRectangle.d.ts.map +1 -1
- package/dist/hasBoundsRectangle.js +4 -0
- package/dist/hasBoundsRectangle.js.map +1 -1
- package/dist/hasTransform3d.d.ts.map +1 -1
- package/dist/hasTransform3d.js +11 -4
- package/dist/hasTransform3d.js.map +1 -1
- package/dist/hierarchy.d.ts +15 -7
- package/dist/hierarchy.d.ts.map +1 -1
- package/dist/hierarchy.js +46 -25
- 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/dist/nodeColorAdjustment.d.ts.map +1 -1
- package/dist/nodeColorAdjustment.js +1 -7
- package/dist/nodeColorAdjustment.js.map +1 -1
- package/dist/nodeOrderList.d.ts.map +1 -1
- package/dist/nodeOrderList.js +9 -2
- package/dist/nodeOrderList.js.map +1 -1
- package/dist/nodeTransform2d.d.ts.map +1 -1
- package/dist/nodeTransform2d.js +1 -1
- package/dist/nodeTransform2d.js.map +1 -1
- package/dist/revision.d.ts +2 -1
- package/dist/revision.d.ts.map +1 -1
- package/dist/revision.js +9 -4
- package/dist/revision.js.map +1 -1
- package/dist/stageFit.d.ts.map +1 -1
- package/dist/stageFit.js +8 -2
- package/dist/stageFit.js.map +1 -1
- package/package.json +9 -7
- package/src/boundsRectangle.test.ts +320 -7
- package/src/enableNodeGuards.test.ts +78 -0
- package/src/hasAppearance.test.ts +33 -3
- package/src/hasTransform2d.test.ts +6 -0
- package/src/hasTransform3d.test.ts +40 -8
- package/src/hierarchy.test.ts +223 -3
- package/src/node.test.ts +11 -1
- package/src/nodeColorAdjustment.test.ts +11 -0
- package/src/nodeOrderList.test.ts +84 -18
- package/src/nodeTransform2d.test.ts +45 -0
- package/src/revision.test.ts +26 -0
- package/src/stageFit.test.ts +56 -1
- package/src/traversal.test.ts +32 -2
|
@@ -9,9 +9,9 @@ export declare function computeNodeBoundsRectangle<Traits extends object>(out: R
|
|
|
9
9
|
* root's own local transform is identity. A child's transform is still relative to the root and
|
|
10
10
|
* nested transforms compose normally.
|
|
11
11
|
*
|
|
12
|
-
* This differs intentionally from computeNodeBoundsRectangle(out, root, root):
|
|
13
|
-
*
|
|
14
|
-
*
|
|
12
|
+
* This differs intentionally from computeNodeBoundsRectangle(out, root, root): that helper transforms
|
|
13
|
+
* an axis-aligned world box back into root space, which cannot recover tight bounds after a root
|
|
14
|
+
* rotation. Offscreen subtree capture uses this contract together with
|
|
15
15
|
* computeScene2DRenderTargetTransform so the root transform cancels exactly.
|
|
16
16
|
*/
|
|
17
17
|
export declare function computeNodeRootLocalBoundsRectangle<Traits extends object>(out: RectangleLike, root: Spatial2DNode<Traits>): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"boundsRectangle.d.ts","sourceRoot":"","sources":["../src/boundsRectangle.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EACV,UAAU,EAKV,SAAS,EACT,aAAa,EACb,aAAa,EACd,MAAM,0BAA0B,CAAC;AAOlC;;;IAGI;AACJ,wBAAgB,0BAA0B,CAAC,MAAM,SAAS,MAAM,EAC9D,GAAG,EAAE,aAAa,EAClB,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,EAC7B,qBAAqB,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,IAAI,GAAG,SAAS,GAC9D,IAAI,
|
|
1
|
+
{"version":3,"file":"boundsRectangle.d.ts","sourceRoot":"","sources":["../src/boundsRectangle.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EACV,UAAU,EAKV,SAAS,EACT,aAAa,EACb,aAAa,EACd,MAAM,0BAA0B,CAAC;AAOlC;;;IAGI;AACJ,wBAAgB,0BAA0B,CAAC,MAAM,SAAS,MAAM,EAC9D,GAAG,EAAE,aAAa,EAClB,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,EAC7B,qBAAqB,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,IAAI,GAAG,SAAS,GAC9D,IAAI,CAuBN;AAED;;;;;;;;;GASG;AACH,wBAAgB,mCAAmC,CAAC,MAAM,SAAS,MAAM,EACvE,GAAG,EAAE,aAAa,EAClB,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,GAC1B,IAAI,CAGN;AAED,wBAAgB,8BAA8B,CAAC,MAAM,SAAS,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,GAAG,IAAI,CAKtG;AAED,wBAAgB,+BAA+B,CAAC,MAAM,SAAS,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,IAAI,CAS1G;AAED,wBAAgB,8BAA8B,CAAC,MAAM,SAAS,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,IAAI,CAqBzG;AAED,wBAAgB,aAAa,CAAC,MAAM,SAAS,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,MAAM,CAO1F;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,MAAM,SAAS,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,CAGlH;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,MAAM,SAAS,MAAM,EAChE,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,GAC5B,QAAQ,CAAC,SAAS,CAAC,CAGrB;AAED,wBAAgB,YAAY,CAAC,MAAM,SAAS,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,MAAM,CAOzF;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,MAAM,SAAS,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,CAGrH;AAED,wBAAgB,aAAa,CAAC,MAAM,SAAS,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAcvG;AAED,wBAAgB,YAAY,CAAC,MAAM,SAAS,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CActG"}
|
package/dist/boundsRectangle.js
CHANGED
|
@@ -12,11 +12,7 @@ export function computeNodeBoundsRectangle(out, source, targetCoordinateSpace) {
|
|
|
12
12
|
if (!targetCoordinateSpace)
|
|
13
13
|
targetCoordinateSpace = source;
|
|
14
14
|
let bounds;
|
|
15
|
-
if (
|
|
16
|
-
// if target has no parent, use world bounds
|
|
17
|
-
bounds = getNodeWorldBoundsRectangle(source);
|
|
18
|
-
}
|
|
19
|
-
else if (getNodeChildCount(source) === 0) {
|
|
15
|
+
if (getNodeChildCount(source) === 0) {
|
|
20
16
|
// only world bounds considers children
|
|
21
17
|
if (targetCoordinateSpace === source) {
|
|
22
18
|
// fast path, return local bounds for self
|
|
@@ -44,9 +40,9 @@ export function computeNodeBoundsRectangle(out, source, targetCoordinateSpace) {
|
|
|
44
40
|
* root's own local transform is identity. A child's transform is still relative to the root and
|
|
45
41
|
* nested transforms compose normally.
|
|
46
42
|
*
|
|
47
|
-
* This differs intentionally from computeNodeBoundsRectangle(out, root, root):
|
|
48
|
-
*
|
|
49
|
-
*
|
|
43
|
+
* This differs intentionally from computeNodeBoundsRectangle(out, root, root): that helper transforms
|
|
44
|
+
* an axis-aligned world box back into root space, which cannot recover tight bounds after a root
|
|
45
|
+
* rotation. Offscreen subtree capture uses this contract together with
|
|
50
46
|
* computeScene2DRenderTargetTransform so the root transform cancels exactly.
|
|
51
47
|
*/
|
|
52
48
|
export function computeNodeRootLocalBoundsRectangle(out, root) {
|
|
@@ -79,7 +75,11 @@ export function ensureNodeWorldBoundsRectangle(target) {
|
|
|
79
75
|
forceRecompute = true;
|
|
80
76
|
}
|
|
81
77
|
ensureNodeWorldMatrix(target);
|
|
82
|
-
|
|
78
|
+
const childBoundsChanged = hasChildren && ensureNodeChildWorldBoundsRectangles(target);
|
|
79
|
+
if (forceRecompute ||
|
|
80
|
+
localBoundsInvalid ||
|
|
81
|
+
childBoundsChanged ||
|
|
82
|
+
runtime.worldBoundsUsingWorldTransformId !== runtime.worldTransformId) {
|
|
83
83
|
recomputeWorldBoundsRectangle(target, runtime);
|
|
84
84
|
}
|
|
85
85
|
}
|
|
@@ -115,13 +115,37 @@ export function getNodeWorldBoundsRectangle(target) {
|
|
|
115
115
|
export function setNodeHeight(target, value) {
|
|
116
116
|
if (target.scaleY === 0)
|
|
117
117
|
return;
|
|
118
|
-
|
|
118
|
+
const bounds = getNodeLocalBoundsRectangle(target);
|
|
119
|
+
const matrix = getNodeLocalMatrix(target);
|
|
120
|
+
const scaleYFactor = Math.abs(matrix.d / target.scaleY);
|
|
121
|
+
const localHeight = Math.abs(bounds.height);
|
|
122
|
+
// This setter is the inverse of getNodeHeight's parent-space AABB measurement. The perpendicular
|
|
123
|
+
// scale contributes a fixed term, so width/height setters intentionally do not commute.
|
|
124
|
+
if (scaleYFactor <= SINGULAR_AXIS_EPSILON || localHeight === 0)
|
|
125
|
+
return;
|
|
126
|
+
const fixedXTerm = Math.abs(matrix.b) * Math.abs(bounds.width);
|
|
127
|
+
const adjustableHeight = value - fixedXTerm;
|
|
128
|
+
if (adjustableHeight < 0)
|
|
129
|
+
return;
|
|
130
|
+
target.scaleY = Math.sign(target.scaleY) * (adjustableHeight / (scaleYFactor * localHeight));
|
|
119
131
|
invalidateNodeLocalTransform(target);
|
|
120
132
|
}
|
|
121
133
|
export function setNodeWidth(target, value) {
|
|
122
134
|
if (target.scaleX === 0)
|
|
123
135
|
return;
|
|
124
|
-
|
|
136
|
+
const bounds = getNodeLocalBoundsRectangle(target);
|
|
137
|
+
const matrix = getNodeLocalMatrix(target);
|
|
138
|
+
const scaleXFactor = Math.abs(matrix.a / target.scaleX);
|
|
139
|
+
const localWidth = Math.abs(bounds.width);
|
|
140
|
+
// This setter is the inverse of getNodeWidth's parent-space AABB measurement. The perpendicular
|
|
141
|
+
// scale contributes a fixed term, so width/height setters intentionally do not commute.
|
|
142
|
+
if (scaleXFactor <= SINGULAR_AXIS_EPSILON || localWidth === 0)
|
|
143
|
+
return;
|
|
144
|
+
const fixedYTerm = Math.abs(matrix.c) * Math.abs(bounds.height);
|
|
145
|
+
const adjustableWidth = value - fixedYTerm;
|
|
146
|
+
if (adjustableWidth < 0)
|
|
147
|
+
return;
|
|
148
|
+
target.scaleX = Math.sign(target.scaleX) * (adjustableWidth / (scaleXFactor * localWidth));
|
|
125
149
|
invalidateNodeLocalTransform(target);
|
|
126
150
|
}
|
|
127
151
|
function recomputeNodeBoundsRectangle(target, runtime) {
|
|
@@ -135,6 +159,33 @@ function isNodeLocalBoundsRectangleValid(target, runtime) {
|
|
|
135
159
|
return (runtime.localBoundsUsingLocalBoundsId === runtime.localBoundsId &&
|
|
136
160
|
(runtime.isLocalBoundsRectangleValid?.(target) ?? true));
|
|
137
161
|
}
|
|
162
|
+
function ensureNodeChildWorldBoundsRectangles(target) {
|
|
163
|
+
const children = getNodeRuntime(target).children;
|
|
164
|
+
if (children === null)
|
|
165
|
+
return false;
|
|
166
|
+
let changed = false;
|
|
167
|
+
for (const child of children) {
|
|
168
|
+
if (!child.enabled)
|
|
169
|
+
continue;
|
|
170
|
+
const childNode = child;
|
|
171
|
+
const runtime = getNodeRuntime(childNode);
|
|
172
|
+
const previous = runtime.worldBoundsRectangle;
|
|
173
|
+
const previousX = previous?.x;
|
|
174
|
+
const previousY = previous?.y;
|
|
175
|
+
const previousWidth = previous?.width;
|
|
176
|
+
const previousHeight = previous?.height;
|
|
177
|
+
ensureNodeWorldBoundsRectangle(childNode);
|
|
178
|
+
const current = runtime.worldBoundsRectangle;
|
|
179
|
+
if (previous === null ||
|
|
180
|
+
current.x !== previousX ||
|
|
181
|
+
current.y !== previousY ||
|
|
182
|
+
current.width !== previousWidth ||
|
|
183
|
+
current.height !== previousHeight) {
|
|
184
|
+
changed = true;
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
return changed;
|
|
188
|
+
}
|
|
138
189
|
function mergeRootLocalBounds(out, node, transform) {
|
|
139
190
|
const localBounds = getNodeLocalBoundsRectangle(node);
|
|
140
191
|
if (transform === null) {
|
|
@@ -203,4 +254,5 @@ function tryFastRecomputeWorldBoundsRectangle(target, runtime) {
|
|
|
203
254
|
}
|
|
204
255
|
const _tempBoundsRectangle = createRectangle();
|
|
205
256
|
const _rootLocalNodeBounds = createRectangle();
|
|
257
|
+
const SINGULAR_AXIS_EPSILON = 1e-12;
|
|
206
258
|
//# sourceMappingURL=boundsRectangle.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"boundsRectangle.js","sourceRoot":"","sources":["../src/boundsRectangle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EACL,aAAa,EACb,UAAU,EACV,aAAa,EACb,eAAe,EACf,aAAa,EACb,wBAAwB,EACxB,cAAc,EACd,cAAc,EACd,aAAa,EACb,iBAAiB,GAClB,MAAM,6BAA6B,CAAC;AAYrC,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAClG,OAAO,EAAE,4BAA4B,EAAE,MAAM,YAAY,CAAC;AAE1D;;;IAGI;AACJ,MAAM,UAAU,0BAA0B,CACxC,GAAkB,EAClB,MAA6B,EAC7B,qBAA+D;IAE/D,IAAI,CAAC,qBAAqB;QAAE,qBAAqB,GAAG,MAAM,CAAC;IAC3D,IAAI,MAAM,CAAC;IACX,IAAI,
|
|
1
|
+
{"version":3,"file":"boundsRectangle.js","sourceRoot":"","sources":["../src/boundsRectangle.ts"],"names":[],"mappings":"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"}
|
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/hasAppearance.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
import type { HasAppearance } from '@flighthq/types/contract';
|
|
1
|
+
import type { HasAppearance, HasAppearanceRuntime } from '@flighthq/types/contract';
|
|
2
|
+
export declare function initAppearanceRuntimeTrait(target: HasAppearanceRuntime): void;
|
|
2
3
|
export declare function initAppearanceTrait(target: HasAppearance, obj?: Readonly<Partial<HasAppearance>>): void;
|
|
3
4
|
//# sourceMappingURL=hasAppearance.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hasAppearance.d.ts","sourceRoot":"","sources":["../src/hasAppearance.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"hasAppearance.d.ts","sourceRoot":"","sources":["../src/hasAppearance.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAMpF,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,oBAAoB,GAAG,IAAI,CAK7E;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,GAAG,IAAI,CAGvG"}
|
package/dist/hasAppearance.js
CHANGED
|
@@ -1,3 +1,13 @@
|
|
|
1
|
+
// Resets the resolved-appearance cache for graph families that resolve appearance on the node (the 3D
|
|
2
|
+
// scene graph — see ensureNode3DWorldAlpha). The `-1` stamps are sentinels no live revision takes, so
|
|
3
|
+
// the first resolve always recomputes; `worldAppearanceId` starts at 0, the fresh-runtime value a
|
|
4
|
+
// child stores before its parent has ever resolved.
|
|
5
|
+
export function initAppearanceRuntimeTrait(target) {
|
|
6
|
+
target.worldAlpha = null;
|
|
7
|
+
target.worldAlphaUsingAppearanceId = -1;
|
|
8
|
+
target.worldAlphaUsingParentAppearanceId = -1;
|
|
9
|
+
target.worldAppearanceId = 0;
|
|
10
|
+
}
|
|
1
11
|
export function initAppearanceTrait(target, obj) {
|
|
2
12
|
target.alpha = obj?.alpha ?? 1;
|
|
3
13
|
target.visible = obj?.visible ?? true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hasAppearance.js","sourceRoot":"","sources":["../src/hasAppearance.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,mBAAmB,CAAC,MAAqB,EAAE,GAAsC;IAC/F,MAAM,CAAC,KAAK,GAAG,GAAG,EAAE,KAAK,IAAI,CAAC,CAAC;IAC/B,MAAM,CAAC,OAAO,GAAG,GAAG,EAAE,OAAO,IAAI,IAAI,CAAC;AACxC,CAAC"}
|
|
1
|
+
{"version":3,"file":"hasAppearance.js","sourceRoot":"","sources":["../src/hasAppearance.ts"],"names":[],"mappings":"AAEA,sGAAsG;AACtG,sGAAsG;AACtG,kGAAkG;AAClG,oDAAoD;AACpD,MAAM,UAAU,0BAA0B,CAAC,MAA4B;IACrE,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC;IACzB,MAAM,CAAC,2BAA2B,GAAG,CAAC,CAAC,CAAC;IACxC,MAAM,CAAC,iCAAiC,GAAG,CAAC,CAAC,CAAC;IAC9C,MAAM,CAAC,iBAAiB,GAAG,CAAC,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,MAAqB,EAAE,GAAsC;IAC/F,MAAM,CAAC,KAAK,GAAG,GAAG,EAAE,KAAK,IAAI,CAAC,CAAC;IAC/B,MAAM,CAAC,OAAO,GAAG,GAAG,EAAE,OAAO,IAAI,IAAI,CAAC;AACxC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hasBoundsRectangle.d.ts","sourceRoot":"","sources":["../src/hasBoundsRectangle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,kBAAkB,EAClB,yBAAyB,EACzB,SAAS,EACT,SAAS,EACV,MAAM,0BAA0B,CAAC;AAElC,wBAAgB,kCAAkC,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,aAAa,CAAC,QAAI;AAExG,wBAAgB,+BAA+B,CAC7C,MAAM,EAAE,yBAAyB,EACjC,OAAO,CAAC,EAAE,QAAQ,CAChB,OAAO,CAAC,SAAS,CAAC,yBAAyB,CAAC,GAAG,IAAI,CAAC,yBAAyB,EAAE,6BAA6B,CAAC,CAAC,CAC/G,GACA,IAAI,CAMN;
|
|
1
|
+
{"version":3,"file":"hasBoundsRectangle.d.ts","sourceRoot":"","sources":["../src/hasBoundsRectangle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,kBAAkB,EAClB,yBAAyB,EACzB,SAAS,EACT,SAAS,EACV,MAAM,0BAA0B,CAAC;AAElC,wBAAgB,kCAAkC,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,aAAa,CAAC,QAAI;AAExG,wBAAgB,+BAA+B,CAC7C,MAAM,EAAE,yBAAyB,EACjC,OAAO,CAAC,EAAE,QAAQ,CAChB,OAAO,CAAC,SAAS,CAAC,yBAAyB,CAAC,GAAG,IAAI,CAAC,yBAAyB,EAAE,6BAA6B,CAAC,CAAC,CAC/G,GACA,IAAI,CAMN;AAMD,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,kBAAkB,EAC3B,IAAI,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,GAC3C,IAAI,CAAG"}
|
|
@@ -6,5 +6,9 @@ export function initBoundsRectangleRuntimeTrait(target, methods) {
|
|
|
6
6
|
target.computeLocalBoundsRectangle = methods?.computeLocalBoundsRectangle ?? defaultComputeLocalBoundsRectangle;
|
|
7
7
|
target.isLocalBoundsRectangleValid = methods?.isLocalBoundsRectangleValid ?? null;
|
|
8
8
|
}
|
|
9
|
+
// Deliberately empty: `HasBoundsRectangle` carries no entity fields today (its state lives entirely on
|
|
10
|
+
// the runtime tier). Kept rather than deleted as dead code so every trait has a real init to call — a
|
|
11
|
+
// composition site that hand-inlines a trait's setup instead of calling its init is how a trait's
|
|
12
|
+
// sentinels drift out of sync with the package that owns them.
|
|
9
13
|
export function initBoundsRectangleTrait(_target, _obj) { }
|
|
10
14
|
//# sourceMappingURL=hasBoundsRectangle.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hasBoundsRectangle.js","sourceRoot":"","sources":["../src/hasBoundsRectangle.ts"],"names":[],"mappings":"AAQA,MAAM,UAAU,kCAAkC,CAAC,IAAe,EAAE,OAAgC,IAAG,CAAC;AAExG,MAAM,UAAU,+BAA+B,CAC7C,MAAiC,EACjC,OAEC;IAED,MAAM,CAAC,eAAe,GAAG,IAAI,CAAC;IAC9B,MAAM,CAAC,oBAAoB,GAAG,IAAI,CAAC;IACnC,MAAM,CAAC,oBAAoB,GAAG,IAAI,CAAC;IACnC,MAAM,CAAC,2BAA2B,GAAG,OAAO,EAAE,2BAA2B,IAAI,kCAAkC,CAAC;IAChH,MAAM,CAAC,2BAA2B,GAAG,OAAO,EAAE,2BAA2B,IAAI,IAAI,CAAC;AACpF,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,OAA2B,EAC3B,IAA4C,IACrC,CAAC"}
|
|
1
|
+
{"version":3,"file":"hasBoundsRectangle.js","sourceRoot":"","sources":["../src/hasBoundsRectangle.ts"],"names":[],"mappings":"AAQA,MAAM,UAAU,kCAAkC,CAAC,IAAe,EAAE,OAAgC,IAAG,CAAC;AAExG,MAAM,UAAU,+BAA+B,CAC7C,MAAiC,EACjC,OAEC;IAED,MAAM,CAAC,eAAe,GAAG,IAAI,CAAC;IAC9B,MAAM,CAAC,oBAAoB,GAAG,IAAI,CAAC;IACnC,MAAM,CAAC,oBAAoB,GAAG,IAAI,CAAC;IACnC,MAAM,CAAC,2BAA2B,GAAG,OAAO,EAAE,2BAA2B,IAAI,kCAAkC,CAAC;IAChH,MAAM,CAAC,2BAA2B,GAAG,OAAO,EAAE,2BAA2B,IAAI,IAAI,CAAC;AACpF,CAAC;AAED,uGAAuG;AACvG,sGAAsG;AACtG,kGAAkG;AAClG,+DAA+D;AAC/D,MAAM,UAAU,wBAAwB,CACtC,OAA2B,EAC3B,IAA4C,IACrC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hasTransform3d.d.ts","sourceRoot":"","sources":["../src/hasTransform3d.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEtF,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,qBAAqB,GAAG,IAAI,CAI/E;
|
|
1
|
+
{"version":3,"file":"hasTransform3d.d.ts","sourceRoot":"","sources":["../src/hasTransform3d.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEtF,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,qBAAqB,GAAG,IAAI,CAI/E;AAMD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,cAAc,EAAE,GAAG,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,GAAG,IAAI,CAO1G"}
|
package/dist/hasTransform3d.js
CHANGED
|
@@ -1,12 +1,19 @@
|
|
|
1
|
-
import { createQuaternion, createVector3 } from '@flighthq/geometry/contract';
|
|
1
|
+
import { cloneQuaternion, cloneVector3, createQuaternion, createVector3 } from '@flighthq/geometry/contract';
|
|
2
2
|
export function initTransform3DRuntimeTrait(target) {
|
|
3
3
|
target.localMatrix4 = null;
|
|
4
4
|
target.localMatrix4Detached = false;
|
|
5
5
|
target.worldMatrix4 = null;
|
|
6
6
|
}
|
|
7
|
+
// The node owns its position/rotation/scale storage: values are copied out of `obj` rather than
|
|
8
|
+
// retained, so one options object can seed many nodes and later transform writes (which mutate these
|
|
9
|
+
// in place) never reach back into the caller's `Readonly` input. Mirrors the value semantics of the
|
|
10
|
+
// primitive-field 2D sibling.
|
|
7
11
|
export function initTransform3DTrait(target, obj) {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
12
|
+
const position = obj?.position;
|
|
13
|
+
const rotation = obj?.rotation;
|
|
14
|
+
const scale = obj?.scale;
|
|
15
|
+
target.position = position !== undefined ? cloneVector3(position) : createVector3();
|
|
16
|
+
target.rotation = rotation !== undefined ? cloneQuaternion(rotation) : createQuaternion();
|
|
17
|
+
target.scale = scale !== undefined ? cloneVector3(scale) : createVector3(1, 1, 1);
|
|
11
18
|
}
|
|
12
19
|
//# sourceMappingURL=hasTransform3d.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hasTransform3d.js","sourceRoot":"","sources":["../src/hasTransform3d.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"hasTransform3d.js","sourceRoot":"","sources":["../src/hasTransform3d.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAG7G,MAAM,UAAU,2BAA2B,CAAC,MAA6B;IACvE,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC;IAC3B,MAAM,CAAC,oBAAoB,GAAG,KAAK,CAAC;IACpC,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC;AAC7B,CAAC;AAED,gGAAgG;AAChG,qGAAqG;AACrG,oGAAoG;AACpG,8BAA8B;AAC9B,MAAM,UAAU,oBAAoB,CAAC,MAAsB,EAAE,GAAuC;IAClG,MAAM,QAAQ,GAAG,GAAG,EAAE,QAAQ,CAAC;IAC/B,MAAM,QAAQ,GAAG,GAAG,EAAE,QAAQ,CAAC;IAC/B,MAAM,KAAK,GAAG,GAAG,EAAE,KAAK,CAAC;IACzB,MAAM,CAAC,QAAQ,GAAG,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;IACpF,MAAM,CAAC,QAAQ,GAAG,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAC1F,MAAM,CAAC,KAAK,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACpF,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
|
|
94
|
-
*
|
|
95
|
-
*
|
|
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
|
+
* unchanged. Its pivot is preserved; rotation and skew may be reparameterized because a general
|
|
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":"
|
|
1
|
+
{"version":3,"file":"hierarchy.d.ts","sourceRoot":"","sources":["../src/hierarchy.ts"],"names":[],"mappings":"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"}
|
package/dist/hierarchy.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { acquireMatrix, copyMatrix, inverseMatrix, multiplyMatrix, releaseMatrix } from '@flighthq/geometry/contract';
|
|
1
|
+
import { acquireMatrix, copyMatrix, decomposeMatrixToTransform2D, inverseMatrix, multiplyMatrix, releaseMatrix, } from '@flighthq/geometry/contract';
|
|
2
2
|
import { emitSignal } from '@flighthq/signals/contract';
|
|
3
3
|
import { getNodeRuntime } from './node';
|
|
4
4
|
import { ensureNodeWorldMatrix, getNodeWorldMatrix } from './nodeTransform2d';
|
|
5
|
-
import { invalidateNodeLocalTransform, invalidateNodeParentReference } from './revision';
|
|
5
|
+
import { invalidateNodeLocalTransform, invalidateNodeParentReference, invalidateNodeWorldBounds } from './revision';
|
|
6
6
|
/**
|
|
7
7
|
* Adds a child Node instance to this Node
|
|
8
8
|
* instance. The child is added to the front (top) of all other children in
|
|
@@ -26,6 +26,9 @@ export function addNodeChildAt(target, child, index) {
|
|
|
26
26
|
else if (child === target) {
|
|
27
27
|
throw new TypeError('An object cannot be added as a child of itself');
|
|
28
28
|
}
|
|
29
|
+
else if (isNodeAncestorOf(child, target)) {
|
|
30
|
+
throw new TypeError('An ancestor cannot be added as a child of its descendant');
|
|
31
|
+
}
|
|
29
32
|
else if (index < 0 || (children !== null && index > children.length) || (children === null && index > 0)) {
|
|
30
33
|
throwOutOfBoundsError();
|
|
31
34
|
}
|
|
@@ -37,9 +40,11 @@ export function addNodeChildAt(target, child, index) {
|
|
|
37
40
|
}
|
|
38
41
|
const childRuntime = getNodeRuntime(child);
|
|
39
42
|
const parent = childRuntime.parent;
|
|
43
|
+
let wasChild = false;
|
|
40
44
|
if (parent === target) {
|
|
41
45
|
const i = children.indexOf(child);
|
|
42
46
|
if (i !== -1) {
|
|
47
|
+
wasChild = true;
|
|
43
48
|
// `index === children.length` means append. An already-last child is therefore unchanged.
|
|
44
49
|
if (i === Math.min(index, children.length - 1))
|
|
45
50
|
return child;
|
|
@@ -53,6 +58,8 @@ export function addNodeChildAt(target, child, index) {
|
|
|
53
58
|
}
|
|
54
59
|
children.splice(index, 0, child);
|
|
55
60
|
invalidateNodeChildren(targetRuntime);
|
|
61
|
+
if (!wasChild)
|
|
62
|
+
invalidateNodeWorldBounds(target);
|
|
56
63
|
const targetSignals = targetRuntime.nodeSignals;
|
|
57
64
|
if (targetSignals !== null)
|
|
58
65
|
emitSignal(targetSignals.onChildrenChanged);
|
|
@@ -230,6 +237,7 @@ export function removeNodeChild(target, child) {
|
|
|
230
237
|
if (i !== -1) {
|
|
231
238
|
children.splice(i, 1);
|
|
232
239
|
invalidateNodeChildren(targetRuntime);
|
|
240
|
+
invalidateNodeWorldBounds(target);
|
|
233
241
|
}
|
|
234
242
|
const targetSignals = targetRuntime.nodeSignals;
|
|
235
243
|
if (targetSignals !== null) {
|
|
@@ -278,43 +286,51 @@ export function removeNodeChildren(target, beginIndex = 0, endIndex) {
|
|
|
278
286
|
}
|
|
279
287
|
}
|
|
280
288
|
/**
|
|
281
|
-
* Moves a child to a new parent while preserving its world-space position
|
|
282
|
-
* The child's local
|
|
283
|
-
*
|
|
284
|
-
*
|
|
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
|
+
* unchanged. Its pivot is preserved; rotation and skew may be reparameterized because a general
|
|
292
|
+
* affine matrix has multiple equivalent decompositions.
|
|
293
|
+
*
|
|
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.
|
|
285
300
|
*
|
|
286
|
-
* To reparent without preserving world position (keeping local TRS unchanged),
|
|
287
|
-
*
|
|
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.
|
|
288
303
|
*/
|
|
289
304
|
export function reparentNode(child, newParent) {
|
|
290
305
|
ensureNodeWorldMatrix(child);
|
|
306
|
+
ensureNodeWorldMatrix(newParent);
|
|
291
307
|
const oldWorld = acquireMatrix();
|
|
292
308
|
const localM = acquireMatrix();
|
|
293
309
|
try {
|
|
294
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
|
+
}
|
|
295
318
|
addNodeChild(newParent, child);
|
|
296
|
-
inverseMatrix(localM, getNodeWorldMatrix(newParent));
|
|
297
319
|
multiplyMatrix(localM, localM, oldWorld);
|
|
298
|
-
const
|
|
299
|
-
const
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
child.
|
|
303
|
-
child.
|
|
304
|
-
|
|
305
|
-
child.scaleY = -child.scaleY;
|
|
306
|
-
}
|
|
307
|
-
const skewYRad = child.skewY * DEG_TO_RAD;
|
|
308
|
-
child.rotation = (Math.atan2(b, a) - skewYRad) * RAD_TO_DEG;
|
|
309
|
-
child.x = localM.tx + (a * child.pivotX + c * child.pivotY);
|
|
310
|
-
child.y = localM.ty + (b * child.pivotX + d * child.pivotY);
|
|
320
|
+
const pivotX = child.pivotX;
|
|
321
|
+
const pivotY = child.pivotY;
|
|
322
|
+
decomposeMatrixToTransform2D(child, localM);
|
|
323
|
+
child.pivotX = pivotX;
|
|
324
|
+
child.pivotY = pivotY;
|
|
325
|
+
child.x = localM.tx + (localM.a * pivotX + localM.c * pivotY);
|
|
326
|
+
child.y = localM.ty + (localM.b * pivotX + localM.d * pivotY);
|
|
311
327
|
invalidateNodeLocalTransform(child);
|
|
312
328
|
}
|
|
313
329
|
finally {
|
|
314
330
|
releaseMatrix(oldWorld);
|
|
315
331
|
releaseMatrix(localM);
|
|
316
332
|
}
|
|
317
|
-
return
|
|
333
|
+
return true;
|
|
318
334
|
}
|
|
319
335
|
/**
|
|
320
336
|
* Replaces `oldChild` with `newChild` at the same index position in `target`'s children. If
|
|
@@ -350,6 +366,11 @@ export function setNodeChildIndex(target, child, index) {
|
|
|
350
366
|
}
|
|
351
367
|
}
|
|
352
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
|
+
}
|
|
353
374
|
/**
|
|
354
375
|
* Recursively stops the timeline execution of all MovieClips rooted at this object.
|
|
355
376
|
**/
|
|
@@ -407,6 +428,6 @@ function invalidateNodeChildren(runtime) {
|
|
|
407
428
|
function throwOutOfBoundsError() {
|
|
408
429
|
throw new RangeError('The supplied index is out of bounds.');
|
|
409
430
|
}
|
|
410
|
-
|
|
411
|
-
|
|
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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"}
|