distark-render 1.1.14 → 1.1.15

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/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 +0 -0
  29. package/dist/cli/scene.d.ts.map +0 -0
  30. package/dist/cli/scene.js +16 -16
  31. package/dist/cli/scene.js.map +0 -0
  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 +0 -0
  46. package/dist/modules/adapters/p5Renderer.js +0 -0
  47. package/dist/modules/adapters/p5Renderer.js.map +0 -0
  48. package/dist/modules/adapters/skiaRenderer.d.ts +0 -0
  49. package/dist/modules/adapters/skiaRenderer.d.ts.map +0 -0
  50. package/dist/modules/adapters/skiaRenderer.js +0 -0
  51. package/dist/modules/adapters/skiaRenderer.js.map +0 -0
  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 +1 -2
  61. package/dist/modules/characterValidator.d.ts.map +1 -1
  62. package/dist/modules/characterValidator.js +41 -2
  63. package/dist/modules/characterValidator.js.map +1 -1
  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 +0 -0
  69. package/dist/modules/imageLoad.d.ts.map +0 -0
  70. package/dist/modules/imageLoad.js +0 -0
  71. package/dist/modules/imageLoad.js.map +0 -0
  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 +0 -0
  78. package/dist/modules/renderRig.js +0 -0
  79. package/dist/modules/renderRig.js.map +0 -0
  80. package/dist/modules/sceneRenderer.d.ts +0 -0
  81. package/dist/modules/sceneRenderer.d.ts.map +0 -0
  82. package/dist/modules/sceneRenderer.js +0 -0
  83. package/dist/modules/sceneRenderer.js.map +0 -0
  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-angle-swap.d.ts +0 -0
  89. package/dist/tests/test-angle-swap.d.ts.map +0 -0
  90. package/dist/tests/test-angle-swap.js +0 -0
  91. package/dist/tests/test-angle-swap.js.map +0 -0
  92. package/dist/tests/test-animation-diff-rendering.d.ts +0 -0
  93. package/dist/tests/test-animation-diff-rendering.d.ts.map +0 -0
  94. package/dist/tests/test-animation-diff-rendering.js +0 -0
  95. package/dist/tests/test-animation-diff-rendering.js.map +0 -0
  96. package/dist/tests/test-animation-diff.d.ts +0 -0
  97. package/dist/tests/test-animation-diff.d.ts.map +0 -0
  98. package/dist/tests/test-animation-diff.js +0 -0
  99. package/dist/tests/test-animation-diff.js.map +0 -0
  100. package/dist/tests/test-autofit.d.ts +0 -0
  101. package/dist/tests/test-autofit.d.ts.map +0 -0
  102. package/dist/tests/test-autofit.js +0 -0
  103. package/dist/tests/test-autofit.js.map +0 -0
  104. package/dist/tests/test-base-autofit.d.ts +0 -0
  105. package/dist/tests/test-base-autofit.d.ts.map +0 -0
  106. package/dist/tests/test-base-autofit.js +0 -0
  107. package/dist/tests/test-base-autofit.js.map +0 -0
  108. package/dist/tests/test-browser-scene.d.ts +0 -0
  109. package/dist/tests/test-browser-scene.d.ts.map +0 -0
  110. package/dist/tests/test-browser-scene.js +0 -0
  111. package/dist/tests/test-browser-scene.js.map +0 -0
  112. package/dist/tests/test-character-validator.d.ts +0 -0
  113. package/dist/tests/test-character-validator.d.ts.map +0 -0
  114. package/dist/tests/test-character-validator.js +32 -0
  115. package/dist/tests/test-character-validator.js.map +1 -1
  116. package/dist/tests/test-cli.d.ts +0 -0
  117. package/dist/tests/test-cli.d.ts.map +0 -0
  118. package/dist/tests/test-cli.js +0 -0
  119. package/dist/tests/test-cli.js.map +0 -0
  120. package/dist/tests/test-image-loading.d.ts +0 -0
  121. package/dist/tests/test-image-loading.d.ts.map +0 -0
  122. package/dist/tests/test-image-loading.js +0 -0
  123. package/dist/tests/test-image-loading.js.map +0 -0
  124. package/dist/tests/test-joint-movement.d.ts +0 -0
  125. package/dist/tests/test-joint-movement.d.ts.map +0 -0
  126. package/dist/tests/test-joint-movement.js +0 -0
  127. package/dist/tests/test-joint-movement.js.map +0 -0
  128. package/dist/tests/test-p5-image-types.d.ts +0 -0
  129. package/dist/tests/test-p5-image-types.d.ts.map +0 -0
  130. package/dist/tests/test-p5-image-types.js +0 -0
  131. package/dist/tests/test-p5-image-types.js.map +0 -0
  132. package/dist/tests/test-render-cache-visual.d.ts +0 -0
  133. package/dist/tests/test-render-cache-visual.d.ts.map +0 -0
  134. package/dist/tests/test-render-cache-visual.js +0 -0
  135. package/dist/tests/test-render-cache-visual.js.map +0 -0
  136. package/dist/tests/test-render-cache.d.ts +0 -0
  137. package/dist/tests/test-render-cache.d.ts.map +0 -0
  138. package/dist/tests/test-render-cache.js +0 -0
  139. package/dist/tests/test-render-cache.js.map +0 -0
  140. package/dist/tests/test-scene-object-svg-rerasterization.d.ts +0 -0
  141. package/dist/tests/test-scene-object-svg-rerasterization.d.ts.map +0 -0
  142. package/dist/tests/test-scene-object-svg-rerasterization.js +0 -0
  143. package/dist/tests/test-scene-object-svg-rerasterization.js.map +0 -0
  144. package/dist/tests/test-scene.d.ts +0 -0
  145. package/dist/tests/test-scene.d.ts.map +0 -0
  146. package/dist/tests/test-scene.js +0 -0
  147. package/dist/tests/test-scene.js.map +0 -0
  148. package/dist/tests/test-skia.d.ts +0 -0
  149. package/dist/tests/test-skia.d.ts.map +0 -0
  150. package/dist/tests/test-skia.js +0 -0
  151. package/dist/tests/test-skia.js.map +0 -0
  152. package/dist/tests/test-svg-parallax.d.ts +0 -0
  153. package/dist/tests/test-svg-parallax.d.ts.map +0 -0
  154. package/dist/tests/test-svg-parallax.js +0 -0
  155. package/dist/tests/test-svg-parallax.js.map +0 -0
  156. package/dist/tests/test-svg-rerasterization.d.ts +0 -0
  157. package/dist/tests/test-svg-rerasterization.d.ts.map +0 -0
  158. package/dist/tests/test-svg-rerasterization.js +0 -0
  159. package/dist/tests/test-svg-rerasterization.js.map +0 -0
  160. package/dist/tests/test-torso-pivot.d.ts +0 -0
  161. package/dist/tests/test-torso-pivot.d.ts.map +0 -0
  162. package/dist/tests/test-torso-pivot.js +0 -0
  163. package/dist/tests/test-torso-pivot.js.map +0 -0
  164. package/dist/tests/test-visual-verification.d.ts +0 -0
  165. package/dist/tests/test-visual-verification.d.ts.map +0 -0
  166. package/dist/tests/test-visual-verification.js +0 -0
  167. package/dist/tests/test-visual-verification.js.map +0 -0
  168. package/dist/types.d.ts +0 -0
  169. package/dist/types.d.ts.map +0 -0
  170. package/dist/types.js +0 -0
  171. package/dist/types.js.map +0 -0
  172. package/package.json +106 -106
package/README.md CHANGED
File without changes
@@ -0,0 +1,194 @@
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
+ ]
package/assets/tank.json CHANGED
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
package/dist/cli/diff.js CHANGED
File without changes
File without changes
File without changes
File without changes
@@ -17,22 +17,22 @@ import { runQuery } from './query.js';
17
17
  import { runRecord } from './record.js';
18
18
  import { runTest } from './test.js';
19
19
  import { runScene } from './scene.js';
20
- const USAGE = `distark-check - CLI tool for LLM-driven rig testing
21
-
22
- Commands:
23
- render <rig.json> [-o out.png] [--width N] [--height N] [--report]
24
- verify <rig.json> [--checks all|bounds,visibility,proportions,zorder]
25
- animate <rig.json> <animation.json> [-o frames/] [--width N] [--height N]
26
- scene <world.json> [--time 0] [--chars a.json,b.json] [-o out.png] [--report]
27
- scene <world.json> --keyframes [--frames 5] [--chars ...] [-o frames/]
28
- diff <before.png> <after.png> [-o diff.png] [--threshold N]
29
- query <image.png|rig.json> --prompt "..." [-o report.json]
30
- test <rig.json|image|video> --prompt "..." [--tries N] [-o report.json]
31
- record <world.json> [--orc URL] [-o out.mp4] [--timeout 300]
32
-
33
- Environment:
34
- GEMINI_API_KEY Required for 'query' and 'test' commands
35
- ORC_URL Orchestrator URL for 'record' command (default: https://orchestrator.distark.com)
20
+ const USAGE = `distark-check - CLI tool for LLM-driven rig testing
21
+
22
+ Commands:
23
+ render <rig.json> [-o out.png] [--width N] [--height N] [--report]
24
+ verify <rig.json> [--checks all|bounds,visibility,proportions,zorder]
25
+ animate <rig.json> <animation.json> [-o frames/] [--width N] [--height N]
26
+ scene <world.json> [--time 0] [--chars a.json,b.json] [-o out.png] [--report]
27
+ scene <world.json> --keyframes [--frames 5] [--chars ...] [-o frames/]
28
+ diff <before.png> <after.png> [-o diff.png] [--threshold N]
29
+ query <image.png|rig.json> --prompt "..." [-o report.json]
30
+ test <rig.json|image|video> --prompt "..." [--tries N] [-o report.json]
31
+ record <world.json> [--orc URL] [-o out.mp4] [--timeout 300]
32
+
33
+ Environment:
34
+ GEMINI_API_KEY Required for 'query' and 'test' commands
35
+ ORC_URL Orchestrator URL for 'record' command (default: https://orchestrator.distark.com)
36
36
  `;
37
37
  async function main() {
38
38
  const args = process.argv.slice(2);
File without changes
File without changes
File without changes
package/dist/cli/query.js CHANGED
File without changes
File without changes
File without changes
File without changes
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/cli/scene.js CHANGED
@@ -71,22 +71,22 @@ async function loadRigDataMap(world, charsArg) {
71
71
  export async function runScene(args) {
72
72
  const inputFile = args.find(a => !a.startsWith('-')) || '';
73
73
  if (!inputFile) {
74
- console.error(`Usage:
75
- distark-check scene <world.json> [--time 0] [-o output.png] [--report]
76
- distark-check scene <world.json> --keyframes [--frames 5] [-o frames/]
77
- distark-check scene <world.json> --video [-o output.mp4] [--fps 30]
78
-
79
- Options:
80
- --time <seconds> Time to evaluate (default: 0)
81
- --chars <files> Comma-separated rig files: id=path or path (optional if embedded)
82
- --keyframes Render key frames across scene duration
83
- --video Render all frames and assemble into MP4 via ffmpeg
84
- --frames <count> Key frame count (default: 5, used with --keyframes)
85
- --fps <number> Frames per second for --video (default: 30)
86
- --width <pixels> Output width (default: 2560)
87
- --height <pixels> Output height (default: 1440)
88
- -o <path> Output file or directory
89
- --state Print scene state as JSON (no rendering)
74
+ console.error(`Usage:
75
+ distark-check scene <world.json> [--time 0] [-o output.png] [--report]
76
+ distark-check scene <world.json> --keyframes [--frames 5] [-o frames/]
77
+ distark-check scene <world.json> --video [-o output.mp4] [--fps 30]
78
+
79
+ Options:
80
+ --time <seconds> Time to evaluate (default: 0)
81
+ --chars <files> Comma-separated rig files: id=path or path (optional if embedded)
82
+ --keyframes Render key frames across scene duration
83
+ --video Render all frames and assemble into MP4 via ffmpeg
84
+ --frames <count> Key frame count (default: 5, used with --keyframes)
85
+ --fps <number> Frames per second for --video (default: 30)
86
+ --width <pixels> Output width (default: 2560)
87
+ --height <pixels> Output height (default: 1440)
88
+ -o <path> Output file or directory
89
+ --state Print scene state as JSON (no rendering)
90
90
  --report Save report JSON alongside output`);
91
91
  process.exit(1);
92
92
  }
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
package/dist/cli/test.js CHANGED
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -6,10 +6,9 @@
6
6
  * Warnings = character may look wrong or have limited expressiveness.
7
7
  *
8
8
  * This is the single source of truth for what constitutes a valid character.
9
- * The Ruby mirror in app/models/artifact/character.rb implements the same rules.
10
9
  */
11
10
  export type IssueSeverity = 'error' | 'warning';
12
- export type IssueCategory = 'parts' | 'eyes' | 'mouth' | 'pivots' | 'zIndex' | 'dimensions';
11
+ export type IssueCategory = 'parts' | 'eyes' | 'mouth' | 'pivots' | 'zIndex' | 'dimensions' | 'schema';
13
12
  export interface ValidationIssue {
14
13
  field: string;
15
14
  message: string;
@@ -1 +1 @@
1
- {"version":3,"file":"characterValidator.d.ts","sourceRoot":"","sources":["../../modules/characterValidator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,SAAS,CAAC;AAChD,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,YAAY,CAAC;AAE5F,MAAM,WAAW,eAAe;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,aAAa,CAAC;IACxB,QAAQ,EAAE,aAAa,CAAC;CAC3B;AAED,MAAM,WAAW,yBAAyB;IACtC,kEAAkE;IAClE,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,eAAe,EAAE,CAAC;CAC7B;AAID,6DAA6D;AAC7D,eAAO,MAAM,mBAAmB,uKAMtB,CAAC;AAEX,0DAA0D;AAC1D,eAAO,MAAM,qBAAqB,iSAMxB,CAAC;AAEX,gDAAgD;AAChD,eAAO,MAAM,sBAAsB,6PAQzB,CAAC;AAEX,wDAAwD;AACxD,eAAO,MAAM,mBAAmB,oMAMtB,CAAC;AAEX,iDAAiD;AACjD,eAAO,MAAM,mBAAmB,iOAOtB,CAAC;AAEX,qDAAqD;AACrD,eAAO,MAAM,mBAAmB,mFAGtB,CAAC;AAEX,iFAAiF;AACjF,eAAO,MAAM,wBAAwB,gLAM3B,CAAC;AAEX,wDAAwD;AACxD,eAAO,MAAM,oBAAoB,0FAEvB,CAAC;AAyBX,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,OAAO,GAAG,yBAAyB,CAoL1E"}
1
+ {"version":3,"file":"characterValidator.d.ts","sourceRoot":"","sources":["../../modules/characterValidator.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,SAAS,CAAC;AAChD,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,YAAY,GAAG,QAAQ,CAAC;AAEvG,MAAM,WAAW,eAAe;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,aAAa,CAAC;IACxB,QAAQ,EAAE,aAAa,CAAC;CAC3B;AAED,MAAM,WAAW,yBAAyB;IACtC,kEAAkE;IAClE,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,eAAe,EAAE,CAAC;CAC7B;AAID,6DAA6D;AAC7D,eAAO,MAAM,mBAAmB,uKAMtB,CAAC;AAEX,0DAA0D;AAC1D,eAAO,MAAM,qBAAqB,iSAMxB,CAAC;AAEX,gDAAgD;AAChD,eAAO,MAAM,sBAAsB,6PAQzB,CAAC;AAEX,wDAAwD;AACxD,eAAO,MAAM,mBAAmB,oMAMtB,CAAC;AAEX,iDAAiD;AACjD,eAAO,MAAM,mBAAmB,iOAOtB,CAAC;AAEX,qDAAqD;AACrD,eAAO,MAAM,mBAAmB,mFAGtB,CAAC;AAEX,iFAAiF;AACjF,eAAO,MAAM,wBAAwB,gLAM3B,CAAC;AAEX,wDAAwD;AACxD,eAAO,MAAM,oBAAoB,0FAEvB,CAAC;AAmCX,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,OAAO,GAAG,yBAAyB,CA0N1E"}
@@ -6,9 +6,8 @@
6
6
  * Warnings = character may look wrong or have limited expressiveness.
7
7
  *
8
8
  * This is the single source of truth for what constitutes a valid character.
9
- * The Ruby mirror in app/models/artifact/character.rb implements the same rules.
10
9
  */
11
- // ─── Schema constants (exported so Ruby mirror + docs can reference them) ────
10
+ // ─── Schema constants ────────────────────────────────────────────────────────
12
11
  /** The 12 body part image paths every character must have */
13
12
  export const REQUIRED_BODY_PARTS = [
14
13
  'head', 'torso',
@@ -85,6 +84,15 @@ function asObj(value) {
85
84
  }
86
85
  return null;
87
86
  }
87
+ // ─── Known root-level keys (mirrors RigData in types.ts) ─────────────────────
88
+ const KNOWN_ROOT_KEYS = new Set([
89
+ 'id', 'key', 'kind', 'name',
90
+ 'angleValues', 'rotationValues', 'selfRotationValues',
91
+ 'dimensionValues', 'pivotPoints', 'jointOffset', 'zIndexValues',
92
+ 'eyes', 'eyeSockets', 'mouth', 'imagePaths',
93
+ 'partSwapConfig', 'svgParallaxConfig',
94
+ 'imageScale', 'visibility', 'flipX', 'flipHead',
95
+ ]);
88
96
  // ─── Main validator ──────────────────────────────────────────────────────────
89
97
  export function validateCharacter(data) {
90
98
  const issues = [];
@@ -213,6 +221,37 @@ export function validateCharacter(data) {
213
221
  addError(`dimensionValues.${part}`, `Dimension for "${part}" must have width > 0 and height > 0`, 'dimensions');
214
222
  }
215
223
  }
224
+ // ── Unknown fields ───────────────────────────────────────────────────────
225
+ for (const key of Object.keys(d)) {
226
+ if (!KNOWN_ROOT_KEYS.has(key)) {
227
+ addWarning(`root.${key}`, `Unrecognized top-level field "${key}"`, 'schema');
228
+ }
229
+ }
230
+ for (const key of Object.keys(imagePaths)) {
231
+ if (!REQUIRED_BODY_PARTS.includes(key)) {
232
+ addWarning(`imagePaths.${key}`, `Unrecognized image path "${key}"`, 'schema');
233
+ }
234
+ }
235
+ for (const key of Object.keys(pivotPoints)) {
236
+ if (!REQUIRED_PIVOT_POINTS.includes(key)) {
237
+ addWarning(`pivotPoints.${key}`, `Unrecognized pivot point "${key}"`, 'schema');
238
+ }
239
+ }
240
+ for (const key of Object.keys(zi)) {
241
+ if (!REQUIRED_Z_INDEX_PARTS.includes(key)) {
242
+ addWarning(`zIndexValues.${key}`, `Unrecognized z-index entry "${key}"`, 'schema');
243
+ }
244
+ }
245
+ for (const key of Object.keys(dims)) {
246
+ if (!REQUIRED_DIMENSION_PARTS.includes(key)) {
247
+ addWarning(`dimensionValues.${key}`, `Unrecognized dimension entry "${key}"`, 'schema');
248
+ }
249
+ }
250
+ for (const key of Object.keys(sockets)) {
251
+ if (key !== 'left' && key !== 'right') {
252
+ addWarning(`eyeSockets.${key}`, `Unrecognized eye socket "${key}"`, 'schema');
253
+ }
254
+ }
216
255
  // ── Warnings ─────────────────────────────────────────────────────────────
217
256
  // Pivot sanity: head pivot should be above (lower y) than torso root
218
257
  const rootTorso = asObj(pivotPoints.root_torso);
@@ -1 +1 @@
1
- {"version":3,"file":"characterValidator.js","sourceRoot":"","sources":["../../modules/characterValidator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"characterValidator.js","sourceRoot":"","sources":["../../modules/characterValidator.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
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes