distark-render 1.1.9 → 1.1.11

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 (156) 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 +2 -12
  28. package/dist/cli/scene.d.ts.map +1 -1
  29. package/dist/cli/scene.js +4 -235
  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 +0 -0
  53. package/dist/modules/animationDiff.js +0 -0
  54. package/dist/modules/animationDiff.js.map +0 -0
  55. package/dist/modules/browserSceneRenderer.d.ts +21 -0
  56. package/dist/modules/browserSceneRenderer.d.ts.map +1 -0
  57. package/dist/modules/browserSceneRenderer.js +263 -0
  58. package/dist/modules/browserSceneRenderer.js.map +1 -0
  59. package/dist/modules/eyeSystem.d.ts +0 -0
  60. package/dist/modules/eyeSystem.d.ts.map +0 -0
  61. package/dist/modules/eyeSystem.js +0 -0
  62. package/dist/modules/eyeSystem.js.map +0 -0
  63. package/dist/modules/imageLoad.d.ts +22 -8
  64. package/dist/modules/imageLoad.d.ts.map +1 -1
  65. package/dist/modules/imageLoad.js +203 -78
  66. package/dist/modules/imageLoad.js.map +1 -1
  67. package/dist/modules/mouthSystem.d.ts +0 -0
  68. package/dist/modules/mouthSystem.d.ts.map +0 -0
  69. package/dist/modules/mouthSystem.js +0 -0
  70. package/dist/modules/mouthSystem.js.map +0 -0
  71. package/dist/modules/renderRig.d.ts +0 -0
  72. package/dist/modules/renderRig.d.ts.map +1 -1
  73. package/dist/modules/renderRig.js +40 -0
  74. package/dist/modules/renderRig.js.map +1 -1
  75. package/dist/modules/sceneRenderer.d.ts +2 -1
  76. package/dist/modules/sceneRenderer.d.ts.map +1 -1
  77. package/dist/modules/sceneRenderer.js +9 -6
  78. package/dist/modules/sceneRenderer.js.map +1 -1
  79. package/dist/tests/helpers.d.ts +0 -0
  80. package/dist/tests/helpers.d.ts.map +0 -0
  81. package/dist/tests/helpers.js +0 -0
  82. package/dist/tests/helpers.js.map +0 -0
  83. package/dist/tests/test-animation-diff-rendering.d.ts +0 -0
  84. package/dist/tests/test-animation-diff-rendering.d.ts.map +0 -0
  85. package/dist/tests/test-animation-diff-rendering.js +0 -0
  86. package/dist/tests/test-animation-diff-rendering.js.map +0 -0
  87. package/dist/tests/test-animation-diff.d.ts +0 -0
  88. package/dist/tests/test-animation-diff.d.ts.map +0 -0
  89. package/dist/tests/test-animation-diff.js +0 -0
  90. package/dist/tests/test-animation-diff.js.map +0 -0
  91. package/dist/tests/test-autofit.d.ts +0 -0
  92. package/dist/tests/test-autofit.d.ts.map +0 -0
  93. package/dist/tests/test-autofit.js +0 -0
  94. package/dist/tests/test-autofit.js.map +0 -0
  95. package/dist/tests/test-base-autofit.d.ts +0 -0
  96. package/dist/tests/test-base-autofit.d.ts.map +0 -0
  97. package/dist/tests/test-base-autofit.js +0 -0
  98. package/dist/tests/test-base-autofit.js.map +0 -0
  99. package/dist/tests/test-browser-scene.d.ts +2 -0
  100. package/dist/tests/test-browser-scene.d.ts.map +1 -0
  101. package/dist/tests/test-browser-scene.js +132 -0
  102. package/dist/tests/test-browser-scene.js.map +1 -0
  103. package/dist/tests/test-cli.d.ts +0 -0
  104. package/dist/tests/test-cli.d.ts.map +0 -0
  105. package/dist/tests/test-cli.js +0 -0
  106. package/dist/tests/test-cli.js.map +0 -0
  107. package/dist/tests/test-image-loading.d.ts +0 -0
  108. package/dist/tests/test-image-loading.d.ts.map +0 -0
  109. package/dist/tests/test-image-loading.js +0 -0
  110. package/dist/tests/test-image-loading.js.map +0 -0
  111. package/dist/tests/test-joint-movement.d.ts +0 -0
  112. package/dist/tests/test-joint-movement.d.ts.map +0 -0
  113. package/dist/tests/test-joint-movement.js +0 -0
  114. package/dist/tests/test-joint-movement.js.map +0 -0
  115. package/dist/tests/test-p5-image-types.d.ts +0 -0
  116. package/dist/tests/test-p5-image-types.d.ts.map +0 -0
  117. package/dist/tests/test-p5-image-types.js +0 -0
  118. package/dist/tests/test-p5-image-types.js.map +0 -0
  119. package/dist/tests/test-render-cache-visual.d.ts +2 -0
  120. package/dist/tests/test-render-cache-visual.d.ts.map +1 -0
  121. package/dist/tests/test-render-cache-visual.js +108 -0
  122. package/dist/tests/test-render-cache-visual.js.map +1 -0
  123. package/dist/tests/test-render-cache.d.ts +2 -0
  124. package/dist/tests/test-render-cache.d.ts.map +1 -0
  125. package/dist/tests/test-render-cache.js +124 -0
  126. package/dist/tests/test-render-cache.js.map +1 -0
  127. package/dist/tests/test-scene-object-svg-rerasterization.d.ts +2 -0
  128. package/dist/tests/test-scene-object-svg-rerasterization.d.ts.map +1 -0
  129. package/dist/tests/test-scene-object-svg-rerasterization.js +86 -0
  130. package/dist/tests/test-scene-object-svg-rerasterization.js.map +1 -0
  131. package/dist/tests/test-scene.d.ts +0 -0
  132. package/dist/tests/test-scene.d.ts.map +0 -0
  133. package/dist/tests/test-scene.js +0 -0
  134. package/dist/tests/test-scene.js.map +0 -0
  135. package/dist/tests/test-skia.d.ts +0 -0
  136. package/dist/tests/test-skia.d.ts.map +0 -0
  137. package/dist/tests/test-skia.js +0 -0
  138. package/dist/tests/test-skia.js.map +0 -0
  139. package/dist/tests/test-svg-rerasterization.d.ts +2 -0
  140. package/dist/tests/test-svg-rerasterization.d.ts.map +1 -0
  141. package/dist/tests/test-svg-rerasterization.js +97 -0
  142. package/dist/tests/test-svg-rerasterization.js.map +1 -0
  143. package/dist/tests/test-torso-pivot.d.ts +0 -0
  144. package/dist/tests/test-torso-pivot.d.ts.map +0 -0
  145. package/dist/tests/test-torso-pivot.js +0 -0
  146. package/dist/tests/test-torso-pivot.js.map +0 -0
  147. package/dist/tests/test-visual-verification.d.ts +0 -0
  148. package/dist/tests/test-visual-verification.d.ts.map +0 -0
  149. package/dist/tests/test-visual-verification.js +0 -0
  150. package/dist/tests/test-visual-verification.js.map +0 -0
  151. package/dist/types.d.ts +0 -0
  152. package/dist/types.d.ts.map +0 -0
  153. package/dist/types.js +0 -0
  154. package/dist/types.js.map +0 -0
  155. package/package.json +5 -1
  156. package/assets/presets/jumping-jack.json +0 -194
@@ -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
File without changes
File without changes
package/dist/types.js CHANGED
File without changes
package/dist/types.js.map CHANGED
File without changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "distark-render",
3
- "version": "1.1.9",
3
+ "version": "1.1.11",
4
4
  "description": "Rendering-agnostic character rig system with TypeScript",
5
5
  "type": "module",
6
6
  "main": "./dist/modules/renderRig.js",
@@ -38,6 +38,10 @@
38
38
  "types": "./dist/modules/animationDiff.d.ts",
39
39
  "import": "./dist/modules/animationDiff.js"
40
40
  },
41
+ "./browserSceneRenderer": {
42
+ "types": "./dist/modules/browserSceneRenderer.d.ts",
43
+ "import": "./dist/modules/browserSceneRenderer.js"
44
+ },
41
45
  "./sceneRenderer": {
42
46
  "types": "./dist/modules/sceneRenderer.d.ts",
43
47
  "import": "./dist/modules/sceneRenderer.js"
@@ -1,194 +0,0 @@
1
- [
2
- {
3
- "rotationValues": {
4
- "leftUpperArm": -3.141593,
5
- "rightUpperArm": 3.141593,
6
- "leftThigh": -3.141593,
7
- "rightThigh": 3.141593
8
- }
9
- },
10
- {
11
- "rotationValues": {
12
- "leftUpperArm": -3.325734,
13
- "rightUpperArm": 3.325734,
14
- "leftThigh": -3.088003,
15
- "rightThigh": 3.088003
16
- }
17
- },
18
- {
19
- "rotationValues": {
20
- "leftUpperArm": -3.828816,
21
- "rightUpperArm": 3.828816,
22
- "leftThigh": -2.941593,
23
- "rightThigh": 2.941593
24
- }
25
- },
26
- {
27
- "rotationValues": {
28
- "leftUpperArm": -4.516039,
29
- "rightUpperArm": 4.516039,
30
- "leftThigh": -2.741593,
31
- "rightThigh": 2.741593
32
- }
33
- },
34
- {
35
- "rotationValues": {
36
- "leftUpperArm": -5.203263,
37
- "rightUpperArm": 5.203263,
38
- "leftThigh": -2.541593,
39
- "rightThigh": 2.541593
40
- }
41
- },
42
- {
43
- "rotationValues": {
44
- "leftUpperArm": -5.706345,
45
- "rightUpperArm": 5.706345,
46
- "leftThigh": -2.395182,
47
- "rightThigh": 2.395182
48
- }
49
- },
50
- {
51
- "rotationValues": {
52
- "leftUpperArm": -5.890486,
53
- "rightUpperArm": 5.890486,
54
- "leftThigh": -2.341593,
55
- "rightThigh": 2.341593
56
- }
57
- },
58
- {
59
- "rotationValues": {
60
- "leftUpperArm": -5.706345,
61
- "rightUpperArm": 5.706345,
62
- "leftThigh": -2.395182,
63
- "rightThigh": 2.395182
64
- }
65
- },
66
- {
67
- "rotationValues": {
68
- "leftUpperArm": -5.203263,
69
- "rightUpperArm": 5.203263,
70
- "leftThigh": -2.541593,
71
- "rightThigh": 2.541593
72
- }
73
- },
74
- {
75
- "rotationValues": {
76
- "leftUpperArm": -4.516039,
77
- "rightUpperArm": 4.516039,
78
- "leftThigh": -2.741593,
79
- "rightThigh": 2.741593
80
- }
81
- },
82
- {
83
- "rotationValues": {
84
- "leftUpperArm": -3.828816,
85
- "rightUpperArm": 3.828816,
86
- "leftThigh": -2.941593,
87
- "rightThigh": 2.941593
88
- }
89
- },
90
- {
91
- "rotationValues": {
92
- "leftUpperArm": -3.325734,
93
- "rightUpperArm": 3.325734,
94
- "leftThigh": -3.088003,
95
- "rightThigh": 3.088003
96
- }
97
- },
98
- {
99
- "rotationValues": {
100
- "leftUpperArm": -3.141593,
101
- "rightUpperArm": 3.141593,
102
- "leftThigh": -3.141593,
103
- "rightThigh": 3.141593
104
- }
105
- },
106
- {
107
- "rotationValues": {
108
- "leftUpperArm": -3.325734,
109
- "rightUpperArm": 3.325734,
110
- "leftThigh": -3.088003,
111
- "rightThigh": 3.088003
112
- }
113
- },
114
- {
115
- "rotationValues": {
116
- "leftUpperArm": -3.828816,
117
- "rightUpperArm": 3.828816,
118
- "leftThigh": -2.941593,
119
- "rightThigh": 2.941593
120
- }
121
- },
122
- {
123
- "rotationValues": {
124
- "leftUpperArm": -4.516039,
125
- "rightUpperArm": 4.516039,
126
- "leftThigh": -2.741593,
127
- "rightThigh": 2.741593
128
- }
129
- },
130
- {
131
- "rotationValues": {
132
- "leftUpperArm": -5.203263,
133
- "rightUpperArm": 5.203263,
134
- "leftThigh": -2.541593,
135
- "rightThigh": 2.541593
136
- }
137
- },
138
- {
139
- "rotationValues": {
140
- "leftUpperArm": -5.706345,
141
- "rightUpperArm": 5.706345,
142
- "leftThigh": -2.395182,
143
- "rightThigh": 2.395182
144
- }
145
- },
146
- {
147
- "rotationValues": {
148
- "leftUpperArm": -5.890486,
149
- "rightUpperArm": 5.890486,
150
- "leftThigh": -2.341593,
151
- "rightThigh": 2.341593
152
- }
153
- },
154
- {
155
- "rotationValues": {
156
- "leftUpperArm": -5.706345,
157
- "rightUpperArm": 5.706345,
158
- "leftThigh": -2.395182,
159
- "rightThigh": 2.395182
160
- }
161
- },
162
- {
163
- "rotationValues": {
164
- "leftUpperArm": -5.203263,
165
- "rightUpperArm": 5.203263,
166
- "leftThigh": -2.541593,
167
- "rightThigh": 2.541593
168
- }
169
- },
170
- {
171
- "rotationValues": {
172
- "leftUpperArm": -4.516039,
173
- "rightUpperArm": 4.516039,
174
- "leftThigh": -2.741593,
175
- "rightThigh": 2.741593
176
- }
177
- },
178
- {
179
- "rotationValues": {
180
- "leftUpperArm": -3.828816,
181
- "rightUpperArm": 3.828816,
182
- "leftThigh": -2.941593,
183
- "rightThigh": 2.941593
184
- }
185
- },
186
- {
187
- "rotationValues": {
188
- "leftUpperArm": -3.325734,
189
- "rightUpperArm": 3.325734,
190
- "leftThigh": -3.088003,
191
- "rightThigh": 3.088003
192
- }
193
- }
194
- ]