@flighthq/swf 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.
Files changed (61) hide show
  1. package/dist/contract.d.ts +2 -0
  2. package/dist/contract.d.ts.map +1 -1
  3. package/dist/contract.js +2 -0
  4. package/dist/contract.js.map +1 -1
  5. package/dist/index.d.ts +1 -0
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +1 -0
  8. package/dist/index.js.map +1 -1
  9. package/dist/swfBitmap.d.ts +2 -1
  10. package/dist/swfBitmap.d.ts.map +1 -1
  11. package/dist/swfBitmap.js +30 -3
  12. package/dist/swfBitmap.js.map +1 -1
  13. package/dist/swfDocument.d.ts +5 -5
  14. package/dist/swfDocument.d.ts.map +1 -1
  15. package/dist/swfDocument.js +404 -108
  16. package/dist/swfDocument.js.map +1 -1
  17. package/dist/swfEditText.d.ts.map +1 -1
  18. package/dist/swfEditText.js +6 -4
  19. package/dist/swfEditText.js.map +1 -1
  20. package/dist/swfFilter.d.ts +2 -2
  21. package/dist/swfFilter.d.ts.map +1 -1
  22. package/dist/swfFilter.js +24 -2
  23. package/dist/swfFilter.js.map +1 -1
  24. package/dist/swfFrameAction.d.ts +2 -2
  25. package/dist/swfFrameAction.d.ts.map +1 -1
  26. package/dist/swfFrameAction.js +13 -6
  27. package/dist/swfFrameAction.js.map +1 -1
  28. package/dist/swfFrameActionTestHelper.d.ts +2 -0
  29. package/dist/swfFrameActionTestHelper.d.ts.map +1 -0
  30. package/dist/swfFrameActionTestHelper.js +99 -0
  31. package/dist/swfFrameActionTestHelper.js.map +1 -0
  32. package/dist/swfImageDecoder.d.ts +4 -0
  33. package/dist/swfImageDecoder.d.ts.map +1 -0
  34. package/dist/swfImageDecoder.js +21 -0
  35. package/dist/swfImageDecoder.js.map +1 -0
  36. package/dist/swfMorphShape.d.ts +2 -1
  37. package/dist/swfMorphShape.d.ts.map +1 -1
  38. package/dist/swfMorphShape.js +18 -7
  39. package/dist/swfMorphShape.js.map +1 -1
  40. package/dist/swfShape.d.ts +2 -2
  41. package/dist/swfShape.d.ts.map +1 -1
  42. package/dist/swfShape.js +26 -7
  43. package/dist/swfShape.js.map +1 -1
  44. package/dist/swfShapeTestHelper.d.ts +1 -0
  45. package/dist/swfShapeTestHelper.d.ts.map +1 -1
  46. package/dist/swfShapeTestHelper.js +14 -0
  47. package/dist/swfShapeTestHelper.js.map +1 -1
  48. package/dist/swfText.d.ts +2 -2
  49. package/dist/swfText.d.ts.map +1 -1
  50. package/dist/swfText.js +15 -2
  51. package/dist/swfText.js.map +1 -1
  52. package/package.json +25 -22
  53. package/src/swfBitmap.test.ts +106 -5
  54. package/src/swfDocument.test.ts +1639 -125
  55. package/src/swfEditText.test.ts +45 -5
  56. package/src/swfFilter.test.ts +53 -0
  57. package/src/swfFrameAction.test.ts +26 -97
  58. package/src/swfImageDecoder.test.ts +73 -0
  59. package/src/swfImageResources.test.ts +14 -17
  60. package/src/swfMorphShape.test.ts +18 -0
  61. package/src/swfShape.test.ts +47 -0
@@ -1,6 +1,7 @@
1
1
  import { readAbcFile, readAbcInstructions } from '@flighthq/abc/contract';
2
+ import { reportImportDiagnostic } from '@flighthq/importdiagnostics/contract';
2
3
  import { gotoAndPlayMovieClip, nextFrameMovieClip, playMovieClip, prevFrameMovieClip, stopMovieClip, } from '@flighthq/movieclip/contract';
3
- import { AbcOpcode, AbcTraitKind } from '@flighthq/types/contract';
4
+ import { AbcOpcode, AbcTraitKind, ImportDiagnosticSeverity } from '@flighthq/types/contract';
4
5
  // Recovers the timeline commands an AVM2 script declares, keyed by the class name that `SymbolClass` binds
5
6
  // to a character. AVM2 has no playback opcodes: a compiler turns frame scripts into an `addFrameScript`
6
7
  // call in the generated class constructor, pairing a zero-based frame index with a function whose body
@@ -10,7 +11,7 @@ import { AbcOpcode, AbcTraitKind } from '@flighthq/types/contract';
10
11
  // The same all-or-nothing rule as AVM1 applies to each frame's body: it is recognized only when the whole
11
12
  // body is one playback call and the scaffolding around it, so a body doing real work is declined rather
12
13
  // than partially obeyed.
13
- export function readSwfAbcFrameScripts(source) {
14
+ export function readSwfAbcFrameScripts(source, diagnostics) {
14
15
  const file = readAbcFile(source);
15
16
  if (file === null)
16
17
  return null;
@@ -32,7 +33,7 @@ export function readSwfAbcFrameScripts(source) {
32
33
  if (trait.kind === AbcTraitKind.Method)
33
34
  methodsByName.set(resolveAbcName(file, trait.name), trait.methodIndex);
34
35
  }
35
- const frames = readSwfAbcFrameScriptCalls(file, constructor, bodies, methodsByName);
36
+ const frames = readSwfAbcFrameScriptCalls(file, constructor, bodies, methodsByName, diagnostics);
36
37
  if (frames.size > 0)
37
38
  byClass.set(resolveAbcQualifiedName(file, instance.name), frames);
38
39
  }
@@ -137,7 +138,7 @@ export function readSwfFrameActions(reader) {
137
138
  // Walks a constructor for `addFrameScript(frame, handler, ...)` calls. The arguments arrive on the operand
138
139
  // stack, so the pushes leading up to each call are tracked and taken in pairs — a zero-based frame index
139
140
  // and the method a `newfunction` put there.
140
- function readSwfAbcFrameScriptCalls(file, constructor, bodies, methodsByName) {
141
+ function readSwfAbcFrameScriptCalls(file, constructor, bodies, methodsByName, diagnostics) {
141
142
  const frames = new Map();
142
143
  const stack = [];
143
144
  for (const instruction of constructor) {
@@ -154,8 +155,14 @@ function readSwfAbcFrameScriptCalls(file, constructor, bodies, methodsByName) {
154
155
  const body = bodies.get(handler.value);
155
156
  const commands = body === undefined ? null : readSwfAbcCommands(file, body);
156
157
  // The frame index the call carries is zero-based; every frame number elsewhere is one-based.
157
- if (commands !== null)
158
- frames.set(frame.value + 1, createSwfFrameScript(commands));
158
+ if (commands === null) {
159
+ // One report for both causes, because the caller loses the same thing either way: a frame the
160
+ // file bound a script to has none. `reason` separates a method body that did not parse from a
161
+ // body that parsed into work this importer declines to obey.
162
+ reportImportDiagnostic(diagnostics, ImportDiagnosticSeverity.Drop, 'swf.abc-frame-script-declined', 'readSwfAbcFrameScriptCalls', { frame: frame.value + 1, reason: body === undefined ? 'method-body-unreadable' : 'commands-declined' });
163
+ continue;
164
+ }
165
+ frames.set(frame.value + 1, createSwfFrameScript(commands));
159
166
  }
160
167
  continue;
161
168
  }
@@ -1 +1 @@
1
- {"version":3,"file":"swfFrameAction.js","sourceRoot":"","sources":["../src/swfFrameAction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"swfFrameAction.js","sourceRoot":"","sources":["../src/swfFrameAction.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function buildFrameScriptAbc(handlerNameIndex?: number): Uint8Array;
2
+ //# sourceMappingURL=swfFrameActionTestHelper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"swfFrameActionTestHelper.d.ts","sourceRoot":"","sources":["../src/swfFrameActionTestHelper.ts"],"names":[],"mappings":"AAKA,wBAAgB,mBAAmB,CAAC,gBAAgB,SAAI,GAAG,UAAU,CA+FpE"}
@@ -0,0 +1,99 @@
1
+ // Builds a minimal AVM2 container whose class constructor calls addFrameScript(0, this.frame1). Shared
2
+ // because a wire can only be shown to fire from a REAL import path if the full path has a valid payload
3
+ // to carry, and building one by hand in each test file is how two tests end up proving different things.
4
+ // `handlerNameIndex` selects the name the handler body calls: 3 is `stop`, which the importer obeys;
5
+ // anything else parses and is then declined.
6
+ export function buildFrameScriptAbc(handlerNameIndex = 3) {
7
+ const bytes = [];
8
+ const u8 = (v) => void bytes.push(v & 0xff);
9
+ const u16 = (v) => {
10
+ u8(v);
11
+ u8(v >> 8);
12
+ };
13
+ const u30 = (v) => {
14
+ let r = v;
15
+ do {
16
+ const b = r % 0x80;
17
+ r = Math.floor(r / 0x80);
18
+ u8(r > 0 ? b | 0x80 : b);
19
+ } while (r > 0);
20
+ };
21
+ const str = (v) => {
22
+ const e = new TextEncoder().encode(v);
23
+ u30(e.length);
24
+ for (const b of e)
25
+ u8(b);
26
+ };
27
+ u16(16);
28
+ u16(46);
29
+ u30(1); // no integers
30
+ u30(1); // no unsigned integers
31
+ u30(1); // no doubles
32
+ u30(6); // strings: Main, addFrameScript, stop, frame1, ''
33
+ str('Main');
34
+ str('addFrameScript');
35
+ str('stop');
36
+ str('frame1');
37
+ str('');
38
+ u30(2); // one namespace: public, named by the empty string
39
+ u8(0x16);
40
+ u30(5);
41
+ u30(1); // no namespace sets
42
+ u30(5); // four qualified names, one per string above
43
+ for (let i = 1; i <= 4; i++) {
44
+ u8(0x07);
45
+ u30(1);
46
+ u30(i);
47
+ }
48
+ u30(2); // two methods: the constructor and frame1
49
+ for (let i = 0; i < 2; i++) {
50
+ u30(0);
51
+ u30(0);
52
+ u30(0);
53
+ u8(0);
54
+ }
55
+ u30(0); // no metadata
56
+ u30(1); // one class
57
+ u30(1); // instance name -> Main
58
+ u30(1); // super name
59
+ u8(0);
60
+ u30(0); // no interfaces
61
+ u30(0); // instance initializer is method 0
62
+ u30(1); // one trait: the frame1 method
63
+ u30(4);
64
+ u8(0x01); // method trait
65
+ u30(0); // dispatch id
66
+ u30(1); // method index
67
+ u30(0); // class initializer
68
+ u30(0); // no class traits
69
+ u30(1); // one script
70
+ u30(0);
71
+ u30(0);
72
+ u30(2); // two method bodies
73
+ // The constructor: addFrameScript(0, this.frame1)
74
+ const constructorCode = [0xd0, 0x30, 0x5d, 0x02, 0x24, 0x00, 0xd0, 0x66, 0x04, 0x4f, 0x02, 0x02, 0x47];
75
+ u30(0);
76
+ u30(3);
77
+ u30(1);
78
+ u30(1);
79
+ u30(2);
80
+ u30(constructorCode.length);
81
+ for (const b of constructorCode)
82
+ u8(b);
83
+ u30(0);
84
+ u30(0);
85
+ // frame1: stop()
86
+ const handlerCode = [0xd0, 0x30, 0x5d, handlerNameIndex, 0x4f, handlerNameIndex, 0x00, 0x47];
87
+ u30(1);
88
+ u30(2);
89
+ u30(1);
90
+ u30(1);
91
+ u30(2);
92
+ u30(handlerCode.length);
93
+ for (const b of handlerCode)
94
+ u8(b);
95
+ u30(0);
96
+ u30(0);
97
+ return new Uint8Array(bytes);
98
+ }
99
+ //# sourceMappingURL=swfFrameActionTestHelper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"swfFrameActionTestHelper.js","sourceRoot":"","sources":["../src/swfFrameActionTestHelper.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export declare function registerSwfImageDecoders(): void;
2
+ export declare const SWF_LOSSLESS_ALPHA_MIME_TYPE = "image/x-swf-lossless-alpha";
3
+ export declare const SWF_LOSSLESS_MIME_TYPE = "image/x-swf-lossless";
4
+ //# sourceMappingURL=swfImageDecoder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"swfImageDecoder.d.ts","sourceRoot":"","sources":["../src/swfImageDecoder.ts"],"names":[],"mappings":"AASA,wBAAgB,wBAAwB,IAAI,IAAI,CAG/C;AAaD,eAAO,MAAM,4BAA4B,+BAA+B,CAAC;AACzE,eAAO,MAAM,sBAAsB,yBAAyB,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { convertBitmapAlphaType } from '@flighthq/bitmap/contract';
2
+ import { registerImageDecoder } from '@flighthq/image-codec/contract';
3
+ import { createSwfLosslessBitmap } from './swfBitmap';
4
+ // Explicit opt-in for the two container-native raster formats SWF carries. Parsing never calls this:
5
+ // it emits ordinary EmbeddedImageResourceReference data, and the caller assembles the decoder registry
6
+ // before asking the async resource layer to resolve those references.
7
+ export function registerSwfImageDecoders() {
8
+ registerImageDecoder(SWF_LOSSLESS_MIME_TYPE, (bytes, options) => decodeSwfLosslessImage(bytes, false, options));
9
+ registerImageDecoder(SWF_LOSSLESS_ALPHA_MIME_TYPE, (bytes, options) => decodeSwfLosslessImage(bytes, true, options));
10
+ }
11
+ async function decodeSwfLosslessImage(bytes, hasAlpha, options) {
12
+ const bitmap = createSwfLosslessBitmap(bytes, hasAlpha);
13
+ if (bitmap === null)
14
+ throw new Error('Could not unpack SWF lossless image payload');
15
+ if (hasAlpha && options?.premultiplyAlpha !== true)
16
+ convertBitmapAlphaType(bitmap, 'straight');
17
+ return { data: bitmap.data, height: bitmap.height, width: bitmap.width };
18
+ }
19
+ export const SWF_LOSSLESS_ALPHA_MIME_TYPE = 'image/x-swf-lossless-alpha';
20
+ export const SWF_LOSSLESS_MIME_TYPE = 'image/x-swf-lossless';
21
+ //# sourceMappingURL=swfImageDecoder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"swfImageDecoder.js","sourceRoot":"","sources":["../src/swfImageDecoder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAGtE,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAEtD,qGAAqG;AACrG,uGAAuG;AACvG,sEAAsE;AACtE,MAAM,UAAU,wBAAwB;IACtC,oBAAoB,CAAC,sBAAsB,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,sBAAsB,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;IAChH,oBAAoB,CAAC,4BAA4B,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,sBAAsB,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;AACvH,CAAC;AAED,KAAK,UAAU,sBAAsB,CACnC,KAA2B,EAC3B,QAAiB,EACjB,OAAsC;IAEtC,MAAM,MAAM,GAAG,uBAAuB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACxD,IAAI,MAAM,KAAK,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IACpF,IAAI,QAAQ,IAAI,OAAO,EAAE,gBAAgB,KAAK,IAAI;QAAE,sBAAsB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAC/F,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;AAC3E,CAAC;AAED,MAAM,CAAC,MAAM,4BAA4B,GAAG,4BAA4B,CAAC;AACzE,MAAM,CAAC,MAAM,sBAAsB,GAAG,sBAAsB,CAAC"}
@@ -1,6 +1,7 @@
1
+ import type { ImportDiagnostic } from '@flighthq/types/contract';
1
2
  import type { MorphShape, Texture2D } from '@flighthq/types/contract';
2
3
  import { SwfReader } from './swfReader';
3
- export declare function createSwfMorphShape(reader: SwfReader, version: number, resolveBitmapFill?: SwfMorphBitmapFillResolver | null): MorphShape | null;
4
+ export declare function createSwfMorphShape(reader: SwfReader, version: number, resolveBitmapFill?: SwfMorphBitmapFillResolver | null, diagnostics?: ImportDiagnostic[]): MorphShape | null;
4
5
  type SwfMorphBitmapFillResolver = (characterId: number, repeat: boolean, smoothed: boolean) => Texture2D | null;
5
6
  export {};
6
7
  //# sourceMappingURL=swfMorphShape.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"swfMorphShape.d.ts","sourceRoot":"","sources":["../src/swfMorphShape.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAKV,UAAU,EAIV,SAAS,EACV,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAexC,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,MAAM,EACf,iBAAiB,GAAE,0BAA0B,GAAG,IAAW,GAC1D,UAAU,GAAG,IAAI,CAyBnB;AA+aD,KAAK,0BAA0B,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,KAAK,SAAS,GAAG,IAAI,CAAC"}
1
+ {"version":3,"file":"swfMorphShape.d.ts","sourceRoot":"","sources":["../src/swfMorphShape.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,KAAK,EAKV,UAAU,EAIV,SAAS,EACV,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAexC,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,MAAM,EACf,iBAAiB,GAAE,0BAA0B,GAAG,IAAW,EAC3D,WAAW,CAAC,EAAE,gBAAgB,EAAE,GAC/B,UAAU,GAAG,IAAI,CAsCnB;AAkbD,KAAK,0BAA0B,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,KAAK,SAAS,GAAG,IAAI,CAAC"}
@@ -1,6 +1,8 @@
1
1
  import { createMatrix } from '@flighthq/geometry/contract';
2
+ import { reportImportDiagnostic } from '@flighthq/importdiagnostics/contract';
2
3
  import { createPathMorph } from '@flighthq/path/contract';
3
4
  import { appendMorphShapeBeginFill, appendMorphShapeBeginGradientFill, appendMorphShapeBeginTextureFill, appendMorphShapeLineStyle, appendMorphShapePath, createMorphShape, } from '@flighthq/shape/contract';
5
+ import { ImportDiagnosticSeverity } from '@flighthq/types/contract';
4
6
  import { SwfReader } from './swfReader';
5
7
  import { readSwfMorphShapePaths } from './swfShape';
6
8
  // Decodes a DefineMorphShape/2 body into a MorphShape.
@@ -15,7 +17,7 @@ import { readSwfMorphShapePaths } from './swfShape';
15
17
  // The reader must be positioned immediately after the character id and the bounds the caller already
16
18
  // read. Returns null when the body does not decode, so an unreadable morph costs its own definition and
17
19
  // nothing else.
18
- export function createSwfMorphShape(reader, version, resolveBitmapFill = null) {
20
+ export function createSwfMorphShape(reader, version, resolveBitmapFill = null, diagnostics) {
19
21
  // MorphShape2 adds per-endpoint edge bounds and the scaling-stroke flags before the edge offset.
20
22
  if (version >= 2) {
21
23
  if (!skipSwfMorphRectangle(reader) || !skipSwfMorphRectangle(reader))
@@ -38,11 +40,18 @@ export function createSwfMorphShape(reader, version, resolveBitmapFill = null) {
38
40
  const paths = readSwfMorphShapePaths(new SwfReader(reader.source, reader.pos, endEdgesStart), new SwfReader(reader.source, endEdgesStart, reader.end));
39
41
  if (paths === null)
40
42
  return null;
41
- return createSwfMorphShapeNode(fills, lines, paths.fills, paths.lines);
43
+ // A declined pair leaves a shape that still draws, so the count is the only thing that separates a
44
+ // morph that decoded whole from one carrying fewer paths than it was authored with.
45
+ const declined = { count: 0 };
46
+ const node = createSwfMorphShapeNode(fills, lines, paths.fills, paths.lines, declined);
47
+ if (declined.count > 0) {
48
+ reportImportDiagnostic(diagnostics, ImportDiagnosticSeverity.Drop, 'swf.morph-path-pair-declined', 'createSwfMorphShape', { lostPairs: declined.count });
49
+ }
50
+ return node;
42
51
  }
43
- function createSwfMorphShapeNode(fills, lines, fillPaths, linePaths) {
44
- const paired = pairSwfMorphPaths(fillPaths);
45
- const pairedLines = pairSwfMorphPaths(linePaths);
52
+ function createSwfMorphShapeNode(fills, lines, fillPaths, linePaths, declined) {
53
+ const paired = pairSwfMorphPaths(fillPaths, declined);
54
+ const pairedLines = pairSwfMorphPaths(linePaths, declined);
46
55
  if (paired.length === 0 && pairedLines.length === 0)
47
56
  return null;
48
57
  // The node is created around the first morph and every morph — including that one — is appended under
@@ -83,12 +92,14 @@ function appendSwfMorphFillStyle(shape, fill) {
83
92
  // Prepares each style index's endpoint pair. The two paths already have identical structure, so the morph
84
93
  // builder has nothing to reconcile; a pair it still declines is dropped, leaving the rest of the shape
85
94
  // intact rather than failing the definition.
86
- function pairSwfMorphPaths(paths) {
95
+ function pairSwfMorphPaths(paths, declined) {
87
96
  const pairs = [];
88
97
  for (const index of [...paths.keys()].sort(compareSwfMorphIndex)) {
89
98
  const pair = paths.get(index);
90
99
  const morph = createPathMorph(pair.start, pair.end);
91
- if (morph !== null)
100
+ if (morph === null)
101
+ declined.count++;
102
+ else
92
103
  pairs.push({ index, morph });
93
104
  }
94
105
  return pairs;
@@ -1 +1 @@
1
- {"version":3,"file":"swfMorphShape.js","sourceRoot":"","sources":["../src/swfMorphShape.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"swfMorphShape.js","sourceRoot":"","sources":["../src/swfMorphShape.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import type { Shape, Texture2D } from '@flighthq/types/contract';
2
- import type { SwfMorphShapePaths } from '@flighthq/types/contract';
2
+ import type { ImportDiagnostic, SwfMorphShapePaths } from '@flighthq/types/contract';
3
3
  import type { SwfReader } from './swfReader';
4
4
  export declare function createSwfGlyphShape(reader: SwfReader): Shape | null;
5
- export declare function createSwfShape(reader: SwfReader, version: number, resolveBitmapFill?: SwfBitmapFillResolver | null): Shape | null;
5
+ export declare function createSwfShape(reader: SwfReader, version: number, resolveBitmapFill?: SwfBitmapFillResolver | null, diagnostics?: ImportDiagnostic[]): Shape | null;
6
6
  export declare function readSwfMorphShapePaths(startReader: SwfReader, endReader: SwfReader): SwfMorphShapePaths | null;
7
7
  type SwfBitmapFillResolver = (characterId: number, repeat: boolean, smoothed: boolean) => Texture2D | null;
8
8
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"swfShape.d.ts","sourceRoot":"","sources":["../src/swfShape.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAMV,KAAK,EAEL,SAAS,EACV,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAEnE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAM7C,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,GAAG,KAAK,GAAG,IAAI,CAEnE;AAmBD,wBAAgB,cAAc,CAC5B,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,MAAM,EACf,iBAAiB,GAAE,qBAAqB,GAAG,IAAW,GACrD,KAAK,GAAG,IAAI,CAGd;AAmFD,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,GAAG,kBAAkB,GAAG,IAAI,CAwE9G;AAutBD,KAAK,qBAAqB,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,KAAK,SAAS,GAAG,IAAI,CAAC"}
1
+ {"version":3,"file":"swfShape.d.ts","sourceRoot":"","sources":["../src/swfShape.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAMV,KAAK,EAEL,SAAS,EACV,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAErF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAM7C,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,GAAG,KAAK,GAAG,IAAI,CAEnE;AAmBD,wBAAgB,cAAc,CAC5B,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,MAAM,EACf,iBAAiB,GAAE,qBAAqB,GAAG,IAAW,EACtD,WAAW,CAAC,EAAE,gBAAgB,EAAE,GAC/B,KAAK,GAAG,IAAI,CAGd;AAmFD,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,GAAG,kBAAkB,GAAG,IAAI,CAwE9G;AAwuBD,KAAK,qBAAqB,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,KAAK,SAAS,GAAG,IAAI,CAAC"}
package/dist/swfShape.js CHANGED
@@ -1,6 +1,8 @@
1
- import { createMatrix } from '@flighthq/geometry/contract';
1
+ import { createMatrix, inverseMatrix } from '@flighthq/geometry/contract';
2
+ import { reportImportDiagnostic } from '@flighthq/importdiagnostics/contract';
2
3
  import { appendPathCurveTo, appendPathLineTo, appendPathMoveTo, createPath } from '@flighthq/path/contract';
3
4
  import { appendShapeBeginFill, appendShapeBeginGradientFill, appendShapeBeginTextureFill, appendShapeCurveTo, appendShapeEndFill, appendShapeLineStyle, appendShapeLineTo, appendShapeMoveTo, createShape, } from '@flighthq/shape/contract';
5
+ import { ImportDiagnosticSeverity } from '@flighthq/types/contract';
4
6
  // Decodes a glyph outline. A glyph is a bare SHAPE rather than a SHAPEWITHSTYLE — a font's glyphs carry
5
7
  // no styles of their own, because the colour belongs to whatever text record draws the glyph. So the
6
8
  // decoder is handed a single implicit fill (the one every glyph edge references) and the emitted geometry
@@ -25,8 +27,8 @@ export function createSwfGlyphShape(reader) {
25
27
  // waiting on its image resource, which is what lets shape decoding stay synchronous while decoding does
26
28
  // not. Resolution belongs to the caller rather than to an out-parameter this function allocates into,
27
29
  // because only the caller can hand back the texture it already made for that character and sampling.
28
- export function createSwfShape(reader, version, resolveBitmapFill = null) {
29
- const styles = readSwfShapeStyles(reader, version, version >= 3, resolveBitmapFill);
30
+ export function createSwfShape(reader, version, resolveBitmapFill = null, diagnostics) {
31
+ const styles = readSwfShapeStyles(reader, version, version >= 3, resolveBitmapFill, diagnostics);
30
32
  return styles === null ? null : decodeSwfShapeBody(reader, version, styles, resolveBitmapFill);
31
33
  }
32
34
  function decodeSwfShapeBody(reader, version, styles, resolveBitmapFill = null) {
@@ -429,7 +431,7 @@ function readSwfShapeEdge(reader, state) {
429
431
  }
430
432
  return true;
431
433
  }
432
- function readSwfShapeFillStyle(reader, version, hasAlpha, resolveBitmapFill) {
434
+ function readSwfShapeFillStyle(reader, version, hasAlpha, resolveBitmapFill, diagnostics) {
433
435
  const type = reader.readUint8();
434
436
  if (type === FILL_SOLID) {
435
437
  const solid = readSwfShapeColor(reader, hasAlpha);
@@ -487,7 +489,20 @@ function readSwfShapeFillStyle(reader, version, hasAlpha, resolveBitmapFill) {
487
489
  // A bitmap fill's matrix maps the image's PIXEL space into shape space, but SWF writes shape space in
488
490
  // twips, so an unscaled 1:1 fill arrives as a scale of 20. readSwfShapeMatrix already converted the
489
491
  // translation; the linear part converts here, leaving a pixel-to-pixel matrix.
490
- fill.textureMatrix = createMatrix(matrix.a / TWIPS_PER_PIXEL, matrix.b / TWIPS_PER_PIXEL, matrix.c / TWIPS_PER_PIXEL, matrix.d / TWIPS_PER_PIXEL, matrix.tx, matrix.ty);
492
+ const textureMatrix = createMatrix(matrix.a / TWIPS_PER_PIXEL, matrix.b / TWIPS_PER_PIXEL, matrix.c / TWIPS_PER_PIXEL, matrix.d / TWIPS_PER_PIXEL, matrix.tx, matrix.ty);
493
+ // A bitmap fill's matrix comes from the file, so it can be singular — a zero scale is what an
494
+ // authoring tool writes for a collapsed fill. Validated HERE, where it enters, because the renderer
495
+ // that eventually inverts it gets a defined-but-wrong matrix rather than NaN (a/b/c/d zeroed,
496
+ // tx/ty negated) and paints wrong pixels with no error raised. Dropping it to `null` is the same
497
+ // untransformed path a fill with no matrix already takes, rather than a new state.
498
+ if (inverseMatrix(_textureMatrixScratch, textureMatrix)) {
499
+ fill.textureMatrix = textureMatrix;
500
+ }
501
+ else {
502
+ reportImportDiagnostic(diagnostics, ImportDiagnosticSeverity.Recover, 'swf.fill-matrix-singular', 'parseSwf', {
503
+ character: characterId,
504
+ });
505
+ }
491
506
  return fill;
492
507
  }
493
508
  return null;
@@ -538,6 +553,9 @@ function readSwfShapeLineStyle(reader, version, hasAlpha, resolveBitmapFill) {
538
553
  // A fill-backed stroke carries a whole FILLSTYLE where its color would be. The style is consumed so the
539
554
  // record stays aligned, and the stroke falls back to opaque black rather than being dropped.
540
555
  if (hasFill) {
556
+ // No diagnostics sink threaded here on purpose: a fill-backed stroke keeps only the fill's colour and
557
+ // opacity and discards its texture matrix, so a singular one has nothing to affect and reporting it
558
+ // would name a defect the reader cannot observe.
541
559
  const fill = readSwfShapeFillStyle(reader, version, hasAlpha, resolveBitmapFill);
542
560
  if (fill === null)
543
561
  return null;
@@ -598,13 +616,13 @@ function readSwfShapeStyleCount(reader, version) {
598
616
  const count = reader.readUint8();
599
617
  return count === EXTENDED_STYLE_COUNT && version >= 2 ? reader.readUint16() : count;
600
618
  }
601
- function readSwfShapeStyles(reader, version, hasAlpha, resolveBitmapFill) {
619
+ function readSwfShapeStyles(reader, version, hasAlpha, resolveBitmapFill, diagnostics) {
602
620
  const fillCount = readSwfShapeStyleCount(reader, version);
603
621
  if (!reader.valid || fillCount > MAX_SHAPE_STYLES)
604
622
  return null;
605
623
  const fills = [];
606
624
  for (let i = 0; i < fillCount; i++) {
607
- const fill = readSwfShapeFillStyle(reader, version, hasAlpha, resolveBitmapFill);
625
+ const fill = readSwfShapeFillStyle(reader, version, hasAlpha, resolveBitmapFill, diagnostics);
608
626
  if (fill === null)
609
627
  return null;
610
628
  fills.push(fill);
@@ -733,4 +751,5 @@ const STATE_LINE_STYLE = 0x08;
733
751
  const STATE_MOVE_TO = 0x01;
734
752
  const STATE_NEW_STYLES = 0x10;
735
753
  const TWIPS_PER_PIXEL = 20;
754
+ const _textureMatrixScratch = createMatrix();
736
755
  //# sourceMappingURL=swfShape.js.map