@flighthq/scene2d 0.2.1-next.841.373388f → 0.3.0-next.906.07cea63
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/bitmap.d.ts +1 -1
- package/dist/bitmap.d.ts.map +1 -1
- package/dist/bitmap.js +2 -2
- package/dist/bitmap.js.map +1 -1
- package/dist/contract.d.ts +9 -0
- package/dist/contract.d.ts.map +1 -0
- package/dist/contract.js +9 -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/renderTargetNode2D.d.ts +8 -0
- package/dist/renderTargetNode2D.d.ts.map +1 -0
- package/dist/renderTargetNode2D.js +35 -0
- package/dist/renderTargetNode2D.js.map +1 -0
- 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/video.d.ts +1 -1
- package/dist/video.d.ts.map +1 -1
- package/dist/video.js +2 -2
- package/dist/video.js.map +1 -1
- package/package.json +13 -9
- package/src/bitmap.test.ts +9 -5
- 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/renderTargetNode2D.test.ts +97 -0
- package/src/scene2d.test.ts +3 -3
- package/src/video.test.ts +7 -3
- 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/src/renderView.test.ts +0 -104
package/dist/bitmap.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Bitmap, BitmapData, BitmapRuntime, Node, PartialNode, Rectangle } from '@flighthq/types';
|
|
1
|
+
import type { Bitmap, BitmapData, BitmapRuntime, Node, PartialNode, Rectangle } from '@flighthq/types/contract';
|
|
2
2
|
export declare function computeBitmapLocalBoundsRectangle(out: Rectangle, source: Readonly<Node>): void;
|
|
3
3
|
export declare function createBitmap(obj?: Readonly<PartialNode<Bitmap>>): Bitmap;
|
|
4
4
|
export declare function createBitmapData(data?: Readonly<Partial<BitmapData>>): BitmapData;
|
package/dist/bitmap.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bitmap.d.ts","sourceRoot":"","sources":["../src/bitmap.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"bitmap.d.ts","sourceRoot":"","sources":["../src/bitmap.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,MAAM,EACN,UAAU,EACV,aAAa,EAEb,IAAI,EACJ,WAAW,EACX,SAAS,EACV,MAAM,0BAA0B,CAAC;AAKlC,wBAAgB,iCAAiC,CAAC,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAS9F;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,CAMjF;AAED,wBAAgB,mBAAmB,IAAI,aAAa,CAEnD;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC,CAElF;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC,GAAG,IAAI,CAM/E"}
|
package/dist/bitmap.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { invalidateNodeLocalBounds, invalidateNodeLocalContent } from '@flighthq/node';
|
|
2
|
-
import { BitmapKind } from '@flighthq/types';
|
|
1
|
+
import { invalidateNodeLocalBounds, invalidateNodeLocalContent } from '@flighthq/node/contract';
|
|
2
|
+
import { BitmapKind } from '@flighthq/types/contract';
|
|
3
3
|
import { createNode2D, createNode2DRuntime, getNode2DRuntime } from './displayObject';
|
|
4
4
|
export function computeBitmapLocalBoundsRectangle(out, source) {
|
|
5
5
|
const bitmapData = source.data;
|
package/dist/bitmap.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bitmap.js","sourceRoot":"","sources":["../src/bitmap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,0BAA0B,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"bitmap.js","sourceRoot":"","sources":["../src/bitmap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AAUhG,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEtD,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEtF,MAAM,UAAU,iCAAiC,CAAC,GAAc,EAAE,MAAsB;IACtF,MAAM,UAAU,GAAe,MAAM,CAAC,IAAkB,CAAC;IACzD,IAAI,UAAU,CAAC,eAAe,KAAK,IAAI,EAAE,CAAC;QACxC,GAAG,CAAC,KAAK,GAAG,UAAU,CAAC,eAAe,CAAC,KAAK,CAAC;QAC7C,GAAG,CAAC,MAAM,GAAG,UAAU,CAAC,eAAe,CAAC,MAAM,CAAC;IACjD,CAAC;SAAM,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;QAC5B,GAAG,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC;QACnC,GAAG,CAAC,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC;IACvC,CAAC;AACH,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,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,IAAI;QAC1B,SAAS,EAAE,IAAI,EAAE,SAAS,IAAI,IAAI;QAClC,eAAe,EAAE,IAAI,EAAE,eAAe,IAAI,IAAI;KAC/C,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,cAAc,CAAC,MAAc,EAAE,KAA0B;IACvE,MAAM,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IAC1B,yFAAyF;IACzF,0DAA0D;IAC1D,0BAA0B,CAAC,MAAM,CAAC,CAAC;IACnC,yBAAyB,CAAC,MAAM,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,cAAc,GAAsC;IACxD,2BAA2B,EAAE,iCAAiC;CAC/D,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export * from './bitmap';
|
|
2
|
+
export * from './displayContainer';
|
|
3
|
+
export * from './displayObject';
|
|
4
|
+
export * from './displayObjectAnimation';
|
|
5
|
+
export * from './htmlView';
|
|
6
|
+
export * from './renderTargetNode2D';
|
|
7
|
+
export * from './scene2d';
|
|
8
|
+
export * from './video';
|
|
9
|
+
//# sourceMappingURL=contract.d.ts.map
|
|
@@ -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,sBAAsB,CAAC;AACrC,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC"}
|
package/dist/contract.js
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export * from './bitmap';
|
|
2
|
+
export * from './displayContainer';
|
|
3
|
+
export * from './displayObject';
|
|
4
|
+
export * from './displayObjectAnimation';
|
|
5
|
+
export * from './htmlView';
|
|
6
|
+
export * from './renderTargetNode2D';
|
|
7
|
+
export * from './scene2d';
|
|
8
|
+
export * from './video';
|
|
9
|
+
//# sourceMappingURL=contract.js.map
|
|
@@ -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,sBAAsB,CAAC;AACrC,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,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":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,wBAAwB,EAAE,4BAA4B,EAAE,MAAM,yBAAyB,CAAC;AAGjG,8FAA8F;AAC9F,mGAAmG;AACnG,iFAAiF;AACjF,MAAM,UAAU,0BAA0B,CAAC,IAA6B,EAAE,IAAY;IACpF,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QACpC,MAAM,MAAM,GAAG,OAAO,CAAC,SAAyC,CAAC;QACjE,IAAI,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS;YAAE,SAAS;QACzF,oBAAoB,CAAC,QAAQ,EAAE,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACpD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACzB,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;YACpB,KAAK,OAAO;gBACV,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACzB,wBAAwB,CAAC,IAAI,CAAC,CAAC;gBAC/B,MAAM;YACR,KAAK,OAAO;gBACV,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAC1B,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAC1B,4BAA4B,CAAC,IAAI,CAAC,CAAC;gBACnC,MAAM;YACR,KAAK,QAAQ;gBACX,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAC1B,4BAA4B,CAAC,IAAI,CAAC,CAAC;gBACnC,MAAM;YACR,KAAK,QAAQ;gBACX,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAC1B,4BAA4B,CAAC,IAAI,CAAC,CAAC;gBACnC,MAAM;YACR,KAAK,UAAU;gBACb,IAAI,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACrB,IAAI,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACrB,4BAA4B,CAAC,IAAI,CAAC,CAAC;gBACnC,MAAM;YACR,KAAK,UAAU;gBACb,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAC5B,4BAA4B,CAAC,IAAI,CAAC,CAAC;gBACnC,MAAM;YACR,KAAK,OAAO;gBACV,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAC1B,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAC1B,4BAA4B,CAAC,IAAI,CAAC,CAAC;gBACnC,MAAM;YACR,KAAK,QAAQ;gBACX,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAC1B,4BAA4B,CAAC,IAAI,CAAC,CAAC;gBACnC,MAAM;YACR,KAAK,QAAQ;gBACX,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAC1B,4BAA4B,CAAC,IAAI,CAAC,CAAC;gBACnC,MAAM;YACR,KAAK,MAAM;gBACT,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACzB,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACzB,4BAA4B,CAAC,IAAI,CAAC,CAAC;gBACnC,MAAM;YACR,KAAK,OAAO;gBACV,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACzB,4BAA4B,CAAC,IAAI,CAAC,CAAC;gBACnC,MAAM;YACR,KAAK,OAAO;gBACV,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACzB,4BAA4B,CAAC,IAAI,CAAC,CAAC;gBACnC,MAAM;YACR,KAAK,SAAS;gBACZ,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC;gBAClC,wBAAwB,CAAC,IAAI,CAAC,CAAC;gBAC/B,MAAM;YACR,KAAK,GAAG;gBACN,IAAI,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACrB,4BAA4B,CAAC,IAAI,CAAC,CAAC;gBACnC,MAAM;YACR,KAAK,GAAG;gBACN,IAAI,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACrB,4BAA4B,CAAC,IAAI,CAAC,CAAC;gBACnC,MAAM;QACV,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,QAAQ,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC"}
|
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, computeBitmapLocalBoundsRectangle, computeHtmlViewLocalBoundsRectangle, computeVideoLocalBoundsRectangle, createBitmap, createDisplayObject, createHtmlView, createNode2D, createRenderTargetNode2D, createScene2D, createVideo, enableScene2DSignals, getScene2DRoot, getScene2DSignals, isNode2D, setBitmapImage, setHtmlViewSize, setNode2DClip, setRenderTargetNode2DSize, setScene2DSize, setVideoSmoothing, setVideoSource, } 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,iCAAiC,EACjC,mCAAmC,EACnC,gCAAgC,EAChC,YAAY,EACZ,mBAAmB,EACnB,cAAc,EACd,YAAY,EACZ,wBAAwB,EACxB,aAAa,EACb,WAAW,EACX,oBAAoB,EACpB,cAAc,EACd,iBAAiB,EACjB,QAAQ,EACR,cAAc,EACd,eAAe,EACf,aAAa,EACb,yBAAyB,EACzB,cAAc,EACd,iBAAiB,EACjB,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, computeBitmapLocalBoundsRectangle, computeHtmlViewLocalBoundsRectangle, computeVideoLocalBoundsRectangle, createBitmap, createDisplayObject, createHtmlView, createNode2D, createRenderTargetNode2D, createScene2D, createVideo, enableScene2DSignals, getScene2DRoot, getScene2DSignals, isNode2D, setBitmapImage, setHtmlViewSize, setNode2DClip, setRenderTargetNode2DSize, setScene2DSize, setVideoSmoothing, setVideoSource, } 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,iCAAiC,EACjC,mCAAmC,EACnC,gCAAgC,EAChC,YAAY,EACZ,mBAAmB,EACnB,cAAc,EACd,YAAY,EACZ,wBAAwB,EACxB,aAAa,EACb,WAAW,EACX,oBAAoB,EACpB,cAAc,EACd,iBAAiB,EACjB,QAAQ,EACR,cAAc,EACd,eAAe,EACf,aAAa,EACb,yBAAyB,EACzB,cAAc,EACd,iBAAiB,EACjB,cAAc,GACf,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { Node, Rectangle, RenderTargetNode2D, RenderTargetNode2DData, RenderTargetNode2DOptions, RenderTargetNode2DRuntime } from '@flighthq/types/contract';
|
|
2
|
+
export declare function computeRenderTargetNode2DLocalBoundsRectangle(out: Rectangle, source: Readonly<Node>): void;
|
|
3
|
+
export declare function createRenderTargetNode2D(options: Readonly<RenderTargetNode2DOptions>): RenderTargetNode2D;
|
|
4
|
+
export declare function createRenderTargetNode2DData(data?: Readonly<Partial<RenderTargetNode2DData>>): RenderTargetNode2DData;
|
|
5
|
+
export declare function createRenderTargetNode2DRuntime(): RenderTargetNode2DRuntime;
|
|
6
|
+
export declare function getRenderTargetNode2DRuntime(source: Readonly<RenderTargetNode2D>): Readonly<RenderTargetNode2DRuntime>;
|
|
7
|
+
export declare function setRenderTargetNode2DSize(source: RenderTargetNode2D, width: number, height: number): void;
|
|
8
|
+
//# sourceMappingURL=renderTargetNode2D.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"renderTargetNode2D.d.ts","sourceRoot":"","sources":["../src/renderTargetNode2D.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,IAAI,EACJ,SAAS,EACT,kBAAkB,EAClB,sBAAsB,EACtB,yBAAyB,EACzB,yBAAyB,EAC1B,MAAM,0BAA0B,CAAC;AAKlC,wBAAgB,6CAA6C,CAAC,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAI1G;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,QAAQ,CAAC,yBAAyB,CAAC,GAAG,kBAAkB,CAOzG;AAED,wBAAgB,4BAA4B,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC,GAAG,sBAAsB,CAMrH;AAED,wBAAgB,+BAA+B,IAAI,yBAAyB,CAE3E;AAED,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,QAAQ,CAAC,kBAAkB,CAAC,GACnC,QAAQ,CAAC,yBAAyB,CAAC,CAErC;AAED,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,kBAAkB,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAKzG"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { invalidateNodeLocalBounds } from '@flighthq/node/contract';
|
|
2
|
+
import { RenderTargetNode2DKind } from '@flighthq/types/contract';
|
|
3
|
+
import { createNode2D, createNode2DRuntime, getNode2DRuntime } from './displayObject';
|
|
4
|
+
export function computeRenderTargetNode2DLocalBoundsRectangle(out, source) {
|
|
5
|
+
const data = source.data;
|
|
6
|
+
out.width = data.width;
|
|
7
|
+
out.height = data.height;
|
|
8
|
+
}
|
|
9
|
+
export function createRenderTargetNode2D(options) {
|
|
10
|
+
return createNode2D(RenderTargetNode2DKind, { data: options }, createRenderTargetNode2DData, createRenderTargetNode2DRuntime);
|
|
11
|
+
}
|
|
12
|
+
export function createRenderTargetNode2DData(data) {
|
|
13
|
+
return {
|
|
14
|
+
depth: data?.depth ?? false,
|
|
15
|
+
height: data?.height ?? 0,
|
|
16
|
+
width: data?.width ?? 0,
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
export function createRenderTargetNode2DRuntime() {
|
|
20
|
+
return createNode2DRuntime(defaultMethods);
|
|
21
|
+
}
|
|
22
|
+
export function getRenderTargetNode2DRuntime(source) {
|
|
23
|
+
return getNode2DRuntime(source);
|
|
24
|
+
}
|
|
25
|
+
export function setRenderTargetNode2DSize(source, width, height) {
|
|
26
|
+
if (source.data.width === width && source.data.height === height)
|
|
27
|
+
return;
|
|
28
|
+
source.data.width = width;
|
|
29
|
+
source.data.height = height;
|
|
30
|
+
invalidateNodeLocalBounds(source);
|
|
31
|
+
}
|
|
32
|
+
const defaultMethods = {
|
|
33
|
+
computeLocalBoundsRectangle: computeRenderTargetNode2DLocalBoundsRectangle,
|
|
34
|
+
};
|
|
35
|
+
//# sourceMappingURL=renderTargetNode2D.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"renderTargetNode2D.js","sourceRoot":"","sources":["../src/renderTargetNode2D.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AAUpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEtF,MAAM,UAAU,6CAA6C,CAAC,GAAc,EAAE,MAAsB;IAClG,MAAM,IAAI,GAAI,MAA6B,CAAC,IAAI,CAAC;IACjD,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IACvB,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,OAA4C;IACnF,OAAO,YAAY,CACjB,sBAAsB,EACtB,EAAE,IAAI,EAAE,OAAO,EAAE,EACjB,4BAA4B,EAC5B,+BAA+B,CACV,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,IAAgD;IAC3F,OAAO;QACL,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,KAAK;QAC3B,MAAM,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;QACzB,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,CAAC;KACxB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,+BAA+B;IAC7C,OAAO,mBAAmB,CAAC,cAAc,CAA8B,CAAC;AAC1E,CAAC;AAED,MAAM,UAAU,4BAA4B,CAC1C,MAAoC;IAEpC,OAAO,gBAAgB,CAAC,MAAM,CAA8B,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,MAA0B,EAAE,KAAa,EAAE,MAAc;IACjG,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,GAAkD;IACpE,2BAA2B,EAAE,6CAA6C;CAC3E,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/video.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Node, PartialNode, Rectangle, Video, VideoData, VideoRuntime } from '@flighthq/types';
|
|
1
|
+
import type { Node, PartialNode, Rectangle, Video, VideoData, VideoRuntime } from '@flighthq/types/contract';
|
|
2
2
|
export declare function computeVideoLocalBoundsRectangle(out: Rectangle, source: Readonly<Node>): void;
|
|
3
3
|
export declare function createVideo(obj?: Readonly<PartialNode<Video>>): Video;
|
|
4
4
|
export declare function createVideoData(data?: Readonly<Partial<VideoData>>): VideoData;
|
package/dist/video.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"video.d.ts","sourceRoot":"","sources":["../src/video.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAa,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"video.d.ts","sourceRoot":"","sources":["../src/video.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAa,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAKxH,wBAAgB,gCAAgC,CAAC,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAM7F;AAED,wBAAgB,WAAW,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAErE;AAED,wBAAgB,eAAe,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,SAAS,CAK9E;AAED,wBAAgB,kBAAkB,IAAI,YAAY,CAEjD;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,YAAY,CAAC,CAE/E;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAKrE;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC,QAAQ,CAAC,GAAG,IAAI,CAK9E"}
|
package/dist/video.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { invalidateNodeLocalBounds, invalidateNodeLocalContent } from '@flighthq/node';
|
|
2
|
-
import { VideoKind } from '@flighthq/types';
|
|
1
|
+
import { invalidateNodeLocalBounds, invalidateNodeLocalContent } from '@flighthq/node/contract';
|
|
2
|
+
import { VideoKind } from '@flighthq/types/contract';
|
|
3
3
|
import { createNode2D, createNode2DRuntime, getNode2DRuntime } from './displayObject';
|
|
4
4
|
export function computeVideoLocalBoundsRectangle(out, source) {
|
|
5
5
|
const element = source.data.source?.element;
|
package/dist/video.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"video.js","sourceRoot":"","sources":["../src/video.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,0BAA0B,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"video.js","sourceRoot":"","sources":["../src/video.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AAEhG,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAErD,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEtF,MAAM,UAAU,gCAAgC,CAAC,GAAc,EAAE,MAAsB;IACrF,MAAM,OAAO,GAAI,MAAM,CAAC,IAAkB,CAAC,MAAM,EAAE,OAA8C,CAAC;IAClG,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QAC9C,GAAG,CAAC,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC;QAC/B,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IACnC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,GAAkC;IAC5D,OAAO,YAAY,CAAC,SAAS,EAAE,GAAG,EAAE,eAAe,EAAE,kBAAkB,CAAU,CAAC;AACpF,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAmC;IACjE,OAAO;QACL,SAAS,EAAE,IAAI,EAAE,SAAS,IAAI,IAAI;QAClC,MAAM,EAAE,IAAI,EAAE,MAAM,IAAI,IAAI;KAC7B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB;IAChC,OAAO,mBAAmB,CAAC,cAAc,CAAiB,CAAC;AAC7D,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,MAAuB;IACrD,OAAO,gBAAgB,CAAC,MAAM,CAAiB,CAAC;AAClD,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,MAAa,EAAE,KAAc;IAC7D,iGAAiG;IACjG,mEAAmE;IACnE,MAAM,CAAC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;IAC9B,0BAA0B,CAAC,MAAM,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,MAAa,EAAE,KAA0B;IACtE,6EAA6E;IAC7E,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IAC3B,0BAA0B,CAAC,MAAM,CAAC,CAAC;IACnC,yBAAyB,CAAC,MAAM,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,cAAc,GAAqC;IACvD,2BAA2B,EAAE,gCAAgC;CAC9D,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.906.07cea63",
|
|
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,14 @@
|
|
|
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/types": "0.
|
|
39
|
+
"@flighthq/adjustments": "0.3.0-next.906.07cea63",
|
|
40
|
+
"@flighthq/animation": "0.3.0-next.906.07cea63",
|
|
41
|
+
"@flighthq/entity": "0.3.0-next.906.07cea63",
|
|
42
|
+
"@flighthq/geometry": "0.3.0-next.906.07cea63",
|
|
43
|
+
"@flighthq/materials": "0.3.0-next.906.07cea63",
|
|
44
|
+
"@flighthq/node": "0.3.0-next.906.07cea63",
|
|
45
|
+
"@flighthq/signals": "0.3.0-next.906.07cea63",
|
|
46
|
+
"@flighthq/types": "0.3.0-next.906.07cea63"
|
|
43
47
|
},
|
|
44
48
|
"devDependencies": {
|
|
45
49
|
"typescript": "^5.3.0"
|
package/src/bitmap.test.ts
CHANGED
|
@@ -1,8 +1,12 @@
|
|
|
1
|
-
import { getEntityRuntime } from '@flighthq/entity';
|
|
2
|
-
import { createRectangle } from '@flighthq/geometry';
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
import { getEntityRuntime } from '@flighthq/entity/contract';
|
|
2
|
+
import { createRectangle } from '@flighthq/geometry/contract';
|
|
3
|
+
import {
|
|
4
|
+
getNodeLocalBoundsRevision,
|
|
5
|
+
getNodeLocalContentRevision,
|
|
6
|
+
getNodeLocalTransformRevision,
|
|
7
|
+
} from '@flighthq/node/contract';
|
|
8
|
+
import type { Bitmap, BitmapRuntime, ImageResource, Node } from '@flighthq/types/contract';
|
|
9
|
+
import { BitmapKind } from '@flighthq/types/contract';
|
|
6
10
|
|
|
7
11
|
import {
|
|
8
12
|
computeBitmapLocalBoundsRectangle,
|
|
@@ -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,
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { createRectangle } from '@flighthq/geometry/contract';
|
|
2
|
+
import type { Node, RenderTargetNode2D } from '@flighthq/types/contract';
|
|
3
|
+
import { RenderTargetNode2DKind } from '@flighthq/types/contract';
|
|
4
|
+
|
|
5
|
+
import {
|
|
6
|
+
computeRenderTargetNode2DLocalBoundsRectangle,
|
|
7
|
+
createRenderTargetNode2D,
|
|
8
|
+
createRenderTargetNode2DData,
|
|
9
|
+
createRenderTargetNode2DRuntime,
|
|
10
|
+
getRenderTargetNode2DRuntime,
|
|
11
|
+
setRenderTargetNode2DSize,
|
|
12
|
+
} from './renderTargetNode2D';
|
|
13
|
+
|
|
14
|
+
describe('computeRenderTargetNode2DLocalBoundsRectangle', () => {
|
|
15
|
+
it('writes width and height from data', () => {
|
|
16
|
+
const node = createRenderTargetNode2D({ width: 400, height: 300 });
|
|
17
|
+
const out = createRectangle(0, 0, 0, 0);
|
|
18
|
+
|
|
19
|
+
computeRenderTargetNode2DLocalBoundsRectangle(out, node as unknown as Node);
|
|
20
|
+
|
|
21
|
+
expect(out.width).toBe(400);
|
|
22
|
+
expect(out.height).toBe(300);
|
|
23
|
+
});
|
|
24
|
+
});
|
|
25
|
+
|
|
26
|
+
describe('createRenderTargetNode2D', () => {
|
|
27
|
+
it('creates a node with the requested dimensions and no depth by default', () => {
|
|
28
|
+
const node = createRenderTargetNode2D({ width: 320, height: 240 });
|
|
29
|
+
|
|
30
|
+
expect(node.data.depth).toBe(false);
|
|
31
|
+
expect(node.data.height).toBe(240);
|
|
32
|
+
expect(node.data.width).toBe(320);
|
|
33
|
+
expect(node.kind).toBe(RenderTargetNode2DKind);
|
|
34
|
+
});
|
|
35
|
+
|
|
36
|
+
it('enables a depth attachment when requested', () => {
|
|
37
|
+
const node = createRenderTargetNode2D({ width: 320, height: 240, depth: true });
|
|
38
|
+
|
|
39
|
+
expect(node.data.depth).toBe(true);
|
|
40
|
+
});
|
|
41
|
+
});
|
|
42
|
+
|
|
43
|
+
describe('createRenderTargetNode2DData', () => {
|
|
44
|
+
it('returns default values', () => {
|
|
45
|
+
const data = createRenderTargetNode2DData();
|
|
46
|
+
|
|
47
|
+
expect(data.depth).toBe(false);
|
|
48
|
+
expect(data.height).toBe(0);
|
|
49
|
+
expect(data.width).toBe(0);
|
|
50
|
+
});
|
|
51
|
+
|
|
52
|
+
it('allows predefined values', () => {
|
|
53
|
+
const data = createRenderTargetNode2DData({ depth: true, height: 600, width: 800 });
|
|
54
|
+
|
|
55
|
+
expect(data.depth).toBe(true);
|
|
56
|
+
expect(data.height).toBe(600);
|
|
57
|
+
expect(data.width).toBe(800);
|
|
58
|
+
});
|
|
59
|
+
});
|
|
60
|
+
|
|
61
|
+
describe('createRenderTargetNode2DRuntime', () => {
|
|
62
|
+
it('returns a non-null runtime', () => {
|
|
63
|
+
expect(createRenderTargetNode2DRuntime()).not.toBeNull();
|
|
64
|
+
});
|
|
65
|
+
});
|
|
66
|
+
|
|
67
|
+
describe('getRenderTargetNode2DRuntime', () => {
|
|
68
|
+
it('returns the node runtime', () => {
|
|
69
|
+
const node = createRenderTargetNode2D({ width: 1, height: 1 });
|
|
70
|
+
|
|
71
|
+
expect(getRenderTargetNode2DRuntime(node)).not.toBeNull();
|
|
72
|
+
});
|
|
73
|
+
});
|
|
74
|
+
|
|
75
|
+
describe('setRenderTargetNode2DSize', () => {
|
|
76
|
+
let node: RenderTargetNode2D;
|
|
77
|
+
|
|
78
|
+
beforeEach(() => {
|
|
79
|
+
node = createRenderTargetNode2D({ width: 100, height: 100 });
|
|
80
|
+
});
|
|
81
|
+
|
|
82
|
+
it('updates width and height', () => {
|
|
83
|
+
setRenderTargetNode2DSize(node, 640, 480);
|
|
84
|
+
|
|
85
|
+
expect(node.data.width).toBe(640);
|
|
86
|
+
expect(node.data.height).toBe(480);
|
|
87
|
+
});
|
|
88
|
+
|
|
89
|
+
it('is a no-op when size is unchanged', () => {
|
|
90
|
+
const runtime = getRenderTargetNode2DRuntime(node);
|
|
91
|
+
const before = runtime.localBoundsId;
|
|
92
|
+
|
|
93
|
+
setRenderTargetNode2DSize(node, 100, 100);
|
|
94
|
+
|
|
95
|
+
expect(runtime.localBoundsId).toBe(before);
|
|
96
|
+
});
|
|
97
|
+
});
|
package/src/scene2d.test.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { addNodeChild } from '@flighthq/node';
|
|
2
|
-
import { connectSignal } from '@flighthq/signals';
|
|
3
|
-
import type { Scene2D } from '@flighthq/types';
|
|
1
|
+
import { addNodeChild } from '@flighthq/node/contract';
|
|
2
|
+
import { connectSignal } from '@flighthq/signals/contract';
|
|
3
|
+
import type { Scene2D } from '@flighthq/types/contract';
|
|
4
4
|
|
|
5
5
|
import { createDisplayObject } from './displayObject';
|
|
6
6
|
import {
|
package/src/video.test.ts
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
import {
|
|
2
|
+
getNodeLocalBoundsRevision,
|
|
3
|
+
getNodeLocalContentRevision,
|
|
4
|
+
getNodeLocalTransformRevision,
|
|
5
|
+
} from '@flighthq/node/contract';
|
|
6
|
+
import type { Video } from '@flighthq/types/contract';
|
|
7
|
+
import { VideoKind } from '@flighthq/types/contract';
|
|
4
8
|
|
|
5
9
|
import {
|
|
6
10
|
computeVideoLocalBoundsRectangle,
|
package/dist/renderView.d.ts
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import type { Node, PartialNode, Rectangle, RenderView, RenderViewData, RenderViewRuntime } from '@flighthq/types';
|
|
2
|
-
export declare function computeRenderViewLocalBoundsRectangle(out: Rectangle, source: Readonly<Node>): void;
|
|
3
|
-
export declare function createRenderView(obj?: Readonly<PartialNode<RenderView>>): RenderView;
|
|
4
|
-
export declare function createRenderViewData(data?: Readonly<Partial<RenderViewData>>): RenderViewData;
|
|
5
|
-
export declare function createRenderViewRuntime(): RenderViewRuntime;
|
|
6
|
-
export declare function getRenderViewRuntime(source: Readonly<RenderView>): Readonly<RenderViewRuntime>;
|
|
7
|
-
export declare function setRenderViewSize(source: RenderView, width: number, height: number): void;
|
|
8
|
-
//# sourceMappingURL=renderView.d.ts.map
|
package/dist/renderView.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"renderView.d.ts","sourceRoot":"","sources":["../src/renderView.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,IAAI,EACJ,WAAW,EACX,SAAS,EACT,UAAU,EACV,cAAc,EACd,iBAAiB,EAClB,MAAM,iBAAiB,CAAC;AAKzB,wBAAgB,qCAAqC,CAAC,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAIlG;AAED,wBAAgB,gBAAgB,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,GAAG,UAAU,CAEpF;AAED,wBAAgB,oBAAoB,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,GAAG,cAAc,CAM7F;AAED,wBAAgB,uBAAuB,IAAI,iBAAiB,CAE3D;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,QAAQ,CAAC,iBAAiB,CAAC,CAE9F;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAKzF"}
|
package/dist/renderView.js
DELETED
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { invalidateNodeLocalBounds } from '@flighthq/node';
|
|
2
|
-
import { RenderViewKind } from '@flighthq/types';
|
|
3
|
-
import { createNode2D, createNode2DRuntime, getNode2DRuntime } from './displayObject';
|
|
4
|
-
export function computeRenderViewLocalBoundsRectangle(out, source) {
|
|
5
|
-
const data = source.data;
|
|
6
|
-
out.width = data.width;
|
|
7
|
-
out.height = data.height;
|
|
8
|
-
}
|
|
9
|
-
export function createRenderView(obj) {
|
|
10
|
-
return createNode2D(RenderViewKind, obj, createRenderViewData, createRenderViewRuntime);
|
|
11
|
-
}
|
|
12
|
-
export function createRenderViewData(data) {
|
|
13
|
-
return {
|
|
14
|
-
height: data?.height ?? 0,
|
|
15
|
-
renderer: data?.renderer ?? null,
|
|
16
|
-
width: data?.width ?? 0,
|
|
17
|
-
};
|
|
18
|
-
}
|
|
19
|
-
export function createRenderViewRuntime() {
|
|
20
|
-
return createNode2DRuntime(defaultMethods);
|
|
21
|
-
}
|
|
22
|
-
export function getRenderViewRuntime(source) {
|
|
23
|
-
return getNode2DRuntime(source);
|
|
24
|
-
}
|
|
25
|
-
export function setRenderViewSize(source, width, height) {
|
|
26
|
-
if (source.data.width === width && source.data.height === height)
|
|
27
|
-
return;
|
|
28
|
-
source.data.width = width;
|
|
29
|
-
source.data.height = height;
|
|
30
|
-
invalidateNodeLocalBounds(source);
|
|
31
|
-
}
|
|
32
|
-
const defaultMethods = {
|
|
33
|
-
computeLocalBoundsRectangle: computeRenderViewLocalBoundsRectangle,
|
|
34
|
-
};
|
|
35
|
-
//# sourceMappingURL=renderView.js.map
|
package/dist/renderView.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"renderView.js","sourceRoot":"","sources":["../src/renderView.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAU3D,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEtF,MAAM,UAAU,qCAAqC,CAAC,GAAc,EAAE,MAAsB;IAC1F,MAAM,IAAI,GAAI,MAAqB,CAAC,IAAI,CAAC;IACzC,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IACvB,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,GAAuC;IACtE,OAAO,YAAY,CAAC,cAAc,EAAE,GAAG,EAAE,oBAAoB,EAAE,uBAAuB,CAAe,CAAC;AACxG,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,IAAwC;IAC3E,OAAO;QACL,MAAM,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;QACzB,QAAQ,EAAE,IAAI,EAAE,QAAQ,IAAI,IAAI;QAChC,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,CAAC;KACxB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,uBAAuB;IACrC,OAAO,mBAAmB,CAAC,cAAc,CAAsB,CAAC;AAClE,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,MAA4B;IAC/D,OAAO,gBAAgB,CAAC,MAAM,CAAsB,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,MAAkB,EAAE,KAAa,EAAE,MAAc;IACjF,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,GAA0C;IAC5D,2BAA2B,EAAE,qCAAqC;CACnE,CAAC"}
|
package/src/renderView.test.ts
DELETED
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
import { createRectangle } from '@flighthq/geometry';
|
|
2
|
-
import type { Node, RenderView, RenderViewRenderer } from '@flighthq/types';
|
|
3
|
-
import { RenderViewKind } from '@flighthq/types';
|
|
4
|
-
|
|
5
|
-
import {
|
|
6
|
-
computeRenderViewLocalBoundsRectangle,
|
|
7
|
-
createRenderView,
|
|
8
|
-
createRenderViewData,
|
|
9
|
-
createRenderViewRuntime,
|
|
10
|
-
getRenderViewRuntime,
|
|
11
|
-
setRenderViewSize,
|
|
12
|
-
} from './renderView';
|
|
13
|
-
|
|
14
|
-
function makeRenderer(): RenderViewRenderer {
|
|
15
|
-
const canvas = document.createElement('canvas');
|
|
16
|
-
canvas.width = 100;
|
|
17
|
-
canvas.height = 100;
|
|
18
|
-
return { canvas, render: () => {} };
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
describe('computeRenderViewLocalBoundsRectangle', () => {
|
|
22
|
-
it('writes width and height from data', () => {
|
|
23
|
-
const view = createRenderView({ data: { width: 400, height: 300 } });
|
|
24
|
-
const out = createRectangle(0, 0, 0, 0);
|
|
25
|
-
computeRenderViewLocalBoundsRectangle(out, view as unknown as Node);
|
|
26
|
-
expect(out.width).toBe(400);
|
|
27
|
-
expect(out.height).toBe(300);
|
|
28
|
-
});
|
|
29
|
-
});
|
|
30
|
-
|
|
31
|
-
describe('createRenderView', () => {
|
|
32
|
-
let view: RenderView;
|
|
33
|
-
|
|
34
|
-
beforeEach(() => {
|
|
35
|
-
view = createRenderView();
|
|
36
|
-
});
|
|
37
|
-
|
|
38
|
-
it('initializes default values', () => {
|
|
39
|
-
expect(view.data.renderer).toBeNull();
|
|
40
|
-
expect(view.data.width).toBe(0);
|
|
41
|
-
expect(view.data.height).toBe(0);
|
|
42
|
-
expect(view.kind).toStrictEqual(RenderViewKind);
|
|
43
|
-
});
|
|
44
|
-
|
|
45
|
-
it('allows pre-defined values', () => {
|
|
46
|
-
const renderer = makeRenderer();
|
|
47
|
-
const obj = createRenderView({ data: { renderer, width: 320, height: 240 } });
|
|
48
|
-
expect(obj.data.renderer).toStrictEqual(renderer);
|
|
49
|
-
expect(obj.data.width).toBe(320);
|
|
50
|
-
expect(obj.data.height).toBe(240);
|
|
51
|
-
});
|
|
52
|
-
|
|
53
|
-
it('returns a new object for better hidden-class performance', () => {
|
|
54
|
-
const base = {};
|
|
55
|
-
const obj = createRenderView(base);
|
|
56
|
-
expect(obj).not.toStrictEqual(base);
|
|
57
|
-
});
|
|
58
|
-
});
|
|
59
|
-
|
|
60
|
-
describe('createRenderViewData', () => {
|
|
61
|
-
it('returns default values', () => {
|
|
62
|
-
const data = createRenderViewData();
|
|
63
|
-
expect(data.renderer).toBeNull();
|
|
64
|
-
expect(data.width).toBe(0);
|
|
65
|
-
expect(data.height).toBe(0);
|
|
66
|
-
});
|
|
67
|
-
|
|
68
|
-
it('allows pre-defined values', () => {
|
|
69
|
-
const renderer = makeRenderer();
|
|
70
|
-
const data = createRenderViewData({ renderer, width: 800, height: 600 });
|
|
71
|
-
expect(data.renderer).toStrictEqual(renderer);
|
|
72
|
-
expect(data.width).toBe(800);
|
|
73
|
-
expect(data.height).toBe(600);
|
|
74
|
-
});
|
|
75
|
-
});
|
|
76
|
-
|
|
77
|
-
describe('createRenderViewRuntime', () => {
|
|
78
|
-
it('returns a non-null runtime', () => {
|
|
79
|
-
expect(createRenderViewRuntime()).not.toBeNull();
|
|
80
|
-
});
|
|
81
|
-
});
|
|
82
|
-
|
|
83
|
-
describe('getRenderViewRuntime', () => {
|
|
84
|
-
it('returns the runtime for a RenderView', () => {
|
|
85
|
-
const view = createRenderView();
|
|
86
|
-
expect(getRenderViewRuntime(view)).not.toBeNull();
|
|
87
|
-
});
|
|
88
|
-
});
|
|
89
|
-
|
|
90
|
-
describe('setRenderViewSize', () => {
|
|
91
|
-
it('updates width and height', () => {
|
|
92
|
-
const view = createRenderView();
|
|
93
|
-
setRenderViewSize(view, 640, 480);
|
|
94
|
-
expect(view.data.width).toBe(640);
|
|
95
|
-
expect(view.data.height).toBe(480);
|
|
96
|
-
});
|
|
97
|
-
|
|
98
|
-
it('is a no-op when size is unchanged', () => {
|
|
99
|
-
const view = createRenderView({ data: { width: 100, height: 100 } });
|
|
100
|
-
const before = view.data.width;
|
|
101
|
-
setRenderViewSize(view, 100, 100);
|
|
102
|
-
expect(view.data.width).toBe(before);
|
|
103
|
-
});
|
|
104
|
-
});
|