@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.
Files changed (54) hide show
  1. package/dist/contract.d.ts +7 -0
  2. package/dist/contract.d.ts.map +1 -0
  3. package/dist/contract.js +7 -0
  4. package/dist/contract.js.map +1 -0
  5. package/dist/displayContainer.d.ts +1 -1
  6. package/dist/displayContainer.d.ts.map +1 -1
  7. package/dist/displayContainer.js +1 -1
  8. package/dist/displayContainer.js.map +1 -1
  9. package/dist/displayObject.d.ts +1 -5
  10. package/dist/displayObject.d.ts.map +1 -1
  11. package/dist/displayObject.js +2 -57
  12. package/dist/displayObject.js.map +1 -1
  13. package/dist/displayObjectAnimation.d.ts +1 -1
  14. package/dist/displayObjectAnimation.d.ts.map +1 -1
  15. package/dist/displayObjectAnimation.js +2 -2
  16. package/dist/displayObjectAnimation.js.map +1 -1
  17. package/dist/htmlView.d.ts +1 -1
  18. package/dist/htmlView.d.ts.map +1 -1
  19. package/dist/htmlView.js +2 -2
  20. package/dist/htmlView.js.map +1 -1
  21. package/dist/index.d.ts +1 -8
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +1 -8
  24. package/dist/index.js.map +1 -1
  25. package/dist/scene2d.d.ts +1 -1
  26. package/dist/scene2d.d.ts.map +1 -1
  27. package/dist/scene2d.js +4 -4
  28. package/dist/scene2d.js.map +1 -1
  29. package/dist/sprite.d.ts +9 -0
  30. package/dist/sprite.d.ts.map +1 -0
  31. package/dist/sprite.js +35 -0
  32. package/dist/sprite.js.map +1 -0
  33. package/package.json +14 -9
  34. package/src/displayContainer.test.ts +2 -2
  35. package/src/displayObject.test.ts +48 -38
  36. package/src/displayObjectAnimation.test.ts +3 -3
  37. package/src/htmlView.test.ts +3 -3
  38. package/src/scene2d.test.ts +3 -3
  39. package/src/sprite.test.ts +132 -0
  40. package/dist/bitmap.d.ts +0 -8
  41. package/dist/bitmap.d.ts.map +0 -1
  42. package/dist/bitmap.js +0 -41
  43. package/dist/bitmap.js.map +0 -1
  44. package/dist/renderView.d.ts +0 -8
  45. package/dist/renderView.d.ts.map +0 -1
  46. package/dist/renderView.js +0 -35
  47. package/dist/renderView.js.map +0 -1
  48. package/dist/video.d.ts +0 -9
  49. package/dist/video.d.ts.map +0 -1
  50. package/dist/video.js +0 -41
  51. package/dist/video.js.map +0 -1
  52. package/src/bitmap.test.ts +0 -131
  53. package/src/renderView.test.ts +0 -104
  54. package/src/video.test.ts +0 -113
@@ -0,0 +1,7 @@
1
+ export * from './sprite';
2
+ export * from './displayContainer';
3
+ export * from './displayObject';
4
+ export * from './displayObjectAnimation';
5
+ export * from './htmlView';
6
+ export * from './scene2d';
7
+ //# 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,WAAW,CAAC"}
@@ -0,0 +1,7 @@
1
+ export * from './sprite';
2
+ export * from './displayContainer';
3
+ export * from './displayObject';
4
+ export * from './displayObjectAnimation';
5
+ export * from './htmlView';
6
+ export * from './scene2d';
7
+ //# 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,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,iBAAiB,CAAC;AAKxF,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"}
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"}
@@ -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,iBAAiB,CAAC;AAEpD,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"}
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"}
@@ -1,12 +1,8 @@
1
- import type { Adjustment, ClipRegion, ColorTransform, Node2D, Node2DDataFactory, Node2DRuntime, Node2DRuntimeFactory, Kind, MethodsOf, NodeAny, PartialNode } from '@flighthq/types';
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":"AAqBA,OAAO,KAAK,EACV,UAAU,EACV,UAAU,EACV,cAAc,EACd,MAAM,EACN,iBAAiB,EACjB,aAAa,EACb,oBAAoB,EACpB,IAAI,EACJ,SAAS,EACT,OAAO,EAEP,WAAW,EACZ,MAAM,iBAAiB,CAAC;AAMzB,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,GAAG,IAAI,CAMrF;AAED,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;AAID,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,SAAS,UAAU,EAAE,GAAG,IAAI,CAEhG;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;AAMD,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,UAAU,EAAE,GAAG,IAAI,GAAG,IAAI,CAKnG;AAKD,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,QAAQ,CAAC,cAAc,CAAC,GAAG,IAAI,GAAG,IAAI,CAE7G;AAyBD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC"}
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"}
@@ -1,17 +1,5 @@
1
- import { COLOR_ADJUSTMENT_CHANNEL_MIXING, COLOR_ADJUSTMENT_NONE, createColorTransformAdjustment, resolveColorAdjustmentsColorTransform, } from '@flighthq/adjustments';
2
- import { createColorTransform } from '@flighthq/materials';
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,+BAA+B,EAC/B,qBAAqB,EACrB,8BAA8B,EAC9B,qCAAqC,GACtC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,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,gBAAgB,CAAC;AAexB,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,yGAAyG;AACzG,kGAAkG;AAClG,gGAAgG;AAChG,MAAM,UAAU,wBAAwB,CAAC,MAAc,EAAE,UAAsB;IAC7E,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,CAAkB,CAAC;IACxD,MAAM,OAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC;IACzC,OAAO,CAAC,gBAAgB,GAAG,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,EAAE,UAAU,CAAC,CAAC;IACtF,6BAA6B,CAAC,OAAO,CAAC,CAAC;IACvC,wBAAwB,CAAC,MAAM,CAAC,CAAC;AACnC,CAAC;AAED,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,uGAAuG;AACvG,6BAA6B;AAC7B,MAAM,UAAU,yBAAyB,CAAC,MAAwB;IAChE,OAAO,cAAc,CAAC,MAAM,CAAC,CAAC,gBAAgB,CAAC;AACjD,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,0GAA0G;AAC1G,wGAAwG;AACxG,sGAAsG;AACtG,gGAAgG;AAChG,MAAM,UAAU,yBAAyB,CAAC,MAAc,EAAE,KAAmC;IAC3F,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,CAAkB,CAAC;IACxD,OAAO,CAAC,gBAAgB,GAAG,KAAK,CAAC;IACjC,6BAA6B,CAAC,OAAO,CAAC,CAAC;IACvC,wBAAwB,CAAC,MAAM,CAAC,CAAC;AACnC,CAAC;AAED,2GAA2G;AAC3G,gGAAgG;AAChG,+FAA+F;AAC/F,MAAM,UAAU,uBAAuB,CAAC,MAAc,EAAE,cAA+C;IACrG,yBAAyB,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,8BAA8B,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;AACvH,CAAC;AAED,2GAA2G;AAC3G,yGAAyG;AACzG,sGAAsG;AACtG,wGAAwG;AACxG,wGAAwG;AACxG,SAAS,6BAA6B,CAAC,OAAsB;IAC3D,MAAM,WAAW,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAC7C,IAAI,WAAW,KAAK,IAAI,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrD,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC;QACtC,OAAO,CAAC,6BAA6B,GAAG,KAAK,CAAC;QAC9C,OAAO;IACT,CAAC;IACD,MAAM,GAAG,GAAG,OAAO,CAAC,sBAAsB,IAAI,oBAAoB,EAAE,CAAC;IACrE,MAAM,MAAM,GAAG,qCAAqC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;IACvE,IAAI,MAAM,KAAK,qBAAqB,EAAE,CAAC;QACrC,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC;QACtC,OAAO,CAAC,6BAA6B,GAAG,KAAK,CAAC;QAC9C,OAAO;IACT,CAAC;IACD,OAAO,CAAC,sBAAsB,GAAG,GAAG,CAAC;IACrC,OAAO,CAAC,6BAA6B,GAAG,MAAM,KAAK,+BAA+B,CAAC;AACrF,CAAC;AAED,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC"}
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,iBAAiB,CAAC;AAK5E,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,QAAQ,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAyE5F"}
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,qBAAqB,CAAC;AAC3D,OAAO,EAAE,wBAAwB,EAAE,4BAA4B,EAAE,MAAM,gBAAgB,CAAC;AAGxF,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"}
1
+ {"version":3,"file":"displayObjectAnimation.js","sourceRoot":"","sources":["../src/displayObjectAnimation.ts"],"names":[],"mappings":"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"}
@@ -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;
@@ -1 +1 @@
1
- {"version":3,"file":"htmlView.d.ts","sourceRoot":"","sources":["../src/htmlView.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,eAAe,EAAa,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAKxH,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"}
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;
@@ -1 +1 @@
1
- {"version":3,"file":"htmlView.js","sourceRoot":"","sources":["../src/htmlView.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAE3D,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,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"}
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 * from './bitmap';
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
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.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,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC"}
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 * from './bitmap';
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,cAAc,UAAU,CAAC;AACzB,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,0BAA0B,CAAC;AACzC,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC"}
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;
@@ -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,iBAAiB,CAAC;AAUtG,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"}
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
@@ -1 +1 @@
1
- {"version":3,"file":"scene2d.js","sourceRoot":"","sources":["../src/scene2d.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scene2d.js","sourceRoot":"","sources":["../src/scene2d.ts"],"names":[],"mappings":"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"}
@@ -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.2.1-next.841.373388f",
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.2.1-next.841.373388f",
36
- "@flighthq/animation": "0.2.1-next.841.373388f",
37
- "@flighthq/entity": "0.2.1-next.841.373388f",
38
- "@flighthq/geometry": "0.2.1-next.841.373388f",
39
- "@flighthq/materials": "0.2.1-next.841.373388f",
40
- "@flighthq/node": "0.2.1-next.841.373388f",
41
- "@flighthq/signals": "0.2.1-next.841.373388f",
42
- "@flighthq/types": "0.2.1-next.841.373388f"
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 { getEntityRuntime } from '@flighthq/entity';
2
- import { createColorTransform } from '@flighthq/materials';
3
- import type { BoundsNode, Node2D, Node2DData, Node2DRuntime, PartialNode, Rectangle } from '@flighthq/types';
4
- import { BlendMode, DisplayObjectKind, Node2DTraitsKey } from '@flighthq/types';
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('addNode2DColorAdjustment', () => {
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: 'ColorTransformAdjustment' } as never;
32
- addNode2DColorAdjustment(obj, adjustment);
33
- expect(getNode2DColorAdjustments(obj)).toEqual([adjustment]);
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
- addNode2DColorAdjustment(obj, a);
41
- const first = getNode2DColorAdjustments(obj);
42
- addNode2DColorAdjustment(obj, b);
43
- expect(getNode2DColorAdjustments(obj)).toEqual([a, b]);
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('setNode2DColorAdjustments', () => {
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 = [{ kind: 'ColorTransformAdjustment' }] as never;
202
- setNode2DColorAdjustments(obj, stack);
203
- expect(getNode2DColorAdjustments(obj)).toBe(stack);
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
- setNode2DColorAdjustments(obj, [{ kind: 'ColorTransformAdjustment' }] as never);
209
- setNode2DColorAdjustments(obj, null);
210
- expect(getNode2DColorAdjustments(obj)).toBeNull();
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('setNode2DColorTransform', () => {
215
- it('wraps a color transform as one ColorTransformAdjustment on the stack', () => {
223
+ describe('setNodeColorAdjustmentsTint', () => {
224
+ it('replaces the stack with one TintAdjustment built from the packed color', () => {
216
225
  const obj = createDisplayObject();
217
- setNode2DColorTransform(obj, createColorTransform({ redMultiplier: 0.5 }));
218
- const stack = getNode2DColorAdjustments(obj);
226
+ setNodeColorAdjustmentsTint(obj, 0xff0000ff);
227
+ const stack = getNodeColorAdjustments(obj);
219
228
  expect(stack?.length).toBe(1);
220
- expect(stack?.[0].kind).toBe('ColorTransformAdjustment');
229
+ expect(stack?.[0].kind).toBe('TintAdjustment');
221
230
  });
222
231
 
223
- it('clears with null', () => {
232
+ it('replaces any prior adjustments rather than layering', () => {
224
233
  const obj = createDisplayObject();
225
- setNode2DColorTransform(obj, createColorTransform({ redMultiplier: 0.5 }));
226
- setNode2DColorTransform(obj, null);
227
- expect(getNode2DColorAdjustments(obj)).toBeNull();
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';
@@ -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,