ugly-app 0.1.960 → 0.1.962

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 (49) hide show
  1. package/dist/character/client/CharacterCreator.d.ts.map +1 -1
  2. package/dist/character/client/CharacterCreator.js +139 -3
  3. package/dist/character/client/CharacterCreator.js.map +1 -1
  4. package/dist/character/client/lib/charKit.d.ts.map +1 -1
  5. package/dist/character/client/lib/charKit.js +7 -0
  6. package/dist/character/client/lib/charKit.js.map +1 -1
  7. package/dist/character/client/lib/characterScene.d.ts.map +1 -1
  8. package/dist/character/client/lib/characterScene.js +28 -4
  9. package/dist/character/client/lib/characterScene.js.map +1 -1
  10. package/dist/character/shared/index.d.ts +2 -0
  11. package/dist/character/shared/index.d.ts.map +1 -1
  12. package/dist/character/shared/index.js +3 -0
  13. package/dist/character/shared/index.js.map +1 -1
  14. package/dist/character/shared/lib/charMaterial.d.ts +68 -0
  15. package/dist/character/shared/lib/charMaterial.d.ts.map +1 -0
  16. package/dist/character/shared/lib/charMaterial.js +102 -0
  17. package/dist/character/shared/lib/charMaterial.js.map +1 -0
  18. package/dist/character/shared/lib/charSpec.d.ts +18 -0
  19. package/dist/character/shared/lib/charSpec.d.ts.map +1 -1
  20. package/dist/character/shared/lib/charSpec.js +5 -0
  21. package/dist/character/shared/lib/charSpec.js.map +1 -1
  22. package/dist/character/shared/lib/humanRig.d.ts +29 -11
  23. package/dist/character/shared/lib/humanRig.d.ts.map +1 -1
  24. package/dist/character/shared/lib/humanRig.js +29 -15
  25. package/dist/character/shared/lib/humanRig.js.map +1 -1
  26. package/dist/character/shared/lib/retarget.d.ts.map +1 -1
  27. package/dist/character/shared/lib/retarget.js +18 -1
  28. package/dist/character/shared/lib/retarget.js.map +1 -1
  29. package/dist/character/shared/spec.d.ts +14 -0
  30. package/dist/character/shared/spec.d.ts.map +1 -1
  31. package/dist/character/shared/spec.js +11 -1
  32. package/dist/character/shared/spec.js.map +1 -1
  33. package/dist/character/shared/specAdapter.d.ts.map +1 -1
  34. package/dist/character/shared/specAdapter.js +16 -1
  35. package/dist/character/shared/specAdapter.js.map +1 -1
  36. package/dist/cli/version.d.ts +1 -1
  37. package/dist/cli/version.js +1 -1
  38. package/package.json +1 -1
  39. package/src/character/client/CharacterCreator.tsx +281 -1
  40. package/src/character/client/lib/charKit.ts +7 -0
  41. package/src/character/client/lib/characterScene.ts +31 -5
  42. package/src/character/shared/index.ts +14 -0
  43. package/src/character/shared/lib/charMaterial.ts +114 -0
  44. package/src/character/shared/lib/charSpec.ts +23 -0
  45. package/src/character/shared/lib/humanRig.ts +43 -14
  46. package/src/character/shared/lib/retarget.ts +19 -1
  47. package/src/character/shared/spec.ts +11 -1
  48. package/src/character/shared/specAdapter.ts +16 -1
  49. package/src/cli/version.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"CharacterCreator.d.ts","sourceRoot":"","sources":["../../../src/character/client/CharacterCreator.tsx"],"names":[],"mappings":"AAqCA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAgB,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEpE,OAAO,EAGL,KAAK,oBAAoB,EAC1B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAiB,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAevE,OAAO,EAA0B,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAG/E,sDAAsD;AACtD,MAAM,MAAM,iBAAiB,GAC3B,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;AAE3D,iGAAiG;AACjG,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAID,YAAY,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAElE,oGAAoG;AACpG,MAAM,WAAW,sBAAsB;IACrC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5B;AAED,MAAM,WAAW,qBAAqB;IACpC,kFAAkF;IAClF,MAAM,EAAE,kBAAkB,CAAC;IAC3B,+FAA+F;IAC/F,KAAK,CAAC,EAAE,YAAY,GAAG,SAAS,CAAC;IACjC,WAAW,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;IACxC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;IAC5C;;;OAGG;IACH,MAAM,CAAC,EAAE,SAAS,oBAAoB,EAAE,GAAG,SAAS,CAAC;IACrD,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IAChE;;;;OAIG;IACH,MAAM,CAAC,EACH,CAAC,CAAC,KAAK,EAAE,qBAAqB,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,GACtE,SAAS,CAAC;IACd;;;;OAIG;IACH,iBAAiB,CAAC,EACd,CAAC,CACC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,WAAW,KACd,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC,CAAC,GAC5C,SAAS,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAChC;AAsoBD,wBAAgB,gBAAgB,CAAC,EAC/B,MAAM,EACN,KAAK,EACL,WAAW,EACX,WAAW,EACX,WAAW,EACX,MAAM,EACN,QAAQ,EACR,MAAM,EACN,iBAAiB,EACjB,SAAS,GACV,EAAE,qBAAqB,+BA68BvB"}
1
+ {"version":3,"file":"CharacterCreator.d.ts","sourceRoot":"","sources":["../../../src/character/client/CharacterCreator.tsx"],"names":[],"mappings":"AAqCA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAgB,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEpE,OAAO,EAGL,KAAK,oBAAoB,EAC1B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAiB,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAyBvE,OAAO,EAA0B,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAG/E,sDAAsD;AACtD,MAAM,MAAM,iBAAiB,GAC3B,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;AAE3D,iGAAiG;AACjG,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAID,YAAY,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAElE,oGAAoG;AACpG,MAAM,WAAW,sBAAsB;IACrC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5B;AAED,MAAM,WAAW,qBAAqB;IACpC,kFAAkF;IAClF,MAAM,EAAE,kBAAkB,CAAC;IAC3B,+FAA+F;IAC/F,KAAK,CAAC,EAAE,YAAY,GAAG,SAAS,CAAC;IACjC,WAAW,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;IACxC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;IAC5C;;;OAGG;IACH,MAAM,CAAC,EAAE,SAAS,oBAAoB,EAAE,GAAG,SAAS,CAAC;IACrD,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IAChE;;;;OAIG;IACH,MAAM,CAAC,EACH,CAAC,CAAC,KAAK,EAAE,qBAAqB,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,GACtE,SAAS,CAAC;IACd;;;;OAIG;IACH,iBAAiB,CAAC,EACd,CAAC,CACC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,WAAW,KACd,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC,CAAC,GAC5C,SAAS,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAChC;AAwwBD,wBAAgB,gBAAgB,CAAC,EAC/B,MAAM,EACN,KAAK,EACL,WAAW,EACX,WAAW,EACX,WAAW,EACX,MAAM,EACN,QAAQ,EACR,MAAM,EACN,iBAAiB,EACjB,SAAS,GACV,EAAE,qBAAqB,+BAylCvB"}
@@ -32,6 +32,8 @@ import { VisemeSchedule, ChannelSmoother } from '../shared/lib/faceAnim.js';
32
32
  import { FACE_CHANNEL_NAMES } from '../shared/lib/visemes.js';
33
33
  import { groupFaceAxes, randomFaceIdentity, } from '../shared/lib/faceRegions.js';
34
34
  import { EYE_COLOURS, EYE_COLOUR_NAMES, HAIR_COLOURS, HAIR_COLOUR_NAMES, } from '../shared/lib/charSpec.js';
35
+ import { ETHNICITIES, ethnicityPercents, rebalanceEthnicity, } from '../shared/lib/humanMacro.js';
36
+ import { CHAR_MATERIALS, GLASS_ALPHA, } from '../shared/lib/charMaterial.js';
35
37
  import { DEFAULT_CHARACTER_SPEC } from '../shared/spec.js';
36
38
  import { sanitizeSpec } from '../shared/specAdapter.js';
37
39
  /* ============================== option presets ============================== */
@@ -56,6 +58,86 @@ const HEIGHT_STOPS = [
56
58
  { label: 'Average', y: 1.0 },
57
59
  { label: 'Tall', y: 1.1 },
58
60
  ];
61
+ /**
62
+ * The three ethnic corners plus an even blend, as tiles over `MacroState.ethnicity`.
63
+ *
64
+ * ⚠️ LABELLED EXACTLY AS `ETHNICITIES` NAMES THEM. The weights drive 24 real MakeHuman morph
65
+ * corners (`<ethnicity>-<gender>-<age>`), and inventing friendlier labels here would put the
66
+ * naming in a second place that can drift from the cooked targets.
67
+ *
68
+ * ⚠️ THE UNDERLYING AXIS IS A BLEND, NOT A PICK — which is why the tiles are a shortcut onto the
69
+ * sliders rather than the whole control. A tile writes one corner; the blend row expresses
70
+ * everything between.
71
+ */
72
+ const ANCESTRY_STOPS = [
73
+ { label: 'African', e: [1, 0, 0] },
74
+ { label: 'Asian', e: [0, 1, 0] },
75
+ { label: 'Caucasian', e: [0, 0, 1] },
76
+ { label: 'Blended', e: [1 / 3, 1 / 3, 1 / 3] },
77
+ ];
78
+ /** How far a blend may sit from a corner and still light that corner's tile. */
79
+ const ANCESTRY_TOL = 0.02;
80
+ const sameEthnicity = (a, b) => a.every((v, i) => Math.abs(v - b[i]) <= ANCESTRY_TOL);
81
+ /**
82
+ * The material tiles — the shader's five rows, with a CSS orb standing in for each.
83
+ *
84
+ * The orbs are gradients rather than rendered previews on purpose: a real preview would mean a
85
+ * second GPU device per tile, and what a material actually looks like is one click away on the
86
+ * model itself.
87
+ */
88
+ const MATERIAL_META = {
89
+ skin: {
90
+ label: 'Skin',
91
+ desc: 'The tone, lit as it is.',
92
+ orb: 'radial-gradient(circle at 32% 28%, #f5d3ba 0%, #d8a179 48%, #a9714a 100%)',
93
+ },
94
+ plastic: {
95
+ label: 'Plastic',
96
+ desc: 'Moulded, tight highlight.',
97
+ orb: 'radial-gradient(circle at 30% 26%, #ffffff 0 5%, #79b0e8 52%, #2b5d95 100%)',
98
+ },
99
+ metal: {
100
+ label: 'Metal',
101
+ desc: 'Brushed and reflective.',
102
+ orb: 'linear-gradient(135deg, #f2f4f7 0%, #9aa3ad 36%, #565e67 62%, #e3e8ee 100%)',
103
+ },
104
+ glass: {
105
+ label: 'Glass',
106
+ desc: 'Translucent, bright rim.',
107
+ orb: 'radial-gradient(circle at 34% 26%, rgba(255,255,255,.95) 0 8%, rgba(150,205,225,.55) 55%, rgba(70,130,165,.4) 100%)',
108
+ },
109
+ wood: {
110
+ label: 'Wood',
111
+ desc: 'Grain, wrapped around.',
112
+ orb: 'repeating-linear-gradient(101deg, #8a5a32 0 3px, #7a4d29 3px 5px, #9c6a3d 5px 8px)',
113
+ },
114
+ };
115
+ /**
116
+ * ⚠️ MAPPED OVER `CHAR_MATERIALS`, not written out again. The roster's order is the shader's row
117
+ * order, so the tiles cannot drift from it — and a material added there is a type error here until
118
+ * it has a tile, rather than a row that silently has no way to be picked.
119
+ */
120
+ const MATERIAL_STOPS = CHAR_MATERIALS.map((id) => ({
121
+ id,
122
+ ...MATERIAL_META[id],
123
+ }));
124
+ /**
125
+ * `#rrggbb` ⇄ the 0…1 triple an instance record carries. Ported from all-mine-sky's CharPanel.
126
+ *
127
+ * ⚠️ Clamped on the way out. A seeded tint is a near-white jitter that can exceed 1 — `specFromSeed`
128
+ * draws `0.9 + r() * 0.2` — and `toString(16)` on 256 is "100", which produces a seven-character
129
+ * value the colour input silently rejects and renders as black.
130
+ */
131
+ const rgbToHex = (c) => `#${[c[0], c[1], c[2]]
132
+ .map((v) => Math.round(Math.min(1, Math.max(0, v)) * 255)
133
+ .toString(16)
134
+ .padStart(2, '0'))
135
+ .join('')}`;
136
+ const hexToRgb = (hex) => [
137
+ parseInt(hex.slice(1, 3), 16) / 255,
138
+ parseInt(hex.slice(3, 5), 16) / 255,
139
+ parseInt(hex.slice(5, 7), 16) / 255,
140
+ ];
59
141
  const AGE_STOPS = [
60
142
  { label: 'Young', age: 0.45 },
61
143
  { label: 'Adult', age: 0.65 },
@@ -453,6 +535,31 @@ const CREATOR_CSS = `
453
535
  }
454
536
  .ucc-swatch:hover{transform:scale(1.08);}
455
537
  .ucc-swatch.selected{border-color:var(--ucc-brand); box-shadow:0 0 0 3px var(--ucc-brand-glow);}
538
+ /* material orbs — a gradient per shader row, so the tiles read at a glance */
539
+ .ucc-opt-tile .ucc-orb{
540
+ width:34px; height:34px; border-radius:50%; margin:0 auto 7px;
541
+ border:1px solid var(--ucc-border); box-shadow:inset 0 -2px 5px rgba(0,0,0,.18);
542
+ }
543
+ .ucc-opt-tile.selected .ucc-orb{border-color:var(--ucc-brand);}
544
+ /* the ancestry blend — three shares that always total 100 */
545
+ .ucc-blend{margin-top:12px;}
546
+ .ucc-blend-row{display:flex; align-items:center; gap:9px; padding:3px 0;}
547
+ .ucc-blend-row .ucc-b-name{font-size:12px; color:var(--ucc-text-muted); width:72px; flex:none;}
548
+ .ucc-blend-row input[type=range]{flex:1; min-width:0; accent-color:var(--ucc-brand);}
549
+ .ucc-blend-row .ucc-b-val{
550
+ font:600 12px 'JetBrains Mono',ui-monospace,monospace; color:var(--ucc-text);
551
+ width:26px; text-align:right; font-variant-numeric:tabular-nums; flex:none;
552
+ }
553
+ /* a colour input beside its label */
554
+ .ucc-color-row{display:flex; align-items:center; gap:10px; margin-top:12px;}
555
+ .ucc-color-row input[type=color]{
556
+ width:46px; height:32px; padding:0; flex:none; cursor:pointer;
557
+ background:var(--ucc-bg-elev); border:1.5px solid var(--ucc-border); border-radius:10px;
558
+ }
559
+ .ucc-color-row input[type=color]:hover{border-color:var(--ucc-brand);}
560
+ .ucc-color-row .ucc-c-label{font-size:12.5px; color:var(--ucc-text-muted);}
561
+ /* an explanatory line under a control — quieter than .ucc-note, hidden in the mobile dock */
562
+ .ucc-hint{font-size:12px; color:var(--ucc-text-faint); line-height:1.5; margin-top:9px;}
456
563
  /* hair grid */
457
564
  .ucc-hair-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(64px,1fr)); gap:10px;}
458
565
  .ucc-hair-thumb{
@@ -549,8 +656,12 @@ const CREATOR_CSS = `
549
656
  .ucc-opt-grid.ucc-wide .ucc-opt-tile{width:132px;}
550
657
  .ucc-opt-tile .ucc-glyph{margin-bottom:4px;}
551
658
  .ucc-opt-tile .ucc-glyph svg{width:30px; height:30px;}
659
+ .ucc-opt-tile .ucc-orb{width:26px; height:26px; margin-bottom:4px;}
552
660
  .ucc-opt-tile .ucc-t-name{font-size:11px;}
553
661
  .ucc-opt-tile .ucc-t-desc{display:none;}
662
+ /* the blend and the colour picker become fixed-width blocks in the horizontal strip */
663
+ .ucc-blend{width:190px; flex:none; margin-top:0;}
664
+ .ucc-color-row{margin-top:0; flex:none;}
554
665
  .ucc-swatch-row,.ucc-chip-row,.ucc-hair-grid{display:flex; flex-wrap:nowrap; gap:8px; flex:none;}
555
666
  .ucc-swatch{flex:none;}
556
667
  .ucc-chip-opt{flex:none; white-space:nowrap;}
@@ -564,7 +675,9 @@ const CREATOR_CSS = `
564
675
  }
565
676
  .ucc-feat .ucc-f-name{font-size:11px; text-align:center;}
566
677
  .ucc-ai-row{margin-top:0;}
567
- .ucc-ai-desc,.ucc-voice-note,.ucc-skin-labels{display:none;}
678
+ /* ⚠️ ucc-warn is deliberately NOT in this list — a dead material atlas must still say so in
679
+ the dock, where a hint that is only advice can be dropped for space. */
680
+ .ucc-ai-desc,.ucc-voice-note,.ucc-skin-labels,.ucc-hint{display:none;}
568
681
  .ucc-cost-line{margin-top:0; white-space:nowrap;}
569
682
  .ucc-tex-strip{margin-top:0; flex-wrap:nowrap; min-height:0;}
570
683
  .ucc-tex-strip .ucc-empty{white-space:nowrap;}
@@ -610,6 +723,9 @@ export function CharacterCreator({ source, anims, initialSpec, initialName, init
610
723
  const [previewError, setPreviewError] = useState(null);
611
724
  const [archetype, setArchetype] = useState(null);
612
725
  const [pose, setPose] = useState(null);
726
+ // The ancestry blend starts folded away: the four tiles are the answer for almost everybody,
727
+ // and three sliders open by default make the Body panel read as a settings screen.
728
+ const [blendOpen, setBlendOpen] = useState(false);
613
729
  // AI restyle state.
614
730
  const [texPrompt, setTexPrompt] = useState('');
615
731
  const [texSlot, setTexSlot] = useState('body');
@@ -732,6 +848,10 @@ export function CharacterCreator({ source, anims, initialSpec, initialName, init
732
848
  }));
733
849
  }, [facts]);
734
850
  const hairStyles = useMemo(() => facts?.hairStyles ?? [], [facts]);
851
+ // ⚠️ `ethnicityPercents`, not `Math.round` per share — it is largest-remainder, so the three
852
+ // readouts actually total 100. Rounding independently renders 6 / 36 / 59 for a real blend,
853
+ // and a row that visibly contradicts itself reads as a broken control.
854
+ const ancestryPercents = useMemo(() => ethnicityPercents(spec.macro.ethnicity), [spec.macro.ethnicity]);
735
855
  const clipNames = useMemo(() => (anims ? fbxClipNames(anims) : []), [anims]);
736
856
  /* ---- heal stale specs against the kit ----
737
857
  *
@@ -888,7 +1008,14 @@ export function CharacterCreator({ source, anims, initialSpec, initialName, init
888
1008
  const basicsPanel = (_jsxs(_Fragment, { children: [_jsx(Sect, { eyebrow: "Name", children: _jsx("input", { type: "text", "data-id": "character-name", "aria-label": "Character name", value: name, placeholder: "Give them a name", onChange: (e) => setName(e.target.value) }) }), _jsx(Sect, { eyebrow: "Style tags", children: _jsx("div", { className: "ucc-chip-row", children: STYLE_TAGS.map((tag) => (_jsx("button", { type: "button", "data-id": `tag-${tag.toLowerCase()}`, className: `ucc-chip-opt${tags.includes(tag) ? ' selected' : ''}`, onClick: () => toggleTag(tag), children: tag }, tag))) }) }), _jsx(Sect, { eyebrow: "Archetype \u2014 sets sensible defaults", children: _jsx("div", { className: "ucc-opt-grid ucc-wide", children: ARCHETYPES.map((a, i) => (_jsxs("button", { type: "button", "data-id": `archetype-${a.name.toLowerCase()}`, className: `ucc-opt-tile${archetype === a.name ? ' selected' : ''}`, disabled: !facts, onClick: () => applyArchetype(a, i), children: [_jsx("div", { className: "ucc-t-name", children: a.name }), _jsx("div", { className: "ucc-t-desc", children: a.desc })] }, a.name))) }) })] }));
889
1009
  const bodyPanel = !facts ? (_jsx("div", { className: "ucc-note", children: wardrobeNote })) : (_jsxs(_Fragment, { children: [_jsx(Sect, { eyebrow: "Frame", children: _jsx("div", { className: "ucc-opt-grid", children: FRAME_STOPS.map((f) => (_jsx("button", { type: "button", "data-id": `frame-${f.label.toLowerCase()}`, className: `ucc-opt-tile${nearestStop(spec.macro.gender, FRAME_STOPS.map((s) => s.gender)) === FRAME_STOPS.indexOf(f)
890
1010
  ? ' selected'
891
- : ''}`, onClick: () => setMacro({ gender: f.gender }), children: _jsx("div", { className: "ucc-t-name", children: f.label }) }, f.label))) }) }), _jsx(Sect, { eyebrow: "Body type", children: _jsx("div", { className: "ucc-opt-grid", children: BODY_TYPES.map((b, i) => (_jsxs("button", { type: "button", "data-id": `body-${b.label.toLowerCase()}`, className: `ucc-opt-tile${nearestStop(spec.macro.muscle, BODY_TYPES.map((s) => s.muscle)) === i &&
1011
+ : ''}`, onClick: () => setMacro({ gender: f.gender }), children: _jsx("div", { className: "ucc-t-name", children: f.label }) }, f.label))) }) }), _jsxs(Sect, { eyebrow: "Ancestry", children: [_jsx("div", { className: "ucc-opt-grid", children: ANCESTRY_STOPS.map((a) => (_jsx("button", { type: "button", "data-id": `ancestry-${a.label.toLowerCase()}`, className: `ucc-opt-tile${sameEthnicity(spec.macro.ethnicity, a.e) ? ' selected' : ''}`, onClick: () => setMacro({ ethnicity: [...a.e] }), children: _jsx("div", { className: "ucc-t-name", children: a.label }) }, a.label))) }), _jsxs("div", { className: "ucc-blend", children: [_jsx("button", { type: "button", "data-id": "ancestry-blend-toggle", className: "ucc-btn-ghost ucc-btn-sm", "aria-expanded": blendOpen, onClick: () => setBlendOpen(!blendOpen), children: blendOpen ? 'Hide blend' : 'Custom blend' }), blendOpen &&
1012
+ ETHNICITIES.map((eth, i) => (_jsxs("div", { className: "ucc-blend-row", children: [_jsx("span", { className: "ucc-b-name", children: eth }), _jsx("input", { "data-id": `ancestry-share-${eth}`, type: "range", min: 0, max: 100, step: 1, "aria-label": `${eth} share`, value: ancestryPercents[i], onChange: (e) =>
1013
+ // ⚠️ `rebalanceEthnicity`, never a direct write: the three shares must sum to
1014
+ // 1 or the spec's own zod refinement rejects it, and `macroWeights` blends the
1015
+ // ethnic family assuming they do.
1016
+ setMacro({
1017
+ ethnicity: rebalanceEthnicity(spec.macro.ethnicity, i, Number(e.target.value) / 100),
1018
+ }) }), _jsx("span", { className: "ucc-b-val", children: ancestryPercents[i] })] }, eth)))] }), _jsx("div", { className: "ucc-hint", children: "Ancestry moves the face and the build. It does not change skin colour \u2014 the tone tiles and the colour picker below do that." })] }), _jsx(Sect, { eyebrow: "Body type", children: _jsx("div", { className: "ucc-opt-grid", children: BODY_TYPES.map((b, i) => (_jsxs("button", { type: "button", "data-id": `body-${b.label.toLowerCase()}`, className: `ucc-opt-tile${nearestStop(spec.macro.muscle, BODY_TYPES.map((s) => s.muscle)) === i &&
892
1019
  nearestStop(spec.macro.weight, BODY_TYPES.map((s) => s.weight)) === i
893
1020
  ? ' selected'
894
1021
  : ''}`, onClick: () => updateSpec({
@@ -902,7 +1029,16 @@ export function CharacterCreator({ source, anims, initialSpec, initialName, init
902
1029
  : ''}`, onClick: () => updateSpec({
903
1030
  ...spec,
904
1031
  scale: [spec.scale[0], h.y, spec.scale[2]],
905
- }), children: [_jsx("div", { className: "ucc-glyph", children: glyphHeight(i) }), _jsx("div", { className: "ucc-t-name", children: h.label })] }, h.label))) }) }), _jsx(Sect, { eyebrow: "Skin tone", children: _jsx("div", { className: "ucc-opt-grid", children: skinOptions.map((s) => (_jsx("button", { type: "button", "data-id": `skin-${s.layer}`, className: `ucc-opt-tile${spec.skin.layer === s.layer ? ' selected' : ''}`, onClick: () => updateSpec({ ...spec, skin: { ...spec.skin, layer: s.layer } }), children: _jsx("div", { className: "ucc-t-name", children: s.label }) }, s.layer))) }) }), _jsx(Sect, { eyebrow: "Age stage", children: _jsx("div", { className: "ucc-opt-grid", children: AGE_STOPS.map((a, i) => (_jsxs("button", { type: "button", "data-id": `age-${a.label.toLowerCase()}`, className: `ucc-opt-tile${nearestStop(spec.macro.age, AGE_STOPS.map((s) => s.age)) === i
1032
+ }), children: [_jsx("div", { className: "ucc-glyph", children: glyphHeight(i) }), _jsx("div", { className: "ucc-t-name", children: h.label })] }, h.label))) }) }), _jsxs(Sect, { eyebrow: "Skin tone", children: [_jsx("div", { className: "ucc-opt-grid", children: skinOptions.map((s) => (_jsx("button", { type: "button", "data-id": `skin-${s.layer}`, className: `ucc-opt-tile${spec.skin.layer === s.layer ? ' selected' : ''}`, onClick: () => updateSpec({ ...spec, skin: { ...spec.skin, layer: s.layer } }), children: _jsx("div", { className: "ucc-t-name", children: s.label }) }, s.layer))) }), _jsxs("div", { className: "ucc-color-row", children: [_jsx("input", { "data-id": "skin-tint", type: "color", "aria-label": "Skin colour", value: rgbToHex(spec.skin.tint), onChange: (e) => {
1033
+ const [r, g, b] = hexToRgb(e.target.value);
1034
+ // ⚠️ ALPHA IS PRESERVED, never rebuilt as 1. It is what routes the instance to the
1035
+ // blended pipeline, so overwriting it here would make a glass character opaque
1036
+ // the first time anybody touched the colour.
1037
+ updateSpec({
1038
+ ...spec,
1039
+ skin: { ...spec.skin, tint: [r, g, b, spec.skin.tint[3]] },
1040
+ });
1041
+ } }), _jsx("span", { className: "ucc-c-label", children: "Colour" })] }), _jsx("div", { className: "ucc-hint", children: "Multiplied over the tone above. On every material but Skin the tone is desaturated to a detail map first, so this becomes the actual colour." })] }), _jsxs(Sect, { eyebrow: "Material", children: [_jsx("div", { className: "ucc-opt-grid ucc-wide", children: MATERIAL_STOPS.map((m) => (_jsxs("button", { type: "button", "data-id": `material-${m.id}`, className: `ucc-opt-tile${spec.skin.material === m.id ? ' selected' : ''}`, onClick: () => updateSpec({ ...spec, skin: { ...spec.skin, material: m.id } }), children: [_jsx("div", { className: "ucc-orb", style: { background: m.orb } }), _jsx("div", { className: "ucc-t-name", children: m.label }), _jsx("div", { className: "ucc-t-desc", children: m.desc })] }, m.id))) }), spec.skin.material === 'glass' && (_jsxs("div", { className: "ucc-hint", children: ["Held at ", GLASS_ALPHA, " opacity so the body reaches the blended pipeline. The eyes and teeth turn to glass with it. Refraction is off on this preview, so it reads as a bright rim rather than a lens."] })), spec.skin.material === 'metal' && (_jsx("div", { className: "ucc-hint", children: "Reflections are a faked sky and ground on this preview \u2014 the screen-space pass the game uses is not running here." })), spec.skin.material === 'wood' && (_jsx("div", { className: "ucc-hint", children: "The grain is an albedo with no normal map behind it, so this reads as grained matte rather than polished timber." })), facts.materialLayers === 0 && spec.skin.material !== 'skin' && (_jsx("div", { className: "ucc-warn", children: "This character kit carries no material atlas, so Metal and Wood draw untextured. Re-cook the kit to get their surfaces." }))] }), _jsx(Sect, { eyebrow: "Age stage", children: _jsx("div", { className: "ucc-opt-grid", children: AGE_STOPS.map((a, i) => (_jsxs("button", { type: "button", "data-id": `age-${a.label.toLowerCase()}`, className: `ucc-opt-tile${nearestStop(spec.macro.age, AGE_STOPS.map((s) => s.age)) === i
906
1042
  ? ' selected'
907
1043
  : ''}`, onClick: () => setMacro({ age: a.age }), children: [_jsx("div", { className: "ucc-glyph", children: glyphAge(i) }), _jsx("div", { className: "ucc-t-name", children: a.label })] }, a.label))) }) }), spec.macro.gender < 0.5 && (_jsxs(Sect, { eyebrow: "Chest", children: [_jsxs("div", { className: "ucc-slot-block", children: [_jsx("div", { className: "ucc-slot-title", children: "Size" }), _jsx("div", { className: "ucc-chip-row", children: CUP_STOPS.map((c) => (_jsx("button", { type: "button", "data-id": `cup-${c.label.toLowerCase()}`, className: `ucc-chip-opt${nearestStop(spec.breast?.cup ?? 0.5, CUP_STOPS.map((s) => s.v)) === CUP_STOPS.indexOf(c)
908
1044
  ? ' selected'
@@ -1 +1 @@
1
- {"version":3,"file":"CharacterCreator.js","sourceRoot":"","sources":["../../../src/character/client/CharacterCreator.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CharacterCreator.js","sourceRoot":"","sources":["../../../src/character/client/CharacterCreator.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"charKit.d.ts","sourceRoot":"","sources":["../../../../src/character/client/lib/charKit.ts"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAEvE,OAAO,EAEL,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,YAAY,EAClB,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAEjE,OAAO,EAAU,KAAK,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEjE,MAAM,WAAW,OAAO;IACtB,iFAAiF;IACjF,IAAI,EAAE,QAAQ,EAAE,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,WAAW,EAAE,EAAE,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,6FAA6F;IAC7F,IAAI,EAAE,UAAU,CAAC;IACjB,UAAU,EAAE,gBAAgB,CAAC;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB;;;;;OAKG;IACH,QAAQ,EAAE,UAAU,GAAG,IAAI,CAAC;IAC5B,QAAQ,EAAE,YAAY,CAAC;IACvB;;;;;;OAMG;IACH,SAAS,EAAE,aAAa,GAAG,IAAI,CAAC;IAChC;;;OAGG;IACH,KAAK,EAAE,eAAe,GAAG,IAAI,CAAC;IAC9B,KAAK,EAAE,YAAY,CAAC;IACpB,QAAQ,EAAE,YAAY,CAAC;IACvB,oFAAoF;IACpF,IAAI,EAAE,OAAO,CAAC;IACd,oFAAoF;IACpF,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;GAMG;AACH,MAAM,WAAW,cAAc;IAC7B;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,wBAAsB,WAAW,CAC/B,MAAM,EAAE,kBAAkB,EAC1B,MAAM,EAAE,SAAS,EACjB,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,EAC/B,IAAI,GAAE,cAAmB,GACxB,OAAO,CAAC,OAAO,CAAC,CAyFlB"}
1
+ {"version":3,"file":"charKit.d.ts","sourceRoot":"","sources":["../../../../src/character/client/lib/charKit.ts"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAEvE,OAAO,EAEL,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,YAAY,EAClB,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAEjE,OAAO,EAAU,KAAK,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEjE,MAAM,WAAW,OAAO;IACtB,iFAAiF;IACjF,IAAI,EAAE,QAAQ,EAAE,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,WAAW,EAAE,EAAE,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,6FAA6F;IAC7F,IAAI,EAAE,UAAU,CAAC;IACjB,UAAU,EAAE,gBAAgB,CAAC;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB;;;;;OAKG;IACH,QAAQ,EAAE,UAAU,GAAG,IAAI,CAAC;IAC5B,QAAQ,EAAE,YAAY,CAAC;IACvB;;;;;;OAMG;IACH,SAAS,EAAE,aAAa,GAAG,IAAI,CAAC;IAChC;;;OAGG;IACH,KAAK,EAAE,eAAe,GAAG,IAAI,CAAC;IAC9B,KAAK,EAAE,YAAY,CAAC;IACpB,QAAQ,EAAE,YAAY,CAAC;IACvB,oFAAoF;IACpF,IAAI,EAAE,OAAO,CAAC;IACd,oFAAoF;IACpF,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;GAMG;AACH,MAAM,WAAW,cAAc;IAC7B;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,wBAAsB,WAAW,CAC/B,MAAM,EAAE,kBAAkB,EAC1B,MAAM,EAAE,SAAS,EACjB,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,EAC/B,IAAI,GAAE,cAAmB,GACxB,OAAO,CAAC,OAAO,CAAC,CAgGlB"}
@@ -80,6 +80,13 @@ export async function loadCharKit(source, device, onTier, opts = {}) {
80
80
  garments: CHAR_MANIFEST.garments,
81
81
  skinLayers: CHAR_MANIFEST.skinLayers,
82
82
  skinIds: CHAR_MANIFEST.skinIds,
83
+ // Spread-optional for the same `exactOptionalPropertyTypes` reason as `hairStyles` below:
84
+ // a container cooked before materials omits the field, and the creator says so — the
85
+ // renderer binds a 1×1 white default, so wood and metal draw untextured rather than
86
+ // failing, and a control that silently looks wrong is worse than one that explains itself.
87
+ ...(CHAR_MANIFEST.materialLayers !== undefined
88
+ ? { materialLayers: CHAR_MANIFEST.materialLayers }
89
+ : {}),
83
90
  // ⚠️ THE MANIFEST'S ORDER, which is the order the scalp subsets are in and the order
84
91
  // `hair.json` lists the geometry in. A spec's `hair.style` indexes all three, so taking this
85
92
  // from anywhere else — a sorted copy, a directory read — silently puts one style's mesh on
@@ -1 +1 @@
1
- {"version":3,"file":"charKit.js","sourceRoot":"","sources":["../../../../src/character/client/lib/charKit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"charKit.js","sourceRoot":"","sources":["../../../../src/character/client/lib/charKit.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"characterScene.d.ts","sourceRoot":"","sources":["../../../../src/character/client/lib/characterScene.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"characterScene.d.ts","sourceRoot":"","sources":["../../../../src/character/client/lib/characterScene.ts"],"names":[],"mappings":"AAkCA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAkCtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAE5C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAQL,KAAK,UAAU,EAEhB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AA4EnD,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAmB;IACzC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAkB;IACvC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAmB;IAC7C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAuC;IAClE,OAAO,CAAC,KAAK,CAAsB;IAEnC,OAAO,CAAC,GAAG,CAAwB;IACnC,OAAO,CAAC,EAAE,CAA4B;IACtC,OAAO,CAAC,IAAI,CAAyB;IACrC,OAAO,CAAC,OAAO,CAAsB;IACrC,4FAA4F;IAC5F,OAAO,CAAC,QAAQ,CAGA;IAChB,OAAO,CAAC,SAAS,CAAwB;IACzC,OAAO,CAAC,KAAK,CAA2B;IACxC,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,QAAQ,CAA6B;IAC7C,OAAO,CAAC,aAAa,CAAS;IAC9B;;;OAGG;IACH,OAAO,CAAC,WAAW,CAAyB;IAC5C,2FAA2F;IAC3F,OAAO,CAAC,QAAQ,CAAyB;IACzC,OAAO,CAAC,QAAQ,CAAM;IACtB,OAAO,CAAC,YAAY,CAA+B;IAEnD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAY;IACjC,OAAO,CAAC,SAAS,CAA8B;IAC/C,OAAO,CAAC,OAAO,CAAM;IACrB,oFAAoF;IACpF,OAAO,CAAC,WAAW,CAIjB;IACF,OAAO,CAAC,QAAQ,CAA2B;IAC3C,OAAO,CAAC,UAAU,CAA0B;IAC5C,OAAO,CAAC,gBAAgB,CAAsB;IAC9C,OAAO,CAAC,eAAe,CAAS;IAChC,wFAAwF;IACxF,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,YAAY,CAA6B;IACjD,OAAO,CAAC,YAAY,CAA6B;IAEjD,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,SAAS,CAAgB;IACjC,OAAO,CAAC,aAAa,CAAsB;IAE3C,OAAO,CAAC,KAAK,CAA+B;IAC5C,OAAO,CAAC,QAAQ,CAAuB;IACvC,+FAA+F;IAC/F,OAAO,CAAC,WAAW,CAAK;IAExB,gGAAgG;IAChG,OAAO,CAAC,YAAY,CAA6B;IACjD,OAAO,CAAC,WAAW,CAA+C;IAClE,OAAO,CAAC,OAAO,CAAO;IACtB,OAAO,CAAC,MAAM,CAAM;IACpB,OAAO,CAAC,IAAI,CAAkB;IAE9B,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,OAAO,CAAyC;IACxD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAwB;IAC9C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAwB;IACrD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAuB;gBAEhC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,gBAAgB;IA4CvD,6FAA6F;IAC7F,IAAI,KAAK,IAAI,OAAO,CAEnB;IAED,0FAA0F;IAC1F,IAAI,QAAQ,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI,CAEzC;IAED,yEAAyE;IACzE,IAAI,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,CAEnC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IAwH1B;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,IAAI;IAWjC,+FAA+F;IAC/F,OAAO,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI;IAO/B;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,aAAa;IAarB,wDAAwD;IACxD,WAAW,CAAC,GAAG,EAAE,UAAU,GAAG,IAAI,EAAE,GAAG,GAAE,SAAS,GAAG,IAAW,GAAG,IAAI;IASvE,yFAAyF;IACzF,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI;IAIzC;;;;;;OAMG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAMlC,sFAAsF;IACtF,IAAI,SAAS,IAAI,MAAM,EAAE,CAExB;IAED;;;;;;;OAOG;IACH,cAAc,CAAC,CAAC,EAAE,YAAY,GAAG,IAAI,GAAG,IAAI;IAI5C;;;OAGG;IACH,OAAO,CAAC,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAI1C,gFAAgF;IAChF,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAIzB;;;;;OAKG;IACH,OAAO,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI;IAQlC;;;;;;;;;OASG;IACH,OAAO,CAAC,SAAS;IAsBjB,sFAAsF;IACtF,OAAO,CAAC,mBAAmB;IAsB3B,gFAAgF;IAChF,OAAO,CAAC,YAAY;IAOpB,6FAA6F;IAC7F,OAAO,CAAC,QAAQ;IAoBhB;;;OAGG;IACH,OAAO,CAAC,OAAO;IAmBf,0FAA0F;IAC1F,OAAO,CAAC,SAAS;IAiCjB;;;OAGG;IACH,OAAO,CAAC,OAAO;IAcf,0EAA0E;IAC1E,OAAO,CAAC,OAAO;IAaf;;;;OAIG;IACH,OAAO,CAAC,SAAS;IAgCjB;;;;;;OAMG;IACH,OAAO,CAAC,cAAc;IA0FtB,2FAA2F;IAC3F,OAAO,CAAC,OAAO;IAwBf;;;;;;OAMG;IACH,OAAO,CAAC,YAAY;IAepB;;;;;;OAMG;IACH,OAAO,CAAC,OAAO;IAsBf,oFAAoF;IACpF,OAAO,CAAC,SAAS;IA+BjB;;;;;OAKG;IACH,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IA0JrE;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,QAAQ;IA2BhB,2EAA2E;IAC3E,SAAS,IAAI,IAAI;IAIjB;;;;;;;;OAQG;IACH,KAAK,CACH,GAAG,EAAE,iBAAiB,EACtB,SAAS,EAAE,cAAc,EACzB,SAAS,EAAE,cAAc,EACzB,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAChC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAChC,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAC7B,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAChC,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAC7B,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAC9B,OAAO;IAiFV;;;;OAIG;IACH,SAAS,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;IA2C5C,kFAAkF;IAClF,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED,0EAA0E;IAC1E,OAAO,CAAC,MAAM,CAAK;CACpB"}
@@ -19,7 +19,7 @@
19
19
  // the gaze-as-palette-edit ordering, and the garment conform/drape/lift pipeline. Where a
20
20
  // rule was learned the hard way upstream, its comment came along.
21
21
  // ─────────────────────────────────────────────────────────────────────────────
22
- import { CROWD_MATERIALS, CROWD_RECORD_FLOATS, GpuCrowdRenderer, makeMergeScratch, mergeTargets, validateBuckets, writeCrowdRecord, } from 'ugly-game/assets/gpuCrowd';
22
+ import { CROWD_RECORD_FLOATS, GpuCrowdRenderer, makeMergeScratch, mergeTargets, validateBuckets, writeCrowdRecord, } from 'ugly-game/assets/gpuCrowd';
23
23
  import { GpuSkinRenderer } from 'ugly-game/assets/gpuSkin';
24
24
  import { GpuPropsRenderer } from 'ugly-game/assets/gpuProps';
25
25
  import { CharPool, pickLod } from '../../shared/lib/charPool.js';
@@ -31,6 +31,7 @@ import { clipPhase, clipRig, palettePosedByClip, } from '../../shared/lib/charCl
31
31
  import { applyGaze } from '../../shared/lib/charGaze.js';
32
32
  import { identity4, mul4, similarityFit } from '../../shared/lib/hairFit.js';
33
33
  import { FACE_CHANNEL_NAMES } from '../../shared/lib/visemes.js';
34
+ import { facePartAlpha, facePartMaterial, materialIndex, GLASS_ALPHA, } from '../../shared/lib/charMaterial.js';
34
35
  import { specToCharSpec } from '../../shared/specAdapter.js';
35
36
  import { CharPartDraw } from './charPartDraw.js';
36
37
  import { conformGarment, drapeOverInner, GARMENT_SLOTS, garmentNormals, transferSkinWeights, wornOver, } from './charGarment.js';
@@ -166,6 +167,7 @@ export class CharacterScene {
166
167
  scale: [1, 1, 1],
167
168
  skinLayer: 0,
168
169
  tint: [1, 1, 1, 1],
170
+ material: 'skin',
169
171
  hair: null,
170
172
  eyeColour: 0,
171
173
  garment: null,
@@ -888,17 +890,30 @@ export class CharacterScene {
888
890
  modelMatrix(this.model, [0, -c.footY * c.scale * s[1], 0], [c.scale * s[0], c.scale * s[1], c.scale * s[2]], this.yawDeg);
889
891
  this.subjectModel.set(this.model);
890
892
  const tint = c.spec.tint;
893
+ const mat = c.spec.material;
891
894
  this.tint[0] = tint[0];
892
895
  this.tint[1] = tint[1];
893
896
  this.tint[2] = tint[2];
894
- this.tint[3] = tint[3];
897
+ // ⚠️ THE GLASS CLAMP HAPPENS HERE, ON THE CPU, and it cannot happen anywhere else. The renderer
898
+ // routes an instance to the blended pipeline by reading `tint.w` off the record (`splitByAlpha`),
899
+ // and that decision is already made by the time any fragment runs — so no amount of shader work
900
+ // can make a body translucent. Without this line, picking glass gives a shiny OPAQUE person and
901
+ // the control looks broken. See `GLASS_ALPHA`.
902
+ //
903
+ // ⚠️ `Math.min`, not an assignment: a spec that already asks for something more transparent
904
+ // keeps it, so glass only ever adds translucency.
905
+ this.tint[3] = mat === 'glass' ? Math.min(tint[3], GLASS_ALPHA) : tint[3];
895
906
  // ⚠️ `writeCrowdRecord`, NEVER the spec writer — the two layouts share their first 22 floats
896
907
  // and disagree on the one that matters: a hard 0 at float 22 is CROWD_REC_POOL_SLOT, which
897
908
  // draws every instance from pool offset 0.
898
909
  writeCrowdRecord(this.records, 0, this.model, this.tint, c.spec.skinLayer, 0, // palette ORDINAL — the one and only character
899
910
  // ⚠️ THE ANIMATED SLOT WHEN THERE IS ONE — `c.slot` stays pristine so the face pass can
900
911
  // recompute from it, so a record still naming it draws a face that never moves.
901
- c.faceSlot ?? c.slot, CROWD_MATERIALS.skin);
912
+ c.faceSlot ?? c.slot,
913
+ // What the body is made of — the shader's material row. `skin` is 0, the all-zero row that
914
+ // collapses to the lighting this renderer had before materials existed, so an untouched
915
+ // character draws exactly as it always did.
916
+ materialIndex(mat));
902
917
  const drawLod = c.lod + this.dressedRungs;
903
918
  const byLod = [{ lod: drawLod, count: 1, first: 0 }];
904
919
  validateBuckets(this.records, byLod, kit.lods.length + this.dressedRungs);
@@ -911,12 +926,21 @@ export class CharacterScene {
911
926
  if (this.hairIds.length)
912
927
  this.hairProps.setInstances(this.hairInstances);
913
928
  // ── PARTS ──────────────────────────────────────────────────────────────────────────────
929
+ // What the eyes, teeth and mouth are made of, asked ONCE so the three separate draws cannot
930
+ // disagree — glass and plastic carry through from the body, everything else leaves them on
931
+ // skin. See `facePartMaterial` for why metal and wood deliberately do not.
932
+ const partMat = facePartMaterial(mat);
933
+ const partMatIx = materialIndex(partMat);
934
+ const partAlpha = facePartAlpha(partMat);
914
935
  for (const p of this.parts) {
915
936
  p.begin();
916
937
  // ⚠️ THE BODY'S MODEL, packed the same frame it was written — a part that recomputed its
917
938
  // own placement would drift by a frame, and eyes that lag the head read as a glitch.
918
939
  // ⚠️ PACK ONLY — the part's morph happened in `reshape`, with the body's.
919
- p.pack(this.model, 0, p.part.id === 'eyes' ? c.spec.eyeColour : 0, CROWD_MATERIALS.skin, 1);
940
+ p.pack(this.model, 0, p.part.id === 'eyes' ? c.spec.eyeColour : 0, partMatIx,
941
+ // ⚠️ BELOW 1 FOR GLASS, for the same CPU-side reason the body's alpha is: a part left at 1
942
+ // draws on the opaque pipeline and stays solid inside a transparent head.
943
+ partAlpha);
920
944
  // ⚠️ `this.palettes` — THE ARRAY OBJECT the body was posed with, handed over without
921
945
  // copying. One pose, three containers; a copy would be a frame behind under a clip.
922
946
  p.flush(this.palettes);