distark-render 1.1.12 → 1.1.13

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 (172) hide show
  1. package/README.md +0 -0
  2. package/assets/tank.json +0 -0
  3. package/dist/cli/animate.d.ts +0 -0
  4. package/dist/cli/animate.d.ts.map +0 -0
  5. package/dist/cli/animate.js +0 -0
  6. package/dist/cli/animate.js.map +0 -0
  7. package/dist/cli/diff.d.ts +0 -0
  8. package/dist/cli/diff.d.ts.map +0 -0
  9. package/dist/cli/diff.js +0 -0
  10. package/dist/cli/diff.js.map +0 -0
  11. package/dist/cli/distark-check.d.ts +0 -0
  12. package/dist/cli/distark-check.d.ts.map +0 -0
  13. package/dist/cli/distark-check.js +16 -16
  14. package/dist/cli/distark-check.js.map +0 -0
  15. package/dist/cli/query.d.ts +0 -0
  16. package/dist/cli/query.d.ts.map +0 -0
  17. package/dist/cli/query.js +0 -0
  18. package/dist/cli/query.js.map +0 -0
  19. package/dist/cli/record.d.ts +0 -0
  20. package/dist/cli/record.d.ts.map +0 -0
  21. package/dist/cli/record.js +0 -0
  22. package/dist/cli/record.js.map +0 -0
  23. package/dist/cli/render.d.ts +0 -0
  24. package/dist/cli/render.d.ts.map +0 -0
  25. package/dist/cli/render.js +0 -0
  26. package/dist/cli/render.js.map +0 -0
  27. package/dist/cli/scene.d.ts +1 -0
  28. package/dist/cli/scene.d.ts.map +1 -1
  29. package/dist/cli/scene.js +17 -16
  30. package/dist/cli/scene.js.map +1 -1
  31. package/dist/cli/shared.d.ts +0 -0
  32. package/dist/cli/shared.d.ts.map +0 -0
  33. package/dist/cli/shared.js +0 -0
  34. package/dist/cli/shared.js.map +0 -0
  35. package/dist/cli/test.d.ts +0 -0
  36. package/dist/cli/test.d.ts.map +0 -0
  37. package/dist/cli/test.js +0 -0
  38. package/dist/cli/test.js.map +0 -0
  39. package/dist/cli/verify.d.ts +0 -0
  40. package/dist/cli/verify.d.ts.map +0 -0
  41. package/dist/cli/verify.js +0 -0
  42. package/dist/cli/verify.js.map +0 -0
  43. package/dist/modules/adapters/p5Renderer.d.ts +0 -0
  44. package/dist/modules/adapters/p5Renderer.d.ts.map +1 -1
  45. package/dist/modules/adapters/p5Renderer.js +40 -17
  46. package/dist/modules/adapters/p5Renderer.js.map +1 -1
  47. package/dist/modules/adapters/skiaRenderer.d.ts +2 -0
  48. package/dist/modules/adapters/skiaRenderer.d.ts.map +1 -1
  49. package/dist/modules/adapters/skiaRenderer.js +47 -16
  50. package/dist/modules/adapters/skiaRenderer.js.map +1 -1
  51. package/dist/modules/animationDiff.d.ts +0 -0
  52. package/dist/modules/animationDiff.d.ts.map +1 -1
  53. package/dist/modules/animationDiff.js +1 -0
  54. package/dist/modules/animationDiff.js.map +1 -1
  55. package/dist/modules/browserSceneRenderer.d.ts +0 -0
  56. package/dist/modules/browserSceneRenderer.d.ts.map +1 -1
  57. package/dist/modules/browserSceneRenderer.js +27 -0
  58. package/dist/modules/browserSceneRenderer.js.map +1 -1
  59. package/dist/modules/characterValidator.d.ts +0 -0
  60. package/dist/modules/characterValidator.d.ts.map +0 -0
  61. package/dist/modules/characterValidator.js +0 -0
  62. package/dist/modules/characterValidator.js.map +0 -0
  63. package/dist/modules/eyeSystem.d.ts +0 -0
  64. package/dist/modules/eyeSystem.d.ts.map +0 -0
  65. package/dist/modules/eyeSystem.js +0 -0
  66. package/dist/modules/eyeSystem.js.map +0 -0
  67. package/dist/modules/imageLoad.d.ts +25 -10
  68. package/dist/modules/imageLoad.d.ts.map +1 -1
  69. package/dist/modules/imageLoad.js +316 -83
  70. package/dist/modules/imageLoad.js.map +1 -1
  71. package/dist/modules/mouthSystem.d.ts +0 -0
  72. package/dist/modules/mouthSystem.d.ts.map +0 -0
  73. package/dist/modules/mouthSystem.js +0 -0
  74. package/dist/modules/mouthSystem.js.map +0 -0
  75. package/dist/modules/renderRig.d.ts +4 -0
  76. package/dist/modules/renderRig.d.ts.map +1 -1
  77. package/dist/modules/renderRig.js +181 -18
  78. package/dist/modules/renderRig.js.map +1 -1
  79. package/dist/modules/sceneRenderer.d.ts +2 -1
  80. package/dist/modules/sceneRenderer.d.ts.map +1 -1
  81. package/dist/modules/sceneRenderer.js +36 -6
  82. package/dist/modules/sceneRenderer.js.map +1 -1
  83. package/dist/tests/helpers.d.ts +0 -0
  84. package/dist/tests/helpers.d.ts.map +0 -0
  85. package/dist/tests/helpers.js +0 -0
  86. package/dist/tests/helpers.js.map +0 -0
  87. package/dist/tests/test-angle-swap.d.ts +2 -0
  88. package/dist/tests/test-angle-swap.d.ts.map +1 -0
  89. package/dist/tests/test-angle-swap.js +101 -0
  90. package/dist/tests/test-angle-swap.js.map +1 -0
  91. package/dist/tests/test-animation-diff-rendering.d.ts +0 -0
  92. package/dist/tests/test-animation-diff-rendering.d.ts.map +0 -0
  93. package/dist/tests/test-animation-diff-rendering.js +0 -0
  94. package/dist/tests/test-animation-diff-rendering.js.map +0 -0
  95. package/dist/tests/test-animation-diff.d.ts +0 -0
  96. package/dist/tests/test-animation-diff.d.ts.map +0 -0
  97. package/dist/tests/test-animation-diff.js +0 -0
  98. package/dist/tests/test-animation-diff.js.map +0 -0
  99. package/dist/tests/test-autofit.d.ts +0 -0
  100. package/dist/tests/test-autofit.d.ts.map +0 -0
  101. package/dist/tests/test-autofit.js +0 -0
  102. package/dist/tests/test-autofit.js.map +0 -0
  103. package/dist/tests/test-base-autofit.d.ts +0 -0
  104. package/dist/tests/test-base-autofit.d.ts.map +0 -0
  105. package/dist/tests/test-base-autofit.js +0 -0
  106. package/dist/tests/test-base-autofit.js.map +0 -0
  107. package/dist/tests/test-browser-scene.d.ts +0 -0
  108. package/dist/tests/test-browser-scene.d.ts.map +0 -0
  109. package/dist/tests/test-browser-scene.js +0 -0
  110. package/dist/tests/test-browser-scene.js.map +0 -0
  111. package/dist/tests/test-character-validator.d.ts +0 -0
  112. package/dist/tests/test-character-validator.d.ts.map +0 -0
  113. package/dist/tests/test-character-validator.js +0 -0
  114. package/dist/tests/test-character-validator.js.map +0 -0
  115. package/dist/tests/test-cli.d.ts +0 -0
  116. package/dist/tests/test-cli.d.ts.map +0 -0
  117. package/dist/tests/test-cli.js +0 -0
  118. package/dist/tests/test-cli.js.map +0 -0
  119. package/dist/tests/test-image-loading.d.ts +0 -0
  120. package/dist/tests/test-image-loading.d.ts.map +0 -0
  121. package/dist/tests/test-image-loading.js +0 -0
  122. package/dist/tests/test-image-loading.js.map +0 -0
  123. package/dist/tests/test-joint-movement.d.ts +0 -0
  124. package/dist/tests/test-joint-movement.d.ts.map +0 -0
  125. package/dist/tests/test-joint-movement.js +0 -0
  126. package/dist/tests/test-joint-movement.js.map +0 -0
  127. package/dist/tests/test-p5-image-types.d.ts +0 -0
  128. package/dist/tests/test-p5-image-types.d.ts.map +0 -0
  129. package/dist/tests/test-p5-image-types.js +0 -0
  130. package/dist/tests/test-p5-image-types.js.map +0 -0
  131. package/dist/tests/test-render-cache-visual.d.ts +0 -0
  132. package/dist/tests/test-render-cache-visual.d.ts.map +0 -0
  133. package/dist/tests/test-render-cache-visual.js +0 -0
  134. package/dist/tests/test-render-cache-visual.js.map +0 -0
  135. package/dist/tests/test-render-cache.d.ts +0 -0
  136. package/dist/tests/test-render-cache.d.ts.map +0 -0
  137. package/dist/tests/test-render-cache.js +0 -0
  138. package/dist/tests/test-render-cache.js.map +0 -0
  139. package/dist/tests/test-scene-object-svg-rerasterization.d.ts +2 -0
  140. package/dist/tests/test-scene-object-svg-rerasterization.d.ts.map +1 -0
  141. package/dist/tests/test-scene-object-svg-rerasterization.js +86 -0
  142. package/dist/tests/test-scene-object-svg-rerasterization.js.map +1 -0
  143. package/dist/tests/test-scene.d.ts +0 -0
  144. package/dist/tests/test-scene.d.ts.map +0 -0
  145. package/dist/tests/test-scene.js +0 -0
  146. package/dist/tests/test-scene.js.map +0 -0
  147. package/dist/tests/test-skia.d.ts +0 -0
  148. package/dist/tests/test-skia.d.ts.map +0 -0
  149. package/dist/tests/test-skia.js +0 -0
  150. package/dist/tests/test-skia.js.map +0 -0
  151. package/dist/tests/test-svg-parallax.d.ts +2 -0
  152. package/dist/tests/test-svg-parallax.d.ts.map +1 -0
  153. package/dist/tests/test-svg-parallax.js +52 -0
  154. package/dist/tests/test-svg-parallax.js.map +1 -0
  155. package/dist/tests/test-svg-rerasterization.d.ts +2 -0
  156. package/dist/tests/test-svg-rerasterization.d.ts.map +1 -0
  157. package/dist/tests/test-svg-rerasterization.js +97 -0
  158. package/dist/tests/test-svg-rerasterization.js.map +1 -0
  159. package/dist/tests/test-torso-pivot.d.ts +0 -0
  160. package/dist/tests/test-torso-pivot.d.ts.map +0 -0
  161. package/dist/tests/test-torso-pivot.js +0 -0
  162. package/dist/tests/test-torso-pivot.js.map +0 -0
  163. package/dist/tests/test-visual-verification.d.ts +0 -0
  164. package/dist/tests/test-visual-verification.d.ts.map +0 -0
  165. package/dist/tests/test-visual-verification.js +0 -0
  166. package/dist/tests/test-visual-verification.js.map +0 -0
  167. package/dist/types.d.ts +31 -0
  168. package/dist/types.d.ts.map +1 -1
  169. package/dist/types.js +0 -0
  170. package/dist/types.js.map +0 -0
  171. package/package.json +106 -106
  172. package/assets/presets/jumping-jack.json +0 -194
@@ -0,0 +1,52 @@
1
+ import { ImageLoader } from '../modules/imageLoad.js';
2
+ import { assert, printSummary } from './helpers.js';
3
+ class TestImageLoader extends ImageLoader {
4
+ constructor() {
5
+ super(...arguments);
6
+ this.lastSvgSource = null;
7
+ }
8
+ attachBaseSvg(image, svgSource, width, height) {
9
+ this.attachSvgMetadata(image, svgSource, width, height, width, height);
10
+ }
11
+ async createSvgCanvas(svgSource, targetWidth, targetHeight) {
12
+ this.lastSvgSource = svgSource;
13
+ return {
14
+ width: targetWidth,
15
+ height: targetHeight,
16
+ getContext: () => null,
17
+ };
18
+ }
19
+ }
20
+ async function testSvgParallaxOnlyMovesEnabledPaths() {
21
+ console.log('\nTest: SVG parallax only transforms enabled paths');
22
+ const loader = new TestImageLoader('http://example.test');
23
+ const svgSource = '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24"><path d="M0 0 L10 0" fill="red"/><path d="M0 10 L10 10" fill="blue"/></svg>';
24
+ const baseImage = { width: 24, height: 24 };
25
+ loader.attachBaseSvg(baseImage, svgSource, 24, 24);
26
+ loader.cacheImage('head-svg', baseImage);
27
+ const config = {
28
+ layers: {
29
+ 'path-1': { enabled: true, depth: 12 },
30
+ 'path-2': { enabled: false, depth: 30 },
31
+ }
32
+ };
33
+ const immediate = loader.requestSvgParallaxImageForSize('head-svg', config, 30, 24, 24);
34
+ assert(immediate === baseImage, 'Initial parallax request falls back to the current base raster');
35
+ await loader.waitForPendingImageUpgrades();
36
+ assert(!!loader.lastSvgSource, 'SVG parallax triggers a transformed SVG raster request');
37
+ assert((loader.lastSvgSource || '').includes('transform="translate('), 'Enabled SVG path receives a translate transform');
38
+ assert((loader.lastSvgSource || '').includes('fill="blue"/>'), 'Disabled SVG path remains otherwise unchanged');
39
+ assert(!(loader.lastSvgSource || '').includes('fill="blue" transform='), 'Disabled SVG path does not receive a parallax transform');
40
+ }
41
+ async function run() {
42
+ try {
43
+ await testSvgParallaxOnlyMovesEnabledPaths();
44
+ }
45
+ catch (error) {
46
+ console.error(error);
47
+ process.exitCode = 1;
48
+ }
49
+ printSummary();
50
+ }
51
+ void run();
52
+ //# sourceMappingURL=test-svg-parallax.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-svg-parallax.js","sourceRoot":"","sources":["../../tests/test-svg-parallax.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAGpD,MAAM,eAAgB,SAAQ,WAAW;IAAzC;;QACW,kBAAa,GAAkB,IAAI,CAAC;IAc/C,CAAC;IAZU,aAAa,CAAC,KAAU,EAAE,SAAiB,EAAE,KAAa,EAAE,MAAc;QAC7E,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAC3E,CAAC;IAEkB,KAAK,CAAC,eAAe,CAAC,SAAiB,EAAE,WAAmB,EAAE,YAAoB;QACjG,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;QAC/B,OAAO;YACH,KAAK,EAAE,WAAW;YAClB,MAAM,EAAE,YAAY;YACpB,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI;SACzB,CAAC;IACN,CAAC;CACJ;AAED,KAAK,UAAU,oCAAoC;IAC/C,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;IAElE,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,qBAAqB,CAAC,CAAC;IAC1D,MAAM,SAAS,GAAG,4IAA4I,CAAC;IAC/J,MAAM,SAAS,GAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IACjD,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACnD,MAAM,CAAC,UAAU,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IAEzC,MAAM,MAAM,GAA0B;QAClC,MAAM,EAAE;YACJ,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE;YACtC,QAAQ,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;SAC1C;KACJ,CAAC;IAEF,MAAM,SAAS,GAAG,MAAM,CAAC,8BAA8B,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACxF,MAAM,CAAC,SAAS,KAAK,SAAS,EAAE,gEAAgE,CAAC,CAAC;IAElG,MAAM,MAAM,CAAC,2BAA2B,EAAE,CAAC;IAE3C,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,EAAE,wDAAwD,CAAC,CAAC;IACzF,MAAM,CAAC,CAAC,MAAM,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,uBAAuB,CAAC,EAAE,iDAAiD,CAAC,CAAC;IAC1H,MAAM,CAAC,CAAC,MAAM,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,+CAA+C,CAAC,CAAC;IAChH,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,wBAAwB,CAAC,EAAE,yDAAyD,CAAC,CAAC;AACxI,CAAC;AAED,KAAK,UAAU,GAAG;IACd,IAAI,CAAC;QACD,MAAM,oCAAoC,EAAE,CAAC;IACjD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACrB,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACzB,CAAC;IAED,YAAY,EAAE,CAAC;AACnB,CAAC;AAED,KAAK,GAAG,EAAE,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=test-svg-rerasterization.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-svg-rerasterization.d.ts","sourceRoot":"","sources":["../../tests/test-svg-rerasterization.ts"],"names":[],"mappings":""}
@@ -0,0 +1,97 @@
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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-svg-rerasterization.js","sourceRoot":"","sources":["../../tests/test-svg-rerasterization.ts"],"names":[],"mappings":"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"}
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
package/dist/types.d.ts CHANGED
@@ -110,6 +110,34 @@ export interface EyeSockets {
110
110
  left?: EyeSocketPolygon;
111
111
  right?: EyeSocketPolygon;
112
112
  }
113
+ export interface PartAngleSwapRule {
114
+ enabled?: boolean;
115
+ thresholdDegrees?: number;
116
+ swapImage?: string;
117
+ options?: PartAngleSwapOption[];
118
+ }
119
+ export interface PartAngleSwapVariation extends Partial<RigData> {
120
+ }
121
+ export interface PartAngleSwapOption {
122
+ enabled?: boolean;
123
+ thresholdDegrees?: number;
124
+ swapImage?: string;
125
+ swapVariation?: PartAngleSwapVariation;
126
+ variationName?: string;
127
+ }
128
+ export interface PartAngleSwapConfig {
129
+ [partName: string]: PartAngleSwapRule | undefined;
130
+ }
131
+ export interface SvgParallaxLayerConfig {
132
+ enabled?: boolean;
133
+ depth?: number;
134
+ }
135
+ export interface SvgParallaxPartConfig {
136
+ layers?: Record<string, SvgParallaxLayerConfig>;
137
+ }
138
+ export interface SvgParallaxConfig {
139
+ [partName: string]: SvgParallaxPartConfig | undefined;
140
+ }
113
141
  /**
114
142
  * Character rig data structure
115
143
  */
@@ -118,6 +146,7 @@ export interface RigData {
118
146
  key?: string;
119
147
  kind?: string;
120
148
  name?: string;
149
+ angleValues?: Record<string, number>;
121
150
  rotationValues?: Record<string, number>;
122
151
  selfRotationValues?: Record<string, number>;
123
152
  dimensionValues?: Record<string, Dimension>;
@@ -128,6 +157,8 @@ export interface RigData {
128
157
  eyeSockets?: EyeSockets;
129
158
  mouth?: MouthData;
130
159
  imagePaths?: Record<string, string>;
160
+ partSwapConfig?: PartAngleSwapConfig;
161
+ svgParallaxConfig?: SvgParallaxConfig;
131
162
  imageScale?: number;
132
163
  visibility?: Record<string, boolean>;
133
164
  flipX?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../types.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,WAAW,QAAQ;IACrB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACb;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IACxB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,OAAO;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;CAC9C;AAED;;;GAGG;AACH,MAAM,WAAW,SAAS;IAEtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IAGf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IAGpB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;CAC9C;AAED;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,QAAQ,EAAE,CAAC;AAE1C;;GAEG;AACH,MAAM,WAAW,UAAU;IACvB,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACxB,KAAK,CAAC,EAAE,gBAAgB,CAAC;CAC5B;AAED,MAAM,WAAW,iBAAiB;IAC9B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,mBAAmB,EAAE,CAAC;CACnC;AAED,MAAM,WAAW,sBAAuB,SAAQ,OAAO,CAAC,OAAO,CAAC;CAAG;AAEnE,MAAM,WAAW,mBAAmB;IAChC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,sBAAsB,CAAC;IACvC,aAAa,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,mBAAmB;IAChC,CAAC,QAAQ,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS,CAAC;CACrD;AAED,MAAM,WAAW,sBAAsB;IACnC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,qBAAqB;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;CACnD;AAED,MAAM,WAAW,iBAAiB;IAC9B,CAAC,QAAQ,EAAE,MAAM,GAAG,qBAAqB,GAAG,SAAS,CAAC;CACzD;AAED;;GAEG;AACH,MAAM,WAAW,OAAO;IACpB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5C,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC5C,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACvC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,cAAc,CAAC,EAAE,mBAAmB,CAAC;IACrC,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,QAAQ,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,GAAG,iBAAiB,CAAC,CAAC;IACpE,4FAA4F;IAC5F,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,QAAQ,CAAC;IACzC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,gBAAgB,GAAG,iBAAiB,CAAC;IACjD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,WAAW,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACb;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC1B,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,WAAW,EAAE,UAAU,EAAE,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACvC,UAAU,EAAE,aAAa,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,gBAAgB,KAAK,IAAI,CAAC;AAC7E,MAAM,MAAM,kBAAkB,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,MAAM,KAAK,IAAI,CAAC;AAE9E;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,UAAU,GAAG,WAAW,GAAG,YAAY,GAAG,EAAE,CAAC;AAElI;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,aAAa,GAAG,QAAQ,CAAC;AAE5D;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAC9B,SAAS,CAAC,EAAE,YAAY,CAAC;IACzB,cAAc,CAAC,EAAE,QAAQ,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IAErB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,gBAAgB,EAAE,YAAY,CAAC;IAG/B,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,oBAAoB,EAAE,MAAM,CAAC;IAC7B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,kBAAkB,EAAE,WAAW,CAAC;IAChC,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IAGxB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC1B,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,SAAS,CAAC,EAAE,YAAY,CAAC;IACzB,UAAU,CAAC,EAAE,YAAY,CAAC;IAC1B,WAAW,CAAC,EAAE,YAAY,CAAC;CAC9B"}
package/dist/types.js CHANGED
File without changes
package/dist/types.js.map CHANGED
File without changes
package/package.json CHANGED
@@ -1,106 +1,106 @@
1
- {
2
- "name": "distark-render",
3
- "version": "1.1.12",
4
- "description": "Rendering-agnostic character rig system with TypeScript",
5
- "type": "module",
6
- "main": "./dist/modules/renderRig.js",
7
- "types": "./dist/modules/renderRig.d.ts",
8
- "exports": {
9
- ".": {
10
- "types": "./dist/modules/renderRig.d.ts",
11
- "import": "./dist/modules/renderRig.js"
12
- },
13
- "./imageLoad": {
14
- "types": "./dist/modules/imageLoad.d.ts",
15
- "import": "./dist/modules/imageLoad.js"
16
- },
17
- "./eyeSystem": {
18
- "types": "./dist/modules/eyeSystem.d.ts",
19
- "import": "./dist/modules/eyeSystem.js"
20
- },
21
- "./mouthSystem": {
22
- "types": "./dist/modules/mouthSystem.d.ts",
23
- "import": "./dist/modules/mouthSystem.js"
24
- },
25
- "./types": {
26
- "types": "./dist/types.d.ts",
27
- "import": "./dist/types.js"
28
- },
29
- "./p5": {
30
- "types": "./dist/modules/adapters/p5Renderer.d.ts",
31
- "import": "./dist/modules/adapters/p5Renderer.js"
32
- },
33
- "./skia": {
34
- "types": "./dist/modules/adapters/skiaRenderer.d.ts",
35
- "import": "./dist/modules/adapters/skiaRenderer.js"
36
- },
37
- "./characterValidator": {
38
- "types": "./dist/modules/characterValidator.d.ts",
39
- "import": "./dist/modules/characterValidator.js"
40
- },
41
- "./animationDiff": {
42
- "types": "./dist/modules/animationDiff.d.ts",
43
- "import": "./dist/modules/animationDiff.js"
44
- },
45
- "./browserSceneRenderer": {
46
- "types": "./dist/modules/browserSceneRenderer.d.ts",
47
- "import": "./dist/modules/browserSceneRenderer.js"
48
- },
49
- "./sceneRenderer": {
50
- "types": "./dist/modules/sceneRenderer.d.ts",
51
- "import": "./dist/modules/sceneRenderer.js"
52
- }
53
- },
54
- "files": [
55
- "dist/**/*",
56
- "assets/**/*.json",
57
- "README.md",
58
- "LICENSE"
59
- ],
60
- "bin": {
61
- "distark-check": "./dist/cli/distark-check.js"
62
- },
63
- "scripts": {
64
- "install-cli": "npm run build && if [ -d \"$HOME/bin\" ]; then rm -f $HOME/bin/distark-check && printf '#!/bin/sh\\nexec node %s/dist/cli/distark-check.js \"$@\"\\n' $(pwd) > $HOME/bin/distark-check && chmod +x $HOME/bin/distark-check && echo 'Installed to ~/bin/distark-check'; else echo '~/bin not found, skipping install'; fi",
65
- "install-cli": "npm run build && printf '#!/bin/sh\\nexec node %s/dist/cli/distark-check.js \"$@\"\\n' $(pwd) > $HOME/bin/distark-check && chmod +x $HOME/bin/distark-check",
66
- "build": "tsc",
67
- "check": "node dist/cli/distark-check.js",
68
- "test-cli": "npm run build && node dist/tests/test-cli.js",
69
- "test-torso-pivot": "npm run build && node dist/tests/test-torso-pivot.js",
70
- "watch": "tsc --watch",
71
- "dev": "tsc --watch & http-server -p 8080",
72
- "clean": "rm -rf dist",
73
- "serve": "http-server -p 8080",
74
- "test": "npm run build && for f in dist/tests/test-*.js; do echo \"\\n>>> $f\" && node \"$f\" || exit 1; done",
75
- "prepublishOnly": "npm run clean && npm run build"
76
- },
77
- "keywords": [
78
- "character",
79
- "rig",
80
- "animation",
81
- "canvas",
82
- "rendering",
83
- "2d"
84
- ],
85
- "author": "liaokira",
86
- "license": "MIT",
87
- "devDependencies": {
88
- "@types/node": "^25.2.0",
89
- "playwright": "^1.58.2",
90
- "typescript": "^5.3.3"
91
- },
92
- "optionalDependencies": {
93
- "skia-canvas": "^3.0.8"
94
- },
95
- "repository": {
96
- "type": "git",
97
- "url": "git+https://github.com/jtoy/distark_render.git"
98
- },
99
- "bugs": {
100
- "url": "https://github.com/jtoy/distark_render/issues"
101
- },
102
- "homepage": "https://github.com/jtoy/distark_render#readme",
103
- "dependencies": {
104
- "distark-render": "^1.0.8"
105
- }
106
- }
1
+ {
2
+ "name": "distark-render",
3
+ "version": "1.1.13",
4
+ "description": "Rendering-agnostic character rig system with TypeScript",
5
+ "type": "module",
6
+ "main": "./dist/modules/renderRig.js",
7
+ "types": "./dist/modules/renderRig.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "types": "./dist/modules/renderRig.d.ts",
11
+ "import": "./dist/modules/renderRig.js"
12
+ },
13
+ "./imageLoad": {
14
+ "types": "./dist/modules/imageLoad.d.ts",
15
+ "import": "./dist/modules/imageLoad.js"
16
+ },
17
+ "./eyeSystem": {
18
+ "types": "./dist/modules/eyeSystem.d.ts",
19
+ "import": "./dist/modules/eyeSystem.js"
20
+ },
21
+ "./mouthSystem": {
22
+ "types": "./dist/modules/mouthSystem.d.ts",
23
+ "import": "./dist/modules/mouthSystem.js"
24
+ },
25
+ "./types": {
26
+ "types": "./dist/types.d.ts",
27
+ "import": "./dist/types.js"
28
+ },
29
+ "./p5": {
30
+ "types": "./dist/modules/adapters/p5Renderer.d.ts",
31
+ "import": "./dist/modules/adapters/p5Renderer.js"
32
+ },
33
+ "./skia": {
34
+ "types": "./dist/modules/adapters/skiaRenderer.d.ts",
35
+ "import": "./dist/modules/adapters/skiaRenderer.js"
36
+ },
37
+ "./characterValidator": {
38
+ "types": "./dist/modules/characterValidator.d.ts",
39
+ "import": "./dist/modules/characterValidator.js"
40
+ },
41
+ "./animationDiff": {
42
+ "types": "./dist/modules/animationDiff.d.ts",
43
+ "import": "./dist/modules/animationDiff.js"
44
+ },
45
+ "./browserSceneRenderer": {
46
+ "types": "./dist/modules/browserSceneRenderer.d.ts",
47
+ "import": "./dist/modules/browserSceneRenderer.js"
48
+ },
49
+ "./sceneRenderer": {
50
+ "types": "./dist/modules/sceneRenderer.d.ts",
51
+ "import": "./dist/modules/sceneRenderer.js"
52
+ }
53
+ },
54
+ "files": [
55
+ "dist/**/*",
56
+ "assets/**/*.json",
57
+ "README.md",
58
+ "LICENSE"
59
+ ],
60
+ "bin": {
61
+ "distark-check": "./dist/cli/distark-check.js"
62
+ },
63
+ "scripts": {
64
+ "install-cli": "npm run build && if [ -d \"$HOME/bin\" ]; then rm -f $HOME/bin/distark-check && printf '#!/bin/sh\\nexec node %s/dist/cli/distark-check.js \"$@\"\\n' $(pwd) > $HOME/bin/distark-check && chmod +x $HOME/bin/distark-check && echo 'Installed to ~/bin/distark-check'; else echo '~/bin not found, skipping install'; fi",
65
+ "install-cli": "npm run build && printf '#!/bin/sh\\nexec node %s/dist/cli/distark-check.js \"$@\"\\n' $(pwd) > $HOME/bin/distark-check && chmod +x $HOME/bin/distark-check",
66
+ "build": "tsc",
67
+ "check": "node dist/cli/distark-check.js",
68
+ "test-cli": "npm run build && node dist/tests/test-cli.js",
69
+ "test-torso-pivot": "npm run build && node dist/tests/test-torso-pivot.js",
70
+ "watch": "tsc --watch",
71
+ "dev": "tsc --watch & http-server -p 8080",
72
+ "clean": "rm -rf dist",
73
+ "serve": "http-server -p 8080",
74
+ "test": "npm run build && for f in dist/tests/test-*.js; do echo \"\\n>>> $f\" && node \"$f\" || exit 1; done",
75
+ "prepublishOnly": "npm run clean && npm run build"
76
+ },
77
+ "keywords": [
78
+ "character",
79
+ "rig",
80
+ "animation",
81
+ "canvas",
82
+ "rendering",
83
+ "2d"
84
+ ],
85
+ "author": "liaokira",
86
+ "license": "MIT",
87
+ "devDependencies": {
88
+ "@types/node": "^25.2.0",
89
+ "playwright": "^1.58.2",
90
+ "typescript": "^5.3.3"
91
+ },
92
+ "optionalDependencies": {
93
+ "skia-canvas": "^3.0.8"
94
+ },
95
+ "repository": {
96
+ "type": "git",
97
+ "url": "git+https://github.com/jtoy/distark_render.git"
98
+ },
99
+ "bugs": {
100
+ "url": "https://github.com/jtoy/distark_render/issues"
101
+ },
102
+ "homepage": "https://github.com/jtoy/distark_render#readme",
103
+ "dependencies": {
104
+ "distark-render": "^1.0.8"
105
+ }
106
+ }