distark-render 1.0.8 → 1.1.0

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 (49) hide show
  1. package/assets/presets/jumping-jack.json +194 -0
  2. package/assets/tank.json +409 -0
  3. package/dist/cli/animate.d.ts.map +1 -1
  4. package/dist/cli/animate.js +22 -2
  5. package/dist/cli/animate.js.map +1 -1
  6. package/dist/cli/distark-check.js +1 -1
  7. package/dist/cli/record.js +1 -1
  8. package/dist/cli/record.js.map +1 -1
  9. package/dist/cli/render.d.ts +1 -1
  10. package/dist/cli/render.d.ts.map +1 -1
  11. package/dist/cli/render.js +30 -11
  12. package/dist/cli/render.js.map +1 -1
  13. package/dist/modules/adapters/skiaRenderer.d.ts +1 -0
  14. package/dist/modules/adapters/skiaRenderer.d.ts.map +1 -1
  15. package/dist/modules/adapters/skiaRenderer.js +21 -10
  16. package/dist/modules/adapters/skiaRenderer.js.map +1 -1
  17. package/dist/modules/imageLoad.d.ts +1 -1
  18. package/dist/modules/imageLoad.d.ts.map +1 -1
  19. package/dist/modules/imageLoad.js +2 -2
  20. package/dist/modules/imageLoad.js.map +1 -1
  21. package/dist/modules/renderRig.d.ts +13 -3
  22. package/dist/modules/renderRig.d.ts.map +1 -1
  23. package/dist/modules/renderRig.js +89 -11
  24. package/dist/modules/renderRig.js.map +1 -1
  25. package/dist/tests/helpers.d.ts +20 -0
  26. package/dist/tests/helpers.d.ts.map +1 -0
  27. package/dist/tests/helpers.js +39 -0
  28. package/dist/tests/helpers.js.map +1 -0
  29. package/dist/tests/test-autofit.d.ts +9 -0
  30. package/dist/tests/test-autofit.d.ts.map +1 -0
  31. package/dist/tests/test-autofit.js +67 -0
  32. package/dist/tests/test-autofit.js.map +1 -0
  33. package/dist/tests/test-base-autofit.d.ts +8 -0
  34. package/dist/tests/test-base-autofit.d.ts.map +1 -0
  35. package/dist/tests/test-base-autofit.js +62 -0
  36. package/dist/tests/test-base-autofit.js.map +1 -0
  37. package/dist/tests/test-cli.js +68 -1
  38. package/dist/tests/test-cli.js.map +1 -1
  39. package/dist/tests/test-joint-movement.js +1 -1
  40. package/dist/tests/test-joint-movement.js.map +1 -1
  41. package/dist/tests/test-skia.d.ts +2 -8
  42. package/dist/tests/test-skia.d.ts.map +1 -1
  43. package/dist/tests/test-skia.js +47 -23
  44. package/dist/tests/test-skia.js.map +1 -1
  45. package/dist/tests/test-visual-verification.js +1 -1
  46. package/dist/tests/test-visual-verification.js.map +1 -1
  47. package/dist/types.d.ts +14 -0
  48. package/dist/types.d.ts.map +1 -1
  49. package/package.json +7 -8
@@ -1 +1 @@
1
- {"version":3,"file":"renderRig.js","sourceRoot":"","sources":["../../modules/renderRig.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"renderRig.js","sourceRoot":"","sources":["../../modules/renderRig.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Shared test helpers for distark-render tests
3
+ */
4
+ import type { RenderObject } from '../types.js';
5
+ export interface BoundsResult {
6
+ name: string;
7
+ left: number;
8
+ top: number;
9
+ right: number;
10
+ bottom: number;
11
+ clipped: boolean;
12
+ }
13
+ export declare function assert(condition: boolean, message: string): void;
14
+ export declare function checkAllBounds(objects: RenderObject[], width: number, height: number): BoundsResult[];
15
+ export declare function printSummary(): void;
16
+ export declare function getResults(): {
17
+ passed: number;
18
+ failed: number;
19
+ };
20
+ //# sourceMappingURL=helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../tests/helpers.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,MAAM,WAAW,YAAY;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;CACpB;AAKD,wBAAgB,MAAM,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAQhE;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,YAAY,EAAE,CAgBrG;AAED,wBAAgB,YAAY,IAAI,IAAI,CAInC;AAED,wBAAgB,UAAU,IAAI;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAE/D"}
@@ -0,0 +1,39 @@
1
+ let passed = 0;
2
+ let failed = 0;
3
+ export function assert(condition, message) {
4
+ if (condition) {
5
+ console.log(` ✅ PASS: ${message}`);
6
+ passed++;
7
+ }
8
+ else {
9
+ console.error(` ❌ FAIL: ${message}`);
10
+ failed++;
11
+ }
12
+ }
13
+ export function checkAllBounds(objects, width, height) {
14
+ return objects.map(obj => {
15
+ const left = obj.x - obj.width * obj.anchorX;
16
+ const top = obj.y - obj.height * obj.anchorY;
17
+ const right = left + obj.width;
18
+ const bottom = top + obj.height;
19
+ const clipped = left < 0 || top < 0 || right > width || bottom > height;
20
+ return {
21
+ name: obj.name,
22
+ left: Math.round(left),
23
+ top: Math.round(top),
24
+ right: Math.round(right),
25
+ bottom: Math.round(bottom),
26
+ clipped,
27
+ };
28
+ });
29
+ }
30
+ export function printSummary() {
31
+ console.log(`\n${'='.repeat(40)}`);
32
+ console.log(`Results: ${passed} passed, ${failed} failed`);
33
+ if (failed > 0)
34
+ process.exit(1);
35
+ }
36
+ export function getResults() {
37
+ return { passed, failed };
38
+ }
39
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../tests/helpers.ts"],"names":[],"mappings":"AAcA,IAAI,MAAM,GAAG,CAAC,CAAC;AACf,IAAI,MAAM,GAAG,CAAC,CAAC;AAEf,MAAM,UAAU,MAAM,CAAC,SAAkB,EAAE,OAAe;IACtD,IAAI,SAAS,EAAE,CAAC;QACZ,OAAO,CAAC,GAAG,CAAC,aAAa,OAAO,EAAE,CAAC,CAAC;QACpC,MAAM,EAAE,CAAC;IACb,CAAC;SAAM,CAAC;QACJ,OAAO,CAAC,KAAK,CAAC,aAAa,OAAO,EAAE,CAAC,CAAC;QACtC,MAAM,EAAE,CAAC;IACb,CAAC;AACL,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,OAAuB,EAAE,KAAa,EAAE,MAAc;IACjF,OAAO,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;QACrB,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC;QAC7C,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC;QAC7C,MAAM,KAAK,GAAG,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC;QAC/B,MAAM,MAAM,GAAG,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC;QAChC,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,KAAK,GAAG,KAAK,IAAI,MAAM,GAAG,MAAM,CAAC;QACxE,OAAO;YACH,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;YACtB,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;YACpB,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;YACxB,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;YAC1B,OAAO;SACV,CAAC;IACN,CAAC,CAAC,CAAC;AACP,CAAC;AAED,MAAM,UAAU,YAAY;IACxB,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACnC,OAAO,CAAC,GAAG,CAAC,YAAY,MAAM,YAAY,MAAM,SAAS,CAAC,CAAC;IAC3D,IAAI,MAAM,GAAG,CAAC;QAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,UAAU;IACtB,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AAC9B,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Test: Auto-fit via SkiaRenderer (integration)
3
+ *
4
+ * Tests that SkiaRenderer inherits computeAutoFit from base and
5
+ * that renderToFile with autoFit produces a valid output file.
6
+ * Requires image loading (network or local).
7
+ */
8
+ export {};
9
+ //# sourceMappingURL=test-autofit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-autofit.d.ts","sourceRoot":"","sources":["../../tests/test-autofit.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}
@@ -0,0 +1,67 @@
1
+ /**
2
+ * Test: Auto-fit via SkiaRenderer (integration)
3
+ *
4
+ * Tests that SkiaRenderer inherits computeAutoFit from base and
5
+ * that renderToFile with autoFit produces a valid output file.
6
+ * Requires image loading (network or local).
7
+ */
8
+ import { SkiaRenderer } from '../modules/adapters/skiaRenderer.js';
9
+ import { readFile } from 'fs/promises';
10
+ import { assert, checkAllBounds, printSummary } from './helpers.js';
11
+ async function main() {
12
+ const inputFile = process.argv[2] || 'assets/tank.json';
13
+ console.log(`Loading ${inputFile}...`);
14
+ const rigData = JSON.parse(await readFile(inputFile, 'utf-8'));
15
+ const renderer = new SkiaRenderer();
16
+ await renderer.loadImages(rigData);
17
+ // -------------------------------------------------------
18
+ // Test 1: computeAutoFit works through SkiaRenderer (inherited)
19
+ // -------------------------------------------------------
20
+ console.log('\n--- Test 1: SkiaRenderer.computeAutoFit (inherited from base) ---');
21
+ const defaultW = 1000, defaultH = 1000;
22
+ const fit = renderer.computeAutoFit(rigData, {
23
+ canvasWidth: defaultW,
24
+ canvasHeight: defaultH,
25
+ loadedImages: renderer.getLoadedImages(),
26
+ });
27
+ assert(fit.canvasWidth > 0, `canvasWidth > 0 (got ${fit.canvasWidth})`);
28
+ assert(fit.canvasHeight > 0, `canvasHeight > 0 (got ${fit.canvasHeight})`);
29
+ // -------------------------------------------------------
30
+ // Test 2: All parts fit within autoFit canvas bounds
31
+ // -------------------------------------------------------
32
+ console.log('\n--- Test 2: All parts fit with autoFit ---');
33
+ const bounds = checkAllBounds(fit.renderData.objects, fit.canvasWidth, fit.canvasHeight);
34
+ const clipped = bounds.filter(b => b.clipped);
35
+ assert(clipped.length === 0, `No parts clipped (clipped: ${clipped.map(c => c.name).join(', ') || 'none'})`);
36
+ // -------------------------------------------------------
37
+ // Test 3: autoFit preserves all objects
38
+ // -------------------------------------------------------
39
+ console.log('\n--- Test 3: autoFit preserves all objects ---');
40
+ const defaultData = renderer.compute(rigData, {
41
+ canvasWidth: defaultW, canvasHeight: defaultH,
42
+ });
43
+ assert(fit.renderData.objects.length === defaultData.objects.length, `Same object count: default=${defaultData.objects.length} autoFit=${fit.renderData.objects.length}`);
44
+ // -------------------------------------------------------
45
+ // Test 4: renderToFile with autoFit produces a file
46
+ // -------------------------------------------------------
47
+ console.log('\n--- Test 4: renderToFile with autoFit ---');
48
+ const outPath = '/tmp/test-autofit-output.png';
49
+ await renderer.renderToFile(outPath, rigData, {
50
+ canvasWidth: defaultW,
51
+ canvasHeight: defaultH,
52
+ autoFit: true,
53
+ });
54
+ const fs = await import('fs');
55
+ const exists = fs.existsSync(outPath);
56
+ assert(exists, 'autoFit renderToFile creates output file');
57
+ if (exists) {
58
+ const stat = fs.statSync(outPath);
59
+ assert(stat.size > 1000, `Output file has reasonable size (${stat.size} bytes)`);
60
+ }
61
+ printSummary();
62
+ }
63
+ main().catch(err => {
64
+ console.error(err);
65
+ process.exit(1);
66
+ });
67
+ //# sourceMappingURL=test-autofit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-autofit.js","sourceRoot":"","sources":["../../tests/test-autofit.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Test: computeAutoFit on base CharacterRigRenderer
3
+ *
4
+ * Verifies the autoFit logic works at the base class level (no Skia dependency).
5
+ * This is what the HTML/browser path will use via renderCharacterRig().
6
+ */
7
+ export {};
8
+ //# sourceMappingURL=test-base-autofit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-base-autofit.d.ts","sourceRoot":"","sources":["../../tests/test-base-autofit.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
@@ -0,0 +1,62 @@
1
+ /**
2
+ * Test: computeAutoFit on base CharacterRigRenderer
3
+ *
4
+ * Verifies the autoFit logic works at the base class level (no Skia dependency).
5
+ * This is what the HTML/browser path will use via renderCharacterRig().
6
+ */
7
+ import { CharacterRigRenderer } from '../modules/renderRig.js';
8
+ import { readFile } from 'fs/promises';
9
+ import { assert, checkAllBounds, printSummary } from './helpers.js';
10
+ async function main() {
11
+ const inputFile = process.argv[2] || 'assets/tank.json';
12
+ console.log(`Loading ${inputFile}...`);
13
+ const rigData = JSON.parse(await readFile(inputFile, 'utf-8'));
14
+ const renderer = new CharacterRigRenderer();
15
+ // -------------------------------------------------------
16
+ // Test 1: computeAutoFit exists on base class
17
+ // -------------------------------------------------------
18
+ console.log('\n--- Test 1: computeAutoFit exists on base CharacterRigRenderer ---');
19
+ assert(typeof renderer.computeAutoFit === 'function', 'computeAutoFit is a method on CharacterRigRenderer');
20
+ // -------------------------------------------------------
21
+ // Test 2: computeAutoFit returns valid result
22
+ // -------------------------------------------------------
23
+ console.log('\n--- Test 2: computeAutoFit returns valid dimensions ---');
24
+ const fit = renderer.computeAutoFit(rigData);
25
+ assert(fit.canvasWidth > 0, `canvasWidth > 0 (got ${fit.canvasWidth})`);
26
+ assert(fit.canvasHeight > 0, `canvasHeight > 0 (got ${fit.canvasHeight})`);
27
+ assert(fit.renderData.objects.length > 0, `renderData has objects (${fit.renderData.objects.length})`);
28
+ assert(typeof fit.cameraOffset.x === 'number', 'cameraOffset.x is a number');
29
+ assert(typeof fit.cameraOffset.y === 'number', 'cameraOffset.y is a number');
30
+ // -------------------------------------------------------
31
+ // Test 3: All parts fit within autoFit canvas bounds
32
+ // -------------------------------------------------------
33
+ console.log('\n--- Test 3: All parts fit within autoFit canvas ---');
34
+ const bounds = checkAllBounds(fit.renderData.objects, fit.canvasWidth, fit.canvasHeight);
35
+ const clipped = bounds.filter(b => b.clipped);
36
+ assert(clipped.length === 0, `No parts clipped (clipped: ${clipped.map(c => c.name).join(', ') || 'none'})`);
37
+ // -------------------------------------------------------
38
+ // Test 4: autoFit has padding (default 40)
39
+ // -------------------------------------------------------
40
+ console.log('\n--- Test 4: autoFit has padding ---');
41
+ const PADDING = 20;
42
+ const tooClose = bounds.filter(b => b.left < PADDING || b.top < PADDING ||
43
+ b.right > fit.canvasWidth - PADDING || b.bottom > fit.canvasHeight - PADDING);
44
+ assert(tooClose.length === 0, `All parts have >= ${PADDING}px margin (edge-touching: ${tooClose.map(c => c.name).join(', ') || 'none'})`);
45
+ // -------------------------------------------------------
46
+ // Test 5: autoFit with no-autofit produces different dimensions
47
+ // -------------------------------------------------------
48
+ console.log('\n--- Test 5: Default compute vs autoFit differ ---');
49
+ const defaultData = renderer.computeCharacterRigData(rigData, {
50
+ canvasWidth: 800, canvasHeight: 800,
51
+ });
52
+ const defaultBounds = checkAllBounds(defaultData.objects, 800, 800);
53
+ const defaultClipped = defaultBounds.filter(b => b.clipped);
54
+ // Default at 800x800 should clip at least some parts (demonstrating autoFit value)
55
+ assert(defaultClipped.length > 0 || fit.canvasWidth !== 800 || fit.canvasHeight !== 800, 'autoFit produces different canvas size or fixes clipping');
56
+ printSummary();
57
+ }
58
+ main().catch(err => {
59
+ console.error(err);
60
+ process.exit(1);
61
+ });
62
+ //# sourceMappingURL=test-base-autofit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-base-autofit.js","sourceRoot":"","sources":["../../tests/test-base-autofit.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEpE,KAAK,UAAU,IAAI;IACf,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,kBAAkB,CAAC;IACxD,OAAO,CAAC,GAAG,CAAC,WAAW,SAAS,KAAK,CAAC,CAAC;IACvC,MAAM,OAAO,GAAY,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;IAExE,MAAM,QAAQ,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAE5C,0DAA0D;IAC1D,8CAA8C;IAC9C,0DAA0D;IAC1D,OAAO,CAAC,GAAG,CAAC,sEAAsE,CAAC,CAAC;IACpF,MAAM,CAAC,OAAO,QAAQ,CAAC,cAAc,KAAK,UAAU,EAChD,oDAAoD,CAAC,CAAC;IAE1D,0DAA0D;IAC1D,8CAA8C;IAC9C,0DAA0D;IAC1D,OAAO,CAAC,GAAG,CAAC,2DAA2D,CAAC,CAAC;IACzE,MAAM,GAAG,GAAkB,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IAE5D,MAAM,CAAC,GAAG,CAAC,WAAW,GAAG,CAAC,EAAE,wBAAwB,GAAG,CAAC,WAAW,GAAG,CAAC,CAAC;IACxE,MAAM,CAAC,GAAG,CAAC,YAAY,GAAG,CAAC,EAAE,yBAAyB,GAAG,CAAC,YAAY,GAAG,CAAC,CAAC;IAC3E,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,2BAA2B,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;IACvG,MAAM,CAAC,OAAO,GAAG,CAAC,YAAY,CAAC,CAAC,KAAK,QAAQ,EAAE,4BAA4B,CAAC,CAAC;IAC7E,MAAM,CAAC,OAAO,GAAG,CAAC,YAAY,CAAC,CAAC,KAAK,QAAQ,EAAE,4BAA4B,CAAC,CAAC;IAE7E,0DAA0D;IAC1D,qDAAqD;IACrD,0DAA0D;IAC1D,OAAO,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAC;IACrE,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC;IACzF,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAC9C,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EACvB,8BAA8B,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC;IAEpF,0DAA0D;IAC1D,2CAA2C;IAC3C,0DAA0D;IAC1D,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;IACrD,MAAM,OAAO,GAAG,EAAE,CAAC;IACnB,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAC/B,CAAC,CAAC,IAAI,GAAG,OAAO,IAAI,CAAC,CAAC,GAAG,GAAG,OAAO;QACnC,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,WAAW,GAAG,OAAO,IAAI,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC,YAAY,GAAG,OAAO,CAC/E,CAAC;IACF,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EACxB,qBAAqB,OAAO,6BAA6B,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC;IAEhH,0DAA0D;IAC1D,gEAAgE;IAChE,0DAA0D;IAC1D,OAAO,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAC;IACnE,MAAM,WAAW,GAAG,QAAQ,CAAC,uBAAuB,CAAC,OAAO,EAAE;QAC1D,WAAW,EAAE,GAAG,EAAE,YAAY,EAAE,GAAG;KACtC,CAAC,CAAC;IACH,MAAM,aAAa,GAAG,cAAc,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IACpE,MAAM,cAAc,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAC5D,mFAAmF;IACnF,MAAM,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,WAAW,KAAK,GAAG,IAAI,GAAG,CAAC,YAAY,KAAK,GAAG,EACnF,0DAA0D,CAAC,CAAC;IAEhE,YAAY,EAAE,CAAC;AACnB,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;IACf,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACnB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC,CAAC,CAAC"}
@@ -77,7 +77,7 @@ async function testRenderWithReport() {
77
77
  }
78
78
  async function testRenderCustomDimensions() {
79
79
  const out = join(TEST_DIR, 'render-custom-dim.png');
80
- const result = run(`${CLI} render ${TANK} -o ${out} --width 500 --height 500`);
80
+ const result = run(`${CLI} render ${TANK} -o ${out} --width 500 --height 500 --no-autofit`);
81
81
  if (result.exitCode !== 0) {
82
82
  return { name: 'render: custom dimensions', passed: false, detail: result.stderr };
83
83
  }
@@ -201,6 +201,68 @@ async function testDiffOutputFile() {
201
201
  }
202
202
  return { name: 'diff: output file created', passed: true };
203
203
  }
204
+ // ─── ANIMATE TESTS ───
205
+ async function testAnimateWithPreset() {
206
+ const outDir = join(TEST_DIR, 'animate-preset');
207
+ const result = run(`${CLI} animate ${TANK} jumping-jack -o ${outDir} --width 500 --height 500`);
208
+ if (result.exitCode !== 0) {
209
+ return { name: 'animate: preset name', passed: false, detail: `Exit code ${result.exitCode}: ${result.stderr}` };
210
+ }
211
+ // Should produce frame PNGs
212
+ const frame0 = await fileExists(join(outDir, '000.png'));
213
+ if (!frame0) {
214
+ return { name: 'animate: preset name', passed: false, detail: 'Frame 000.png not created' };
215
+ }
216
+ // Should produce manifest
217
+ const manifestExists = await fileExists(join(outDir, 'manifest.json'));
218
+ if (!manifestExists) {
219
+ return { name: 'animate: preset name', passed: false, detail: 'manifest.json not created' };
220
+ }
221
+ // Manifest should be valid JSON with correct fields
222
+ const manifest = JSON.parse(await readFile(join(outDir, 'manifest.json'), 'utf-8'));
223
+ if (manifest.frame_count !== 24) {
224
+ return { name: 'animate: preset name', passed: false, detail: `Expected 24 frames, got ${manifest.frame_count}` };
225
+ }
226
+ if (!manifest.animation_input.includes('jumping-jack.json')) {
227
+ return { name: 'animate: preset name', passed: false, detail: `Resolved path missing jumping-jack.json: ${manifest.animation_input}` };
228
+ }
229
+ return { name: 'animate: preset name', passed: true };
230
+ }
231
+ async function testAnimateWithJsonFile() {
232
+ // Write a tiny 2-frame animation file
233
+ const animFile = join(TEST_DIR, 'test-anim.json');
234
+ const animData = [
235
+ { rotationValues: { head: 0 } },
236
+ { rotationValues: { head: 0.3 } },
237
+ ];
238
+ const { writeFile: wf } = await import('fs/promises');
239
+ await wf(animFile, JSON.stringify(animData));
240
+ const outDir = join(TEST_DIR, 'animate-json');
241
+ const result = run(`${CLI} animate ${TANK} ${animFile} -o ${outDir} --width 500 --height 500`);
242
+ if (result.exitCode !== 0) {
243
+ return { name: 'animate: json file', passed: false, detail: `Exit code ${result.exitCode}: ${result.stderr}` };
244
+ }
245
+ const manifest = JSON.parse(await readFile(join(outDir, 'manifest.json'), 'utf-8'));
246
+ if (manifest.frame_count !== 2) {
247
+ return { name: 'animate: json file', passed: false, detail: `Expected 2 frames, got ${manifest.frame_count}` };
248
+ }
249
+ return { name: 'animate: json file', passed: true };
250
+ }
251
+ async function testAnimateBadPreset() {
252
+ const outDir = join(TEST_DIR, 'animate-bad');
253
+ const result = run(`${CLI} animate ${TANK} nonexistent-preset -o ${outDir}`);
254
+ if (result.exitCode === 0) {
255
+ return { name: 'animate: bad preset fails', passed: false, detail: 'Should have exited non-zero' };
256
+ }
257
+ return { name: 'animate: bad preset fails', passed: true };
258
+ }
259
+ async function testAnimateMissingArgs() {
260
+ const result = run(`${CLI} animate`);
261
+ if (result.exitCode === 0) {
262
+ return { name: 'animate: missing args fails', passed: false, detail: 'Should have exited non-zero' };
263
+ }
264
+ return { name: 'animate: missing args fails', passed: true };
265
+ }
204
266
  // ─── QUERY TESTS (structural only, no API call) ───
205
267
  async function testQueryMissingKey() {
206
268
  // Without GEMINI_API_KEY, should exit with error
@@ -269,6 +331,11 @@ async function main() {
269
331
  testDiffIdentical,
270
332
  testDiffDifferent,
271
333
  testDiffOutputFile,
334
+ // Animate
335
+ testAnimateWithPreset,
336
+ testAnimateWithJsonFile,
337
+ testAnimateBadPreset,
338
+ testAnimateMissingArgs,
272
339
  // Query (structural)
273
340
  testQueryMissingKey,
274
341
  testQueryMissingPrompt,