@helix3/helix-cli 0.1.18-helix3.259 → 0.1.18-helix3.262

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 (33) hide show
  1. package/bridge-recipes/unreal/character-customizer/README.md +1 -1
  2. package/bridge-recipes/unreal/character-customizer/beard.addon.json +1 -1
  3. package/bridge-recipes/unreal/character-customizer/bottom.addon.json +1 -1
  4. package/bridge-recipes/unreal/character-customizer/eyewear.addon.json +1 -1
  5. package/bridge-recipes/unreal/character-customizer/footwear.addon.json +1 -1
  6. package/bridge-recipes/unreal/character-customizer/hair.addon.json +1 -1
  7. package/bridge-recipes/unreal/character-customizer/test/recipes.test.js +1 -1
  8. package/bridge-recipes/unreal/character-customizer/top.addon.json +1 -1
  9. package/bridge-recipes/unreal/helix-character-creator-male/README.md +1 -1
  10. package/bridge-recipes/unreal/helix-character-creator-male/back.addon.json +1 -1
  11. package/bridge-recipes/unreal/helix-character-creator-male/bottom.addon.json +1 -1
  12. package/bridge-recipes/unreal/helix-character-creator-male/eyewear.addon.json +1 -1
  13. package/bridge-recipes/unreal/helix-character-creator-male/footwear.addon.json +1 -1
  14. package/bridge-recipes/unreal/helix-character-creator-male/gloves.addon.json +1 -1
  15. package/bridge-recipes/unreal/helix-character-creator-male/hair.addon.json +1 -1
  16. package/bridge-recipes/unreal/helix-character-creator-male/headwear.addon.json +1 -1
  17. package/bridge-recipes/unreal/helix-character-creator-male/mask.addon.json +1 -1
  18. package/bridge-recipes/unreal/helix-character-creator-male/neck.addon.json +1 -1
  19. package/bridge-recipes/unreal/helix-character-creator-male/outfit.addon.json +1 -1
  20. package/bridge-recipes/unreal/helix-character-creator-male/top.addon.json +1 -1
  21. package/dist/character/stages/conform.js +119 -59
  22. package/dist/character/stages/conform.js.map +1 -1
  23. package/dist/character/stages/retarget.js +7 -0
  24. package/dist/character/stages/retarget.js.map +1 -1
  25. package/dist/character/unrealMaterialSidecar.d.ts +4 -0
  26. package/dist/character/unrealMaterialSidecar.js +72 -4
  27. package/dist/character/unrealMaterialSidecar.js.map +1 -1
  28. package/dist/tsconfig.build.tsbuildinfo +1 -1
  29. package/package.json +2 -2
  30. package/plugins/beamng-vehicle/bin/__pycache__/beamng_abs.cpython-312.pyc +0 -0
  31. package/plugins/beamng-vehicle/bin/__pycache__/beamng_expression.cpython-312.pyc +0 -0
  32. package/plugins/beamng-vehicle/bin/__pycache__/beamng_jbeam.cpython-312.pyc +0 -0
  33. package/plugins/beamng-vehicle/bin/__pycache__/beamng_materials.cpython-312.pyc +0 -0
@@ -30,7 +30,7 @@ The final Bridge-validated base is 13,591,584 bytes with SHA-256 `7963a8022e3cf6
30
30
 
31
31
  The head contains an Unreal placeholder named `EnvSamplerTex` with no image or source path in `MI_CCMH_Teeth.normalMap`. Bridge drops only that null slot. Its duplicate-morph normalization is lossless: it collapses repetitions only when every attribute and influence is identical, remaps animation indices, and rejects differing repetitions rather than guessing.
32
32
 
33
- All six modular profiles target the published compatibility host `b45e4a1e-0000-4000-8000-000000000001` at SHA-256 `55519fd9342b8b75f31169078783a85629fc9ae92bf99258a9599ee6b3a7a6c6` and have passed Bridge add-on validation. This published host is the compatibility artifact derived from the direct CCMH composition described above; its digest is intentionally different from that composition artifact.
33
+ All six modular profiles target the published compatibility host `b45e4a1e-0000-4000-8000-000000000001` at SHA-256 `3fdb769bf0dbcc0e1b1b1ae8dd800d6ddedfda976c6422d4de15b80ce71c132b` and have passed Bridge add-on validation. This published host is the compatibility artifact derived from the direct CCMH composition described above; its digest is intentionally different from that composition artifact.
34
34
 
35
35
  | Add-on profile | Runtime slot | Package SHA-256 |
36
36
  | --- | --- | --- |
@@ -1 +1 @@
1
- {"schemaVersion":"helix.bridge-character-addon-profile/1","title":"CCMH Male Beard","slug":"ccmh-male-beard","hostItemId":"b45e4a1e-0000-4000-8000-000000000001","hostSha256":"55519fd9342b8b75f31169078783a85629fc9ae92bf99258a9599ee6b3a7a6c6","slotType":"character.facial-hair@1","socket":"head","nodes":[],"ops":[]}
1
+ {"schemaVersion":"helix.bridge-character-addon-profile/1","title":"CCMH Male Beard","slug":"ccmh-male-beard","hostItemId":"b45e4a1e-0000-4000-8000-000000000001","hostSha256":"3fdb769bf0dbcc0e1b1b1ae8dd800d6ddedfda976c6422d4de15b80ce71c132b","slotType":"character.facial-hair@1","socket":"head","nodes":[],"ops":[]}
@@ -1 +1 @@
1
- {"schemaVersion":"helix.bridge-character-addon-profile/1","title":"CCMH Male Jeans","slug":"ccmh-male-jeans","hostItemId":"b45e4a1e-0000-4000-8000-000000000001","hostSha256":"55519fd9342b8b75f31169078783a85629fc9ae92bf99258a9599ee6b3a7a6c6","slotType":"character.bottom@1","socket":"chest","nodes":[],"ops":[]}
1
+ {"schemaVersion":"helix.bridge-character-addon-profile/1","title":"CCMH Male Jeans","slug":"ccmh-male-jeans","hostItemId":"b45e4a1e-0000-4000-8000-000000000001","hostSha256":"3fdb769bf0dbcc0e1b1b1ae8dd800d6ddedfda976c6422d4de15b80ce71c132b","slotType":"character.bottom@1","socket":"chest","nodes":[],"ops":[]}
@@ -1 +1 @@
1
- {"schemaVersion":"helix.bridge-character-addon-profile/1","title":"CCMH Male Glasses","slug":"ccmh-male-glasses","hostItemId":"b45e4a1e-0000-4000-8000-000000000001","hostSha256":"55519fd9342b8b75f31169078783a85629fc9ae92bf99258a9599ee6b3a7a6c6","slotType":"character.eyewear@1","socket":"head","nodes":[],"ops":[]}
1
+ {"schemaVersion":"helix.bridge-character-addon-profile/1","title":"CCMH Male Glasses","slug":"ccmh-male-glasses","hostItemId":"b45e4a1e-0000-4000-8000-000000000001","hostSha256":"3fdb769bf0dbcc0e1b1b1ae8dd800d6ddedfda976c6422d4de15b80ce71c132b","slotType":"character.eyewear@1","socket":"head","nodes":[],"ops":[]}
@@ -1 +1 @@
1
- {"schemaVersion":"helix.bridge-character-addon-profile/1","title":"CCMH Male Sneakers","slug":"ccmh-male-sneakers","hostItemId":"b45e4a1e-0000-4000-8000-000000000001","hostSha256":"55519fd9342b8b75f31169078783a85629fc9ae92bf99258a9599ee6b3a7a6c6","slotType":"character.footwear@1","socket":"chest","nodes":[],"ops":[]}
1
+ {"schemaVersion":"helix.bridge-character-addon-profile/1","title":"CCMH Male Sneakers","slug":"ccmh-male-sneakers","hostItemId":"b45e4a1e-0000-4000-8000-000000000001","hostSha256":"3fdb769bf0dbcc0e1b1b1ae8dd800d6ddedfda976c6422d4de15b80ce71c132b","slotType":"character.footwear@1","socket":"chest","nodes":[],"ops":[]}
@@ -1 +1 @@
1
- {"schemaVersion":"helix.bridge-character-addon-profile/1","title":"CCMH Male Side-Part Hair","slug":"ccmh-male-side-part-hair","hostItemId":"b45e4a1e-0000-4000-8000-000000000001","hostSha256":"55519fd9342b8b75f31169078783a85629fc9ae92bf99258a9599ee6b3a7a6c6","slotType":"character.hair@1","socket":"head","nodes":[],"ops":[]}
1
+ {"schemaVersion":"helix.bridge-character-addon-profile/1","title":"CCMH Male Side-Part Hair","slug":"ccmh-male-side-part-hair","hostItemId":"b45e4a1e-0000-4000-8000-000000000001","hostSha256":"3fdb769bf0dbcc0e1b1b1ae8dd800d6ddedfda976c6422d4de15b80ce71c132b","slotType":"character.hair@1","socket":"head","nodes":[],"ops":[]}
@@ -24,7 +24,7 @@ const expectedAddons = {
24
24
  'hair.addon.json': 'character.hair@1',
25
25
  'beard.addon.json': 'character.facial-hair@1',
26
26
  };
27
- const publishedHostSha256 = '55519fd9342b8b75f31169078783a85629fc9ae92bf99258a9599ee6b3a7a6c6';
27
+ const publishedHostSha256 = '3fdb769bf0dbcc0e1b1b1ae8dd800d6ddedfda976c6422d4de15b80ce71c132b';
28
28
 
29
29
  test('bundles one valid and unique Unreal extraction profile per selected CCMH male part', () => {
30
30
  const slugs = new Set();
@@ -1 +1 @@
1
- {"schemaVersion":"helix.bridge-character-addon-profile/1","title":"CCMH Male T-Shirt","slug":"ccmh-male-t-shirt","hostItemId":"b45e4a1e-0000-4000-8000-000000000001","hostSha256":"55519fd9342b8b75f31169078783a85629fc9ae92bf99258a9599ee6b3a7a6c6","slotType":"character.top@1","socket":"chest","nodes":[],"ops":[]}
1
+ {"schemaVersion":"helix.bridge-character-addon-profile/1","title":"CCMH Male T-Shirt","slug":"ccmh-male-t-shirt","hostItemId":"b45e4a1e-0000-4000-8000-000000000001","hostSha256":"3fdb769bf0dbcc0e1b1b1ae8dd800d6ddedfda976c6422d4de15b80ce71c132b","slotType":"character.top@1","socket":"chest","nodes":[],"ops":[]}
@@ -8,7 +8,7 @@ Use `all.json` with `--type extract` to export the body, face, and every represe
8
8
 
9
9
  Use `palette-pilot.json` for the reviewed three-item visual gate: cargo bottoms (`technical-fabric-ripstop`), cap (`technical-fabric-ripstop`), and chain (`brushed-metal`). These are the only additional wearables intended for publication before the full batch receives visual approval.
10
10
 
11
- Every adjacent `*.addon.json` profile is bound to the published Base Male twice: `hostItemId` selects Universal Item `b45e4a1e-0000-4000-8000-000000000001`, while `hostSha256` must equal the bytes of the supplied host GLB (`55519fd9342b8b75f31169078783a85629fc9ae92bf99258a9599ee6b3a7a6c6`). Bridge validates that host before conforming a wearable and applies the exact Universal Item runtime `fits`/`ops` validator to the generated `character.<slot>@1` contract.
11
+ Every adjacent `*.addon.json` profile is bound to the published Base Male twice: `hostItemId` selects Universal Item `b45e4a1e-0000-4000-8000-000000000001`, while `hostSha256` must equal the bytes of the supplied host GLB (`3fdb769bf0dbcc0e1b1b1ae8dd800d6ddedfda976c6422d4de15b80ce71c132b`). Bridge validates that host before conforming a wearable and applies the exact Universal Item runtime `fits`/`ops` validator to the generated `character.<slot>@1` contract.
12
12
 
13
13
  The verified direct-Unreal batch produced all 13 reviewed FBXs—body, face, top, bottom, footwear, gloves, mask, headwear, eyewear, neck, back, hair, and outfit—in one transaction. Material-preserving extraction emits an adjacent material sidecar and content-addressed Texture2D PNGs with each mesh set; downstream character/add-on imports discover and bind those dependencies automatically. Add-on publication still requires each FBX to pass the host-bound profile independently.
14
14
 
@@ -1 +1 @@
1
- {"schemaVersion":"helix.bridge-character-addon-profile/1","title":"Male Black Bag","slug":"male-black-bag","hostItemId":"b45e4a1e-0000-4000-8000-000000000001","hostSha256":"55519fd9342b8b75f31169078783a85629fc9ae92bf99258a9599ee6b3a7a6c6","slotType":"character.back@1","socket":"back","nodes":[],"ops":[]}
1
+ {"schemaVersion":"helix.bridge-character-addon-profile/1","title":"Male Black Bag","slug":"male-black-bag","hostItemId":"b45e4a1e-0000-4000-8000-000000000001","hostSha256":"3fdb769bf0dbcc0e1b1b1ae8dd800d6ddedfda976c6422d4de15b80ce71c132b","slotType":"character.back@1","socket":"back","nodes":[],"ops":[]}
@@ -1 +1 @@
1
- {"schemaVersion":"helix.bridge-character-addon-profile/1","title":"Male Cargo Bottom — Palette Pilot","slug":"male-cargo-bottom","hostItemId":"b45e4a1e-0000-4000-8000-000000000001","hostSha256":"55519fd9342b8b75f31169078783a85629fc9ae92bf99258a9599ee6b3a7a6c6","slotType":"character.bottom@1","socket":"chest","nodes":[],"palette":{"action":"forceFamilyId","familyId":"technical-fabric-ripstop","familyVersion":"1.0.0","presetId":"clean","overrides":{}},"ops":[]}
1
+ {"schemaVersion":"helix.bridge-character-addon-profile/1","title":"Male Cargo Bottom — Palette Pilot","slug":"male-cargo-bottom","hostItemId":"b45e4a1e-0000-4000-8000-000000000001","hostSha256":"3fdb769bf0dbcc0e1b1b1ae8dd800d6ddedfda976c6422d4de15b80ce71c132b","slotType":"character.bottom@1","socket":"chest","nodes":[],"palette":{"action":"forceFamilyId","familyId":"technical-fabric-ripstop","familyVersion":"1.0.0","presetId":"clean","overrides":{}},"ops":[]}
@@ -1 +1 @@
1
- {"schemaVersion":"helix.bridge-character-addon-profile/1","title":"Male Sport Sunglasses","slug":"male-sport-sunglasses","hostItemId":"b45e4a1e-0000-4000-8000-000000000001","hostSha256":"55519fd9342b8b75f31169078783a85629fc9ae92bf99258a9599ee6b3a7a6c6","slotType":"character.eyewear@1","socket":"head","nodes":[],"ops":[]}
1
+ {"schemaVersion":"helix.bridge-character-addon-profile/1","title":"Male Sport Sunglasses","slug":"male-sport-sunglasses","hostItemId":"b45e4a1e-0000-4000-8000-000000000001","hostSha256":"3fdb769bf0dbcc0e1b1b1ae8dd800d6ddedfda976c6422d4de15b80ce71c132b","slotType":"character.eyewear@1","socket":"head","nodes":[],"ops":[]}
@@ -1 +1 @@
1
- {"schemaVersion":"helix.bridge-character-addon-profile/1","title":"Male Chunky Knit Sneakers","slug":"male-chunky-knit-sneakers","hostItemId":"b45e4a1e-0000-4000-8000-000000000001","hostSha256":"55519fd9342b8b75f31169078783a85629fc9ae92bf99258a9599ee6b3a7a6c6","slotType":"character.footwear@1","socket":"chest","nodes":[],"ops":[]}
1
+ {"schemaVersion":"helix.bridge-character-addon-profile/1","title":"Male Chunky Knit Sneakers","slug":"male-chunky-knit-sneakers","hostItemId":"b45e4a1e-0000-4000-8000-000000000001","hostSha256":"3fdb769bf0dbcc0e1b1b1ae8dd800d6ddedfda976c6422d4de15b80ce71c132b","slotType":"character.footwear@1","socket":"chest","nodes":[],"ops":[]}
@@ -1 +1 @@
1
- {"schemaVersion":"helix.bridge-character-addon-profile/1","title":"Male Sterile Gloves","slug":"male-sterile-gloves","hostItemId":"b45e4a1e-0000-4000-8000-000000000001","hostSha256":"55519fd9342b8b75f31169078783a85629fc9ae92bf99258a9599ee6b3a7a6c6","slotType":"character.gloves@1","socket":"chest","nodes":[],"ops":[]}
1
+ {"schemaVersion":"helix.bridge-character-addon-profile/1","title":"Male Sterile Gloves","slug":"male-sterile-gloves","hostItemId":"b45e4a1e-0000-4000-8000-000000000001","hostSha256":"3fdb769bf0dbcc0e1b1b1ae8dd800d6ddedfda976c6422d4de15b80ce71c132b","slotType":"character.gloves@1","socket":"chest","nodes":[],"ops":[]}
@@ -1 +1 @@
1
- {"schemaVersion":"helix.bridge-character-addon-profile/1","title":"Male Default Hair","slug":"male-default-hair","hostItemId":"b45e4a1e-0000-4000-8000-000000000001","hostSha256":"55519fd9342b8b75f31169078783a85629fc9ae92bf99258a9599ee6b3a7a6c6","slotType":"character.hair@1","socket":"head","nodes":[],"ops":[]}
1
+ {"schemaVersion":"helix.bridge-character-addon-profile/1","title":"Male Default Hair","slug":"male-default-hair","hostItemId":"b45e4a1e-0000-4000-8000-000000000001","hostSha256":"3fdb769bf0dbcc0e1b1b1ae8dd800d6ddedfda976c6422d4de15b80ce71c132b","slotType":"character.hair@1","socket":"head","nodes":[],"ops":[]}
@@ -1 +1 @@
1
- {"schemaVersion":"helix.bridge-character-addon-profile/1","title":"Male Cap — Palette Pilot","slug":"male-cap","hostItemId":"b45e4a1e-0000-4000-8000-000000000001","hostSha256":"55519fd9342b8b75f31169078783a85629fc9ae92bf99258a9599ee6b3a7a6c6","slotType":"character.headwear@1","socket":"head","nodes":[],"palette":{"action":"forceFamilyId","familyId":"technical-fabric-ripstop","familyVersion":"1.0.0","presetId":"clean","overrides":{}},"ops":[]}
1
+ {"schemaVersion":"helix.bridge-character-addon-profile/1","title":"Male Cap — Palette Pilot","slug":"male-cap","hostItemId":"b45e4a1e-0000-4000-8000-000000000001","hostSha256":"3fdb769bf0dbcc0e1b1b1ae8dd800d6ddedfda976c6422d4de15b80ce71c132b","slotType":"character.headwear@1","socket":"head","nodes":[],"palette":{"action":"forceFamilyId","familyId":"technical-fabric-ripstop","familyVersion":"1.0.0","presetId":"clean","overrides":{}},"ops":[]}
@@ -1 +1 @@
1
- {"schemaVersion":"helix.bridge-character-addon-profile/1","title":"Male Cyberpunk Oni Mask","slug":"male-cyberpunk-oni-mask","hostItemId":"b45e4a1e-0000-4000-8000-000000000001","hostSha256":"55519fd9342b8b75f31169078783a85629fc9ae92bf99258a9599ee6b3a7a6c6","slotType":"character.mask@1","socket":"head","nodes":[],"ops":[]}
1
+ {"schemaVersion":"helix.bridge-character-addon-profile/1","title":"Male Cyberpunk Oni Mask","slug":"male-cyberpunk-oni-mask","hostItemId":"b45e4a1e-0000-4000-8000-000000000001","hostSha256":"3fdb769bf0dbcc0e1b1b1ae8dd800d6ddedfda976c6422d4de15b80ce71c132b","slotType":"character.mask@1","socket":"head","nodes":[],"ops":[]}
@@ -1 +1 @@
1
- {"schemaVersion":"helix.bridge-character-addon-profile/1","title":"Male Chain — Palette Pilot","slug":"male-chain","hostItemId":"b45e4a1e-0000-4000-8000-000000000001","hostSha256":"55519fd9342b8b75f31169078783a85629fc9ae92bf99258a9599ee6b3a7a6c6","slotType":"character.neck@1","socket":"chest","nodes":[],"palette":{"action":"forceFamilyId","familyId":"brushed-metal","familyVersion":"1.0.0","presetId":"clean","overrides":{}},"ops":[]}
1
+ {"schemaVersion":"helix.bridge-character-addon-profile/1","title":"Male Chain — Palette Pilot","slug":"male-chain","hostItemId":"b45e4a1e-0000-4000-8000-000000000001","hostSha256":"3fdb769bf0dbcc0e1b1b1ae8dd800d6ddedfda976c6422d4de15b80ce71c132b","slotType":"character.neck@1","socket":"chest","nodes":[],"palette":{"action":"forceFamilyId","familyId":"brushed-metal","familyVersion":"1.0.0","presetId":"clean","overrides":{}},"ops":[]}
@@ -1 +1 @@
1
- {"schemaVersion":"helix.bridge-character-addon-profile/1","title":"Male SWAT Outfit","slug":"male-swat-outfit","hostItemId":"b45e4a1e-0000-4000-8000-000000000001","hostSha256":"55519fd9342b8b75f31169078783a85629fc9ae92bf99258a9599ee6b3a7a6c6","slotType":"character.outfit@1","socket":"chest","nodes":[],"ops":[]}
1
+ {"schemaVersion":"helix.bridge-character-addon-profile/1","title":"Male SWAT Outfit","slug":"male-swat-outfit","hostItemId":"b45e4a1e-0000-4000-8000-000000000001","hostSha256":"3fdb769bf0dbcc0e1b1b1ae8dd800d6ddedfda976c6422d4de15b80ce71c132b","slotType":"character.outfit@1","socket":"chest","nodes":[],"ops":[]}
@@ -1 +1 @@
1
- {"schemaVersion":"helix.bridge-character-addon-profile/1","title":"Stone Crew T-Shirt","slug":"male-stone-crew","hostItemId":"b45e4a1e-0000-4000-8000-000000000001","hostSha256":"55519fd9342b8b75f31169078783a85629fc9ae92bf99258a9599ee6b3a7a6c6","slotType":"character.top@1","socket":"chest","nodes":[],"ops":[]}
1
+ {"schemaVersion":"helix.bridge-character-addon-profile/1","title":"Stone Crew T-Shirt","slug":"male-stone-crew","hostItemId":"b45e4a1e-0000-4000-8000-000000000001","hostSha256":"3fdb769bf0dbcc0e1b1b1ae8dd800d6ddedfda976c6422d4de15b80ce71c132b","slotType":"character.top@1","socket":"chest","nodes":[],"ops":[]}
@@ -590,72 +590,132 @@ function conformToHelixRest(warrior, canon, boneMap, opts = {}) {
590
590
  });
591
591
  // Remap JOINTS_* to the canonical joint order on every primitive; in 'repose' also blend D into
592
592
  // POSITION/NORMAL. In 'embed' the geometry is left untouched.
593
+ //
594
+ // Both passes rewrite ACCESSORS in place, and accessors are shared: a multi-material mesh from the
595
+ // FBX converter (Unreal garments with a stitch or trim slot) is one vertex buffer drawn by several
596
+ // primitives. Processing per primitive therefore rewrote a shared JOINTS_0 once per primitive, and
597
+ // the second pass read canonical indices back as SOURCE indices — thigh/calf correctives landed on
598
+ // whatever source joint sat at the thigh's canonical slot (the left hand's fingers on a MetaHuman
599
+ // rig). 'repose' blended the same POSITION twice with the same confusion. Every source array is
600
+ // therefore snapshotted before anything is written, and each accessor is written exactly once.
601
+ const originalJoints = new Map();
602
+ const skinnedPrimitives = root.listNodes()
603
+ .filter((node) => node.getSkin() === wskin && node.getMesh() !== null)
604
+ .flatMap((node) => node.getMesh().listPrimitives())
605
+ .filter((prim) => prim.listSemantics().some((s) => s.startsWith('JOINTS_')));
606
+ for (const prim of skinnedPrimitives) {
607
+ for (const semantic of prim.listSemantics().filter((s) => s.startsWith('JOINTS_'))) {
608
+ const accessor = prim.getAttribute(semantic);
609
+ if (!originalJoints.has(accessor))
610
+ originalJoints.set(accessor, new Uint32Array(accessor.getArray()));
611
+ }
612
+ }
613
+ const reposed = new Set();
593
614
  let verticesProcessed = 0;
594
- for (const node of root.listNodes()) {
595
- if (node.getSkin() !== wskin || node.getMesh() === null)
615
+ for (const prim of skinnedPrimitives) {
616
+ const setCount = prim.listSemantics().filter((s) => s.startsWith('JOINTS_')).length;
617
+ const pos = prim.getAttribute('POSITION');
618
+ const nrm = prim.getAttribute('NORMAL');
619
+ const vCount = pos.getCount();
620
+ if (reposed.has(pos))
596
621
  continue;
597
- for (const prim of node.getMesh().listPrimitives()) {
598
- const setCount = prim.listSemantics().filter((s) => s.startsWith('JOINTS_')).length;
599
- if (setCount === 0)
600
- continue;
601
- const pos = prim.getAttribute('POSITION');
602
- const nrm = prim.getAttribute('NORMAL');
603
- const vCount = pos.getCount();
604
- const jointSets = Array.from({ length: setCount }, (_, s) => new Uint32Array(prim.getAttribute(`JOINTS_${s}`).getArray()));
605
- if (D !== null) {
606
- const weightSets = Array.from({ length: setCount }, (_, s) => prim.getAttribute(`WEIGHTS_${s}`).getArray());
607
- const posArr = Float32Array.from(pos.getArray());
608
- const nrmArr = nrm !== null ? Float32Array.from(nrm.getArray()) : null;
609
- for (let v = 0; v < vCount; v++) {
610
- const p = [posArr[v * 3], posArr[v * 3 + 1], posArr[v * 3 + 2]];
611
- const n = nrmArr !== null ? [nrmArr[v * 3], nrmArr[v * 3 + 1], nrmArr[v * 3 + 2]] : null;
612
- let px = 0, py = 0, pz = 0, nx = 0, ny = 0, nz = 0, wsum = 0;
613
- for (let s = 0; s < setCount; s++)
614
- for (let c = 0; c < 4; c++) {
615
- const w = weightSets[s][v * 4 + c];
616
- if (w === 0)
617
- continue;
618
- const d = D[jointSets[s][v * 4 + c]];
619
- const tp = (0, mat4_1.transformPoint)(d, p);
620
- px += w * tp[0];
621
- py += w * tp[1];
622
- pz += w * tp[2];
623
- if (n !== null) {
624
- const td = (0, mat4_1.transformDir)(d, n);
625
- nx += w * td[0];
626
- ny += w * td[1];
627
- nz += w * td[2];
628
- }
629
- wsum += w;
630
- }
631
- if (wsum > 0) {
632
- px /= wsum;
633
- py /= wsum;
634
- pz /= wsum;
635
- }
636
- posArr[v * 3] = px;
637
- posArr[v * 3 + 1] = py;
638
- posArr[v * 3 + 2] = pz;
639
- if (nrmArr !== null) {
640
- const l = Math.hypot(nx, ny, nz) || 1;
641
- nrmArr[v * 3] = nx / l;
642
- nrmArr[v * 3 + 1] = ny / l;
643
- nrmArr[v * 3 + 2] = nz / l;
622
+ reposed.add(pos);
623
+ verticesProcessed += vCount;
624
+ if (D === null)
625
+ continue;
626
+ const jointSets = Array.from({ length: setCount }, (_, s) => originalJoints.get(prim.getAttribute(`JOINTS_${s}`)));
627
+ const weightSets = Array.from({ length: setCount }, (_, s) => prim.getAttribute(`WEIGHTS_${s}`).getArray());
628
+ const posArr = Float32Array.from(pos.getArray());
629
+ const nrmArr = nrm !== null && !reposed.has(nrm) ? Float32Array.from(nrm.getArray()) : null;
630
+ for (let v = 0; v < vCount; v++) {
631
+ const p = [posArr[v * 3], posArr[v * 3 + 1], posArr[v * 3 + 2]];
632
+ const n = nrmArr !== null ? [nrmArr[v * 3], nrmArr[v * 3 + 1], nrmArr[v * 3 + 2]] : null;
633
+ let px = 0, py = 0, pz = 0, nx = 0, ny = 0, nz = 0, wsum = 0;
634
+ for (let s = 0; s < setCount; s++)
635
+ for (let c = 0; c < 4; c++) {
636
+ const w = weightSets[s][v * 4 + c];
637
+ if (w === 0)
638
+ continue;
639
+ const d = D[jointSets[s][v * 4 + c]];
640
+ const tp = (0, mat4_1.transformPoint)(d, p);
641
+ px += w * tp[0];
642
+ py += w * tp[1];
643
+ pz += w * tp[2];
644
+ if (n !== null) {
645
+ const td = (0, mat4_1.transformDir)(d, n);
646
+ nx += w * td[0];
647
+ ny += w * td[1];
648
+ nz += w * td[2];
644
649
  }
650
+ wsum += w;
645
651
  }
646
- pos.setArray(posArr);
647
- if (nrm !== null && nrmArr !== null)
648
- nrm.setArray(nrmArr);
652
+ if (wsum > 0) {
653
+ px /= wsum;
654
+ py /= wsum;
655
+ pz /= wsum;
656
+ }
657
+ posArr[v * 3] = px;
658
+ posArr[v * 3 + 1] = py;
659
+ posArr[v * 3 + 2] = pz;
660
+ if (nrmArr !== null) {
661
+ const l = Math.hypot(nx, ny, nz) || 1;
662
+ nrmArr[v * 3] = nx / l;
663
+ nrmArr[v * 3 + 1] = ny / l;
664
+ nrmArr[v * 3 + 2] = nz / l;
649
665
  }
650
- for (let s = 0; s < setCount; s++) {
651
- const src = jointSets[s];
652
- const out = new Uint16Array(src.length);
653
- for (let k = 0; k < src.length; k++)
654
- out[k] = newIndexForWarriorIdx[src[k]];
655
- prim.getAttribute(`JOINTS_${s}`).setArray(out);
666
+ }
667
+ pos.setArray(posArr);
668
+ if (nrm !== null && nrmArr !== null) {
669
+ nrm.setArray(nrmArr);
670
+ reposed.add(nrm);
671
+ }
672
+ }
673
+ // Folding sends several source joints (a thigh and its twist/bulge correctives) to ONE canonical joint,
674
+ // so a vertex can name the same canonical joint in more than one slot. That is equivalent under LBS but
675
+ // wastes influences and hides the owning bone from anything that reads the dominant slot, so the folded
676
+ // influences are summed per canonical joint and written heaviest first (each accessor set exactly once).
677
+ const written = new Set();
678
+ for (const prim of skinnedPrimitives) {
679
+ const setCount = prim.listSemantics().filter((s) => s.startsWith('JOINTS_')).length;
680
+ const jointAccessors = Array.from({ length: setCount }, (_, s) => prim.getAttribute(`JOINTS_${s}`));
681
+ if (jointAccessors.every((a) => written.has(a)))
682
+ continue;
683
+ const weightAccessors = Array.from({ length: setCount }, (_, s) => prim.getAttribute(`WEIGHTS_${s}`));
684
+ const sources = jointAccessors.map((a) => originalJoints.get(a));
685
+ const outJoints = sources.map((source) => new Uint16Array(source.length));
686
+ const mergeable = jointAccessors.every((a) => !written.has(a))
687
+ && weightAccessors.every((a) => a !== null && !written.has(a) && a.getCount() * 4 === sources[0].length);
688
+ if (!mergeable) {
689
+ // Inconsistent sharing (never emitted by our converters): plain index remap, weights untouched.
690
+ sources.forEach((source, s) => { for (let k = 0; k < source.length; k++)
691
+ outJoints[s][k] = newIndexForWarriorIdx[source[k]]; });
692
+ }
693
+ else {
694
+ const weights = weightAccessors.map((a) => a.getArray());
695
+ const outWeights = weights.map((w) => new w.constructor(w.length));
696
+ const vertexCount = sources[0].length / 4;
697
+ const merged = new Map();
698
+ for (let v = 0; v < vertexCount; v++) {
699
+ merged.clear();
700
+ for (let s = 0; s < setCount; s++)
701
+ for (let c = 0; c < 4; c++) {
702
+ const w = weights[s][v * 4 + c];
703
+ if (w <= 0)
704
+ continue;
705
+ const joint = newIndexForWarriorIdx[sources[s][v * 4 + c]];
706
+ merged.set(joint, (merged.get(joint) ?? 0) + w);
707
+ }
708
+ [...merged].sort((a, b) => b[1] - a[1] || a[0] - b[0]).forEach(([joint, w], slot) => {
709
+ outJoints[slot >> 2][v * 4 + (slot & 3)] = joint;
710
+ outWeights[slot >> 2][v * 4 + (slot & 3)] = w;
711
+ });
656
712
  }
657
- verticesProcessed += vCount;
713
+ weightAccessors.forEach((a, s) => { a.setArray(outWeights[s]); written.add(a); });
658
714
  }
715
+ jointAccessors.forEach((a, s) => { if (!written.has(a)) {
716
+ a.setArray(outJoints[s]);
717
+ written.add(a);
718
+ } });
659
719
  }
660
720
  // Rebuild the target skeleton (`rig`) in the warrior doc.
661
721
  const buffer = root.listBuffers()[0];
@@ -1 +1 @@
1
- {"version":3,"file":"conform.js","sourceRoot":"","sources":["../../../src/character/stages/conform.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"conform.js","sourceRoot":"","sources":["../../../src/character/stages/conform.ts"],"names":[],"mappings":"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"}
@@ -82,12 +82,19 @@ function retargetSkeleton(document, boneMap) {
82
82
  // rewriting these accessors shifts every later influence and can leave an
83
83
  // out-of-range index. Fold any weight on a dropped leaf to its nearest
84
84
  // retained ancestor, and preserve the accessor's original integer type.
85
+ // Primitives of one multi-material mesh share their JOINTS_n accessor, so
86
+ // each accessor is rewritten exactly once: remapping it again per primitive
87
+ // would read already-remapped indices back as source indices.
88
+ const remapped = new Set();
85
89
  for (const node of root.listNodes()) {
86
90
  if (node.getSkin() !== skin || node.getMesh() === null)
87
91
  continue;
88
92
  for (const primitive of node.getMesh().listPrimitives()) {
89
93
  for (const semantic of primitive.listSemantics().filter((name) => name.startsWith('JOINTS_'))) {
90
94
  const accessor = primitive.getAttribute(semantic);
95
+ if (remapped.has(accessor))
96
+ continue;
97
+ remapped.add(accessor);
91
98
  const source = accessor.getArray();
92
99
  const output = new source.constructor(source.length);
93
100
  for (let i = 0; i < source.length; i++)
@@ -1 +1 @@
1
- {"version":3,"file":"retarget.js","sourceRoot":"","sources":["../../../src/character/stages/retarget.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"retarget.js","sourceRoot":"","sources":["../../../src/character/stages/retarget.ts"],"names":[],"mappings":"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"}
@@ -49,6 +49,10 @@ export interface AppliedUnrealMaterialSlot {
49
49
  normalTextureSha256?: string;
50
50
  ormTextureSha256?: string;
51
51
  ormColorSpaceConversion?: 'srgb-to-linear';
52
+ /** Present when the base-colour input was an occlusion map, bound as grey from its red channel. */
53
+ baseColorConversion?: 'occlusion-red-to-grey';
54
+ /** Unreal 'Alpha' cutout texture folded into base-colour alpha (MASK). */
55
+ cutoutTextureSha256?: string;
52
56
  /** Present when the bound normal map was converted from Unreal's DirectX convention. */
53
57
  normalConventionConversion?: 'directx-to-gltf';
54
58
  baseColorFactor?: Rgba;