distark-render 1.1.11 → 1.1.12

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 (164) hide show
  1. package/README.md +0 -0
  2. package/assets/presets/jumping-jack.json +194 -0
  3. package/assets/tank.json +0 -0
  4. package/dist/cli/animate.d.ts +0 -0
  5. package/dist/cli/animate.d.ts.map +0 -0
  6. package/dist/cli/animate.js +0 -0
  7. package/dist/cli/animate.js.map +0 -0
  8. package/dist/cli/diff.d.ts +0 -0
  9. package/dist/cli/diff.d.ts.map +0 -0
  10. package/dist/cli/diff.js +0 -0
  11. package/dist/cli/diff.js.map +0 -0
  12. package/dist/cli/distark-check.d.ts +0 -0
  13. package/dist/cli/distark-check.d.ts.map +0 -0
  14. package/dist/cli/distark-check.js +16 -16
  15. package/dist/cli/distark-check.js.map +0 -0
  16. package/dist/cli/query.d.ts +0 -0
  17. package/dist/cli/query.d.ts.map +0 -0
  18. package/dist/cli/query.js +0 -0
  19. package/dist/cli/query.js.map +0 -0
  20. package/dist/cli/record.d.ts +0 -0
  21. package/dist/cli/record.d.ts.map +0 -0
  22. package/dist/cli/record.js +0 -0
  23. package/dist/cli/record.js.map +0 -0
  24. package/dist/cli/render.d.ts +0 -0
  25. package/dist/cli/render.d.ts.map +0 -0
  26. package/dist/cli/render.js +0 -0
  27. package/dist/cli/render.js.map +0 -0
  28. package/dist/cli/scene.d.ts +12 -2
  29. package/dist/cli/scene.d.ts.map +1 -1
  30. package/dist/cli/scene.js +235 -4
  31. package/dist/cli/scene.js.map +1 -1
  32. package/dist/cli/shared.d.ts +0 -0
  33. package/dist/cli/shared.d.ts.map +0 -0
  34. package/dist/cli/shared.js +0 -0
  35. package/dist/cli/shared.js.map +0 -0
  36. package/dist/cli/test.d.ts +0 -0
  37. package/dist/cli/test.d.ts.map +0 -0
  38. package/dist/cli/test.js +0 -0
  39. package/dist/cli/test.js.map +0 -0
  40. package/dist/cli/verify.d.ts +0 -0
  41. package/dist/cli/verify.d.ts.map +0 -0
  42. package/dist/cli/verify.js +0 -0
  43. package/dist/cli/verify.js.map +0 -0
  44. package/dist/modules/adapters/p5Renderer.d.ts +0 -0
  45. package/dist/modules/adapters/p5Renderer.d.ts.map +1 -1
  46. package/dist/modules/adapters/p5Renderer.js +17 -40
  47. package/dist/modules/adapters/p5Renderer.js.map +1 -1
  48. package/dist/modules/adapters/skiaRenderer.d.ts +0 -2
  49. package/dist/modules/adapters/skiaRenderer.d.ts.map +1 -1
  50. package/dist/modules/adapters/skiaRenderer.js +16 -47
  51. package/dist/modules/adapters/skiaRenderer.js.map +1 -1
  52. package/dist/modules/animationDiff.d.ts +0 -0
  53. package/dist/modules/animationDiff.d.ts.map +0 -0
  54. package/dist/modules/animationDiff.js +0 -0
  55. package/dist/modules/animationDiff.js.map +0 -0
  56. package/dist/modules/browserSceneRenderer.d.ts +0 -0
  57. package/dist/modules/browserSceneRenderer.d.ts.map +0 -0
  58. package/dist/modules/browserSceneRenderer.js +0 -0
  59. package/dist/modules/browserSceneRenderer.js.map +0 -0
  60. package/dist/modules/characterValidator.d.ts +41 -0
  61. package/dist/modules/characterValidator.d.ts.map +1 -0
  62. package/dist/modules/characterValidator.js +233 -0
  63. package/dist/modules/characterValidator.js.map +1 -0
  64. package/dist/modules/eyeSystem.d.ts +0 -0
  65. package/dist/modules/eyeSystem.d.ts.map +0 -0
  66. package/dist/modules/eyeSystem.js +0 -0
  67. package/dist/modules/eyeSystem.js.map +0 -0
  68. package/dist/modules/imageLoad.d.ts +8 -22
  69. package/dist/modules/imageLoad.d.ts.map +1 -1
  70. package/dist/modules/imageLoad.js +78 -203
  71. package/dist/modules/imageLoad.js.map +1 -1
  72. package/dist/modules/mouthSystem.d.ts +0 -0
  73. package/dist/modules/mouthSystem.d.ts.map +0 -0
  74. package/dist/modules/mouthSystem.js +0 -0
  75. package/dist/modules/mouthSystem.js.map +0 -0
  76. package/dist/modules/renderRig.d.ts +0 -0
  77. package/dist/modules/renderRig.d.ts.map +1 -1
  78. package/dist/modules/renderRig.js +4 -52
  79. package/dist/modules/renderRig.js.map +1 -1
  80. package/dist/modules/sceneRenderer.d.ts +1 -2
  81. package/dist/modules/sceneRenderer.d.ts.map +1 -1
  82. package/dist/modules/sceneRenderer.js +6 -9
  83. package/dist/modules/sceneRenderer.js.map +1 -1
  84. package/dist/tests/helpers.d.ts +0 -0
  85. package/dist/tests/helpers.d.ts.map +0 -0
  86. package/dist/tests/helpers.js +0 -0
  87. package/dist/tests/helpers.js.map +0 -0
  88. package/dist/tests/test-animation-diff-rendering.d.ts +0 -0
  89. package/dist/tests/test-animation-diff-rendering.d.ts.map +0 -0
  90. package/dist/tests/test-animation-diff-rendering.js +0 -0
  91. package/dist/tests/test-animation-diff-rendering.js.map +0 -0
  92. package/dist/tests/test-animation-diff.d.ts +0 -0
  93. package/dist/tests/test-animation-diff.d.ts.map +0 -0
  94. package/dist/tests/test-animation-diff.js +0 -0
  95. package/dist/tests/test-animation-diff.js.map +0 -0
  96. package/dist/tests/test-autofit.d.ts +0 -0
  97. package/dist/tests/test-autofit.d.ts.map +0 -0
  98. package/dist/tests/test-autofit.js +0 -0
  99. package/dist/tests/test-autofit.js.map +0 -0
  100. package/dist/tests/test-base-autofit.d.ts +0 -0
  101. package/dist/tests/test-base-autofit.d.ts.map +0 -0
  102. package/dist/tests/test-base-autofit.js +0 -0
  103. package/dist/tests/test-base-autofit.js.map +0 -0
  104. package/dist/tests/test-browser-scene.d.ts +0 -0
  105. package/dist/tests/test-browser-scene.d.ts.map +0 -0
  106. package/dist/tests/test-browser-scene.js +0 -0
  107. package/dist/tests/test-browser-scene.js.map +0 -0
  108. package/dist/tests/test-character-validator.d.ts +8 -0
  109. package/dist/tests/test-character-validator.d.ts.map +1 -0
  110. package/dist/tests/test-character-validator.js +445 -0
  111. package/dist/tests/test-character-validator.js.map +1 -0
  112. package/dist/tests/test-cli.d.ts +0 -0
  113. package/dist/tests/test-cli.d.ts.map +0 -0
  114. package/dist/tests/test-cli.js +0 -0
  115. package/dist/tests/test-cli.js.map +0 -0
  116. package/dist/tests/test-image-loading.d.ts +0 -0
  117. package/dist/tests/test-image-loading.d.ts.map +0 -0
  118. package/dist/tests/test-image-loading.js +0 -0
  119. package/dist/tests/test-image-loading.js.map +0 -0
  120. package/dist/tests/test-joint-movement.d.ts +0 -0
  121. package/dist/tests/test-joint-movement.d.ts.map +0 -0
  122. package/dist/tests/test-joint-movement.js +0 -0
  123. package/dist/tests/test-joint-movement.js.map +0 -0
  124. package/dist/tests/test-p5-image-types.d.ts +0 -0
  125. package/dist/tests/test-p5-image-types.d.ts.map +0 -0
  126. package/dist/tests/test-p5-image-types.js +0 -0
  127. package/dist/tests/test-p5-image-types.js.map +0 -0
  128. package/dist/tests/test-render-cache-visual.d.ts +0 -0
  129. package/dist/tests/test-render-cache-visual.d.ts.map +0 -0
  130. package/dist/tests/test-render-cache-visual.js +0 -0
  131. package/dist/tests/test-render-cache-visual.js.map +0 -0
  132. package/dist/tests/test-render-cache.d.ts +0 -0
  133. package/dist/tests/test-render-cache.d.ts.map +0 -0
  134. package/dist/tests/test-render-cache.js +0 -0
  135. package/dist/tests/test-render-cache.js.map +0 -0
  136. package/dist/tests/test-scene.d.ts +0 -0
  137. package/dist/tests/test-scene.d.ts.map +0 -0
  138. package/dist/tests/test-scene.js +0 -0
  139. package/dist/tests/test-scene.js.map +0 -0
  140. package/dist/tests/test-skia.d.ts +0 -0
  141. package/dist/tests/test-skia.d.ts.map +0 -0
  142. package/dist/tests/test-skia.js +0 -0
  143. package/dist/tests/test-skia.js.map +0 -0
  144. package/dist/tests/test-torso-pivot.d.ts +0 -0
  145. package/dist/tests/test-torso-pivot.d.ts.map +0 -0
  146. package/dist/tests/test-torso-pivot.js +0 -0
  147. package/dist/tests/test-torso-pivot.js.map +0 -0
  148. package/dist/tests/test-visual-verification.d.ts +0 -0
  149. package/dist/tests/test-visual-verification.d.ts.map +0 -0
  150. package/dist/tests/test-visual-verification.js +0 -0
  151. package/dist/tests/test-visual-verification.js.map +0 -0
  152. package/dist/types.d.ts +0 -0
  153. package/dist/types.d.ts.map +0 -0
  154. package/dist/types.js +0 -0
  155. package/dist/types.js.map +0 -0
  156. package/package.json +7 -1
  157. package/dist/tests/test-scene-object-svg-rerasterization.d.ts +0 -2
  158. package/dist/tests/test-scene-object-svg-rerasterization.d.ts.map +0 -1
  159. package/dist/tests/test-scene-object-svg-rerasterization.js +0 -86
  160. package/dist/tests/test-scene-object-svg-rerasterization.js.map +0 -1
  161. package/dist/tests/test-svg-rerasterization.d.ts +0 -2
  162. package/dist/tests/test-svg-rerasterization.d.ts.map +0 -1
  163. package/dist/tests/test-svg-rerasterization.js +0 -97
  164. package/dist/tests/test-svg-rerasterization.js.map +0 -1
@@ -1,86 +0,0 @@
1
- import { SceneEngine } from '../modules/sceneRenderer.js';
2
- import { SkiaImageLoader } from '../modules/adapters/skiaRenderer.js';
3
- import { assert, printSummary } from './helpers.js';
4
- class FakeContext {
5
- constructor() {
6
- this.drawCalls = [];
7
- }
8
- save() { }
9
- restore() { }
10
- translate() { }
11
- rotate() { }
12
- drawImage(img, _x, _y, width, height) {
13
- this.drawCalls.push({ img, width, height });
14
- }
15
- }
16
- class FakeObjectLoader extends SkiaImageLoader {
17
- constructor() {
18
- super('http://example.test');
19
- }
20
- async loadImageAsync(key, _imageData) {
21
- const cached = this.getCachedImage(key);
22
- if (cached) {
23
- return cached;
24
- }
25
- const initialRaster = { width: 24, height: 24, key: 'initial' };
26
- this.attachSvgMetadata(initialRaster, '<svg width="24" height="24"></svg>', 24, 24, 24, 24);
27
- this.cacheImage(key, initialRaster);
28
- return initialRaster;
29
- }
30
- async createSvgCanvas(svgSource, targetWidth, targetHeight) {
31
- const upgradedRaster = {
32
- width: targetWidth,
33
- height: targetHeight,
34
- key: `upgraded-${targetWidth}x${targetHeight}`,
35
- };
36
- this.attachSvgMetadata(upgradedRaster, svgSource, 24, 24, targetWidth, targetHeight);
37
- return upgradedRaster;
38
- }
39
- }
40
- async function main() {
41
- console.log('\n=== Scene Object SVG Re-rasterization Tests ===\n');
42
- const world = { scene: { background: null }, characters: [], objects: [], timeline: [] };
43
- const engine = new SceneEngine(world, {});
44
- const loader = new FakeObjectLoader();
45
- engine.objectImageLoader = loader;
46
- engine.objectLoadedImages = {};
47
- const ctx = new FakeContext();
48
- const objectSource = 'data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%3E%3C%2Fsvg%3E';
49
- await engine.drawWorldObject(ctx, {
50
- id: 'prop',
51
- frontImage: objectSource,
52
- xCoor: 100,
53
- yCoor: 100,
54
- width: 24,
55
- height: 24,
56
- });
57
- const initialAsset = ctx.drawCalls[0]?.img;
58
- assert(initialAsset?.key === 'initial', 'Initial object draw uses the first cached SVG raster');
59
- await engine.drawWorldObject(ctx, {
60
- id: 'prop',
61
- frontImage: objectSource,
62
- xCoor: 100,
63
- yCoor: 100,
64
- width: 25,
65
- height: 25,
66
- });
67
- assert(ctx.drawCalls[1]?.img === initialAsset, 'First upscale draw uses the current raster while an upgrade is requested');
68
- await loader.waitForPendingImageUpgrades();
69
- await engine.drawWorldObject(ctx, {
70
- id: 'prop',
71
- frontImage: objectSource,
72
- xCoor: 100,
73
- yCoor: 100,
74
- width: 25,
75
- height: 25,
76
- });
77
- const upgradedAsset = ctx.drawCalls[2]?.img;
78
- assert(upgradedAsset !== initialAsset, 'Later object draw swaps to the regenerated SVG raster');
79
- assert(upgradedAsset?.width >= 25 && upgradedAsset?.height >= 25, 'Any object upscale immediately regenerates a larger SVG raster');
80
- printSummary();
81
- }
82
- main().catch((error) => {
83
- console.error(error);
84
- process.exit(1);
85
- });
86
- //# sourceMappingURL=test-scene-object-svg-rerasterization.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"test-scene-object-svg-rerasterization.js","sourceRoot":"","sources":["../../tests/test-scene-object-svg-rerasterization.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAkB,MAAM,6BAA6B,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AACtE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEpD,MAAM,WAAW;IAAjB;QACW,cAAS,GAAuD,EAAE,CAAC;IAU9E,CAAC;IARG,IAAI,KAAU,CAAC;IACf,OAAO,KAAU,CAAC;IAClB,SAAS,KAAU,CAAC;IACpB,MAAM,KAAU,CAAC;IAEjB,SAAS,CAAC,GAAQ,EAAE,EAAU,EAAE,EAAU,EAAE,KAAa,EAAE,MAAc;QACrE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IAChD,CAAC;CACJ;AAED,MAAM,gBAAiB,SAAQ,eAAe;IAC1C;QACI,KAAK,CAAC,qBAAqB,CAAC,CAAC;IACjC,CAAC;IAEQ,KAAK,CAAC,cAAc,CAAC,GAAW,EAAE,UAAkB;QACzD,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;QACxC,IAAI,MAAM,EAAE,CAAC;YACT,OAAO,MAAM,CAAC;QAClB,CAAC;QAED,MAAM,aAAa,GAAwB,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC;QACrF,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,oCAAoC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAC5F,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;QACpC,OAAO,aAAa,CAAC;IACzB,CAAC;IAEkB,KAAK,CAAC,eAAe,CACpC,SAAiB,EACjB,WAAmB,EACnB,YAAoB;QAEpB,MAAM,cAAc,GAAwB;YACxC,KAAK,EAAE,WAAW;YAClB,MAAM,EAAE,YAAY;YACpB,GAAG,EAAE,YAAY,WAAW,IAAI,YAAY,EAAE;SACjD,CAAC;QACF,IAAI,CAAC,iBAAiB,CAAC,cAAc,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;QACrF,OAAO,cAAc,CAAC;IAC1B,CAAC;CACJ;AAED,KAAK,UAAU,IAAI;IACf,OAAO,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAC;IAEnE,MAAM,KAAK,GAAc,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IACpG,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC1C,MAAM,MAAM,GAAG,IAAI,gBAAgB,EAAE,CAAC;IACrC,MAAc,CAAC,iBAAiB,GAAG,MAAM,CAAC;IAC1C,MAAc,CAAC,kBAAkB,GAAG,EAAE,CAAC;IAExC,MAAM,GAAG,GAAG,IAAI,WAAW,EAAE,CAAC;IAC9B,MAAM,YAAY,GAAG,+FAA+F,CAAC;IAErH,MAAO,MAAc,CAAC,eAAe,CAAC,GAAG,EAAE;QACvC,EAAE,EAAE,MAAM;QACV,UAAU,EAAE,YAAY;QACxB,KAAK,EAAE,GAAG;QACV,KAAK,EAAE,GAAG;QACV,KAAK,EAAE,EAAE;QACT,MAAM,EAAE,EAAE;KACb,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC;IAC3C,MAAM,CAAC,YAAY,EAAE,GAAG,KAAK,SAAS,EAAE,sDAAsD,CAAC,CAAC;IAEhG,MAAO,MAAc,CAAC,eAAe,CAAC,GAAG,EAAE;QACvC,EAAE,EAAE,MAAM;QACV,UAAU,EAAE,YAAY;QACxB,KAAK,EAAE,GAAG;QACV,KAAK,EAAE,GAAG;QACV,KAAK,EAAE,EAAE;QACT,MAAM,EAAE,EAAE;KACb,CAAC,CAAC;IAEH,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,YAAY,EAAE,0EAA0E,CAAC,CAAC;IAE3H,MAAM,MAAM,CAAC,2BAA2B,EAAE,CAAC;IAE3C,MAAO,MAAc,CAAC,eAAe,CAAC,GAAG,EAAE;QACvC,EAAE,EAAE,MAAM;QACV,UAAU,EAAE,YAAY;QACxB,KAAK,EAAE,GAAG;QACV,KAAK,EAAE,GAAG;QACV,KAAK,EAAE,EAAE;QACT,MAAM,EAAE,EAAE;KACb,CAAC,CAAC;IAEH,MAAM,aAAa,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC;IAC5C,MAAM,CAAC,aAAa,KAAK,YAAY,EAAE,uDAAuD,CAAC,CAAC;IAChG,MAAM,CAAC,aAAa,EAAE,KAAK,IAAI,EAAE,IAAI,aAAa,EAAE,MAAM,IAAI,EAAE,EAAE,gEAAgE,CAAC,CAAC;IAEpI,YAAY,EAAE,CAAC;AACnB,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACnB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACrB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=test-svg-rerasterization.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"test-svg-rerasterization.d.ts","sourceRoot":"","sources":["../../tests/test-svg-rerasterization.ts"],"names":[],"mappings":""}
@@ -1,97 +0,0 @@
1
- import { CharacterRigRenderer } from '../modules/renderRig.js';
2
- import { ImageLoader } from '../modules/imageLoad.js';
3
- import { assert, printSummary } from './helpers.js';
4
- class FakeCanvasContext {
5
- clearRect() { }
6
- drawImage() { }
7
- }
8
- class FakeRasterCanvas {
9
- constructor() {
10
- this.width = 0;
11
- this.height = 0;
12
- }
13
- getContext(kind) {
14
- return kind === '2d' ? new FakeCanvasContext() : null;
15
- }
16
- }
17
- class MockImage {
18
- constructor() {
19
- this.width = 0;
20
- this.height = 0;
21
- this.onload = null;
22
- this.onerror = null;
23
- this.crossOrigin = '';
24
- }
25
- set src(_value) {
26
- setTimeout(() => {
27
- this.width = 10;
28
- this.height = 10;
29
- this.onload?.();
30
- }, 0);
31
- }
32
- }
33
- function makeSvgDataUrl() {
34
- const svg = `<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><circle cx="12" cy="12" r="10" fill="black" /></svg>`;
35
- return `data:image/svg+xml;charset=utf-8,${encodeURIComponent(svg)}`;
36
- }
37
- function makeRig(svgPath, torsoWidth, torsoHeight) {
38
- return {
39
- imagePaths: {
40
- torso: svgPath,
41
- },
42
- dimensionValues: {
43
- torso: { width: torsoWidth, height: torsoHeight },
44
- },
45
- rotationValues: {},
46
- selfRotationValues: {},
47
- pivotPoints: {
48
- root_torso: { x: 0, y: 0 },
49
- },
50
- zIndexValues: {
51
- torso: 1,
52
- },
53
- };
54
- }
55
- async function main() {
56
- console.log('\n=== SVG Re-rasterization Tests ===\n');
57
- globalThis.document = {
58
- createElement(tag) {
59
- if (tag !== 'canvas') {
60
- throw new Error(`Unexpected element creation: ${tag}`);
61
- }
62
- return new FakeRasterCanvas();
63
- }
64
- };
65
- globalThis.Image = MockImage;
66
- const svgPath = makeSvgDataUrl();
67
- const loader = new ImageLoader('http://example.test');
68
- const renderer = new CharacterRigRenderer(loader);
69
- const smallRig = makeRig(svgPath, 24, 24);
70
- const loadedImages = await loader.loadAllRigImages(smallRig, false);
71
- const initialAsset = loadedImages[svgPath];
72
- assert(!!initialAsset?.__distarkSvgSource, 'Initial SVG asset keeps original SVG source');
73
- assert(initialAsset?.width === 24 && initialAsset?.height === 24, 'Initial SVG raster matches initial rendered size');
74
- const largeRig = makeRig(svgPath, 25, 25);
75
- const firstLargeRender = renderer.computeCharacterRigData(largeRig, {
76
- canvasWidth: 400,
77
- canvasHeight: 400,
78
- loadedImages,
79
- });
80
- assert(firstLargeRender.objects[0]?.imageData === initialAsset, 'Upscale request initially uses current cached raster while upgrade is pending');
81
- await loader.waitForPendingImageUpgrades();
82
- const upgradedAsset = loadedImages[svgPath];
83
- assert(upgradedAsset !== initialAsset, 'Upscaling swaps in a regenerated SVG raster asset');
84
- assert(upgradedAsset?.width >= 25 && upgradedAsset?.height >= 25, 'Any upscale immediately regenerates a larger SVG raster');
85
- const secondLargeRender = renderer.computeCharacterRigData(largeRig, {
86
- canvasWidth: 400,
87
- canvasHeight: 400,
88
- loadedImages,
89
- });
90
- assert(secondLargeRender.objects[0]?.imageData === upgradedAsset, 'Subsequent renders use the upgraded SVG raster');
91
- printSummary();
92
- }
93
- main().catch((error) => {
94
- console.error(error);
95
- process.exit(1);
96
- });
97
- //# sourceMappingURL=test-svg-rerasterization.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"test-svg-rerasterization.js","sourceRoot":"","sources":["../../tests/test-svg-rerasterization.ts"],"names":[],"mappings":"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"}