@flighthq/scene2d 0.2.1-next.841.373388f → 0.3.0-next.1032.e2b99fc
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 +7 -0
- package/dist/contract.d.ts.map +1 -0
- package/dist/contract.js +7 -0
- package/dist/contract.js.map +1 -0
- package/dist/displayContainer.d.ts +1 -1
- package/dist/displayContainer.d.ts.map +1 -1
- package/dist/displayContainer.js +1 -1
- package/dist/displayContainer.js.map +1 -1
- package/dist/displayObject.d.ts +1 -5
- package/dist/displayObject.d.ts.map +1 -1
- package/dist/displayObject.js +2 -57
- package/dist/displayObject.js.map +1 -1
- package/dist/displayObjectAnimation.d.ts +1 -1
- package/dist/displayObjectAnimation.d.ts.map +1 -1
- package/dist/displayObjectAnimation.js +2 -2
- package/dist/displayObjectAnimation.js.map +1 -1
- package/dist/htmlView.d.ts +1 -1
- package/dist/htmlView.d.ts.map +1 -1
- package/dist/htmlView.js +2 -2
- package/dist/htmlView.js.map +1 -1
- package/dist/index.d.ts +1 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -8
- package/dist/index.js.map +1 -1
- package/dist/scene2d.d.ts +1 -1
- package/dist/scene2d.d.ts.map +1 -1
- package/dist/scene2d.js +4 -4
- package/dist/scene2d.js.map +1 -1
- package/dist/sprite.d.ts +9 -0
- package/dist/sprite.d.ts.map +1 -0
- package/dist/sprite.js +35 -0
- package/dist/sprite.js.map +1 -0
- package/package.json +14 -9
- package/src/displayContainer.test.ts +2 -2
- package/src/displayObject.test.ts +48 -38
- package/src/displayObjectAnimation.test.ts +3 -3
- package/src/htmlView.test.ts +3 -3
- package/src/scene2d.test.ts +3 -3
- package/src/sprite.test.ts +132 -0
- package/dist/bitmap.d.ts +0 -8
- package/dist/bitmap.d.ts.map +0 -1
- package/dist/bitmap.js +0 -41
- package/dist/bitmap.js.map +0 -1
- package/dist/renderView.d.ts +0 -8
- package/dist/renderView.d.ts.map +0 -1
- package/dist/renderView.js +0 -35
- package/dist/renderView.js.map +0 -1
- package/dist/video.d.ts +0 -9
- package/dist/video.d.ts.map +0 -1
- package/dist/video.js +0 -41
- package/dist/video.js.map +0 -1
- package/src/bitmap.test.ts +0 -131
- package/src/renderView.test.ts +0 -104
- package/src/video.test.ts +0 -113
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,0BAA0B,CAAC;AACzC,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC"}
|
package/dist/contract.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contract.js","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,0BAA0B,CAAC;AACzC,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { DisplayObject, DisplayObjectRuntime, PartialNode } from '@flighthq/types';
|
|
1
|
+
import type { DisplayObject, DisplayObjectRuntime, PartialNode } from '@flighthq/types/contract';
|
|
2
2
|
export declare function createDisplayObject(obj?: Readonly<PartialNode<DisplayObject>>): DisplayObject;
|
|
3
3
|
export declare function createDisplayObjectRuntime(): DisplayObjectRuntime;
|
|
4
4
|
export declare function getDisplayObjectRuntime(source: Readonly<DisplayObject>): Readonly<DisplayObjectRuntime>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"displayContainer.d.ts","sourceRoot":"","sources":["../src/displayContainer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"displayContainer.d.ts","sourceRoot":"","sources":["../src/displayContainer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAKjG,wBAAgB,mBAAmB,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,GAAG,aAAa,CAE7F;AAED,wBAAgB,0BAA0B,IAAI,oBAAoB,CAEjE;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,QAAQ,CAAC,aAAa,CAAC,GAAG,QAAQ,CAAC,oBAAoB,CAAC,CAEvG"}
|
package/dist/displayContainer.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { DisplayObjectKind } from '@flighthq/types';
|
|
1
|
+
import { DisplayObjectKind } from '@flighthq/types/contract';
|
|
2
2
|
import { createNode2D, createNode2DRuntime, getNode2DRuntime } from './displayObject';
|
|
3
3
|
export function createDisplayObject(obj) {
|
|
4
4
|
return createNode2D(DisplayObjectKind, obj, undefined, createDisplayObjectRuntime);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"displayContainer.js","sourceRoot":"","sources":["../src/displayContainer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"displayContainer.js","sourceRoot":"","sources":["../src/displayContainer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEtF,MAAM,UAAU,mBAAmB,CAAC,GAA0C;IAC5E,OAAO,YAAY,CAAC,iBAAiB,EAAE,GAAG,EAAE,SAAS,EAAE,0BAA0B,CAAkB,CAAC;AACtG,CAAC;AAED,MAAM,UAAU,0BAA0B;IACxC,OAAO,mBAAmB,EAA0B,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,MAA+B;IACrE,OAAO,gBAAgB,CAAC,MAAM,CAAyB,CAAC;AAC1D,CAAC"}
|
package/dist/displayObject.d.ts
CHANGED
|
@@ -1,12 +1,8 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
export declare function addNode2DColorAdjustment(source: Node2D, adjustment: Adjustment): void;
|
|
1
|
+
import type { ClipRegion, Node2D, Node2DDataFactory, Node2DRuntime, Node2DRuntimeFactory, Kind, MethodsOf, NodeAny, PartialNode } from '@flighthq/types/contract';
|
|
3
2
|
export declare function createNode2D<R extends Node2DRuntime>(kind: Kind, obj?: Readonly<PartialNode<Node2D>>, createData?: Node2DDataFactory, createNode2DRuntimeFactory?: Node2DRuntimeFactory<R>): Node2D;
|
|
4
3
|
export declare function createNode2DRuntime(methods?: Readonly<Partial<MethodsOf<Node2DRuntime>>>): Node2DRuntime;
|
|
5
|
-
export declare function getNode2DColorAdjustments(source: Readonly<Node2D>): readonly Adjustment[] | null;
|
|
6
4
|
export declare function getNode2DRuntime(source: Readonly<Node2D>): Readonly<Node2DRuntime>;
|
|
7
5
|
export declare function isNode2D(node: NodeAny): node is Node2D;
|
|
8
6
|
export declare function setNode2DClip(source: Node2D, value: ClipRegion | null): void;
|
|
9
|
-
export declare function setNode2DColorAdjustments(source: Node2D, value: readonly Adjustment[] | null): void;
|
|
10
|
-
export declare function setNode2DColorTransform(source: Node2D, colorTransform: Readonly<ColorTransform> | null): void;
|
|
11
7
|
export { createDisplayObject } from './displayContainer';
|
|
12
8
|
//# sourceMappingURL=displayObject.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"displayObject.d.ts","sourceRoot":"","sources":["../src/displayObject.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"displayObject.d.ts","sourceRoot":"","sources":["../src/displayObject.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EACV,UAAU,EACV,MAAM,EACN,iBAAiB,EACjB,aAAa,EACb,oBAAoB,EACpB,IAAI,EACJ,SAAS,EACT,OAAO,EAEP,WAAW,EACZ,MAAM,0BAA0B,CAAC;AAGlC,wBAAgB,YAAY,CAAC,CAAC,SAAS,aAAa,EAClD,IAAI,EAAE,IAAI,EACV,GAAG,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,EACnC,UAAU,CAAC,EAAE,iBAAiB,EAC9B,0BAA0B,CAAC,EAAE,oBAAoB,CAAC,CAAC,CAAC,GACnD,MAAM,CAcR;AAED,wBAAgB,mBAAmB,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,aAAa,CAOxG;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC,CAElF;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,MAAM,CAEtD;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI,GAAG,IAAI,CAG5E;AAED,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC"}
|
package/dist/displayObject.js
CHANGED
|
@@ -1,17 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { createNode, createNodeRuntime, getNodeRuntime, initAppearanceTrait, initBlendModeTrait, initBoundsRectangleRuntimeTrait, initBoundsRectangleTrait, initClipTrait, initMaterialTrait, initTransform2DRuntimeTrait, initTransform2DTrait, invalidateNodeAppearance, } from '@flighthq/node';
|
|
4
|
-
import { Node2DTraitsKey } from '@flighthq/types';
|
|
5
|
-
// Appends one pointwise color adjustment to this object's stack (creating the stack if absent), re-fuses
|
|
6
|
-
// the resolved cache, and invalidates appearance so the render walk hands the fold the new value.
|
|
7
|
-
// Allocates a new array — the stack is a plain `readonly Adjustment[]`, never mutated in place.
|
|
8
|
-
export function addNode2DColorAdjustment(source, adjustment) {
|
|
9
|
-
const runtime = getNodeRuntime(source);
|
|
10
|
-
const current = runtime.colorAdjustments;
|
|
11
|
-
runtime.colorAdjustments = current === null ? [adjustment] : [...current, adjustment];
|
|
12
|
-
resolveNode2DColorAdjustments(runtime);
|
|
13
|
-
invalidateNodeAppearance(source);
|
|
14
|
-
}
|
|
1
|
+
import { createNode, createNodeRuntime, getNodeRuntime, initAppearanceTrait, initBlendModeTrait, initBoundsRectangleRuntimeTrait, initBoundsRectangleTrait, initClipTrait, initMaterialTrait, initTransform2DRuntimeTrait, initTransform2DTrait, invalidateNodeAppearance, } from '@flighthq/node/contract';
|
|
2
|
+
import { Node2DTraitsKey } from '@flighthq/types/contract';
|
|
15
3
|
export function createNode2D(kind, obj, createData, createNode2DRuntimeFactory) {
|
|
16
4
|
const out = createNode(kind, obj, createData, createNode2DRuntimeFactory ?? createNode2DRuntime);
|
|
17
5
|
initTransform2DTrait(out, obj);
|
|
@@ -30,11 +18,6 @@ export function createNode2DRuntime(methods) {
|
|
|
30
18
|
initBoundsRectangleRuntimeTrait(out, methods);
|
|
31
19
|
return out;
|
|
32
20
|
}
|
|
33
|
-
// Returns this object's pointwise color-adjustment stack (the source of truth on the node runtime), or
|
|
34
|
-
// null when it carries none.
|
|
35
|
-
export function getNode2DColorAdjustments(source) {
|
|
36
|
-
return getNodeRuntime(source).colorAdjustments;
|
|
37
|
-
}
|
|
38
21
|
export function getNode2DRuntime(source) {
|
|
39
22
|
return getNodeRuntime(source);
|
|
40
23
|
}
|
|
@@ -45,43 +28,5 @@ export function setNode2DClip(source, value) {
|
|
|
45
28
|
source.clip = value;
|
|
46
29
|
invalidateNodeAppearance(source);
|
|
47
30
|
}
|
|
48
|
-
// Sets (or clears with null) this object's pointwise color-adjustment stack — the generic replacement for
|
|
49
|
-
// the removed color-transform trait. A color transform is one member: `createColorTransformAdjustment`.
|
|
50
|
-
// Re-fuses the resolved cache once here (not per frame) and invalidates appearance so the render walk
|
|
51
|
-
// hands the fold the affine ColorTransform the stack resolves to. Null is the untinted default.
|
|
52
|
-
export function setNode2DColorAdjustments(source, value) {
|
|
53
|
-
const runtime = getNodeRuntime(source);
|
|
54
|
-
runtime.colorAdjustments = value;
|
|
55
|
-
resolveNode2DColorAdjustments(runtime);
|
|
56
|
-
invalidateNodeAppearance(source);
|
|
57
|
-
}
|
|
58
|
-
// Convenience for the common single-tint path (the color-transform an agent looks for): sets this object's
|
|
59
|
-
// adjustment stack to one `ColorTransformAdjustment`, or clears it with null. Thin wrapper over
|
|
60
|
-
// `setNode2DColorAdjustments` — a color transform is just one adjustment in the generic stack.
|
|
61
|
-
export function setNode2DColorTransform(source, colorTransform) {
|
|
62
|
-
setNode2DColorAdjustments(source, colorTransform === null ? null : [createColorTransformAdjustment(colorTransform)]);
|
|
63
|
-
}
|
|
64
|
-
// Fuses the runtime's color-adjustment stack once into its cached affine `resolvedColorTransform`, setting
|
|
65
|
-
// `colorAdjustmentsChannelMixing` when the fused stack has off-diagonal channel-mixing terms the 8-float
|
|
66
|
-
// fold cannot represent yet (the render walk reports that through the shakeable guard). Called by the
|
|
67
|
-
// accessors on change — the render walk only reads the cache, so no fuse math weighs on the base render
|
|
68
|
-
// path. The cached ColorTransform is reused in place across re-fuses to avoid per-set allocation churn.
|
|
69
|
-
function resolveNode2DColorAdjustments(runtime) {
|
|
70
|
-
const adjustments = runtime.colorAdjustments;
|
|
71
|
-
if (adjustments === null || adjustments.length === 0) {
|
|
72
|
-
runtime.resolvedColorTransform = null;
|
|
73
|
-
runtime.colorAdjustmentsChannelMixing = false;
|
|
74
|
-
return;
|
|
75
|
-
}
|
|
76
|
-
const out = runtime.resolvedColorTransform ?? createColorTransform();
|
|
77
|
-
const status = resolveColorAdjustmentsColorTransform(adjustments, out);
|
|
78
|
-
if (status === COLOR_ADJUSTMENT_NONE) {
|
|
79
|
-
runtime.resolvedColorTransform = null;
|
|
80
|
-
runtime.colorAdjustmentsChannelMixing = false;
|
|
81
|
-
return;
|
|
82
|
-
}
|
|
83
|
-
runtime.resolvedColorTransform = out;
|
|
84
|
-
runtime.colorAdjustmentsChannelMixing = status === COLOR_ADJUSTMENT_CHANNEL_MIXING;
|
|
85
|
-
}
|
|
86
31
|
export { createDisplayObject } from './displayContainer';
|
|
87
32
|
//# sourceMappingURL=displayObject.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"displayObject.js","sourceRoot":"","sources":["../src/displayObject.ts"],"names":[],"mappings":"AAAA,OAAO,EACL
|
|
1
|
+
{"version":3,"file":"displayObject.js","sourceRoot":"","sources":["../src/displayObject.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,iBAAiB,EACjB,cAAc,EACd,mBAAmB,EACnB,kBAAkB,EAClB,+BAA+B,EAC/B,wBAAwB,EACxB,aAAa,EACb,iBAAiB,EACjB,2BAA2B,EAC3B,oBAAoB,EACpB,wBAAwB,GACzB,MAAM,yBAAyB,CAAC;AAajC,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAE3D,MAAM,UAAU,YAAY,CAC1B,IAAU,EACV,GAAmC,EACnC,UAA8B,EAC9B,0BAAoD;IAEpD,MAAM,GAAG,GAAG,UAAU,CACpB,IAAI,EACJ,GAAG,EACH,UAAU,EACV,0BAA0B,IAAK,mBAAwD,CAC9E,CAAC;IACZ,oBAAoB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC/B,wBAAwB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACnC,mBAAmB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC9B,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC7B,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC5B,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACxB,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,OAAqD;IACvF,MAAM,GAAG,GAAG,iBAAiB,CAAC,OAAO,CAAkB,CAAC;IACxD,GAAG,CAAC,MAAM,GAAG,eAAe,CAAC;IAC7B,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC;IACnB,2BAA2B,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAC1C,+BAA+B,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAC9C,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,MAAwB;IACvD,OAAO,cAAc,CAAC,MAAM,CAAkB,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,IAAa;IACpC,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,eAAe,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,MAAc,EAAE,KAAwB;IACpE,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC;IACpB,wBAAwB,CAAC,MAAM,CAAC,CAAC;AACnC,CAAC;AAED,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import type { AnimationClip } from '@flighthq/types';
|
|
1
|
+
import type { AnimationClip } from '@flighthq/types/contract';
|
|
2
2
|
export declare function applyAnimationClipToNode2D(clip: Readonly<AnimationClip>, time: number): void;
|
|
3
3
|
//# sourceMappingURL=displayObjectAnimation.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"displayObjectAnimation.d.ts","sourceRoot":"","sources":["../src/displayObjectAnimation.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAyB,MAAM,
|
|
1
|
+
{"version":3,"file":"displayObjectAnimation.d.ts","sourceRoot":"","sources":["../src/displayObjectAnimation.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAyB,MAAM,0BAA0B,CAAC;AAKrF,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,QAAQ,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAyE5F"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { sampleAnimationTrack } from '@flighthq/animation';
|
|
2
|
-
import { invalidateNodeAppearance, invalidateNodeLocalTransform } from '@flighthq/node';
|
|
1
|
+
import { sampleAnimationTrack } from '@flighthq/animation/contract';
|
|
2
|
+
import { invalidateNodeAppearance, invalidateNodeLocalTransform } from '@flighthq/node/contract';
|
|
3
3
|
// Samples a target-free clip and applies channels carrying Node2DAnimationTarget descriptors.
|
|
4
4
|
// Unknown target refs and paths are ignored, matching the scene/skeleton binding layers. Transform
|
|
5
5
|
// paths invalidate local matrices; alpha/visibility paths invalidate appearance.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"displayObjectAnimation.js","sourceRoot":"","sources":["../src/displayObjectAnimation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"displayObjectAnimation.js","sourceRoot":"","sources":["../src/displayObjectAnimation.ts"],"names":[],"mappings":"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"}
|
package/dist/htmlView.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { HtmlView, HtmlViewData, HtmlViewRuntime, Node, PartialNode, Rectangle } from '@flighthq/types';
|
|
1
|
+
import type { HtmlView, HtmlViewData, HtmlViewRuntime, Node, PartialNode, Rectangle } from '@flighthq/types/contract';
|
|
2
2
|
export declare function computeHtmlViewLocalBoundsRectangle(out: Rectangle, source: Readonly<Node>): void;
|
|
3
3
|
export declare function createHtmlView(obj?: Readonly<PartialNode<HtmlView>>): HtmlView;
|
|
4
4
|
export declare function createHtmlViewData(data?: Readonly<Partial<HtmlViewData>>): HtmlViewData;
|
package/dist/htmlView.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"htmlView.d.ts","sourceRoot":"","sources":["../src/htmlView.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"htmlView.d.ts","sourceRoot":"","sources":["../src/htmlView.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,QAAQ,EACR,YAAY,EACZ,eAAe,EAEf,IAAI,EACJ,WAAW,EACX,SAAS,EACV,MAAM,0BAA0B,CAAC;AAKlC,wBAAgB,mCAAmC,CAAC,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAIhG;AAED,wBAAgB,cAAc,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,GAAG,QAAQ,CAE9E;AAED,wBAAgB,kBAAkB,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,GAAG,YAAY,CAMvF;AAED,wBAAgB,qBAAqB,IAAI,eAAe,CAEvD;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC,eAAe,CAAC,CAExF;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAKrF"}
|
package/dist/htmlView.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { invalidateNodeLocalBounds } from '@flighthq/node';
|
|
2
|
-
import { HtmlViewKind } from '@flighthq/types';
|
|
1
|
+
import { invalidateNodeLocalBounds } from '@flighthq/node/contract';
|
|
2
|
+
import { HtmlViewKind } from '@flighthq/types/contract';
|
|
3
3
|
import { createNode2D, createNode2DRuntime, getNode2DRuntime } from './displayObject';
|
|
4
4
|
export function computeHtmlViewLocalBoundsRectangle(out, source) {
|
|
5
5
|
const data = source.data;
|
package/dist/htmlView.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"htmlView.js","sourceRoot":"","sources":["../src/htmlView.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"htmlView.js","sourceRoot":"","sources":["../src/htmlView.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AAUpE,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEtF,MAAM,UAAU,mCAAmC,CAAC,GAAc,EAAE,MAAsB;IACxF,MAAM,IAAI,GAAI,MAAmB,CAAC,IAAI,CAAC;IACvC,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IACvB,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,GAAqC;IAClE,OAAO,YAAY,CAAC,YAAY,EAAE,GAAG,EAAE,kBAAkB,EAAE,qBAAqB,CAAa,CAAC;AAChG,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,IAAsC;IACvE,OAAO;QACL,OAAO,EAAE,IAAI,EAAE,OAAO,IAAI,IAAI;QAC9B,MAAM,EAAE,IAAI,EAAE,MAAM,IAAI,GAAG;QAC3B,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,GAAG;KAC1B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qBAAqB;IACnC,OAAO,mBAAmB,CAAC,cAAc,CAAoB,CAAC;AAChE,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,MAA0B;IAC3D,OAAO,gBAAgB,CAAC,MAAM,CAAoB,CAAC;AACrD,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,MAAgB,EAAE,KAAa,EAAE,MAAc;IAC7E,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,KAAK,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,MAAM;QAAE,OAAO;IACzE,MAAM,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IAC1B,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IAC5B,yBAAyB,CAAC,MAAM,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,cAAc,GAAwC;IAC1D,2BAA2B,EAAE,mCAAmC;CACjE,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,9 +1,2 @@
|
|
|
1
|
-
export
|
|
2
|
-
export * from './displayContainer';
|
|
3
|
-
export * from './displayObject';
|
|
4
|
-
export * from './displayObjectAnimation';
|
|
5
|
-
export * from './htmlView';
|
|
6
|
-
export * from './renderView';
|
|
7
|
-
export * from './scene2d';
|
|
8
|
-
export * from './video';
|
|
1
|
+
export { applyAnimationClipToNode2D, cloneSprite, computeSpriteLocalBoundsRectangle, computeHtmlViewLocalBoundsRectangle, createSprite, createDisplayObject, createHtmlView, createNode2D, createScene2D, enableScene2DSignals, getScene2DRoot, getScene2DSignals, isNode2D, setSpriteTexture, setHtmlViewSize, setNode2DClip, setScene2DSize, } from './contract';
|
|
9
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,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAC1B,WAAW,EACX,iCAAiC,EACjC,mCAAmC,EACnC,YAAY,EACZ,mBAAmB,EACnB,cAAc,EACd,YAAY,EACZ,aAAa,EACb,oBAAoB,EACpB,cAAc,EACd,iBAAiB,EACjB,QAAQ,EACR,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,cAAc,GACf,MAAM,YAAY,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,9 +1,2 @@
|
|
|
1
|
-
export
|
|
2
|
-
export * from './displayContainer';
|
|
3
|
-
export * from './displayObject';
|
|
4
|
-
export * from './displayObjectAnimation';
|
|
5
|
-
export * from './htmlView';
|
|
6
|
-
export * from './renderView';
|
|
7
|
-
export * from './scene2d';
|
|
8
|
-
export * from './video';
|
|
1
|
+
export { applyAnimationClipToNode2D, cloneSprite, computeSpriteLocalBoundsRectangle, computeHtmlViewLocalBoundsRectangle, createSprite, createDisplayObject, createHtmlView, createNode2D, createScene2D, enableScene2DSignals, getScene2DRoot, getScene2DSignals, isNode2D, setSpriteTexture, setHtmlViewSize, setNode2DClip, setScene2DSize, } from './contract';
|
|
9
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,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAC1B,WAAW,EACX,iCAAiC,EACjC,mCAAmC,EACnC,YAAY,EACZ,mBAAmB,EACnB,cAAc,EACd,YAAY,EACZ,aAAa,EACb,oBAAoB,EACpB,cAAc,EACd,iBAAiB,EACjB,QAAQ,EACR,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,cAAc,GACf,MAAM,YAAY,CAAC"}
|
package/dist/scene2d.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Node2D, Scene2D, Scene2DRuntime, Scene2DSignals } from '@flighthq/types';
|
|
1
|
+
import type { Node2D, Scene2D, Scene2DRuntime, Scene2DSignals } from '@flighthq/types/contract';
|
|
2
2
|
export declare function createScene2D(obj?: Readonly<Partial<Pick<Scene2D, 'align' | 'color' | 'scaleMode' | 'scene2dHeight' | 'scene2dWidth'>>>): Scene2D;
|
|
3
3
|
export declare function createScene2DRuntime(): Scene2DRuntime;
|
|
4
4
|
export declare function createScene2DSignals(): Scene2DSignals;
|
package/dist/scene2d.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scene2d.d.ts","sourceRoot":"","sources":["../src/scene2d.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAiB,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"scene2d.d.ts","sourceRoot":"","sources":["../src/scene2d.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAiB,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAU/G,wBAAgB,aAAa,CAC3B,GAAG,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,GAAG,WAAW,GAAG,eAAe,GAAG,cAAc,CAAC,CAAC,CAAC,GACzG,OAAO,CAYT;AAED,wBAAgB,oBAAoB,IAAI,cAAc,CAKrD;AAED,wBAAgB,oBAAoB,IAAI,cAAc,CAMrD;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,OAAO,GAAG,cAAc,CAGpE;AAID,wBAAgB,cAAc,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,OAAO,GAAG,IAAI,CAGvE;AAID,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,QAAQ,CAAC,cAAc,CAAC,CAErF;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,cAAc,GAAG,IAAI,CAGlF;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAMnF"}
|
package/dist/scene2d.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { createEntity } from '@flighthq/entity';
|
|
2
|
-
import { getNodeRoot, getNodeRuntime } from '@flighthq/node';
|
|
3
|
-
import { createSignal, emitSignal } from '@flighthq/signals';
|
|
4
|
-
import { EntityRuntimeKey } from '@flighthq/types';
|
|
1
|
+
import { createEntity } from '@flighthq/entity/contract';
|
|
2
|
+
import { getNodeRoot, getNodeRuntime } from '@flighthq/node/contract';
|
|
3
|
+
import { createSignal, emitSignal } from '@flighthq/signals/contract';
|
|
4
|
+
import { EntityRuntimeKey } from '@flighthq/types/contract';
|
|
5
5
|
import { createDisplayObject } from './displayObject';
|
|
6
6
|
// Allocates a Scene2D: a presentation-context Entity that owns a display-object `root` (allocated here), not a
|
|
7
7
|
// node in the tree. Carries the fit context (`align`/`scaleMode`) directly — fit is the Scene2D's concern, and
|
package/dist/scene2d.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scene2d.js","sourceRoot":"","sources":["../src/scene2d.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"scene2d.js","sourceRoot":"","sources":["../src/scene2d.ts"],"names":[],"mappings":"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"}
|
package/dist/sprite.d.ts
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { Node, PartialNode, Rectangle, Sprite, SpriteData, SpriteRuntime } from '@flighthq/types/contract';
|
|
2
|
+
export declare function cloneSprite(source: Readonly<Sprite>): Sprite;
|
|
3
|
+
export declare function computeSpriteLocalBoundsRectangle(out: Rectangle, source: Readonly<Node>): void;
|
|
4
|
+
export declare function createSprite(obj?: Readonly<PartialNode<Sprite>>): Sprite;
|
|
5
|
+
export declare function createSpriteData(data?: Readonly<Partial<SpriteData>>): SpriteData;
|
|
6
|
+
export declare function createSpriteRuntime(): SpriteRuntime;
|
|
7
|
+
export declare function getSpriteRuntime(source: Readonly<Sprite>): Readonly<SpriteRuntime>;
|
|
8
|
+
export declare function setSpriteTexture(source: Sprite, value: SpriteData['texture']): void;
|
|
9
|
+
//# sourceMappingURL=sprite.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sprite.d.ts","sourceRoot":"","sources":["../src/sprite.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAEV,IAAI,EACJ,WAAW,EACX,SAAS,EACT,MAAM,EACN,UAAU,EACV,aAAa,EACd,MAAM,0BAA0B,CAAC;AAKlC,wBAAgB,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,MAAM,CAE5D;AAED,wBAAgB,iCAAiC,CAAC,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAI9F;AAED,wBAAgB,YAAY,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAExE;AAED,wBAAgB,gBAAgB,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,UAAU,CAIjF;AAED,wBAAgB,mBAAmB,IAAI,aAAa,CAEnD;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC,CAElF;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC,SAAS,CAAC,GAAG,IAAI,CAInF"}
|
package/dist/sprite.js
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { invalidateNodeLocalBounds, invalidateNodeLocalContent } from '@flighthq/node/contract';
|
|
2
|
+
import { getTextureHeight, getTextureWidth } from '@flighthq/texture/contract';
|
|
3
|
+
import { SpriteKind } from '@flighthq/types/contract';
|
|
4
|
+
import { createNode2D, createNode2DRuntime, getNode2DRuntime } from './displayObject';
|
|
5
|
+
export function cloneSprite(source) {
|
|
6
|
+
return createSprite({ data: { texture: source.data.texture } });
|
|
7
|
+
}
|
|
8
|
+
export function computeSpriteLocalBoundsRectangle(out, source) {
|
|
9
|
+
const texture = source.data.texture;
|
|
10
|
+
out.width = texture === null ? 0 : Math.max(0, getTextureWidth(texture)) * Math.abs(texture.uvScale.x);
|
|
11
|
+
out.height = texture === null ? 0 : Math.max(0, getTextureHeight(texture)) * Math.abs(texture.uvScale.y);
|
|
12
|
+
}
|
|
13
|
+
export function createSprite(obj) {
|
|
14
|
+
return createNode2D(SpriteKind, obj, createSpriteData, createSpriteRuntime);
|
|
15
|
+
}
|
|
16
|
+
export function createSpriteData(data) {
|
|
17
|
+
return {
|
|
18
|
+
texture: data?.texture ?? null,
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
export function createSpriteRuntime() {
|
|
22
|
+
return createNode2DRuntime(defaultMethods);
|
|
23
|
+
}
|
|
24
|
+
export function getSpriteRuntime(source) {
|
|
25
|
+
return getNode2DRuntime(source);
|
|
26
|
+
}
|
|
27
|
+
export function setSpriteTexture(source, value) {
|
|
28
|
+
source.data.texture = value;
|
|
29
|
+
invalidateNodeLocalContent(source);
|
|
30
|
+
invalidateNodeLocalBounds(source);
|
|
31
|
+
}
|
|
32
|
+
const defaultMethods = {
|
|
33
|
+
computeLocalBoundsRectangle: computeSpriteLocalBoundsRectangle,
|
|
34
|
+
};
|
|
35
|
+
//# sourceMappingURL=sprite.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sprite.js","sourceRoot":"","sources":["../src/sprite.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AAChG,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAU/E,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEtD,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEtF,MAAM,UAAU,WAAW,CAAC,MAAwB;IAClD,OAAO,YAAY,CAAC,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;AAClE,CAAC;AAED,MAAM,UAAU,iCAAiC,CAAC,GAAc,EAAE,MAAsB;IACtF,MAAM,OAAO,GAAI,MAAM,CAAC,IAAmB,CAAC,OAAO,CAAC;IACpD,GAAG,CAAC,KAAK,GAAG,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACvG,GAAG,CAAC,MAAM,GAAG,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAC3G,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,GAAmC;IAC9D,OAAO,YAAY,CAAC,UAAU,EAAE,GAAG,EAAE,gBAAgB,EAAE,mBAAmB,CAAW,CAAC;AACxF,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,IAAoC;IACnE,OAAO;QACL,OAAO,EAAE,IAAI,EAAE,OAAO,IAAI,IAAI;KAC/B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mBAAmB;IACjC,OAAO,mBAAmB,CAAC,cAAc,CAAkB,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,MAAwB;IACvD,OAAO,gBAAgB,CAAC,MAAM,CAAkB,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,MAAc,EAAE,KAA4B;IAC3E,MAAM,CAAC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IAC5B,0BAA0B,CAAC,MAAM,CAAC,CAAC;IACnC,yBAAyB,CAAC,MAAM,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,cAAc,GAAsC;IACxD,2BAA2B,EAAE,iCAAiC;CAC/D,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@flighthq/scene2d",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0-next.1032.e2b99fc",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "https://github.com/flighthq/flight.git",
|
|
@@ -13,6 +13,10 @@
|
|
|
13
13
|
".": {
|
|
14
14
|
"types": "./dist/index.d.ts",
|
|
15
15
|
"default": "./dist/index.js"
|
|
16
|
+
},
|
|
17
|
+
"./contract": {
|
|
18
|
+
"types": "./dist/contract.d.ts",
|
|
19
|
+
"default": "./dist/contract.js"
|
|
16
20
|
}
|
|
17
21
|
},
|
|
18
22
|
"files": [
|
|
@@ -32,14 +36,15 @@
|
|
|
32
36
|
"clean:dist": "tsx ../../scripts/clean-package-dist.ts"
|
|
33
37
|
},
|
|
34
38
|
"dependencies": {
|
|
35
|
-
"@flighthq/adjustments": "0.
|
|
36
|
-
"@flighthq/animation": "0.
|
|
37
|
-
"@flighthq/entity": "0.
|
|
38
|
-
"@flighthq/geometry": "0.
|
|
39
|
-
"@flighthq/materials": "0.
|
|
40
|
-
"@flighthq/node": "0.
|
|
41
|
-
"@flighthq/signals": "0.
|
|
42
|
-
"@flighthq/
|
|
39
|
+
"@flighthq/adjustments": "0.3.0-next.1032.e2b99fc",
|
|
40
|
+
"@flighthq/animation": "0.3.0-next.1032.e2b99fc",
|
|
41
|
+
"@flighthq/entity": "0.3.0-next.1032.e2b99fc",
|
|
42
|
+
"@flighthq/geometry": "0.3.0-next.1032.e2b99fc",
|
|
43
|
+
"@flighthq/materials": "0.3.0-next.1032.e2b99fc",
|
|
44
|
+
"@flighthq/node": "0.3.0-next.1032.e2b99fc",
|
|
45
|
+
"@flighthq/signals": "0.3.0-next.1032.e2b99fc",
|
|
46
|
+
"@flighthq/texture": "0.3.0-next.1032.e2b99fc",
|
|
47
|
+
"@flighthq/types": "0.3.0-next.1032.e2b99fc"
|
|
43
48
|
},
|
|
44
49
|
"devDependencies": {
|
|
45
50
|
"typescript": "^5.3.0"
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { DisplayObject } from '@flighthq/types';
|
|
2
|
-
import { DisplayObjectKind } from '@flighthq/types';
|
|
1
|
+
import type { DisplayObject } from '@flighthq/types/contract';
|
|
2
|
+
import { DisplayObjectKind } from '@flighthq/types/contract';
|
|
3
3
|
|
|
4
4
|
import { createDisplayObject, createDisplayObjectRuntime, getDisplayObjectRuntime } from './displayContainer';
|
|
5
5
|
|
|
@@ -1,26 +1,28 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import
|
|
4
|
-
|
|
1
|
+
import { createColorMatrixAdjustment, createTintAdjustment } from '@flighthq/adjustments/contract';
|
|
2
|
+
import { getEntityRuntime } from '@flighthq/entity/contract';
|
|
3
|
+
import {
|
|
4
|
+
addNodeColorAdjustment,
|
|
5
|
+
getNodeColorAdjustments,
|
|
6
|
+
setNodeColorAdjustments,
|
|
7
|
+
setNodeColorAdjustmentsTint,
|
|
8
|
+
} from '@flighthq/node/contract';
|
|
9
|
+
import type { BoundsNode, Node2D, Node2DData, Node2DRuntime, PartialNode, Rectangle } from '@flighthq/types/contract';
|
|
10
|
+
import { BlendMode, DisplayObjectKind, Node2DTraitsKey } from '@flighthq/types/contract';
|
|
5
11
|
|
|
6
12
|
import {
|
|
7
|
-
addNode2DColorAdjustment,
|
|
8
13
|
createDisplayObject,
|
|
9
14
|
createNode2D,
|
|
10
15
|
createNode2DRuntime,
|
|
11
|
-
getNode2DColorAdjustments,
|
|
12
16
|
getNode2DRuntime,
|
|
13
17
|
isNode2D,
|
|
14
18
|
setNode2DClip,
|
|
15
|
-
setNode2DColorAdjustments,
|
|
16
|
-
setNode2DColorTransform,
|
|
17
19
|
} from './displayObject';
|
|
18
20
|
|
|
19
21
|
function getRuntime_(obj: Node2D): Node2DRuntime {
|
|
20
22
|
return getEntityRuntime(obj) as Node2DRuntime;
|
|
21
23
|
}
|
|
22
24
|
|
|
23
|
-
describe('
|
|
25
|
+
describe('addNodeColorAdjustment', () => {
|
|
24
26
|
let obj: Node2D;
|
|
25
27
|
beforeEach(() => {
|
|
26
28
|
obj = createDisplayObject();
|
|
@@ -28,19 +30,19 @@ describe('addNode2DColorAdjustment', () => {
|
|
|
28
30
|
|
|
29
31
|
it('appends to a fresh (null) stack and invalidates appearance', () => {
|
|
30
32
|
const idBefore = getRuntime_(obj).appearanceId;
|
|
31
|
-
const adjustment = { kind: '
|
|
32
|
-
|
|
33
|
-
expect(
|
|
33
|
+
const adjustment = { kind: 'ColorScaleBiasAdjustment' } as never;
|
|
34
|
+
addNodeColorAdjustment(obj, adjustment);
|
|
35
|
+
expect(getNodeColorAdjustments(obj)).toEqual([adjustment]);
|
|
34
36
|
expect(getRuntime_(obj).appearanceId).not.toBe(idBefore);
|
|
35
37
|
});
|
|
36
38
|
|
|
37
39
|
it('appends to an existing stack without mutating the previous array', () => {
|
|
38
40
|
const a = { kind: 'A' } as never;
|
|
39
41
|
const b = { kind: 'B' } as never;
|
|
40
|
-
|
|
41
|
-
const first =
|
|
42
|
-
|
|
43
|
-
expect(
|
|
42
|
+
addNodeColorAdjustment(obj, a);
|
|
43
|
+
const first = getNodeColorAdjustments(obj);
|
|
44
|
+
addNodeColorAdjustment(obj, b);
|
|
45
|
+
expect(getNodeColorAdjustments(obj)).toEqual([a, b]);
|
|
44
46
|
expect(first).toEqual([a]); // the earlier array was not mutated
|
|
45
47
|
});
|
|
46
48
|
});
|
|
@@ -136,12 +138,6 @@ describe('createNode2DRuntime', () => {
|
|
|
136
138
|
});
|
|
137
139
|
});
|
|
138
140
|
|
|
139
|
-
describe('getNode2DColorAdjustments', () => {
|
|
140
|
-
it('defaults to null on a fresh node', () => {
|
|
141
|
-
expect(getNode2DColorAdjustments(createDisplayObject())).toBeNull();
|
|
142
|
-
});
|
|
143
|
-
});
|
|
144
|
-
|
|
145
141
|
describe('getNode2DRuntime', () => {
|
|
146
142
|
it('returns the runtime for a Node2D', () => {
|
|
147
143
|
const obj = createDisplayObject();
|
|
@@ -150,6 +146,12 @@ describe('getNode2DRuntime', () => {
|
|
|
150
146
|
});
|
|
151
147
|
});
|
|
152
148
|
|
|
149
|
+
describe('getNodeColorAdjustments', () => {
|
|
150
|
+
it('defaults to null on a fresh node', () => {
|
|
151
|
+
expect(getNodeColorAdjustments(createDisplayObject())).toBeNull();
|
|
152
|
+
});
|
|
153
|
+
});
|
|
154
|
+
|
|
153
155
|
describe('isNode2D', () => {
|
|
154
156
|
it('returns true for display objects', () => {
|
|
155
157
|
expect(isNode2D(createDisplayObject())).toBe(true);
|
|
@@ -190,7 +192,7 @@ describe('setNode2DClip', () => {
|
|
|
190
192
|
});
|
|
191
193
|
});
|
|
192
194
|
|
|
193
|
-
describe('
|
|
195
|
+
describe('setNodeColorAdjustments', () => {
|
|
194
196
|
let obj: Node2D;
|
|
195
197
|
beforeEach(() => {
|
|
196
198
|
obj = createDisplayObject();
|
|
@@ -198,33 +200,41 @@ describe('setNode2DColorAdjustments', () => {
|
|
|
198
200
|
|
|
199
201
|
it('sets the stack and invalidates appearance', () => {
|
|
200
202
|
const idBefore = getRuntime_(obj).appearanceId;
|
|
201
|
-
const stack = [
|
|
202
|
-
|
|
203
|
-
expect(
|
|
203
|
+
const stack = [createTintAdjustment(0xffffffff)];
|
|
204
|
+
setNodeColorAdjustments(obj, stack);
|
|
205
|
+
expect(getNodeColorAdjustments(obj)).toBe(stack);
|
|
204
206
|
expect(getRuntime_(obj).appearanceId).not.toBe(idBefore);
|
|
205
207
|
});
|
|
206
208
|
|
|
207
209
|
it('accepts null', () => {
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
expect(
|
|
210
|
+
setNodeColorAdjustments(obj, [createTintAdjustment(0xffffffff)]);
|
|
211
|
+
setNodeColorAdjustments(obj, null);
|
|
212
|
+
expect(getNodeColorAdjustments(obj)).toBeNull();
|
|
213
|
+
});
|
|
214
|
+
|
|
215
|
+
it('caches a complete channel-mixing matrix without marking it unsupported', () => {
|
|
216
|
+
const matrix = [1, 0.5, 0, 0, 0.1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0];
|
|
217
|
+
setNodeColorAdjustments(obj, [createColorMatrixAdjustment(matrix)]);
|
|
218
|
+
expect(getNode2DRuntime(obj).resolvedColorMatrix).toEqual(matrix);
|
|
219
|
+
expect(getNode2DRuntime(obj).colorAdjustmentsUnsupported).toBe(false);
|
|
211
220
|
});
|
|
212
221
|
});
|
|
213
222
|
|
|
214
|
-
describe('
|
|
215
|
-
it('
|
|
223
|
+
describe('setNodeColorAdjustmentsTint', () => {
|
|
224
|
+
it('replaces the stack with one TintAdjustment built from the packed color', () => {
|
|
216
225
|
const obj = createDisplayObject();
|
|
217
|
-
|
|
218
|
-
const stack =
|
|
226
|
+
setNodeColorAdjustmentsTint(obj, 0xff0000ff);
|
|
227
|
+
const stack = getNodeColorAdjustments(obj);
|
|
219
228
|
expect(stack?.length).toBe(1);
|
|
220
|
-
expect(stack?.[0].kind).toBe('
|
|
229
|
+
expect(stack?.[0].kind).toBe('TintAdjustment');
|
|
221
230
|
});
|
|
222
231
|
|
|
223
|
-
it('
|
|
232
|
+
it('replaces any prior adjustments rather than layering', () => {
|
|
224
233
|
const obj = createDisplayObject();
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
234
|
+
setNodeColorAdjustmentsTint(obj, 0xff0000ff);
|
|
235
|
+
setNodeColorAdjustmentsTint(obj, 0x00ff00ff);
|
|
236
|
+
const stack = getNodeColorAdjustments(obj);
|
|
237
|
+
expect(stack?.length).toBe(1);
|
|
228
238
|
});
|
|
229
239
|
});
|
|
230
240
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { createAnimationChannel, createAnimationClip, createAnimationTrack } from '@flighthq/animation';
|
|
2
|
-
import { getNodeLocalTransformRevision } from '@flighthq/node';
|
|
3
|
-
import type { Node2DAnimationPath, Node2DAnimationTarget } from '@flighthq/types';
|
|
1
|
+
import { createAnimationChannel, createAnimationClip, createAnimationTrack } from '@flighthq/animation/contract';
|
|
2
|
+
import { getNodeLocalTransformRevision } from '@flighthq/node/contract';
|
|
3
|
+
import type { Node2DAnimationPath, Node2DAnimationTarget } from '@flighthq/types/contract';
|
|
4
4
|
|
|
5
5
|
import { createDisplayObject } from './displayObject';
|
|
6
6
|
import { applyAnimationClipToNode2D } from './displayObjectAnimation';
|
package/src/htmlView.test.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { createRectangle } from '@flighthq/geometry';
|
|
2
|
-
import type { HtmlView, Node } from '@flighthq/types';
|
|
3
|
-
import { HtmlViewKind } from '@flighthq/types';
|
|
1
|
+
import { createRectangle } from '@flighthq/geometry/contract';
|
|
2
|
+
import type { HtmlView, Node } from '@flighthq/types/contract';
|
|
3
|
+
import { HtmlViewKind } from '@flighthq/types/contract';
|
|
4
4
|
|
|
5
5
|
import {
|
|
6
6
|
computeHtmlViewLocalBoundsRectangle,
|