distark-render 1.1.16 → 1.1.18
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/assets/KidB.json +2088 -0
- package/assets/KidB_character_rig_1.json +2088 -0
- package/assets/character_rig_68.json +437 -0
- package/dist/cli/distark-check.d.ts +1 -0
- package/dist/cli/distark-check.d.ts.map +1 -1
- package/dist/cli/distark-check.js +6 -0
- package/dist/cli/distark-check.js.map +1 -1
- package/dist/cli/explode.d.ts +8 -0
- package/dist/cli/explode.d.ts.map +1 -0
- package/dist/cli/explode.js +282 -0
- package/dist/cli/explode.js.map +1 -0
- package/dist/modules/adapters/skiaRenderer.d.ts.map +1 -1
- package/dist/modules/adapters/skiaRenderer.js +22 -3
- package/dist/modules/adapters/skiaRenderer.js.map +1 -1
- package/dist/modules/eyeSystem.d.ts +73 -14
- package/dist/modules/eyeSystem.d.ts.map +1 -1
- package/dist/modules/eyeSystem.js +206 -102
- package/dist/modules/eyeSystem.js.map +1 -1
- package/dist/tests/test-eye-extremes-visual.d.ts +22 -0
- package/dist/tests/test-eye-extremes-visual.d.ts.map +1 -0
- package/dist/tests/test-eye-extremes-visual.js +281 -0
- package/dist/tests/test-eye-extremes-visual.js.map +1 -0
- package/package.json +104 -106
|
@@ -15,54 +15,89 @@ const DEFAULT_MOVEMENT_RANGES = {
|
|
|
15
15
|
'down-right': { x: 4, y: 2 },
|
|
16
16
|
'': { x: 0, y: 0 }
|
|
17
17
|
};
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
|
|
28
|
-
*
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
* Socket coordinates are stored as 0-100 percentages of the head image dimensions.
|
|
34
|
-
* headWidth / headHeight must be the HEAD IMAGE size (dimensionValues.head), not the
|
|
35
|
-
* full character body, because the socket is drawn on top of the head sprite in
|
|
36
|
-
* EyeSocketModal.
|
|
37
|
-
*/
|
|
38
|
-
function computeMovementRangesFromSockets(eyeSockets, headWidth = 100, headHeight = 100, eyeData) {
|
|
18
|
+
function buildDirectionMap(r) {
|
|
19
|
+
return {
|
|
20
|
+
'left': { x: -r.negX, y: 0 },
|
|
21
|
+
'right': { x: r.posX, y: 0 },
|
|
22
|
+
'up': { x: 0, y: -r.negY },
|
|
23
|
+
'down': { x: 0, y: r.posY },
|
|
24
|
+
'center': { x: 0, y: 0 },
|
|
25
|
+
'up-left': { x: -r.negX * 0.8, y: -r.negY * 0.8 },
|
|
26
|
+
'up-right': { x: r.posX * 0.8, y: -r.negY * 0.8 },
|
|
27
|
+
'down-left': { x: -r.negX * 0.8, y: r.posY * 0.8 },
|
|
28
|
+
'down-right': { x: r.posX * 0.8, y: r.posY * 0.8 },
|
|
29
|
+
'': { x: 0, y: 0 }
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
function computeMovementRangesFromSockets(eyeSockets, headWidth = 100, headHeight = 100, eyeData, headJointOffset) {
|
|
39
33
|
const left = eyeSockets.left;
|
|
40
34
|
const right = eyeSockets.right;
|
|
41
35
|
const hasLeft = left && left.length >= 3;
|
|
42
36
|
const hasRight = right && right.length >= 3;
|
|
43
|
-
if (!hasLeft && !hasRight)
|
|
44
|
-
|
|
37
|
+
if (!hasLeft && !hasRight) {
|
|
38
|
+
const defaultRaw = { negX: 5, posX: 5, negY: 3, posY: 3 };
|
|
39
|
+
return {
|
|
40
|
+
left: { ...DEFAULT_MOVEMENT_RANGES }, right: { ...DEFAULT_MOVEMENT_RANGES },
|
|
41
|
+
leftRaw: { ...defaultRaw }, rightRaw: { ...defaultRaw },
|
|
42
|
+
};
|
|
43
|
+
}
|
|
45
44
|
// Detect whether socket values are 0-100 percentages or raw pixels.
|
|
46
45
|
const allPts = [...(left || []), ...(right || [])];
|
|
47
46
|
const maxCoord = Math.max(...allPts.flatMap(p => [p.x, p.y]));
|
|
48
47
|
const isPercent = maxCoord > 0 && maxCoord <= 100;
|
|
49
|
-
const
|
|
48
|
+
const jx = headJointOffset?.x || 0;
|
|
49
|
+
const jy = headJointOffset?.y || 0;
|
|
50
|
+
const toPixels = (val, dim) => isPercent ? (val / 100) * dim : val;
|
|
51
|
+
/**
|
|
52
|
+
* Map a socket percentage point to iris coordinate space (headBaseTransform-local).
|
|
53
|
+
*
|
|
54
|
+
* The head image is drawn at headTransform = headBaseTransform + (jx, jy - H/2).
|
|
55
|
+
* Within the head image, percentage (px, py) maps to pixel offset
|
|
56
|
+
* ((px/100 - 0.5) * W, (py/100 - 0.5) * H) from the image center.
|
|
57
|
+
* Adding the head image offset gives iris-space coordinates.
|
|
58
|
+
*/
|
|
59
|
+
const socketPctToIris = (px, py) => {
|
|
60
|
+
if (isPercent) {
|
|
61
|
+
return {
|
|
62
|
+
x: jx + (px / 100 - 0.5) * headWidth,
|
|
63
|
+
y: (jy - headHeight / 2) + (py / 100 - 0.5) * headHeight,
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
return { x: px, y: py };
|
|
67
|
+
};
|
|
50
68
|
/** Full bounding box for one socket polygon. */
|
|
51
|
-
const
|
|
52
|
-
let
|
|
69
|
+
const socketBBox = (points) => {
|
|
70
|
+
let mnX = Infinity, mxX = -Infinity, mnY = Infinity, mxY = -Infinity;
|
|
53
71
|
for (const p of points) {
|
|
54
|
-
if (p.x <
|
|
55
|
-
|
|
56
|
-
if (p.x >
|
|
57
|
-
|
|
58
|
-
if (p.y <
|
|
59
|
-
|
|
60
|
-
if (p.y >
|
|
61
|
-
|
|
72
|
+
if (p.x < mnX)
|
|
73
|
+
mnX = p.x;
|
|
74
|
+
if (p.x > mxX)
|
|
75
|
+
mxX = p.x;
|
|
76
|
+
if (p.y < mnY)
|
|
77
|
+
mnY = p.y;
|
|
78
|
+
if (p.y > mxY)
|
|
79
|
+
mxY = p.y;
|
|
80
|
+
}
|
|
81
|
+
const topLeft = socketPctToIris(mnX, mnY);
|
|
82
|
+
const botRight = socketPctToIris(mxX, mxY);
|
|
83
|
+
return { minX: topLeft.x, maxX: botRight.x, minY: topLeft.y, maxY: botRight.y };
|
|
84
|
+
};
|
|
85
|
+
/** Bounding-box SIZE for one socket polygon, in pixels (no position). */
|
|
86
|
+
const socketSizePx = (points) => {
|
|
87
|
+
let mnX = Infinity, mxX = -Infinity, mnY = Infinity, mxY = -Infinity;
|
|
88
|
+
for (const p of points) {
|
|
89
|
+
if (p.x < mnX)
|
|
90
|
+
mnX = p.x;
|
|
91
|
+
if (p.x > mxX)
|
|
92
|
+
mxX = p.x;
|
|
93
|
+
if (p.y < mnY)
|
|
94
|
+
mnY = p.y;
|
|
95
|
+
if (p.y > mxY)
|
|
96
|
+
mxY = p.y;
|
|
62
97
|
}
|
|
63
98
|
return {
|
|
64
|
-
|
|
65
|
-
|
|
99
|
+
w: toPixels(mxX - mnX, headWidth),
|
|
100
|
+
h: toPixels(mxY - mnY, headHeight),
|
|
66
101
|
};
|
|
67
102
|
};
|
|
68
103
|
// Ratio-scaled iris rendered dimensions (same as renderRig.ts rendering).
|
|
@@ -70,52 +105,88 @@ function computeMovementRangesFromSockets(eyeSockets, headWidth = 100, headHeigh
|
|
|
70
105
|
const leftIrisH = ((eyeData?.leftIrisHeight || 10) * (eyeData?.leftIrisHeightRatio || 1));
|
|
71
106
|
const rightIrisW = ((eyeData?.rightIrisWidth || 10) * (eyeData?.rightIrisWidthRatio || 1));
|
|
72
107
|
const rightIrisH = ((eyeData?.rightIrisHeight || 10) * (eyeData?.rightIrisHeightRatio || 1));
|
|
108
|
+
const edgeFactor = 0.85;
|
|
73
109
|
/**
|
|
74
|
-
*
|
|
75
|
-
*
|
|
76
|
-
* to the boundary (mirrors the edgeFactor concept from the original design).
|
|
110
|
+
* Compute asymmetric per-direction max displacements from the iris BASE
|
|
111
|
+
* position, ensuring the iris edge stays within the usable bounds.
|
|
77
112
|
*
|
|
78
|
-
*
|
|
79
|
-
|
|
80
|
-
|
|
113
|
+
* usable bounds = socket bbox shrunk by edgeFactor from its center.
|
|
114
|
+
*/
|
|
115
|
+
const computeRanges = (bbox, irisBaseX, irisBaseY, irisW, irisH) => {
|
|
116
|
+
const cx = (bbox.minX + bbox.maxX) / 2;
|
|
117
|
+
const cy = (bbox.minY + bbox.maxY) / 2;
|
|
118
|
+
const halfW = (bbox.maxX - bbox.minX) / 2;
|
|
119
|
+
const halfH = (bbox.maxY - bbox.minY) / 2;
|
|
120
|
+
const usableHalfW = halfW * edgeFactor;
|
|
121
|
+
const usableHalfH = halfH * edgeFactor;
|
|
122
|
+
// 0.5 px safety margin absorbs floating-point rounding at socket edges.
|
|
123
|
+
const margin = 0.5;
|
|
124
|
+
const negX = Math.max(0, irisBaseX - (cx - usableHalfW + irisW / 2 + margin));
|
|
125
|
+
const posX = Math.max(0, (cx + usableHalfW - irisW / 2 - margin) - irisBaseX);
|
|
126
|
+
const negY = Math.max(0, irisBaseY - (cy - usableHalfH + irisH / 2 + margin));
|
|
127
|
+
const posY = Math.max(0, (cy + usableHalfH - irisH / 2 - margin) - irisBaseY);
|
|
128
|
+
return { negX, posX, negY, posY };
|
|
129
|
+
};
|
|
130
|
+
/**
|
|
131
|
+
* Size-only symmetric fallback: used when headJointOffset is unavailable
|
|
132
|
+
* and the position-based computation would produce broken results.
|
|
81
133
|
*/
|
|
82
|
-
const
|
|
83
|
-
|
|
84
|
-
const
|
|
85
|
-
|
|
86
|
-
|
|
134
|
+
const effectiveRange = (socketDim, irisDim) => {
|
|
135
|
+
const usableHalf = (socketDim / 2) * edgeFactor;
|
|
136
|
+
const raw = usableHalf - irisDim / 2;
|
|
137
|
+
return raw > 1 ? raw : Math.max(1, usableHalf);
|
|
138
|
+
};
|
|
139
|
+
const computeSymmetricRanges = (socketW, socketH, irisW, irisH) => {
|
|
140
|
+
const rangeX = effectiveRange(socketW, irisW);
|
|
141
|
+
const rangeY = effectiveRange(socketH, irisH);
|
|
142
|
+
return { negX: rangeX, posX: rangeX, negY: rangeY, posY: rangeY };
|
|
87
143
|
};
|
|
88
|
-
const
|
|
89
|
-
const
|
|
144
|
+
const leftIrisBaseX = eyeData?.leftIrisXCoor ?? 0;
|
|
145
|
+
const leftIrisBaseY = eyeData?.leftIrisYCoor ?? 0;
|
|
146
|
+
const rightIrisBaseX = eyeData?.rightIrisXCoor ?? 0;
|
|
147
|
+
const rightIrisBaseY = eyeData?.rightIrisYCoor ?? 0;
|
|
148
|
+
// When headJointOffset is available, use the position-based asymmetric
|
|
149
|
+
// computation which correctly handles off-center irises. Without it the
|
|
150
|
+
// coordinate mapping places sockets far from the actual iris positions,
|
|
151
|
+
// producing wildly inflated ranges — fall back to size-only symmetric ranges.
|
|
152
|
+
const useAsymmetric = headJointOffset != null;
|
|
153
|
+
let leftRanges = { negX: 5, posX: 5, negY: 3, posY: 3 };
|
|
154
|
+
let rightRanges = { negX: 5, posX: 5, negY: 3, posY: 3 };
|
|
90
155
|
if (hasLeft && left) {
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
156
|
+
if (useAsymmetric) {
|
|
157
|
+
const bb = socketBBox(left);
|
|
158
|
+
leftRanges = computeRanges(bb, leftIrisBaseX, leftIrisBaseY, leftIrisW, leftIrisH);
|
|
159
|
+
}
|
|
160
|
+
else {
|
|
161
|
+
const { w, h } = socketSizePx(left);
|
|
162
|
+
leftRanges = computeSymmetricRanges(w, h, leftIrisW, leftIrisH);
|
|
163
|
+
}
|
|
94
164
|
}
|
|
95
165
|
if (hasRight && right) {
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
166
|
+
if (useAsymmetric) {
|
|
167
|
+
const bb = socketBBox(right);
|
|
168
|
+
rightRanges = computeRanges(bb, rightIrisBaseX, rightIrisBaseY, rightIrisW, rightIrisH);
|
|
169
|
+
}
|
|
170
|
+
else {
|
|
171
|
+
const { w, h } = socketSizePx(right);
|
|
172
|
+
rightRanges = computeSymmetricRanges(w, h, rightIrisW, rightIrisH);
|
|
173
|
+
}
|
|
99
174
|
}
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
175
|
+
if (!hasLeft && hasRight)
|
|
176
|
+
leftRanges = rightRanges;
|
|
177
|
+
else if (hasLeft && !hasRight)
|
|
178
|
+
rightRanges = leftRanges;
|
|
179
|
+
console.log('[EyeSystem] Socket-derived per-eye movement ranges:', {
|
|
180
|
+
left: leftRanges, right: rightRanges,
|
|
105
181
|
leftIrisRendered: { w: leftIrisW, h: leftIrisH },
|
|
106
182
|
rightIrisRendered: { w: rightIrisW, h: rightIrisH },
|
|
183
|
+
mode: useAsymmetric ? 'asymmetric (headJointOffset available)' : 'symmetric (size-only fallback)',
|
|
107
184
|
});
|
|
108
185
|
return {
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
'center': { x: 0, y: 0 },
|
|
114
|
-
'up-left': { x: -rangeX * 0.8, y: -rangeY * 0.8 },
|
|
115
|
-
'up-right': { x: rangeX * 0.8, y: -rangeY * 0.8 },
|
|
116
|
-
'down-left': { x: -rangeX * 0.8, y: rangeY * 0.8 },
|
|
117
|
-
'down-right': { x: rangeX * 0.8, y: rangeY * 0.8 },
|
|
118
|
-
'': { x: 0, y: 0 }
|
|
186
|
+
left: buildDirectionMap(leftRanges),
|
|
187
|
+
right: buildDirectionMap(rightRanges),
|
|
188
|
+
leftRaw: leftRanges,
|
|
189
|
+
rightRaw: rightRanges,
|
|
119
190
|
};
|
|
120
191
|
}
|
|
121
192
|
/**
|
|
@@ -145,20 +216,27 @@ export class EyeSystem {
|
|
|
145
216
|
hasValidSockets
|
|
146
217
|
});
|
|
147
218
|
if (hasValidSockets && eyeSockets) {
|
|
148
|
-
this.
|
|
149
|
-
|
|
150
|
-
const
|
|
151
|
-
|
|
152
|
-
this.
|
|
153
|
-
console.log('[EyeSystem]
|
|
219
|
+
this.perEyeRanges = computeMovementRangesFromSockets(eyeSockets, options?.headWidth ?? 100, options?.headHeight ?? 100, eyeData, options?.headJointOffset);
|
|
220
|
+
const lr = this.perEyeRanges.left;
|
|
221
|
+
const rr = this.perEyeRanges.right;
|
|
222
|
+
this._leftManualScale = Math.max(Math.abs(lr['left'].x), Math.abs(lr['right'].x), Math.abs(lr['up'].y), Math.abs(lr['down'].y)) / 2;
|
|
223
|
+
this._rightManualScale = Math.max(Math.abs(rr['left'].x), Math.abs(rr['right'].x), Math.abs(rr['up'].y), Math.abs(rr['down'].y)) / 2;
|
|
224
|
+
console.log('[EyeSystem] Per-eye movement ranges from sockets:', {
|
|
154
225
|
characterId: this.characterId,
|
|
155
|
-
|
|
156
|
-
|
|
226
|
+
leftRanges: this.perEyeRanges.left,
|
|
227
|
+
rightRanges: this.perEyeRanges.right,
|
|
228
|
+
leftManualScale: this._leftManualScale,
|
|
229
|
+
rightManualScale: this._rightManualScale
|
|
157
230
|
});
|
|
158
231
|
}
|
|
159
232
|
else {
|
|
160
|
-
|
|
161
|
-
this.
|
|
233
|
+
const defaultRaw = { negX: 5, posX: 5, negY: 3, posY: 3 };
|
|
234
|
+
this.perEyeRanges = {
|
|
235
|
+
left: { ...DEFAULT_MOVEMENT_RANGES }, right: { ...DEFAULT_MOVEMENT_RANGES },
|
|
236
|
+
leftRaw: { ...defaultRaw }, rightRaw: { ...defaultRaw },
|
|
237
|
+
};
|
|
238
|
+
this._leftManualScale = 2.5;
|
|
239
|
+
this._rightManualScale = 2.5;
|
|
162
240
|
}
|
|
163
241
|
// Store immutable copy of base iris coordinates
|
|
164
242
|
// This prevents accumulation when rigData is updated
|
|
@@ -306,12 +384,12 @@ export class EyeSystem {
|
|
|
306
384
|
*/
|
|
307
385
|
setEyeDirection(direction) {
|
|
308
386
|
this.state.currentDirection = direction;
|
|
309
|
-
const
|
|
310
|
-
|
|
311
|
-
this.state.leftIrisX = this.baseIrisCoords.leftX +
|
|
312
|
-
this.state.leftIrisY = this.baseIrisCoords.leftY +
|
|
313
|
-
this.state.rightIrisX = this.baseIrisCoords.rightX +
|
|
314
|
-
this.state.rightIrisY = this.baseIrisCoords.rightY +
|
|
387
|
+
const leftMov = this.perEyeRanges.left[direction] || { x: 0, y: 0 };
|
|
388
|
+
const rightMov = this.perEyeRanges.right[direction] || { x: 0, y: 0 };
|
|
389
|
+
this.state.leftIrisX = this.baseIrisCoords.leftX + leftMov.x;
|
|
390
|
+
this.state.leftIrisY = this.baseIrisCoords.leftY + leftMov.y;
|
|
391
|
+
this.state.rightIrisX = this.baseIrisCoords.rightX + rightMov.x;
|
|
392
|
+
this.state.rightIrisY = this.baseIrisCoords.rightY + rightMov.y;
|
|
315
393
|
}
|
|
316
394
|
/**
|
|
317
395
|
* Calculate eye direction to look at a target position
|
|
@@ -494,18 +572,41 @@ export class EyeSystem {
|
|
|
494
572
|
* - +2 represents maximum right/up
|
|
495
573
|
*/
|
|
496
574
|
setManualIrisPositions(eyePositions, currentTime) {
|
|
497
|
-
|
|
498
|
-
const
|
|
499
|
-
//
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
575
|
+
const lr = this.perEyeRanges.leftRaw;
|
|
576
|
+
const rr = this.perEyeRanges.rightRaw;
|
|
577
|
+
// Map -2..+2 input to asymmetric pixel offsets per direction.
|
|
578
|
+
// input/2 normalizes to -1..+1, then scale by the directional limit:
|
|
579
|
+
// -2 → -negRange (max negative), 0 → 0, +2 → +posRange (max positive)
|
|
580
|
+
const mapAxis = (input, neg, pos) => {
|
|
581
|
+
const t = input / 2;
|
|
582
|
+
return t < 0 ? t * neg : t * pos;
|
|
583
|
+
};
|
|
584
|
+
this.state.leftIrisX = this.baseIrisCoords.leftX + mapAxis(eyePositions.left.x, lr.negX, lr.posX);
|
|
585
|
+
this.state.leftIrisY = this.baseIrisCoords.leftY + mapAxis(eyePositions.left.y, lr.negY, lr.posY);
|
|
586
|
+
this.state.rightIrisX = this.baseIrisCoords.rightX + mapAxis(eyePositions.right.x, rr.negX, rr.posX);
|
|
587
|
+
this.state.rightIrisY = this.baseIrisCoords.rightY + mapAxis(eyePositions.right.y, rr.negY, rr.posY);
|
|
505
588
|
this.state.eyeLastUpdatedTime = currentTime;
|
|
506
|
-
// Mark as custom position
|
|
507
589
|
this.state.currentDirection = '';
|
|
508
590
|
}
|
|
591
|
+
/**
|
|
592
|
+
* Raw per-direction ranges for each eye.
|
|
593
|
+
* Used by external preview code (e.g. calculatePreviewPosition) to normalize
|
|
594
|
+
* mouse offsets to the -2..+2 scale using the same asymmetric limits.
|
|
595
|
+
*/
|
|
596
|
+
getDirectionalRanges() {
|
|
597
|
+
return { left: this.perEyeRanges.leftRaw, right: this.perEyeRanges.rightRaw };
|
|
598
|
+
}
|
|
599
|
+
/**
|
|
600
|
+
* Symmetric manual scale factor (min of left/right) for backward compatibility.
|
|
601
|
+
* Body.js reads this property to detect and override broken scales.
|
|
602
|
+
*/
|
|
603
|
+
get manualScaleFactor() {
|
|
604
|
+
return Math.min(this._leftManualScale, this._rightManualScale);
|
|
605
|
+
}
|
|
606
|
+
set manualScaleFactor(value) {
|
|
607
|
+
this._leftManualScale = value;
|
|
608
|
+
this._rightManualScale = value;
|
|
609
|
+
}
|
|
509
610
|
/**
|
|
510
611
|
* Get debug info
|
|
511
612
|
*/
|
|
@@ -525,34 +626,37 @@ export class EyeSystem {
|
|
|
525
626
|
* @param options - Optional: { eyeSockets, headWidth, headHeight } - when provided, movement ranges are computed from eye socket polygons
|
|
526
627
|
*/
|
|
527
628
|
export function createEyeSystem(characterId, eyeDataOrRigData, options) {
|
|
528
|
-
// Check if rigData object was passed (has eyeSockets or eyes property)
|
|
529
629
|
const isRigData = eyeDataOrRigData && typeof eyeDataOrRigData === 'object' &&
|
|
530
630
|
('eyeSockets' in eyeDataOrRigData || 'eyes' in eyeDataOrRigData);
|
|
531
631
|
if (isRigData) {
|
|
532
632
|
const rigData = eyeDataOrRigData;
|
|
533
633
|
const eyeData = rigData.eyes || {};
|
|
534
|
-
// Prefer rigData's eyeSockets over options
|
|
535
634
|
const eyeSockets = rigData.eyeSockets || options?.eyeSockets;
|
|
536
|
-
|
|
537
|
-
|
|
635
|
+
// Socket coordinates are 0-100 percentages of the HEAD image, so we
|
|
636
|
+
// must use the head's own dimensions — not the rig-level width/height.
|
|
637
|
+
const headDims = rigData.dimensionValues?.head;
|
|
638
|
+
const headWidth = headDims?.width || options?.headWidth;
|
|
639
|
+
const headHeight = headDims?.height || options?.headHeight;
|
|
640
|
+
const headJointOffset = rigData.jointOffset?.['torso_head'];
|
|
538
641
|
if (eyeSockets) {
|
|
539
642
|
return new EyeSystem(characterId, {
|
|
540
643
|
eyeData,
|
|
541
644
|
eyeSockets,
|
|
542
645
|
headWidth,
|
|
543
|
-
headHeight
|
|
646
|
+
headHeight,
|
|
647
|
+
headJointOffset
|
|
544
648
|
});
|
|
545
649
|
}
|
|
546
650
|
return new EyeSystem(characterId, eyeData);
|
|
547
651
|
}
|
|
548
|
-
// Legacy: eyeData passed directly
|
|
549
652
|
const eyeData = eyeDataOrRigData;
|
|
550
653
|
if (options?.eyeSockets) {
|
|
551
654
|
return new EyeSystem(characterId, {
|
|
552
655
|
eyeData,
|
|
553
656
|
eyeSockets: options.eyeSockets,
|
|
554
657
|
headWidth: options.headWidth,
|
|
555
|
-
headHeight: options.headHeight
|
|
658
|
+
headHeight: options.headHeight,
|
|
659
|
+
headJointOffset: options.headJointOffset
|
|
556
660
|
});
|
|
557
661
|
}
|
|
558
662
|
return new EyeSystem(characterId, eyeData);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eyeSystem.js","sourceRoot":"","sources":["../../modules/eyeSystem.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"eyeSystem.js","sourceRoot":"","sources":["../../modules/eyeSystem.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Test: Eye Iris Extreme Positions — Visual Verification
|
|
3
|
+
*
|
|
4
|
+
* Loads a character rig JSON and renders the irises at the four most extreme
|
|
5
|
+
* cardinal positions (left, right, up, down) as computed from the eye socket
|
|
6
|
+
* bounding calculations.
|
|
7
|
+
*
|
|
8
|
+
* Usage:
|
|
9
|
+
* npx tsx tests/test-eye-extremes-visual.ts [path/to/rig.json]
|
|
10
|
+
*
|
|
11
|
+
* Defaults to assets/KidB.json when no argument is given.
|
|
12
|
+
*
|
|
13
|
+
* Output images (in test-outputs/):
|
|
14
|
+
* <name>-socket-bounds.png — full rig with socket polygon overlays
|
|
15
|
+
* <name>-usable-bounds.png — full rig with usable bounds overlays
|
|
16
|
+
* <name>-iris-extreme-*.png — iris-only + solid bounding boxes (no rig)
|
|
17
|
+
*
|
|
18
|
+
* The core assertion: at each extreme position, each iris must be completely
|
|
19
|
+
* contained inside its own usable bounding box (verified via pixel checks).
|
|
20
|
+
*/
|
|
21
|
+
export {};
|
|
22
|
+
//# sourceMappingURL=test-eye-extremes-visual.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-eye-extremes-visual.d.ts","sourceRoot":"","sources":["../../tests/test-eye-extremes-visual.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG"}
|