@flighthq/scene2d-canvas 0.3.0 → 0.3.1-next.1041.35b950c

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.
@@ -1 +1 @@
1
- {"version":3,"file":"canvasMaterialRegistry.d.ts","sourceRoot":"","sources":["../src/canvasMaterialRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAQ1G,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,iBAAiB,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI,GAAG,OAAO,CAUhG;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,IAAI,GAAG,sBAAsB,GAAG,IAAI,CAE7G;AAED,wBAAgB,8BAA8B,CAC5C,KAAK,EAAE,iBAAiB,EACxB,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,sBAAsB,GAC/B,IAAI,CAGN;AAKD,wBAAgB,6BAA6B,CAC3C,KAAK,EAAE,iBAAiB,EACxB,QAAQ,EAAE,QAAQ,GAAG,IAAI,GACxB,sBAAsB,GAAG,IAAI,CAQ/B"}
1
+ {"version":3,"file":"canvasMaterialRegistry.d.ts","sourceRoot":"","sources":["../src/canvasMaterialRegistry.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAQ1G,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,iBAAiB,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI,GAAG,OAAO,CAUhG;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,IAAI,GAAG,sBAAsB,GAAG,IAAI,CAG7G;AAED,wBAAgB,8BAA8B,CAC5C,KAAK,EAAE,iBAAiB,EACxB,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,sBAAsB,GAC/B,IAAI,CAIN;AAKD,wBAAgB,6BAA6B,CAC3C,KAAK,EAAE,iBAAiB,EACxB,QAAQ,EAAE,QAAQ,GAAG,IAAI,GACxB,sBAAsB,GAAG,IAAI,CAS/B"}
@@ -1,4 +1,5 @@
1
- import { StandardMaterialKind } from '@flighthq/types/contract';
1
+ import { createKeyedTable, withRegistryTableEntry } from '@flighthq/registry/contract';
2
+ import { RegistryEntryState, StandardMaterialKind } from '@flighthq/types/contract';
2
3
  import { getCanvasRenderStateRuntime } from './canvasRenderState';
3
4
  // Applies a node's material draw-state delta before a canvas draw, bracketed with ctx.save().
4
5
  // Returns true when it saved and the caller must ctx.restore() after drawing; false (no save) when
@@ -19,24 +20,27 @@ export function applyCanvasMaterial(state, material) {
19
20
  return true;
20
21
  }
21
22
  export function getCanvasMaterialRenderer(state, kind) {
22
- return getCanvasRenderStateRuntime(state).materialRendererMap?.get(kind) ?? null;
23
+ const entry = getCanvasRenderStateRuntime(state).registries.materialRenderers?.entries.get(kind);
24
+ return entry?.state === RegistryEntryState.Bound ? entry.value : null;
23
25
  }
24
26
  export function registerCanvasMaterialRenderer(state, kind, renderer) {
25
27
  const runtime = getCanvasRenderStateRuntime(state);
26
- (runtime.materialRendererMap ??= new Map()).set(kind, renderer);
28
+ const table = runtime.registries.materialRenderers ?? createKeyedTable('CanvasMaterialRenderer', 'StandardMaterial');
29
+ runtime.registries.materialRenderers = withRegistryTableEntry(table, kind, renderer);
27
30
  }
28
31
  // Resolves a node's material to its Canvas renderer, else the registered default, else null.
29
32
  // Unlike Gl there is no built-in fallback: a null result means "draw normally", since the
30
33
  // canvas renderer already performs the draw and a material only contributes extra draw state.
31
34
  export function resolveCanvasMaterialRenderer(state, material) {
32
- const map = getCanvasRenderStateRuntime(state).materialRendererMap;
33
- if (map === undefined)
35
+ const entries = getCanvasRenderStateRuntime(state).registries.materialRenderers?.entries;
36
+ if (entries === undefined)
34
37
  return null;
35
38
  if (material !== null) {
36
- const renderer = map.get(material.kind);
37
- if (renderer !== undefined)
38
- return renderer;
39
+ const entry = entries.get(material.kind);
40
+ if (entry?.state === RegistryEntryState.Bound)
41
+ return entry.value;
39
42
  }
40
- return map.get(StandardMaterialKind) ?? null;
43
+ const fallback = entries.get(StandardMaterialKind);
44
+ return fallback?.state === RegistryEntryState.Bound ? fallback.value : null;
41
45
  }
42
46
  //# sourceMappingURL=canvasMaterialRegistry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"canvasMaterialRegistry.js","sourceRoot":"","sources":["../src/canvasMaterialRegistry.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAEhE,OAAO,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAElE,8FAA8F;AAC9F,mGAAmG;AACnG,mFAAmF;AACnF,MAAM,UAAU,mBAAmB,CAAC,KAAwB,EAAE,QAAyB;IACrF,IAAI,QAAQ,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IACpC,MAAM,QAAQ,GAAG,6BAA6B,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAChE,IAAI,QAAQ,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IACpC,MAAM,SAAS,GAAG,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC9C,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;IAC9B,OAAO,CAAC,IAAI,EAAE,CAAC;IACf,IAAI,SAAS,CAAC,SAAS,KAAK,SAAS;QAAE,OAAO,CAAC,wBAAwB,GAAG,SAAS,CAAC,SAAS,CAAC;IAC9F,IAAI,SAAS,CAAC,MAAM,KAAK,SAAS;QAAE,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;IACtE,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,KAAwB,EAAE,IAAU;IAC5E,OAAO,2BAA2B,CAAC,KAAK,CAAC,CAAC,mBAAmB,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;AACnF,CAAC;AAED,MAAM,UAAU,8BAA8B,CAC5C,KAAwB,EACxB,IAAU,EACV,QAAgC;IAEhC,MAAM,OAAO,GAAG,2BAA2B,CAAC,KAAK,CAAC,CAAC;IACnD,CAAC,OAAO,CAAC,mBAAmB,KAAK,IAAI,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AAClE,CAAC;AAED,6FAA6F;AAC7F,0FAA0F;AAC1F,8FAA8F;AAC9F,MAAM,UAAU,6BAA6B,CAC3C,KAAwB,EACxB,QAAyB;IAEzB,MAAM,GAAG,GAAG,2BAA2B,CAAC,KAAK,CAAC,CAAC,mBAAmB,CAAC;IACnE,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACnC,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACtB,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,QAAQ,KAAK,SAAS;YAAE,OAAO,QAAQ,CAAC;IAC9C,CAAC;IACD,OAAO,GAAG,CAAC,GAAG,CAAC,oBAAoB,CAAC,IAAI,IAAI,CAAC;AAC/C,CAAC"}
1
+ {"version":3,"file":"canvasMaterialRegistry.js","sourceRoot":"","sources":["../src/canvasMaterialRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAEvF,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAEpF,OAAO,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAElE,8FAA8F;AAC9F,mGAAmG;AACnG,mFAAmF;AACnF,MAAM,UAAU,mBAAmB,CAAC,KAAwB,EAAE,QAAyB;IACrF,IAAI,QAAQ,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IACpC,MAAM,QAAQ,GAAG,6BAA6B,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAChE,IAAI,QAAQ,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IACpC,MAAM,SAAS,GAAG,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC9C,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;IAC9B,OAAO,CAAC,IAAI,EAAE,CAAC;IACf,IAAI,SAAS,CAAC,SAAS,KAAK,SAAS;QAAE,OAAO,CAAC,wBAAwB,GAAG,SAAS,CAAC,SAAS,CAAC;IAC9F,IAAI,SAAS,CAAC,MAAM,KAAK,SAAS;QAAE,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;IACtE,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,KAAwB,EAAE,IAAU;IAC5E,MAAM,KAAK,GAAG,2BAA2B,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,iBAAiB,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACjG,OAAO,KAAK,EAAE,KAAK,KAAK,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AACxE,CAAC;AAED,MAAM,UAAU,8BAA8B,CAC5C,KAAwB,EACxB,IAAU,EACV,QAAgC;IAEhC,MAAM,OAAO,GAAG,2BAA2B,CAAC,KAAK,CAAC,CAAC;IACnD,MAAM,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC,iBAAiB,IAAI,gBAAgB,CAAC,wBAAwB,EAAE,kBAAkB,CAAC,CAAC;IACrH,OAAO,CAAC,UAAU,CAAC,iBAAiB,GAAG,sBAAsB,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;AACvF,CAAC;AAED,6FAA6F;AAC7F,0FAA0F;AAC1F,8FAA8F;AAC9F,MAAM,UAAU,6BAA6B,CAC3C,KAAwB,EACxB,QAAyB;IAEzB,MAAM,OAAO,GAAG,2BAA2B,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,iBAAiB,EAAE,OAAO,CAAC;IACzF,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACvC,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACtB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,KAAK,EAAE,KAAK,KAAK,kBAAkB,CAAC,KAAK;YAAE,OAAO,KAAK,CAAC,KAAK,CAAC;IACpE,CAAC;IACD,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IACnD,OAAO,QAAQ,EAAE,KAAK,KAAK,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AAC9E,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"canvasRenderState.d.ts","sourceRoot":"","sources":["../src/canvasRenderState.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EACV,mBAAmB,EACnB,iBAAiB,EACjB,wBAAwB,EACxB,sBAAsB,EACvB,MAAM,0BAA0B,CAAC;AAOlC,wBAAgB,kCAAkC,CAAC,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAS7G;AAED,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,iBAAiB,EACzB,OAAO,GAAE,OAAO,CAAC,mBAAmB,CAAM,GACzC,iBAAiB,CAkCnB;AAMD,wBAAgB,8BAA8B,IAAI,wBAAwB,CAEzE;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI,CAEvE;AAID,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,iBAAiB,GAAG,wBAAwB,CAE9F;AAQD,wBAAgB,oCAAoC,CAAC,KAAK,EAAE,iBAAiB,GAAG,sBAAsB,CAErG"}
1
+ {"version":3,"file":"canvasRenderState.d.ts","sourceRoot":"","sources":["../src/canvasRenderState.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EACV,mBAAmB,EACnB,iBAAiB,EACjB,wBAAwB,EACxB,sBAAsB,EACvB,MAAM,0BAA0B,CAAC;AAQlC,wBAAgB,kCAAkC,CAAC,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAa7G;AAED,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,iBAAiB,EACzB,OAAO,GAAE,OAAO,CAAC,mBAAmB,CAAM,GACzC,iBAAiB,CAkCnB;AAMD,wBAAgB,8BAA8B,IAAI,wBAAwB,CAQzE;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI,CAEvE;AAID,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,iBAAiB,GAAG,wBAAwB,CAE9F;AAQD,wBAAgB,oCAAoC,CAAC,KAAK,EAAE,iBAAiB,GAAG,sBAAsB,CAErG"}
@@ -1,17 +1,23 @@
1
1
  import { createMatrix } from '@flighthq/geometry/contract';
2
+ import { createKeyedTable } from '@flighthq/registry/contract';
2
3
  import { copyRenderStateRegistrations, createRenderState as _createRenderState, createRenderStateRuntime, destroyRenderState, setRenderStateBackgroundColor, } from '@flighthq/render/contract';
3
4
  import { EntityRuntimeKey } from '@flighthq/types/contract';
4
5
  import { createCanvasTextureResolvers } from './canvasTextureResolver';
5
6
  // Explicit snapshot re-copy for policy that is meaningful to a derived Canvas pipeline. Resource
6
- // caches remain state-local; registrations are cloned so later changes do not leak across states.
7
+ // caches remain state-local. Mutable legacy maps are cloned; persistent tables may share immutable
8
+ // snapshots through distinct aggregates, so later replacements still diverge between render states.
7
9
  export function copyCanvasRenderStateRegistrations(target, source) {
8
10
  const targetRuntime = getCanvasRenderStateRuntime(target);
9
11
  const sourceRuntime = getCanvasRenderStateRuntime(source);
10
12
  target.applyBlendMode = source.applyBlendMode;
11
13
  target.canvasCssFilterResolver = source.canvasCssFilterResolver;
12
14
  targetRuntime.canvasTextureResolvers.registry = copyMap(sourceRuntime.canvasTextureResolvers.registry);
13
- targetRuntime.materialRendererMap = copyMap(sourceRuntime.materialRendererMap);
14
- targetRuntime.canvasRenderEffectRegistry = copyMap(sourceRuntime.canvasRenderEffectRegistry);
15
+ targetRuntime.registries = {
16
+ materialRenderers: sourceRuntime.registries.materialRenderers,
17
+ renderEffects: sourceRuntime.registries.renderEffects,
18
+ renderers: targetRuntime.registries.renderers,
19
+ strokeTessellator: targetRuntime.registries.strokeTessellator,
20
+ };
15
21
  copyRenderStateRegistrations(target, source);
16
22
  }
17
23
  export function createCanvasRenderState(canvas, options = {}) {
@@ -51,7 +57,13 @@ export function createCanvasRenderState(canvas, options = {}) {
51
57
  // getCanvasRenderStateRuntime reads it back. The render path writes the returned object every frame,
52
58
  // so the return is intentionally mutable (not Readonly).
53
59
  export function createCanvasRenderStateRuntime() {
54
- return createRenderStateRuntime();
60
+ const runtime = createRenderStateRuntime();
61
+ runtime.registries = {
62
+ renderEffects: createKeyedTable('CanvasRenderEffect', 'Unregistered'),
63
+ renderers: runtime.registries.renderers,
64
+ strokeTessellator: runtime.registries.strokeTessellator,
65
+ };
66
+ return runtime;
55
67
  }
56
68
  export function destroyCanvasRenderState(state) {
57
69
  destroyRenderState(state);
@@ -1 +1 @@
1
- {"version":3,"file":"canvasRenderState.js","sourceRoot":"","sources":["../src/canvasRenderState.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"canvasRenderState.js","sourceRoot":"","sources":["../src/canvasRenderState.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"canvasRichText.d.ts","sourceRoot":"","sources":["../src/canvasRichText.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EACV,iBAAiB,EACjB,sBAAsB,EACtB,eAAe,EACf,aAAa,EAKd,MAAM,0BAA0B,CAAC;AAKlC,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,aAAa,GAAG,IAAI,CAS7F;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,aAAa,GAAG,IAAI,CAE1F;AAsHD,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,sBAAsB,GAAG,IAAI,CAEpF;AASD,eAAO,MAAM,6BAA6B,EAAE,eAG3C,CAAC"}
1
+ {"version":3,"file":"canvasRichText.d.ts","sourceRoot":"","sources":["../src/canvasRichText.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EACV,iBAAiB,EACjB,sBAAsB,EACtB,eAAe,EACf,aAAa,EAKd,MAAM,0BAA0B,CAAC;AAKlC,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,aAAa,GAAG,IAAI,CAS7F;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,aAAa,GAAG,IAAI,CAE1F;AAsHD,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,sBAAsB,GAAG,IAAI,CAEpF;AASD,eAAO,MAAM,6BAA6B,EAAE,eAG3C,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { computeRgbHexString } from '@flighthq/color/contract';
2
+ import { computeRgbaCssString } from '@flighthq/color/contract';
2
3
  import { noopRendererData } from '@flighthq/render/contract';
3
4
  import { computeTextFormatFontString, getRichTextPasswordCharacter, getRichTextRuntime } from '@flighthq/text/contract';
4
5
  import { computeRichTextContent, computeTextBoundsHeight, computeTextBoundsWidth, computeTextLayout, getRichTextContent, getRichTextScrollYOffset, getRichTextSelectionRectangles, getTextLayoutResult, } from '@flighthq/textlayout/contract';
@@ -81,7 +82,7 @@ function drawCanvasRichTextField(state, renderProxy) {
81
82
  if (group.lineIndex < firstVisibleLine)
82
83
  continue;
83
84
  context.font = computeTextFormatFontString(group.format);
84
- context.fillStyle = computeRgbHexString(group.format.color ?? data.textColor);
85
+ context.fillStyle = computeRgbaCssString(group.format.color ?? data.textColor);
85
86
  const slice = text.substring(group.startIndex, group.endIndex);
86
87
  const x = group.offsetX - scrollXOffset;
87
88
  const y = group.offsetY + group.ascent - scrollYOffset;
@@ -91,7 +92,7 @@ function drawCanvasRichTextField(state, renderProxy) {
91
92
  context.fillText(BULLET_CHAR, x - bulletW - BULLET_GAP, y);
92
93
  }
93
94
  context.fillText(slice, x, y);
94
- const lineColor = computeRgbHexString(group.format.color ?? data.textColor);
95
+ const lineColor = computeRgbaCssString(group.format.color ?? data.textColor);
95
96
  const lineWidth = Math.max(1, (group.format.size ?? 12) / 16);
96
97
  if (group.format.underline || group.format.strikethrough) {
97
98
  context.strokeStyle = lineColor;
@@ -1 +1 @@
1
- {"version":3,"file":"canvasRichText.js","sourceRoot":"","sources":["../src/canvasRichText.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"canvasRichText.js","sourceRoot":"","sources":["../src/canvasRichText.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,2BAA2B,EAAE,4BAA4B,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AACxH,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EACvB,sBAAsB,EACtB,iBAAiB,EACjB,kBAAkB,EAClB,wBAAwB,EACxB,8BAA8B,EAC9B,mBAAmB,GACpB,MAAM,+BAA+B,CAAC;AAavC,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAEvD,MAAM,UAAU,kBAAkB,CAAC,KAAwB,EAAE,WAA0B;IACrF,uBAAuB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IAC5C,gGAAgG;IAChG,oGAAoG;IACpG,mGAAmG;IACnG,8DAA8D;IAC9D,IAAI,uBAAuB,KAAK,IAAI,IAAI,kBAAkB,CAAC,WAAW,CAAC,MAAkB,CAAC,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;QAC1G,uBAAuB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IAC9C,CAAC;AACH,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,KAAwB,EAAE,IAAmB;IAClF,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AACjC,CAAC;AAED,SAAS,uBAAuB,CAAC,KAAwB,EAAE,WAA0B;IACnF,iBAAiB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IAEtC,MAAM,MAAM,GAAG,WAAW,CAAC,MAAkB,CAAC;IAC9C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;IACzB,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;IAC9B,KAAK,CAAC,cAAc,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;IACrD,OAAO,CAAC,WAAW,GAAG,WAAW,CAAC,KAAK,CAAC;IACxC,kBAAkB,CAAC,KAAK,EAAE,OAAO,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC;IAE5D,MAAM,eAAe,GAAG,kBAAkB,CAAC,MAAM,CAAoB,CAAC;IACtE,MAAM,OAAO,GAAG,kBAAkB,CAAC,eAAe,CAAC,CAAC;IACpD,sBAAsB,CAAC,OAAO,EAAE,IAAI,EAAE,4BAA4B,CAAC,MAAM,CAAC,CAAC,CAAC;IAC5E,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;IAEzB,MAAM,OAAO,GAAG,CAAC,CAAS,EAAE,GAAe,EAAU,EAAE;QACrD,OAAO,CAAC,IAAI,GAAG,2BAA2B,CAAC,GAAG,CAAC,CAAC;QAChD,OAAO,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACtC,CAAC,CAAC;IAEF,MAAM,MAAM,GAAG,mBAAmB,CAAC,eAAmC,CAAC,CAAC;IACxE,iBAAiB,CAAC,MAAM,EAAE;QACxB,IAAI;QACJ,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,OAAO;QACP,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,aAAa,EAAE,IAAI,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK;QACpE,QAAQ,EAAE,IAAI,CAAC,QAAQ;KACxB,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,sBAAsB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACpD,MAAM,MAAM,GAAG,uBAAuB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAErD,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACpB,OAAO,CAAC,SAAS,GAAG,mBAAmB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC9D,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,CAAC;IAED,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,OAAO,CAAC,WAAW,GAAG,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC5D,OAAO,CAAC,SAAS,GAAG,CAAC,CAAC;QACtB,OAAO,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3C,CAAC;IAED,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAE9B,6DAA6D;IAC7D,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;IAC1C,MAAM,aAAa,GAAG,gBAAgB,GAAG,CAAC,CAAC,CAAC,CAAC,wBAAwB,CAAC,MAAM,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChH,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC;IAEnC,OAAO,CAAC,IAAI,EAAE,CAAC;IACf,OAAO,CAAC,SAAS,EAAE,CAAC;IACpB,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,OAAO,CAAC,IAAI,EAAE,CAAC;IAEf,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,eAAe,CAAC,mBAAmB,KAAK,eAAe,CAAC,iBAAiB,EAAE,CAAC;QACxG,8BAA8B,CAC5B,4BAA4B,EAC5B,eAAe,CAAC,mBAAmB,EACnC,eAAe,CAAC,iBAAiB,EACjC,MAAM,CACP,CAAC;QACF,OAAO,CAAC,SAAS,GAAG,eAAe,CAAC;QACpC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,CAAC,KAAK,GAAG,eAAe,CAAC,CAAC;QACvE,KAAK,MAAM,SAAS,IAAI,4BAA4B,EAAE,CAAC;YACrD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,GAAG,aAAa,EAAE,SAAS,CAAC,CAAC,GAAG,aAAa,EAAE,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;QAChH,CAAC;QACD,OAAO,CAAC,WAAW,GAAG,WAAW,CAAC,KAAK,CAAC;IAC1C,CAAC;IAED,OAAO,CAAC,YAAY,GAAG,YAAY,CAAC;IACpC,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC;IAE5B,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;IACtC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAClC,IAAI,KAAK,CAAC,SAAS,GAAG,gBAAgB;YAAE,SAAS;QAEjD,OAAO,CAAC,IAAI,GAAG,2BAA2B,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACzD,OAAO,CAAC,SAAS,GAAG,oBAAoB,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC;QAC/E,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC/D,MAAM,CAAC,GAAG,KAAK,CAAC,OAAO,GAAG,aAAa,CAAC;QACxC,MAAM,CAAC,GAAG,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,MAAM,GAAG,aAAa,CAAC;QAEvD,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;YAC7D,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YACjC,MAAM,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC;YACvD,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,GAAG,OAAO,GAAG,UAAU,EAAE,CAAC,CAAC,CAAC;QAC7D,CAAC;QAED,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAE9B,MAAM,SAAS,GAAG,oBAAoB,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC;QAC7E,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;QAC9D,IAAI,KAAK,CAAC,MAAM,CAAC,SAAS,IAAI,KAAK,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;YACzD,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;YAChC,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;YAC9B,IAAI,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;gBAC3B,OAAO,CAAC,SAAS,EAAE,CAAC;gBACpB,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;gBACrC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;gBACnD,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,CAAC;YACD,IAAI,KAAK,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;gBAC/B,OAAO,CAAC,SAAS,EAAE,CAAC;gBACpB,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;gBAC3C,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;gBACzD,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,CAAC,OAAO,EAAE,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,8BAA8B,CAAC,OAA+B;IAC5E,uBAAuB,GAAG,OAAO,CAAC;AACpC,CAAC;AAED,MAAM,WAAW,GAAG,SAAS,CAAC;AAC9B,MAAM,UAAU,GAAG,CAAC,CAAC;AACrB,MAAM,eAAe,GAAG,IAAI,CAAC;AAC7B,MAAM,eAAe,GAAG,SAAS,CAAC;AAClC,MAAM,4BAA4B,GAA6B,EAAE,CAAC;AAClE,IAAI,uBAAuB,GAAkC,IAAI,CAAC;AAElE,MAAM,CAAC,MAAM,6BAA6B,GAAoB;IAC5D,UAAU,EAAE,gBAAgB;IAC5B,MAAM,EAAE,kBAAkB;CAC3B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"canvasShapeCommands.d.ts","sourceRoot":"","sources":["../src/canvasShapeCommands.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAmB,MAAM,0BAA0B,CAAC;AAOpF,eAAO,MAAM,6BAA6B,EAAE,kBAAkB,CAAC,kBAAkB,CAoBhF,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,kBAAkB,CAAC,WAAW,CAYlE,CAAC;AAEF,eAAO,MAAM,8BAA8B,EAAE,kBAAkB,CAAC,mBAAmB,CA6BlF,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,kBAAkB,CAAC,cAAc,CAgBxE,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,kBAAkB,CAAC,SAAS,CAc9D,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,kBAAkB,CAAC,YAAY,CAWpE,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,kBAAkB,CAAC,aAAa,CActE,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,kBAAkB,CAAC,UAAU,CA+DhE,CAAC;AAEF,eAAO,MAAM,0BAA0B,EAAE,kBAAkB,CAAC,eAAe,CAkC1E,CAAC;AAEF,eAAO,MAAM,+BAA+B,EAAE,kBAAkB,CAAC,oBAAoB,CAoBpF,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,kBAAkB,CAAC,SAAS,CAS9D,CAAC;AAEF,eAAO,MAAM,6BAA6B,EAAE,kBAAkB,CAAC,kBAAkB,CAUhF,CAAC;AAEF,eAAO,MAAM,8BAA8B,EAAE,kBAAkB,CAAC,mBAAmB,CA2BlF,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,kBAAkB,CAAC,WAAW,CAkBlE,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,kBAAkB,CAAC,QAAQ,CAY5D,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,kBAAkB,CAAC,QAAQ,CAS5D,CAAC;AAGF,eAAO,MAAM,0BAA0B,EAAE,kBAAkB,CAAC,GAAG,CAAC,EAe/D,CAAC;AAMF,eAAO,MAAM,iCAAiC,EAAE,kBAAkB,CAAC,GAAG,CAAC,EAGtE,CAAC"}
1
+ {"version":3,"file":"canvasShapeCommands.d.ts","sourceRoot":"","sources":["../src/canvasShapeCommands.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,kBAAkB,EAAmB,MAAM,0BAA0B,CAAC;AAOpF,eAAO,MAAM,6BAA6B,EAAE,kBAAkB,CAAC,kBAAkB,CA4BhF,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,kBAAkB,CAAC,WAAW,CAclE,CAAC;AAEF,eAAO,MAAM,8BAA8B,EAAE,kBAAkB,CAAC,mBAAmB,CA+BlF,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,kBAAkB,CAAC,cAAc,CAkBxE,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,kBAAkB,CAAC,SAAS,CAgB9D,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,kBAAkB,CAAC,YAAY,CAapE,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,kBAAkB,CAAC,aAAa,CAgBtE,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,kBAAkB,CAAC,UAAU,CAwEhE,CAAC;AAEF,eAAO,MAAM,0BAA0B,EAAE,kBAAkB,CAAC,eAAe,CAoC1E,CAAC;AAEF,eAAO,MAAM,+BAA+B,EAAE,kBAAkB,CAAC,oBAAoB,CA0BpF,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,kBAAkB,CAAC,SAAS,CAW9D,CAAC;AAEF,eAAO,MAAM,6BAA6B,EAAE,kBAAkB,CAAC,kBAAkB,CAYhF,CAAC;AAEF,eAAO,MAAM,8BAA8B,EAAE,kBAAkB,CAAC,mBAAmB,CA6BlF,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,kBAAkB,CAAC,WAAW,CAwBlE,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,kBAAkB,CAAC,QAAQ,CAc5D,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,kBAAkB,CAAC,QAAQ,CAW5D,CAAC;AAGF,eAAO,MAAM,0BAA0B,EAAE,kBAAkB,CAAC,GAAG,CAAC,EAe/D,CAAC;AAMF,eAAO,MAAM,iCAAiC,EAAE,kBAAkB,CAAC,GAAG,CAAC,EAGtE,CAAC"}
@@ -1,10 +1,13 @@
1
1
  import { createMatrix, inverseMatrix } from '@flighthq/geometry/contract';
2
+ import { defaultShapeBoundsCubicCurveTo, defaultShapeBoundsCurveTo, defaultShapeBoundsDrawCircle, defaultShapeBoundsDrawEllipse, defaultShapeBoundsDrawPath, defaultShapeBoundsDrawRectangle, defaultShapeBoundsFlush, defaultShapeBoundsLineStyle, defaultShapeBoundsLineTo, defaultShapeBoundsMoveTo, normalizeShapeStrokeMiterLimit, normalizeShapeStrokeWidth, } from '@flighthq/shape/contract';
2
3
  import { getTextureHeight, getTextureWidth } from '@flighthq/texture/contract';
3
4
  const _fillMatrixInverse = createMatrix();
4
5
  import { createBitmapPattern, createGradientPattern } from './canvasFillPattern';
5
6
  import { resolveCanvasTextureWindowSource } from './canvasTextureWindowSource';
6
7
  export const defaultCanvasBeginTextureFill = {
8
+ fillBounds: defaultShapeBoundsFlush,
7
9
  key: 'beginTextureFill',
10
+ strokeBounds: defaultShapeBoundsFlush,
8
11
  draw(context, state, buf, i) {
9
12
  const texture = buf[i];
10
13
  const matrix = buf[i + 1];
@@ -14,8 +17,14 @@ export const defaultCanvasBeginTextureFill = {
14
17
  state.hasFill = pattern !== null;
15
18
  state.fillStyle = pattern ?? '';
16
19
  state.fillMatrix = matrix;
17
- if (matrix !== null) {
18
- inverseMatrix(_fillMatrixInverse, matrix);
20
+ // A singular fill matrix takes the SAME path as no matrix at all: draw the fill untransformed.
21
+ // `inverseMatrix` does not produce NaN here — it zeroes a/b/c/d and negates tx/ty — so ignoring the
22
+ // return would map every fill coordinate through a defined-but-wrong matrix and paint wrong pixels
23
+ // with no error and nothing to search for. Falling back to the existing untransformed path is the
24
+ // honest answer: identity would silently resize and reposition the fill, which is a different wrong
25
+ // answer rather than a neutral one. Importers tally the degenerate matrix at their own boundary,
26
+ // where a diagnostics sink exists; this is the last line of defence for an app-supplied matrix.
27
+ if (matrix !== null && inverseMatrix(_fillMatrixInverse, matrix)) {
19
28
  state.fillMatrixInverse = _fillMatrixInverse;
20
29
  }
21
30
  else {
@@ -27,7 +36,9 @@ export const defaultCanvasBeginTextureFill = {
27
36
  },
28
37
  };
29
38
  export const defaultCanvasBeginFill = {
39
+ fillBounds: defaultShapeBoundsFlush,
30
40
  key: 'beginFill',
41
+ strokeBounds: defaultShapeBoundsFlush,
31
42
  draw(_ctx, state, buf, i) {
32
43
  const color = buf[i];
33
44
  const alpha = buf[i + 1];
@@ -41,7 +52,9 @@ export const defaultCanvasBeginFill = {
41
52
  },
42
53
  };
43
54
  export const defaultCanvasBeginGradientFill = {
55
+ fillBounds: defaultShapeBoundsFlush,
44
56
  key: 'beginGradientFill',
57
+ strokeBounds: defaultShapeBoundsFlush,
45
58
  draw(context, state, buf, i) {
46
59
  const gradientType = buf[i];
47
60
  const colors = buf[i + 1];
@@ -62,7 +75,9 @@ export const defaultCanvasBeginGradientFill = {
62
75
  },
63
76
  };
64
77
  export const defaultCanvasCubicCurveTo = {
78
+ fillBounds: defaultShapeBoundsCubicCurveTo,
65
79
  key: 'cubicCurveTo',
80
+ strokeBounds: defaultShapeBoundsCubicCurveTo,
66
81
  draw(context, state, buf, i) {
67
82
  const controlX1 = buf[i];
68
83
  const controlY1 = buf[i + 1];
@@ -79,7 +94,9 @@ export const defaultCanvasCubicCurveTo = {
79
94
  },
80
95
  };
81
96
  export const defaultCanvasCurveTo = {
97
+ fillBounds: defaultShapeBoundsCurveTo,
82
98
  key: 'curveTo',
99
+ strokeBounds: defaultShapeBoundsCurveTo,
83
100
  draw(context, state, buf, i) {
84
101
  const controlX = buf[i];
85
102
  const controlY = buf[i + 1];
@@ -94,7 +111,9 @@ export const defaultCanvasCurveTo = {
94
111
  },
95
112
  };
96
113
  export const defaultCanvasDrawCircle = {
114
+ fillBounds: defaultShapeBoundsDrawCircle,
97
115
  key: 'drawCircle',
116
+ strokeBounds: defaultShapeBoundsDrawCircle,
98
117
  draw(context, state, buf, i) {
99
118
  const x = buf[i];
100
119
  const y = buf[i + 1];
@@ -106,7 +125,9 @@ export const defaultCanvasDrawCircle = {
106
125
  },
107
126
  };
108
127
  export const defaultCanvasDrawEllipse = {
128
+ fillBounds: defaultShapeBoundsDrawEllipse,
109
129
  key: 'drawEllipse',
130
+ strokeBounds: defaultShapeBoundsDrawEllipse,
110
131
  draw(context, state, buf, i) {
111
132
  const x = buf[i];
112
133
  const y = buf[i + 1];
@@ -121,7 +142,9 @@ export const defaultCanvasDrawEllipse = {
121
142
  },
122
143
  };
123
144
  export const defaultCanvasDrawPath = {
145
+ fillBounds: defaultShapeBoundsDrawPath,
124
146
  key: 'drawPath',
147
+ strokeBounds: defaultShapeBoundsDrawPath,
125
148
  draw(context, state, buf, i) {
126
149
  const commands = buf[i];
127
150
  const data = buf[i + 1];
@@ -180,12 +203,21 @@ export const defaultCanvasDrawPath = {
180
203
  di += 6;
181
204
  state.hasPendingPath = true;
182
205
  break;
206
+ case 7: // CLOSE — consumes no operands, so the data cursor does not advance
207
+ // Without this the verb falls through the switch and the subpath is stroked as if it were open,
208
+ // losing its CLOSING SEGMENT entirely: a stroked rect drew three sides. It reached every backend,
209
+ // not just this one, because scene2d-gl and scene2d-wgpu rasterize through these same commands
210
+ // whenever a stroke is closed — the tessellators deliberately defer closed rings to raster.
211
+ context.closePath();
212
+ break;
183
213
  }
184
214
  }
185
215
  },
186
216
  };
187
217
  export const defaultCanvasDrawRectangle = {
218
+ fillBounds: defaultShapeBoundsDrawRectangle,
188
219
  key: 'drawRectangle',
220
+ strokeBounds: defaultShapeBoundsDrawRectangle,
189
221
  draw(context, state, buf, i) {
190
222
  const x = buf[i];
191
223
  const y = buf[i + 1];
@@ -219,7 +251,9 @@ export const defaultCanvasDrawRectangle = {
219
251
  },
220
252
  };
221
253
  export const defaultCanvasDrawRoundRectangle = {
254
+ fillBounds: defaultShapeBoundsDrawRectangle,
222
255
  key: 'drawRoundRectangle',
256
+ strokeBounds: defaultShapeBoundsDrawRectangle,
223
257
  draw(context, state, buf, i) {
224
258
  const x = buf[i];
225
259
  const y = buf[i + 1];
@@ -227,9 +261,10 @@ export const defaultCanvasDrawRoundRectangle = {
227
261
  const height = buf[i + 3];
228
262
  const ellipseWidth = buf[i + 4];
229
263
  const ellipseHeight = buf[i + 5];
230
- const rx = Math.min(ellipseWidth / 2, width / 2);
231
- const ry = Math.min(ellipseHeight / 2, height / 2);
232
- const radius = Math.min(rx, ry);
264
+ // Canvas accepts signed rectangle dimensions and flips the path, but radii are magnitudes and a
265
+ // negative one throws. Clamp the authored ellipse size against the absolute edge lengths so a
266
+ // backwards rectangle follows the same geometry instead of reaching roundRect with a bad radius.
267
+ const radius = Math.max(0, Math.min(ellipseWidth / 2, ellipseHeight / 2, Math.abs(width) / 2, Math.abs(height) / 2));
233
268
  if (typeof context.roundRect === 'function') {
234
269
  context.roundRect(x, y, width, height, radius);
235
270
  }
@@ -241,7 +276,9 @@ export const defaultCanvasDrawRoundRectangle = {
241
276
  },
242
277
  };
243
278
  export const defaultCanvasEndFill = {
279
+ fillBounds: defaultShapeBoundsFlush,
244
280
  key: 'endFill',
281
+ strokeBounds: defaultShapeBoundsFlush,
245
282
  draw(_ctx, state) {
246
283
  if (state.hasPendingPath)
247
284
  state.flush();
@@ -252,7 +289,9 @@ export const defaultCanvasEndFill = {
252
289
  },
253
290
  };
254
291
  export const defaultCanvasLineTextureStyle = {
292
+ fillBounds: null,
255
293
  key: 'lineTextureStyle',
294
+ strokeBounds: null,
256
295
  draw(context, state, buf, i) {
257
296
  const texture = buf[i];
258
297
  const pattern = createBitmapPattern(context, texture, state.canvasTextureResolvers, state.allowSmoothing);
@@ -263,7 +302,9 @@ export const defaultCanvasLineTextureStyle = {
263
302
  },
264
303
  };
265
304
  export const defaultCanvasLineGradientStyle = {
305
+ fillBounds: null,
266
306
  key: 'lineGradientStyle',
307
+ strokeBounds: null,
267
308
  draw(context, state, buf, i) {
268
309
  const gradientType = buf[i];
269
310
  const colors = buf[i + 1];
@@ -281,14 +322,21 @@ export const defaultCanvasLineGradientStyle = {
281
322
  },
282
323
  };
283
324
  export const defaultCanvasLineStyle = {
325
+ fillBounds: defaultShapeBoundsFlush,
284
326
  key: 'lineStyle',
327
+ strokeBounds: defaultShapeBoundsLineStyle,
285
328
  draw(context, state, buf, i) {
286
- const thickness = buf[i];
329
+ // Canvas ignores nonpositive/nonfinite assignments and retains whichever prior Shape wrote the
330
+ // context. Zero remains Shape's explicit stroke-off sentinel; other invalid widths become 1 and
331
+ // invalid miter limits become Canvas's default 10 so one Shape never inherits another's style.
332
+ const thickness = normalizeShapeStrokeWidth(buf[i]);
287
333
  const color = buf[i + 1];
288
334
  const alpha = buf[i + 2];
289
335
  const caps = buf[i + 5];
290
336
  const joints = buf[i + 6];
291
- const miterLimit = buf[i + 7];
337
+ const miterLimit = normalizeShapeStrokeMiterLimit(buf[i + 7]);
338
+ if (state.hasPendingPath && (state.hasFill || state.hasStroke))
339
+ state.flush();
292
340
  state.hasStroke = thickness > 0;
293
341
  if (state.hasStroke) {
294
342
  state.strokeWidth = thickness;
@@ -300,7 +348,9 @@ export const defaultCanvasLineStyle = {
300
348
  },
301
349
  };
302
350
  export const defaultCanvasLineTo = {
351
+ fillBounds: defaultShapeBoundsLineTo,
303
352
  key: 'lineTo',
353
+ strokeBounds: defaultShapeBoundsLineTo,
304
354
  draw(context, state, buf, i) {
305
355
  const x = buf[i];
306
356
  const y = buf[i + 1];
@@ -313,7 +363,9 @@ export const defaultCanvasLineTo = {
313
363
  },
314
364
  };
315
365
  export const defaultCanvasMoveTo = {
366
+ fillBounds: defaultShapeBoundsMoveTo,
316
367
  key: 'moveTo',
368
+ strokeBounds: defaultShapeBoundsMoveTo,
317
369
  draw(context, state, buf, i) {
318
370
  const x = buf[i];
319
371
  const y = buf[i + 1];
@@ -1 +1 @@
1
- {"version":3,"file":"canvasShapeCommands.js","sourceRoot":"","sources":["../src/canvasShapeCommands.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"canvasShapeCommands.js","sourceRoot":"","sources":["../src/canvasShapeCommands.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"canvasShapeRegistry.d.ts","sourceRoot":"","sources":["../src/canvasShapeRegistry.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AASjG,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,GAAG,kBAAkB,GAAG,IAAI,CAEhG;AAED,wBAAgB,0BAA0B,CAAC,CAAC,SAAS,eAAe,EAClE,KAAK,EAAE,WAAW,EAClB,OAAO,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAC7B,IAAI,CAIN;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,kBAAkB,EAAE,GAAG,IAAI,CAI7G"}
1
+ {"version":3,"file":"canvasShapeRegistry.d.ts","sourceRoot":"","sources":["../src/canvasShapeRegistry.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAUjG,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,GAAG,kBAAkB,GAAG,IAAI,CAGhG;AAED,wBAAgB,0BAA0B,CAAC,CAAC,SAAS,eAAe,EAClE,KAAK,EAAE,WAAW,EAClB,OAAO,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAC7B,IAAI,CAKN;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,kBAAkB,EAAE,GAAG,IAAI,CAI7G"}
@@ -1,4 +1,7 @@
1
+ import { createKeyedTable, withRegistryTableEntry } from '@flighthq/registry/contract';
1
2
  import { getRenderStateRuntime } from '@flighthq/render/contract';
3
+ import { registerShapeBoundsCommand } from '@flighthq/shape/contract';
4
+ import { RegistryEntryState } from '@flighthq/types/contract';
2
5
  // The command set is per render state, like every other kind-keyed handler registry: the state a
3
6
  // caller already holds is what carries the wiring, so `renderCanvasShapeCommands` can reach it from
4
7
  // the top-level call rather than closing over a bag nothing above can inspect or add to. A GPU or DOM
@@ -7,12 +10,14 @@ import { getRenderStateRuntime } from '@flighthq/render/contract';
7
10
  // Returns null rather than undefined for an unregistered key — the ordinary "not wired" answer, not an
8
11
  // error. Callers report the miss through the state's registryMiss seam.
9
12
  export function getCanvasShapeCommand(state, key) {
10
- return getRenderStateRuntime(state).canvasShapeCommandRegistry?.get(key) ?? null;
13
+ const entry = getRenderStateRuntime(state).registries.canvasShapeCommands?.entries.get(key);
14
+ return entry?.state === RegistryEntryState.Bound ? entry.value : null;
11
15
  }
12
16
  export function registerCanvasShapeCommand(state, command) {
17
+ registerShapeBoundsCommand(command);
13
18
  const runtime = getRenderStateRuntime(state);
14
- const registry = (runtime.canvasShapeCommandRegistry ??= new Map());
15
- registry.set(command.key, command);
19
+ const table = runtime.registries.canvasShapeCommands ?? createKeyedTable('CanvasShapeCommand', 'Unregistered');
20
+ runtime.registries.canvasShapeCommands = withRegistryTableEntry(table, command.key, command);
16
21
  }
17
22
  export function registerCanvasShapeCommands(state, commands) {
18
23
  for (const command of commands) {
@@ -1 +1 @@
1
- {"version":3,"file":"canvasShapeRegistry.js","sourceRoot":"","sources":["../src/canvasShapeRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAGlE,iGAAiG;AACjG,oGAAoG;AACpG,sGAAsG;AACtG,iGAAiG;AACjG,EAAE;AACF,uGAAuG;AACvG,wEAAwE;AACxE,MAAM,UAAU,qBAAqB,CAAC,KAAkB,EAAE,GAAW;IACnE,OAAO,qBAAqB,CAAC,KAAK,CAAC,CAAC,0BAA0B,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC;AACnF,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,KAAkB,EAClB,OAA8B;IAE9B,MAAM,OAAO,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;IAC7C,MAAM,QAAQ,GAAG,CAAC,OAAO,CAAC,0BAA0B,KAAK,IAAI,GAAG,EAA8B,CAAC,CAAC;IAChG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,KAAkB,EAAE,QAAuC;IACrG,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,0BAA0B,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC7C,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"canvasShapeRegistry.js","sourceRoot":"","sources":["../src/canvasShapeRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACvF,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAEtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE9D,iGAAiG;AACjG,oGAAoG;AACpG,sGAAsG;AACtG,iGAAiG;AACjG,EAAE;AACF,uGAAuG;AACvG,wEAAwE;AACxE,MAAM,UAAU,qBAAqB,CAAC,KAAkB,EAAE,GAAW;IACnE,MAAM,KAAK,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,mBAAmB,EAAE,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC5F,OAAO,KAAK,EAAE,KAAK,KAAK,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AACxE,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,KAAkB,EAClB,OAA8B;IAE9B,0BAA0B,CAAC,OAAO,CAAC,CAAC;IACpC,MAAM,OAAO,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;IAC7C,MAAM,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC,mBAAmB,IAAI,gBAAgB,CAAC,oBAAoB,EAAE,cAAc,CAAC,CAAC;IAC/G,OAAO,CAAC,UAAU,CAAC,mBAAmB,GAAG,sBAAsB,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;AAC/F,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,KAAkB,EAAE,QAAuC;IACrG,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,0BAA0B,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC7C,CAAC;AACH,CAAC"}
@@ -1,4 +1,4 @@
1
- import { computeRgbHexString } from '@flighthq/color/contract';
1
+ import { computeRgbaCssString } from '@flighthq/color/contract';
2
2
  import { noopRendererData } from '@flighthq/render/contract';
3
3
  import { computeTextFormatFontString, getTextLabelRuntime } from '@flighthq/text/contract';
4
4
  import { computeTextLayout, createTextFormatRange, getTextLayoutResult } from '@flighthq/textlayout/contract';
@@ -31,7 +31,7 @@ export function drawCanvasTextLabel(state, renderProxy) {
31
31
  context.textAlign = 'start';
32
32
  for (const group of result.groups) {
33
33
  context.font = computeTextFormatFontString(group.format);
34
- context.fillStyle = computeRgbHexString(group.format.color ?? 0);
34
+ context.fillStyle = computeRgbaCssString(group.format.color ?? 0x000000ff);
35
35
  const slice = text.substring(group.startIndex, group.endIndex);
36
36
  const x = group.offsetX;
37
37
  // group.ascent = font-size; CSS places the alphabetic baseline at ~80% of the em-size.
@@ -40,7 +40,7 @@ export function drawCanvasTextLabel(state, renderProxy) {
40
40
  context.fillText(slice, x, y);
41
41
  if (group.format.underline) {
42
42
  const lineY = y + group.descent;
43
- context.strokeStyle = computeRgbHexString(group.format.color ?? 0);
43
+ context.strokeStyle = computeRgbaCssString(group.format.color ?? 0x000000ff);
44
44
  context.lineWidth = Math.max(1, (group.format.size ?? 12) / 16);
45
45
  context.beginPath();
46
46
  context.moveTo(x, lineY);
@@ -1 +1 @@
1
- {"version":3,"file":"canvasTextLabel.js","sourceRoot":"","sources":["../src/canvasTextLabel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"canvasTextLabel.js","sourceRoot":"","sources":["../src/canvasTextLabel.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { CanvasRenderState, Scene2DKindUsage, SceneCoverageEntry } from '@flighthq/types/contract';
2
- export declare function explainCanvasScene2DCoverage(out: SceneCoverageEntry[], state: CanvasRenderState, usage: Readonly<Scene2DKindUsage>): void;
1
+ import type { CanvasRenderState, Scene2DKindUsage, SceneCoverageCatalog, SceneCoverageEntry } from '@flighthq/types/contract';
2
+ export declare function explainCanvasScene2DCoverage(out: SceneCoverageEntry[], state: CanvasRenderState, usage: Readonly<Scene2DKindUsage>, catalog: SceneCoverageCatalog): void;
3
3
  export declare function hasCanvasScene2DCoverage(state: CanvasRenderState, usage: Readonly<Scene2DKindUsage>): boolean;
4
4
  //# sourceMappingURL=explainCanvasScene2DCoverage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"explainCanvasScene2DCoverage.d.ts","sourceRoot":"","sources":["../src/explainCanvasScene2DCoverage.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAYxG,wBAAgB,4BAA4B,CAC1C,GAAG,EAAE,kBAAkB,EAAE,EACzB,KAAK,EAAE,iBAAiB,EACxB,KAAK,EAAE,QAAQ,CAAC,gBAAgB,CAAC,GAChC,IAAI,CAGN;AAID,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,iBAAiB,EAAE,KAAK,EAAE,QAAQ,CAAC,gBAAgB,CAAC,GAAG,OAAO,CAG7G"}
1
+ {"version":3,"file":"explainCanvasScene2DCoverage.d.ts","sourceRoot":"","sources":["../src/explainCanvasScene2DCoverage.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,iBAAiB,EAGjB,gBAAgB,EAChB,oBAAoB,EACpB,kBAAkB,EACnB,MAAM,0BAA0B,CAAC;AAalC,wBAAgB,4BAA4B,CAC1C,GAAG,EAAE,kBAAkB,EAAE,EACzB,KAAK,EAAE,iBAAiB,EACxB,KAAK,EAAE,QAAQ,CAAC,gBAAgB,CAAC,EACjC,OAAO,EAAE,oBAAoB,GAC5B,IAAI,CAGN;AAID,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,iBAAiB,EAAE,KAAK,EAAE,QAAQ,CAAC,gBAAgB,CAAC,GAAG,OAAO,CAG7G"}