distark-render 1.1.11 → 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.
- package/dist/cli/scene.d.ts +13 -2
- package/dist/cli/scene.d.ts.map +1 -1
- package/dist/cli/scene.js +236 -4
- package/dist/cli/scene.js.map +1 -1
- package/dist/modules/animationDiff.d.ts.map +1 -1
- package/dist/modules/animationDiff.js +1 -0
- package/dist/modules/animationDiff.js.map +1 -1
- package/dist/modules/browserSceneRenderer.d.ts.map +1 -1
- package/dist/modules/browserSceneRenderer.js +27 -0
- package/dist/modules/browserSceneRenderer.js.map +1 -1
- package/dist/modules/characterValidator.d.ts +41 -0
- package/dist/modules/characterValidator.d.ts.map +1 -0
- package/dist/modules/characterValidator.js +233 -0
- package/dist/modules/characterValidator.js.map +1 -0
- package/dist/modules/imageLoad.d.ts +3 -2
- package/dist/modules/imageLoad.d.ts.map +1 -1
- package/dist/modules/imageLoad.js +113 -5
- package/dist/modules/imageLoad.js.map +1 -1
- package/dist/modules/renderRig.d.ts +4 -0
- package/dist/modules/renderRig.d.ts.map +1 -1
- package/dist/modules/renderRig.js +130 -15
- package/dist/modules/renderRig.js.map +1 -1
- package/dist/modules/sceneRenderer.d.ts.map +1 -1
- package/dist/modules/sceneRenderer.js +27 -0
- package/dist/modules/sceneRenderer.js.map +1 -1
- package/dist/tests/test-angle-swap.d.ts +2 -0
- package/dist/tests/test-angle-swap.d.ts.map +1 -0
- package/dist/tests/test-angle-swap.js +101 -0
- package/dist/tests/test-angle-swap.js.map +1 -0
- package/dist/tests/test-character-validator.d.ts +8 -0
- package/dist/tests/test-character-validator.d.ts.map +1 -0
- package/dist/tests/test-character-validator.js +445 -0
- package/dist/tests/test-character-validator.js.map +1 -0
- package/dist/tests/test-svg-parallax.d.ts +2 -0
- package/dist/tests/test-svg-parallax.d.ts.map +1 -0
- package/dist/tests/test-svg-parallax.js +52 -0
- package/dist/tests/test-svg-parallax.js.map +1 -0
- package/dist/types.d.ts +31 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +106 -100
|
@@ -0,0 +1,233 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Character Validator
|
|
3
|
+
*
|
|
4
|
+
* Validates a character rig JSON object and returns a list of issues.
|
|
5
|
+
* Errors = character will not work correctly.
|
|
6
|
+
* Warnings = character may look wrong or have limited expressiveness.
|
|
7
|
+
*
|
|
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
|
+
*/
|
|
11
|
+
// ─── Schema constants (exported so Ruby mirror + docs can reference them) ────
|
|
12
|
+
/** The 12 body part image paths every character must have */
|
|
13
|
+
export const REQUIRED_BODY_PARTS = [
|
|
14
|
+
'head', 'torso',
|
|
15
|
+
'leftUpperArm', 'leftForearm', 'leftHand',
|
|
16
|
+
'rightUpperArm', 'rightForearm', 'rightHand',
|
|
17
|
+
'leftThigh', 'leftLeg',
|
|
18
|
+
'rightThigh', 'rightLeg',
|
|
19
|
+
];
|
|
20
|
+
/** The 13 pivot point connections that chain all limbs */
|
|
21
|
+
export const REQUIRED_PIVOT_POINTS = [
|
|
22
|
+
'root_torso', 'torso_head', 'head_mouth',
|
|
23
|
+
'torso_leftUpperArm', 'leftUpperArm_leftForearm', 'leftForearm_leftHand',
|
|
24
|
+
'torso_rightUpperArm', 'rightUpperArm_rightForearm', 'rightForearm_rightHand',
|
|
25
|
+
'torso_leftThigh', 'leftThigh_leftLeg',
|
|
26
|
+
'torso_rightThigh', 'rightThigh_rightLeg',
|
|
27
|
+
];
|
|
28
|
+
/** Every part that must have a z-index value */
|
|
29
|
+
export const REQUIRED_Z_INDEX_PARTS = [
|
|
30
|
+
'head', 'mouth', 'torso',
|
|
31
|
+
'leftEye', 'leftIris', 'leftEyeLid',
|
|
32
|
+
'rightEye', 'rightIris', 'rightEyeLid',
|
|
33
|
+
'leftUpperArm', 'leftForearm', 'leftHand',
|
|
34
|
+
'rightUpperArm', 'rightForearm', 'rightHand',
|
|
35
|
+
'leftThigh', 'leftLeg',
|
|
36
|
+
'rightThigh', 'rightLeg',
|
|
37
|
+
];
|
|
38
|
+
/** Eye image hash fields required in the eyes object */
|
|
39
|
+
export const REQUIRED_EYE_IMAGES = [
|
|
40
|
+
'leftEyeImage', 'rightEyeImage',
|
|
41
|
+
'leftIris', 'rightIris',
|
|
42
|
+
'leftEyeLidOpen', 'rightEyeLidOpen',
|
|
43
|
+
'leftEyeLidHalfClosed', 'rightEyeLidHalfClosed',
|
|
44
|
+
'leftEyeLidClosed', 'rightEyeLidClosed',
|
|
45
|
+
];
|
|
46
|
+
/** Eye coordinate fields that must be numbers */
|
|
47
|
+
export const REQUIRED_EYE_COORDS = [
|
|
48
|
+
'leftEyeXCoor', 'leftEyeYCoor',
|
|
49
|
+
'rightEyeXCoor', 'rightEyeYCoor',
|
|
50
|
+
'leftEyeLidXCoor', 'leftEyeLidYCoor',
|
|
51
|
+
'rightEyeLidXCoor', 'rightEyeLidYCoor',
|
|
52
|
+
'leftIrisXCoor', 'leftIrisYCoor',
|
|
53
|
+
'rightIrisXCoor', 'rightIrisYCoor',
|
|
54
|
+
];
|
|
55
|
+
/** Iris size fields that must be positive numbers */
|
|
56
|
+
export const REQUIRED_IRIS_SIZES = [
|
|
57
|
+
'leftIrisWidth', 'leftIrisHeight',
|
|
58
|
+
'rightIrisWidth', 'rightIrisHeight',
|
|
59
|
+
];
|
|
60
|
+
/** Parts that must have a dimensionValues entry with width > 0 and height > 0 */
|
|
61
|
+
export const REQUIRED_DIMENSION_PARTS = [
|
|
62
|
+
'head', 'torso', 'mouth',
|
|
63
|
+
'leftUpperArm', 'leftForearm', 'leftHand',
|
|
64
|
+
'rightUpperArm', 'rightForearm', 'rightHand',
|
|
65
|
+
'leftThigh', 'leftLeg',
|
|
66
|
+
'rightThigh', 'rightLeg',
|
|
67
|
+
];
|
|
68
|
+
/** Mouth shapes that represent the character talking */
|
|
69
|
+
export const TALKING_MOUTH_SHAPES = [
|
|
70
|
+
'open', 'half-open', 'wide-open', 'slightly-open', 'f', 'l', 'ds', 'ee', 'eh',
|
|
71
|
+
];
|
|
72
|
+
// ─── Internal helpers ────────────────────────────────────────────────────────
|
|
73
|
+
function isValidHash(value) {
|
|
74
|
+
return typeof value === 'string' && value.length > 0 && !value.includes('[MEDIA_REMOVED]');
|
|
75
|
+
}
|
|
76
|
+
function isNum(value) {
|
|
77
|
+
return typeof value === 'number' && !isNaN(value);
|
|
78
|
+
}
|
|
79
|
+
function isPositiveNum(value) {
|
|
80
|
+
return isNum(value) && value > 0;
|
|
81
|
+
}
|
|
82
|
+
function asObj(value) {
|
|
83
|
+
if (typeof value === 'object' && value !== null && !Array.isArray(value)) {
|
|
84
|
+
return value;
|
|
85
|
+
}
|
|
86
|
+
return null;
|
|
87
|
+
}
|
|
88
|
+
// ─── Main validator ──────────────────────────────────────────────────────────
|
|
89
|
+
export function validateCharacter(data) {
|
|
90
|
+
const issues = [];
|
|
91
|
+
function addError(field, message, category) {
|
|
92
|
+
issues.push({ field, message, severity: 'error', category });
|
|
93
|
+
}
|
|
94
|
+
function addWarning(field, message, category) {
|
|
95
|
+
issues.push({ field, message, severity: 'warning', category });
|
|
96
|
+
}
|
|
97
|
+
// Must be a plain object
|
|
98
|
+
const d = asObj(data);
|
|
99
|
+
if (!d) {
|
|
100
|
+
addError('root', 'Character data must be a plain object', 'parts');
|
|
101
|
+
return { valid: false, issues };
|
|
102
|
+
}
|
|
103
|
+
// ── imagePaths: 12 body parts ────────────────────────────────────────────
|
|
104
|
+
const imagePaths = asObj(d.imagePaths) ?? {};
|
|
105
|
+
for (const part of REQUIRED_BODY_PARTS) {
|
|
106
|
+
if (!isValidHash(imagePaths[part])) {
|
|
107
|
+
addError(`imagePaths.${part}`, `Body part "${part}" image is missing or removed`, 'parts');
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
// ── pivotPoints: 13 joints ───────────────────────────────────────────────
|
|
111
|
+
const pivotPoints = asObj(d.pivotPoints) ?? {};
|
|
112
|
+
for (const key of REQUIRED_PIVOT_POINTS) {
|
|
113
|
+
const pivot = asObj(pivotPoints[key]);
|
|
114
|
+
if (!pivot) {
|
|
115
|
+
addError(`pivotPoints.${key}`, `Pivot point "${key}" is missing`, 'pivots');
|
|
116
|
+
}
|
|
117
|
+
else if (!isNum(pivot.x) || !isNum(pivot.y)) {
|
|
118
|
+
addError(`pivotPoints.${key}`, `Pivot point "${key}" must have numeric x and y`, 'pivots');
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
// ── zIndexValues: 19 parts ───────────────────────────────────────────────
|
|
122
|
+
const zi = asObj(d.zIndexValues) ?? {};
|
|
123
|
+
for (const part of REQUIRED_Z_INDEX_PARTS) {
|
|
124
|
+
if (!isNum(zi[part])) {
|
|
125
|
+
addError(`zIndexValues.${part}`, `Z-index for "${part}" is missing`, 'zIndex');
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
// Z-index ordering rules (hard constraints)
|
|
129
|
+
const leftEyeLid = zi.leftEyeLid;
|
|
130
|
+
const leftIris = zi.leftIris;
|
|
131
|
+
const leftEye = zi.leftEye;
|
|
132
|
+
if (isNum(leftEyeLid) && isNum(leftIris) && isNum(leftEye)) {
|
|
133
|
+
if (!(leftEyeLid > leftIris && leftIris > leftEye)) {
|
|
134
|
+
addError('zIndexValues', `Left eye z-order must be leftEyeLid(${leftEyeLid}) > leftIris(${leftIris}) > leftEye(${leftEye})`, 'zIndex');
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
const rightEyeLid = zi.rightEyeLid;
|
|
138
|
+
const rightIris = zi.rightIris;
|
|
139
|
+
const rightEye = zi.rightEye;
|
|
140
|
+
if (isNum(rightEyeLid) && isNum(rightIris) && isNum(rightEye)) {
|
|
141
|
+
if (!(rightEyeLid > rightIris && rightIris > rightEye)) {
|
|
142
|
+
addError('zIndexValues', `Right eye z-order must be rightEyeLid(${rightEyeLid}) > rightIris(${rightIris}) > rightEye(${rightEye})`, 'zIndex');
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
const mouthZ = zi.mouth;
|
|
146
|
+
const headZ = zi.head;
|
|
147
|
+
if (isNum(mouthZ) && isNum(headZ)) {
|
|
148
|
+
if (!(mouthZ > headZ)) {
|
|
149
|
+
addError('zIndexValues', `mouth z-index(${mouthZ}) must be greater than head z-index(${headZ})`, 'zIndex');
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
// ── eyes: images, coords, iris sizes ────────────────────────────────────
|
|
153
|
+
const eyes = asObj(d.eyes) ?? {};
|
|
154
|
+
for (const img of REQUIRED_EYE_IMAGES) {
|
|
155
|
+
if (!isValidHash(eyes[img])) {
|
|
156
|
+
addError(`eyes.${img}`, `Eye image "${img}" is missing or removed`, 'eyes');
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
for (const coord of REQUIRED_EYE_COORDS) {
|
|
160
|
+
if (!isNum(eyes[coord])) {
|
|
161
|
+
addError(`eyes.${coord}`, `Eye coordinate "${coord}" must be a number`, 'eyes');
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
for (const sizeKey of REQUIRED_IRIS_SIZES) {
|
|
165
|
+
if (!isPositiveNum(eyes[sizeKey])) {
|
|
166
|
+
addError(`eyes.${sizeKey}`, `Iris size "${sizeKey}" must be a positive number`, 'eyes');
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
// ── eyeSockets: left and right, ≥ 3 points each ─────────────────────────
|
|
170
|
+
const sockets = asObj(d.eyeSockets) ?? {};
|
|
171
|
+
for (const side of ['left', 'right']) {
|
|
172
|
+
const socket = sockets[side];
|
|
173
|
+
if (!Array.isArray(socket)) {
|
|
174
|
+
addError(`eyeSockets.${side}`, `Eye socket "${side}" must be an array of points`, 'eyes');
|
|
175
|
+
}
|
|
176
|
+
else if (socket.length < 3) {
|
|
177
|
+
addError(`eyeSockets.${side}`, `Eye socket "${side}" must have at least 3 points (has ${socket.length})`, 'eyes');
|
|
178
|
+
}
|
|
179
|
+
else {
|
|
180
|
+
const bad = socket.filter(p => {
|
|
181
|
+
const pt = asObj(p);
|
|
182
|
+
return !pt || !isNum(pt.x) || !isNum(pt.y);
|
|
183
|
+
});
|
|
184
|
+
if (bad.length > 0) {
|
|
185
|
+
addError(`eyeSockets.${side}`, `Eye socket "${side}" has ${bad.length} invalid point(s) — each must have numeric x and y`, 'eyes');
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
// ── mouth ────────────────────────────────────────────────────────────────
|
|
190
|
+
const mouth = asObj(d.mouth) ?? {};
|
|
191
|
+
if (!isValidHash(mouth.closed)) {
|
|
192
|
+
addError('mouth.closed', 'Mouth "closed" image is required', 'mouth');
|
|
193
|
+
}
|
|
194
|
+
if (!isNum(mouth.xCoor)) {
|
|
195
|
+
addError('mouth.xCoor', 'Mouth xCoor must be a number', 'mouth');
|
|
196
|
+
}
|
|
197
|
+
if (!isNum(mouth.yCoor)) {
|
|
198
|
+
addError('mouth.yCoor', 'Mouth yCoor must be a number', 'mouth');
|
|
199
|
+
}
|
|
200
|
+
const hasMouthSize = isPositiveNum(mouth.size);
|
|
201
|
+
const hasMouthDims = isPositiveNum(mouth.width) && isPositiveNum(mouth.height);
|
|
202
|
+
if (!hasMouthSize && !hasMouthDims) {
|
|
203
|
+
addError('mouth', 'Mouth needs size > 0, or both width > 0 and height > 0', 'mouth');
|
|
204
|
+
}
|
|
205
|
+
// ── dimensionValues: 13 parts ────────────────────────────────────────────
|
|
206
|
+
const dims = asObj(d.dimensionValues) ?? {};
|
|
207
|
+
for (const part of REQUIRED_DIMENSION_PARTS) {
|
|
208
|
+
const dim = asObj(dims[part]);
|
|
209
|
+
if (!dim) {
|
|
210
|
+
addError(`dimensionValues.${part}`, `Dimension for "${part}" is missing`, 'dimensions');
|
|
211
|
+
}
|
|
212
|
+
else if (!isPositiveNum(dim.width) || !isPositiveNum(dim.height)) {
|
|
213
|
+
addError(`dimensionValues.${part}`, `Dimension for "${part}" must have width > 0 and height > 0`, 'dimensions');
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
// ── Warnings ─────────────────────────────────────────────────────────────
|
|
217
|
+
// Pivot sanity: head pivot should be above (lower y) than torso root
|
|
218
|
+
const rootTorso = asObj(pivotPoints.root_torso);
|
|
219
|
+
const torsoHead = asObj(pivotPoints.torso_head);
|
|
220
|
+
if (rootTorso && torsoHead && isNum(rootTorso.y) && isNum(torsoHead.y)) {
|
|
221
|
+
if (torsoHead.y >= rootTorso.y) {
|
|
222
|
+
addWarning('pivotPoints.torso_head', `torso_head.y (${torsoHead.y}) should be less than root_torso.y (${rootTorso.y}) — head pivot should be above the torso root`, 'pivots');
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
// Mouth expressiveness: at least one talking shape should be present
|
|
226
|
+
const talkingAvailable = TALKING_MOUTH_SHAPES.filter(shape => isValidHash(mouth[shape]));
|
|
227
|
+
if (talkingAvailable.length === 0) {
|
|
228
|
+
addWarning('mouth', 'No talking mouth shapes found — character cannot animate speech. Add at least "open" or "slightly-open"', 'mouth');
|
|
229
|
+
}
|
|
230
|
+
const errorCount = issues.filter(i => i.severity === 'error').length;
|
|
231
|
+
return { valid: errorCount === 0, issues };
|
|
232
|
+
}
|
|
233
|
+
//# sourceMappingURL=characterValidator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"characterValidator.js","sourceRoot":"","sources":["../../modules/characterValidator.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Image Loading Module
|
|
3
3
|
* Handles loading images from MD5 hashes or URLs with caching support
|
|
4
4
|
*/
|
|
5
|
-
import type { ImageLoadCallback, ImageErrorCallback, RigData } from '../types.js';
|
|
5
|
+
import type { ImageLoadCallback, ImageErrorCallback, RigData, SvgParallaxPartConfig } from '../types.js';
|
|
6
6
|
/**
|
|
7
7
|
* ImageLoader class - Handles loading and caching images for character rigs
|
|
8
8
|
*/
|
|
@@ -70,6 +70,7 @@ export declare class ImageLoader {
|
|
|
70
70
|
*/
|
|
71
71
|
cacheImage(key: string, image: any): void;
|
|
72
72
|
requestImageForSize(key: string, desiredWidth: number, desiredHeight: number, loadedImages?: Record<string, any>): any;
|
|
73
|
+
requestSvgParallaxImageForSize(baseKey: string, config: SvgParallaxPartConfig | undefined, angleDegrees: number, desiredWidth: number, desiredHeight: number, loadedImages?: Record<string, any>): any;
|
|
73
74
|
waitForPendingImageUpgrades(): Promise<void>;
|
|
74
75
|
/**
|
|
75
76
|
* Load image with caching support
|
|
@@ -77,7 +78,7 @@ export declare class ImageLoader {
|
|
|
77
78
|
*/
|
|
78
79
|
loadImageWithCache(key: string, imageData: string | null | undefined, onLoad?: ImageLoadCallback, onError?: ImageErrorCallback): void;
|
|
79
80
|
/**
|
|
80
|
-
* Collect all unique image hashes from rig data (imagePaths, eyes, mouth).
|
|
81
|
+
* Collect all unique image hashes from rig data (imagePaths, part swap images, eyes, mouth).
|
|
81
82
|
*/
|
|
82
83
|
protected collectImageHashes(rigData: RigData, useCache: boolean): string[];
|
|
83
84
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"imageLoad.d.ts","sourceRoot":"","sources":["../../modules/imageLoad.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"imageLoad.d.ts","sourceRoot":"","sources":["../../modules/imageLoad.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,42 @@
|
|
|
2
2
|
* Image Loading Module
|
|
3
3
|
* Handles loading images from MD5 hashes or URLs with caching support
|
|
4
4
|
*/
|
|
5
|
+
function normalizeDegrees(degrees) {
|
|
6
|
+
const normalized = ((degrees % 360) + 540) % 360 - 180;
|
|
7
|
+
return normalized === -180 ? 180 : normalized;
|
|
8
|
+
}
|
|
9
|
+
function serializeSvgParallaxConfig(config) {
|
|
10
|
+
const entries = Object.entries(config?.layers || {})
|
|
11
|
+
.sort(([a], [b]) => a.localeCompare(b))
|
|
12
|
+
.map(([pathId, layer]) => [pathId, !!layer?.enabled, Number(layer?.depth || 0)]);
|
|
13
|
+
return JSON.stringify(entries);
|
|
14
|
+
}
|
|
15
|
+
function applySvgParallaxToSource(svgSource, config, angleDegrees) {
|
|
16
|
+
const layers = config?.layers || {};
|
|
17
|
+
const normalizedAngle = normalizeDegrees(angleDegrees);
|
|
18
|
+
if (Math.abs(normalizedAngle) < 0.001) {
|
|
19
|
+
return svgSource;
|
|
20
|
+
}
|
|
21
|
+
const influence = Math.sin((normalizedAngle * Math.PI) / 180);
|
|
22
|
+
let pathIndex = 0;
|
|
23
|
+
return svgSource.replace(/<path\b[\s\S]*?\/>/gi, (pathTag) => {
|
|
24
|
+
pathIndex += 1;
|
|
25
|
+
const layer = layers[`path-${pathIndex}`];
|
|
26
|
+
if (!layer?.enabled) {
|
|
27
|
+
return pathTag;
|
|
28
|
+
}
|
|
29
|
+
const depth = Number.isFinite(layer.depth) ? Number(layer.depth) : 18;
|
|
30
|
+
const translateX = influence * depth * 2.4;
|
|
31
|
+
const translateY = -Math.abs(influence) * depth * 0.25;
|
|
32
|
+
const transformValue = `translate(${translateX.toFixed(3)} ${translateY.toFixed(3)})`;
|
|
33
|
+
if (/\btransform\s*=/i.test(pathTag)) {
|
|
34
|
+
return pathTag.replace(/\btransform\s*=\s*(['"])(.*?)\1/i, (_match, quote, value) => {
|
|
35
|
+
return `transform=${quote}${value} ${transformValue}${quote}`;
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
return pathTag.replace(/\s*\/?>$/i, (ending) => ` transform="${transformValue}"${ending}`);
|
|
39
|
+
});
|
|
40
|
+
}
|
|
5
41
|
/**
|
|
6
42
|
* ImageLoader class - Handles loading and caching images for character rigs
|
|
7
43
|
*/
|
|
@@ -207,6 +243,43 @@ export class ImageLoader {
|
|
|
207
243
|
}
|
|
208
244
|
return current;
|
|
209
245
|
}
|
|
246
|
+
requestSvgParallaxImageForSize(baseKey, config, angleDegrees, desiredWidth, desiredHeight, loadedImages) {
|
|
247
|
+
const baseImage = this.requestImageForSize(baseKey, desiredWidth, desiredHeight, loadedImages);
|
|
248
|
+
if (!baseImage?.__distarkSvgSource) {
|
|
249
|
+
return baseImage;
|
|
250
|
+
}
|
|
251
|
+
const enabledLayerCount = Object.values(config?.layers || {}).filter((layer) => layer?.enabled).length;
|
|
252
|
+
const normalizedAngle = normalizeDegrees(angleDegrees);
|
|
253
|
+
if (!enabledLayerCount || Math.abs(normalizedAngle) < 0.001) {
|
|
254
|
+
return baseImage;
|
|
255
|
+
}
|
|
256
|
+
const variantSource = applySvgParallaxToSource(baseImage.__distarkSvgSource, config, normalizedAngle);
|
|
257
|
+
const variantKey = `${baseKey}::svg-parallax::${Math.round(normalizedAngle)}::${serializeSvgParallaxConfig(config)}`;
|
|
258
|
+
const existing = this.imageCache.get(variantKey);
|
|
259
|
+
const targetWidth = Math.max(1, Math.round(desiredWidth || baseImage.__distarkIntrinsicWidth || baseImage.width || 1));
|
|
260
|
+
const targetHeight = Math.max(1, Math.round(desiredHeight || baseImage.__distarkIntrinsicHeight || baseImage.height || 1));
|
|
261
|
+
if (existing?.__distarkSvgSource === variantSource) {
|
|
262
|
+
const currentWidth = existing.__distarkRasterWidth || existing.width || 0;
|
|
263
|
+
const currentHeight = existing.__distarkRasterHeight || existing.height || 0;
|
|
264
|
+
if (targetWidth <= currentWidth && targetHeight <= currentHeight) {
|
|
265
|
+
return existing;
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
const pendingKey = `${variantKey}:${targetWidth}x${targetHeight}`;
|
|
269
|
+
if (!this.pendingRasterUpgrades.has(pendingKey)) {
|
|
270
|
+
const upgradePromise = this.createSvgCanvas(variantSource, targetWidth, targetHeight)
|
|
271
|
+
.then((canvas) => {
|
|
272
|
+
this.attachSvgMetadata(canvas, variantSource, baseImage.__distarkIntrinsicWidth || targetWidth, baseImage.__distarkIntrinsicHeight || targetHeight, targetWidth, targetHeight);
|
|
273
|
+
this.imageCache.set(variantKey, canvas);
|
|
274
|
+
return canvas;
|
|
275
|
+
})
|
|
276
|
+
.finally(() => {
|
|
277
|
+
this.pendingRasterUpgrades.delete(pendingKey);
|
|
278
|
+
});
|
|
279
|
+
this.pendingRasterUpgrades.set(pendingKey, upgradePromise);
|
|
280
|
+
}
|
|
281
|
+
return existing || baseImage;
|
|
282
|
+
}
|
|
210
283
|
async waitForPendingImageUpgrades() {
|
|
211
284
|
await Promise.all(this.pendingRasterUpgrades.values());
|
|
212
285
|
}
|
|
@@ -231,10 +304,11 @@ export class ImageLoader {
|
|
|
231
304
|
}, onError);
|
|
232
305
|
}
|
|
233
306
|
/**
|
|
234
|
-
* Collect all unique image hashes from rig data (imagePaths, eyes, mouth).
|
|
307
|
+
* Collect all unique image hashes from rig data (imagePaths, part swap images, eyes, mouth).
|
|
235
308
|
*/
|
|
236
309
|
collectImageHashes(rigData, useCache) {
|
|
237
310
|
const seen = new Set();
|
|
311
|
+
const visitedRigSnapshots = new Set();
|
|
238
312
|
const hashes = [];
|
|
239
313
|
const add = (hash) => {
|
|
240
314
|
if (!hash || typeof hash !== 'string' || hash.includes('[MEDIA_REMOVED]'))
|
|
@@ -246,10 +320,44 @@ export class ImageLoader {
|
|
|
246
320
|
return;
|
|
247
321
|
hashes.push(hash);
|
|
248
322
|
};
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
323
|
+
const collectRigImages = (snapshot) => {
|
|
324
|
+
if (!snapshot || typeof snapshot !== 'object' || visitedRigSnapshots.has(snapshot)) {
|
|
325
|
+
return;
|
|
326
|
+
}
|
|
327
|
+
visitedRigSnapshots.add(snapshot);
|
|
328
|
+
if (snapshot.imagePaths) {
|
|
329
|
+
for (const v of Object.values(snapshot.imagePaths))
|
|
330
|
+
add(v);
|
|
331
|
+
}
|
|
332
|
+
if (snapshot.partSwapConfig) {
|
|
333
|
+
for (const swapRule of Object.values(snapshot.partSwapConfig)) {
|
|
334
|
+
if (swapRule?.swapImage)
|
|
335
|
+
add(swapRule.swapImage);
|
|
336
|
+
if (swapRule?.options) {
|
|
337
|
+
for (const option of swapRule.options) {
|
|
338
|
+
if (option?.swapImage)
|
|
339
|
+
add(option.swapImage);
|
|
340
|
+
if (option?.swapVariation)
|
|
341
|
+
collectRigImages(option.swapVariation);
|
|
342
|
+
}
|
|
343
|
+
}
|
|
344
|
+
}
|
|
345
|
+
}
|
|
346
|
+
if (snapshot.eyes) {
|
|
347
|
+
for (const [k, v] of Object.entries(snapshot.eyes)) {
|
|
348
|
+
if (typeof v === 'string' && (k.includes('Image') || k.includes('Iris') || k.includes('Lid'))) {
|
|
349
|
+
add(v);
|
|
350
|
+
}
|
|
351
|
+
}
|
|
352
|
+
}
|
|
353
|
+
if (snapshot.mouth) {
|
|
354
|
+
for (const v of Object.values(snapshot.mouth)) {
|
|
355
|
+
if (typeof v === 'string')
|
|
356
|
+
add(v);
|
|
357
|
+
}
|
|
358
|
+
}
|
|
359
|
+
};
|
|
360
|
+
collectRigImages(rigData);
|
|
253
361
|
if (rigData.eyes) {
|
|
254
362
|
for (const [k, v] of Object.entries(rigData.eyes)) {
|
|
255
363
|
if (typeof v === 'string' && (k.includes('Image') || k.includes('Iris') || k.includes('Lid'))) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"imageLoad.js","sourceRoot":"","sources":["../../modules/imageLoad.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"imageLoad.js","sourceRoot":"","sources":["../../modules/imageLoad.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,6 +23,10 @@ export declare class CharacterRigRenderer {
|
|
|
23
23
|
* Helper: apply parent transform to get world space position
|
|
24
24
|
*/
|
|
25
25
|
private applyTransform;
|
|
26
|
+
private normalizeDegrees;
|
|
27
|
+
private deepMergeValue;
|
|
28
|
+
private applySwapVariationToRigData;
|
|
29
|
+
private resolveRigDataWithAngleSwaps;
|
|
26
30
|
/**
|
|
27
31
|
* Computes all character rig objects with their final transforms and properties
|
|
28
32
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderRig.d.ts","sourceRoot":"","sources":["../../modules/renderRig.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAG7C,OAAO,KAAK,EACR,OAAO,EACP,aAAa,EACb,aAAa,EAGb,QAAQ,EACR,aAAa,
|
|
1
|
+
{"version":3,"file":"renderRig.d.ts","sourceRoot":"","sources":["../../modules/renderRig.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAG7C,OAAO,KAAK,EACR,OAAO,EACP,aAAa,EACb,aAAa,EAGb,QAAQ,EACR,aAAa,EAEhB,MAAM,aAAa,CAAC;AAErB;;GAEG;AACH,qBAAa,oBAAoB;IAC7B,SAAS,CAAC,WAAW,EAAE,WAAW,CAAC;IAEnC;;;OAGG;gBACS,WAAW,CAAC,EAAE,WAAW;IAIrC;;;OAGG;IACH,cAAc,IAAI,WAAW;IAI7B;;OAEG;IACH,OAAO,CAAC,cAAc;IAYtB,OAAO,CAAC,gBAAgB;IAKxB,OAAO,CAAC,cAAc;IAgBtB,OAAO,CAAC,2BAA2B;IA2BnC,OAAO,CAAC,4BAA4B;IA8DpC;;OAEG;IACH,uBAAuB,CACnB,OAAO,EAAE,OAAO,EAChB,OAAO,GAAE,aAAkB,GAC5B,aAAa;IAs1ChB;;;;OAIG;IACH,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,GAAE,OAAO,CAAC,aAAa,CAAM,EAAE,OAAO,SAAK,GAAG,aAAa;IA6DnG;;;;;;;;;;;;;;;;;OAiBG;IACG,MAAM,CACR,MAAM,EAAE,iBAAiB,EACzB,OAAO,EAAE,OAAO,EAChB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,GAAG,iBAAiB,CAAC,EACnE,YAAY,GAAE,QAAyB,EACvC,eAAe,GAAE,OAAc,EAC/B,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,GAChC,OAAO,CAAC,IAAI,CAAC;CA8FnB;AAGD,eAAO,MAAM,eAAe,sBAA6B,CAAC;AAG1D,wBAAsB,kBAAkB,CACpC,MAAM,EAAE,iBAAiB,EACzB,OAAO,EAAE,OAAO,EAChB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,GAAG,iBAAiB,CAAC,EACnE,YAAY,GAAE,QAAyB,EACvC,eAAe,GAAE,OAAe,EAChC,OAAO,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,GAChC,OAAO,CAAC,IAAI,CAAC,CAEf;AAGD,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,GAAE,aAAkB,GAAG,aAAa,CAEpG"}
|