@helix3/helix-cli 0.1.18-helix3.313 → 0.1.18-helix3.316
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/README.md +1 -0
- package/dist/bridge/characterAddon.d.ts +20 -0
- package/dist/bridge/characterAddon.js +23 -3
- package/dist/bridge/characterAddon.js.map +1 -1
- package/dist/bridge/internal/builtInExecution.js +32 -2
- package/dist/bridge/internal/builtInExecution.js.map +1 -1
- package/dist/character/bodyRegionHide.d.ts +7 -6
- package/dist/character/bodyRegionHide.js +7 -6
- package/dist/character/bodyRegionHide.js.map +1 -1
- package/dist/character/hideCoverage.d.ts +110 -0
- package/dist/character/hideCoverage.js +377 -0
- package/dist/character/hideCoverage.js.map +1 -0
- package/dist/index.js +155 -5
- package/dist/index.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/visualQa/browser.d.ts +5 -1
- package/dist/visualQa/browser.js +69 -15
- package/dist/visualQa/browser.js.map +1 -1
- package/dist/visualQa/command.d.ts +12 -0
- package/dist/visualQa/command.js +12 -3
- package/dist/visualQa/command.js.map +1 -1
- package/dist/visualQa/hosted.d.ts +128 -0
- package/dist/visualQa/hosted.js +302 -0
- package/dist/visualQa/hosted.js.map +1 -0
- package/dist/visualQa/resolve.d.ts +2 -1
- package/dist/visualQa/resolve.js +7 -6
- package/dist/visualQa/resolve.js.map +1 -1
- package/dist/visualQa/winChrome.d.ts +23 -0
- package/dist/visualQa/winChrome.js +221 -0
- package/dist/visualQa/winChrome.js.map +1 -0
- package/package.json +1 -1
- package/plugins/beamng-vehicle/bin/__pycache__/beamng_abs.cpython-312.pyc +0 -0
- package/plugins/beamng-vehicle/bin/__pycache__/beamng_expression.cpython-312.pyc +0 -0
- package/plugins/beamng-vehicle/bin/__pycache__/beamng_jbeam.cpython-312.pyc +0 -0
- package/plugins/beamng-vehicle/bin/__pycache__/beamng_materials.cpython-312.pyc +0 -0
package/README.md
CHANGED
|
@@ -66,6 +66,7 @@ The token is stored in `~/.helix/credentials.json` (mode `600`). It's sent as
|
|
|
66
66
|
| `helix assets credits\|check-loaders` | Render asset credits from provenance and reject models requiring unsupported loaders. |
|
|
67
67
|
| `helix character import <body.glb> [--map <json>] [--fit source\|canonical] [--provenance <json>]` | Convert one self-contained third-party humanoid through the public `helix-humanoid@1` pipeline. The command rejects external/remote resources and resource bombs before parsing, generates bounded LODs, and emits a source/license/transformation/checksum receipt beside the output. `--fit canonical` aligns the rest skeleton/proportions; it does not prove that Base Male-targeted garments fit a different body surface. |
|
|
68
68
|
| `helix character fit <addon.glb> --body <base.glb> -o <out.glb> (--slot-type <character.x@1>\|--hidden-regions <globs\|none>) [--clearance-mm 3]` | Pose-aware poke-through fit for a packaged character add-on (every LOD): across the canonical pose set, pushes garment geometry out along the body-facing normal to a minimum clearance, smoothed so hems and silhouettes keep their shape. Gated inside the stage by the poke-through measurement: the output is the fitted mesh only when it is strictly better (exit 0), otherwise a byte-identical copy of the input (exit 3). Bridge add-on imports run the same stage automatically; `helix item publish-version --fit-body <base.glb>` runs it before shipping a corrected mesh. |
|
|
69
|
+
| `helix character derive-hide <addon.glb> --body <base.glb> --slot-type <character.x@1> [--threshold 98] [--ops-out ops.json] [--json]` | Measures which of the slot's granted body regions the garment fully occludes (bind pose; a body vertex counts when garment is in front of it along its outward normal within 60 mm; the least-covered LOD decides) and prints the `hide` ops that follow, with the measured share of every region left visible. A region is hidden only at >= 98 %; partly covered regions stay visible and the pose-aware fit keeps their skin from poking through. Bridge add-on conform does this automatically when the profile names no `hideRegions`; use this command with `helix item publish-version --ops <ops.json>` to correct an already-published garment. |
|
|
69
70
|
| `helix character retarget-animation <clip.fbx\|clip.glb>` | Retarget a raw Mixamo/Meshy clip directly to `helix-humanoid@1`. FBX conversion is deterministic and runs inside the CLI; no hidden Blender/DCC pre-export is required. |
|
|
70
71
|
| `helix pack scaffold\|validate\|publish <dir>` | Locomotion packs — the replacement movement clips a player equips as a character add-on in the `character.locomotion@1` clip-set slot. `scaffold` writes `anims/clip-meta.json` plus a README carrying the per-clip contract; `validate` runs the whole gate offline in **one** pass (clip-meta schema, one GLB per entry with exactly one animation, measured length against the declared duration, the gait-only vocabulary, the `strideSpeed` bands, and walk < run < sprint); `publish` uploads each clip GLB as a public Vault animation, records the returned pins in `anims/pins.json`, then publishes the **meshless** add-on whose ops pin those versions — a re-run reuses every unchanged pin, so an interrupted publish resumes. The governing rule of the slot: a pack may change how a walk *looks*; it may never change how far that walk *gets you*. Partial packs are valid products down to a single clip. `--dry-run` stops before any network call and works logged out. |
|
|
71
72
|
| `helix world audit\|source-audit\|perf-gate\|prove-live` | Run the blocking world QA, performance, and deployed-build identity gates. |
|
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
import { type HelixPaletteSelection } from '../character/helixPalette';
|
|
2
2
|
export declare const BRIDGE_CHARACTER_ADDON_PROFILE_SCHEMA: "helix.bridge-character-addon-profile/1";
|
|
3
|
+
/**
|
|
4
|
+
* Where this profile's `hide` op came from.
|
|
5
|
+
* - `default-grant`: nothing explicit was authored, so `ops`/`fits.requires.nodes` carry the slot's FULL platform
|
|
6
|
+
* hide grant as a CEILING. Conform replaces it with the regions the garment is measured to fully occlude
|
|
7
|
+
* (`applyMeasuredHide`); if the base body is unavailable it keeps the ceiling and warns.
|
|
8
|
+
* - `explicit`: the profile named `hideRegions` or a hand-authored `hide` op. That always wins, untouched.
|
|
9
|
+
*/
|
|
10
|
+
export type BridgeCharacterAddonHideSource = 'default-grant' | 'explicit';
|
|
3
11
|
export interface BridgeCharacterAddonProfile {
|
|
4
12
|
schemaVersion: typeof BRIDGE_CHARACTER_ADDON_PROFILE_SCHEMA;
|
|
5
13
|
title: string;
|
|
@@ -20,8 +28,20 @@ export interface BridgeCharacterAddonProfile {
|
|
|
20
28
|
* result is still held to the slot's ceiling, failing conform instead of failing at publish.
|
|
21
29
|
*/
|
|
22
30
|
lodTris?: number[];
|
|
31
|
+
hide: {
|
|
32
|
+
source: BridgeCharacterAddonHideSource;
|
|
33
|
+
/** `nodes` without any hide-derived entries — what `applyMeasuredHide` re-adds the measured hide to. */
|
|
34
|
+
baseNodes: string[];
|
|
35
|
+
};
|
|
23
36
|
}
|
|
24
37
|
export declare function validateCharacterAddonProfile(value: unknown): BridgeCharacterAddonProfile;
|
|
38
|
+
/**
|
|
39
|
+
* Replace a `default-grant` profile's full-grant hide with the regions conform MEASURED the garment to fully
|
|
40
|
+
* occlude (`character/hideCoverage.ts`). The result re-runs the same fits/ops contract validation as any other
|
|
41
|
+
* profile, so a measured hide can never publish something the full grant could not. `hideNodes: []` hides
|
|
42
|
+
* nothing (`ops` loses its hide entry, `fits.requires.nodes` its hide globs).
|
|
43
|
+
*/
|
|
44
|
+
export declare function applyMeasuredHide(profile: BridgeCharacterAddonProfile, hideNodes: readonly string[]): BridgeCharacterAddonProfile;
|
|
25
45
|
export declare function readCharacterAddonProfile(path: string): BridgeCharacterAddonProfile;
|
|
26
46
|
/** Parse a character add-on from caller-owned immutable JSON bytes. */
|
|
27
47
|
export declare function parseCharacterAddonProfileJson(contents: string | Buffer): BridgeCharacterAddonProfile;
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.BRIDGE_CHARACTER_ADDON_PROFILE_SCHEMA = void 0;
|
|
4
4
|
exports.validateCharacterAddonProfile = validateCharacterAddonProfile;
|
|
5
|
+
exports.applyMeasuredHide = applyMeasuredHide;
|
|
5
6
|
exports.readCharacterAddonProfile = readCharacterAddonProfile;
|
|
6
7
|
exports.parseCharacterAddonProfileJson = parseCharacterAddonProfileJson;
|
|
7
8
|
const node_fs_1 = require("node:fs");
|
|
@@ -63,10 +64,12 @@ function validateCharacterAddonProfile(value) {
|
|
|
63
64
|
const hasExplicitHideOp = rawOps.some((op) => typeof op === 'object' && op !== null && op.v === 'hide');
|
|
64
65
|
// `hideRegions` picks which of the platform's `character.<slot>@1` hide grant this add-on actually uses.
|
|
65
66
|
// Explicit wins outright (including an explicit `[]`, opting a garment out of hiding anything). With
|
|
66
|
-
// neither an explicit list nor a hand-authored `hide` op already in `ops`,
|
|
67
|
-
//
|
|
68
|
-
//
|
|
67
|
+
// neither an explicit list nor a hand-authored `hide` op already in `ops`, start from the FULL region set the
|
|
68
|
+
// slot type's platform grant permits (see `bodyRegionHide.ts`) as a CEILING (`hide.source: 'default-grant'`):
|
|
69
|
+
// conform then narrows it to the regions the finished garment measurably occludes (`applyMeasuredHide`), and
|
|
70
|
+
// only keeps the whole grant — with a warning — if the base body cannot be measured.
|
|
69
71
|
const hideRegionsOverride = row.hideRegions === undefined ? undefined : stringList(row.hideRegions, 'hideRegions');
|
|
72
|
+
const hideSource = hideRegionsOverride !== undefined || hasExplicitHideOp ? 'explicit' : 'default-grant';
|
|
70
73
|
const hideRegions = hideRegionsOverride ?? (hasExplicitHideOp ? [] : (0, bodyRegionHide_1.defaultHideRegionsForSlotType)(slotType));
|
|
71
74
|
const nodes = [...new Set([...rawNodes, ...hideRegions])];
|
|
72
75
|
const ops = hideRegions.length > 0 && !hasExplicitHideOp
|
|
@@ -107,8 +110,25 @@ function validateCharacterAddonProfile(value) {
|
|
|
107
110
|
...(lodTris === undefined ? {} : { lodTris }),
|
|
108
111
|
fits: validated.fits,
|
|
109
112
|
ops: validated.ops,
|
|
113
|
+
hide: { source: hideSource, baseNodes: rawNodes },
|
|
110
114
|
};
|
|
111
115
|
}
|
|
116
|
+
/**
|
|
117
|
+
* Replace a `default-grant` profile's full-grant hide with the regions conform MEASURED the garment to fully
|
|
118
|
+
* occlude (`character/hideCoverage.ts`). The result re-runs the same fits/ops contract validation as any other
|
|
119
|
+
* profile, so a measured hide can never publish something the full grant could not. `hideNodes: []` hides
|
|
120
|
+
* nothing (`ops` loses its hide entry, `fits.requires.nodes` its hide globs).
|
|
121
|
+
*/
|
|
122
|
+
function applyMeasuredHide(profile, hideNodes) {
|
|
123
|
+
if (profile.hide.source !== 'default-grant')
|
|
124
|
+
return profile;
|
|
125
|
+
const nodes = [...new Set([...profile.hide.baseNodes, ...hideNodes])];
|
|
126
|
+
const otherOps = profile.ops.filter((op) => op.v !== 'hide');
|
|
127
|
+
const ops = hideNodes.length > 0 ? [...otherOps, { v: 'hide', nodes: [...hideNodes] }] : otherOps;
|
|
128
|
+
const requires = (profile.fits.requires ?? {});
|
|
129
|
+
const validated = (0, item_1.validateAddOnContract)({ ...profile.fits, requires: { ...requires, nodes } }, ops);
|
|
130
|
+
return { ...profile, nodes, fits: validated.fits, ops: validated.ops };
|
|
131
|
+
}
|
|
112
132
|
function readCharacterAddonProfile(path) {
|
|
113
133
|
return parseCharacterAddonProfileJson((0, node_fs_1.readFileSync)(path, 'utf8'));
|
|
114
134
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"characterAddon.js","sourceRoot":"","sources":["../../src/bridge/characterAddon.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"characterAddon.js","sourceRoot":"","sources":["../../src/bridge/characterAddon.ts"],"names":[],"mappings":"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"}
|
|
@@ -265,8 +265,8 @@ async function executeCharacterAddon(plan, outputDir, options, sourcePath) {
|
|
|
265
265
|
throw new Error('Character add-on conversion requires --input host=<base-avatar.glb> and --input addon=<profile.json>.');
|
|
266
266
|
}
|
|
267
267
|
const { inspectBaseAvatarGlb } = await Promise.resolve().then(() => __importStar(require('../metahuman')));
|
|
268
|
-
const { readCharacterAddonProfile } = await Promise.resolve().then(() => __importStar(require('../characterAddon')));
|
|
269
|
-
|
|
268
|
+
const { applyMeasuredHide, readCharacterAddonProfile } = await Promise.resolve().then(() => __importStar(require('../characterAddon')));
|
|
269
|
+
let profile = readCharacterAddonProfile(addonPath);
|
|
270
270
|
const palettePath = options.inputs?.palette;
|
|
271
271
|
if (profile.palette !== undefined && !palettePath) {
|
|
272
272
|
throw new Error('Palette-bound character add-on conversion requires --input palette=<palette.json>.');
|
|
@@ -332,6 +332,35 @@ async function executeCharacterAddon(plan, outputDir, options, sourcePath) {
|
|
|
332
332
|
const { assertBaseColorIsAlbedo } = await Promise.resolve().then(() => __importStar(require('../../character/baseColorGuard')));
|
|
333
333
|
await assertBaseColorIsAlbedo(guardDoc, `character add-on ${profile.slug}`);
|
|
334
334
|
}
|
|
335
|
+
// Hide only what the garment actually covers. `profile.ops` still carries the slot's FULL platform grant (a
|
|
336
|
+
// ceiling) unless the profile named its own hide, so this is where the grant is narrowed to the regions the
|
|
337
|
+
// finished garment occludes (>= 98 %, bind pose) — a partly covered region stays visible and the pose-aware
|
|
338
|
+
// fit above already pushed the garment clear of its skin. See character/hideCoverage.ts.
|
|
339
|
+
let hideDerivation = { source: profile.hide.source };
|
|
340
|
+
if (profile.hide.source === 'default-grant' && defaultHideRegionsForSlotType(profile.slotType).length > 0) {
|
|
341
|
+
try {
|
|
342
|
+
const { measureHideCoverageFiles, deriveHideFromCoverage, formatDerivedHide } = await Promise.resolve().then(() => __importStar(require('../../character/hideCoverage')));
|
|
343
|
+
const coverage = await measureHideCoverageFiles(result.bodyPath, hostPath, { regions: defaultHideRegionsForSlotType(profile.slotType) });
|
|
344
|
+
const derived = deriveHideFromCoverage(profile.slotType, coverage);
|
|
345
|
+
profile = applyMeasuredHide(profile, derived.hideNodes);
|
|
346
|
+
options.onProgress?.(formatDerivedHide(derived));
|
|
347
|
+
hideDerivation = {
|
|
348
|
+
source: 'measured-coverage',
|
|
349
|
+
threshold: derived.threshold,
|
|
350
|
+
regionSource: coverage.regionSource,
|
|
351
|
+
hidden: derived.hidden,
|
|
352
|
+
visible: derived.visible.map((v) => ({ region: v.region, occluded: Number(v.fraction.toFixed(4)) })),
|
|
353
|
+
};
|
|
354
|
+
}
|
|
355
|
+
catch (error) {
|
|
356
|
+
// Keep the full grant rather than fail the conform, but say so: this is the old behaviour (hides skin the
|
|
357
|
+
// garment may not cover) and the creator should know to review the result or pass `hideRegions`.
|
|
358
|
+
options.onProgress?.(`⚠ could not measure which body regions this garment covers (${error instanceof Error ? error.message : String(error)}); ` +
|
|
359
|
+
`keeping the slot's FULL platform hide grant (${defaultHideRegionsForSlotType(profile.slotType).join(', ')}). ` +
|
|
360
|
+
'Skin the garment does not cover will be hidden — set "hideRegions" in the profile, or run `helix character derive-hide`.');
|
|
361
|
+
hideDerivation = { source: 'default-grant-unmeasured', reason: error instanceof Error ? error.message : String(error) };
|
|
362
|
+
}
|
|
363
|
+
}
|
|
335
364
|
const descriptorPath = (0, node_path_1.join)(outputDir, 'bridge-character-addon.json');
|
|
336
365
|
await (0, promises_1.writeFile)(descriptorPath, `${JSON.stringify({
|
|
337
366
|
schemaVersion: 'helix.bridge-character-addon/1',
|
|
@@ -345,6 +374,7 @@ async function executeCharacterAddon(plan, outputDir, options, sourcePath) {
|
|
|
345
374
|
fit: profile.fit,
|
|
346
375
|
fits: profile.fits,
|
|
347
376
|
ops: profile.ops,
|
|
377
|
+
hide: hideDerivation,
|
|
348
378
|
lodTriangles: result.lodTris,
|
|
349
379
|
palette: result.palette,
|
|
350
380
|
}, null, 2)}\n`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builtInExecution.js","sourceRoot":"","sources":["../../../src/bridge/internal/builtInExecution.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"builtInExecution.js","sourceRoot":"","sources":["../../../src/bridge/internal/builtInExecution.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,12 +13,13 @@
|
|
|
13
13
|
* the root cause of the Base Female/Sinth Ascetic Pants poke-through: nothing was ever hiding the thigh/shin
|
|
14
14
|
* skin the pants sit over.
|
|
15
15
|
*
|
|
16
|
-
* This table is
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
16
|
+
* This table is the CEILING for a slot, not what a garment hides. Conform (`bridge/internal/builtInExecution.ts`)
|
|
17
|
+
* measures the finished garment against the base body (`hideCoverage.ts`) and hides only the granted regions it
|
|
18
|
+
* occludes (>= 98 %); a cropped trouser keeps its shins visible, a cap-sleeve top its upper arms. A profile's
|
|
19
|
+
* explicit `hideRegions` (or `hideRegions: []` to hide nothing) overrides the measurement. Only when the base
|
|
20
|
+
* body cannot be measured does conform fall back to emitting this whole grant — with a warning — because hiding
|
|
21
|
+
* the full grant over skin the garment does not cover renders a void, and a hem inside a region seam a sawtooth
|
|
22
|
+
* (the engine drops a triangle when two of its corners are in a hidden region).
|
|
22
23
|
*
|
|
23
24
|
* The glob strings below are copied VERBATIM from `CHARACTER_SLOT_PACK`'s `hide` arrays, not re-derived —
|
|
24
25
|
* `bodyRegionHide.spec.ts` locks every entry down, so a platform-side rename is a failing test here rather
|
|
@@ -14,12 +14,13 @@
|
|
|
14
14
|
* the root cause of the Base Female/Sinth Ascetic Pants poke-through: nothing was ever hiding the thigh/shin
|
|
15
15
|
* skin the pants sit over.
|
|
16
16
|
*
|
|
17
|
-
* This table is
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
17
|
+
* This table is the CEILING for a slot, not what a garment hides. Conform (`bridge/internal/builtInExecution.ts`)
|
|
18
|
+
* measures the finished garment against the base body (`hideCoverage.ts`) and hides only the granted regions it
|
|
19
|
+
* occludes (>= 98 %); a cropped trouser keeps its shins visible, a cap-sleeve top its upper arms. A profile's
|
|
20
|
+
* explicit `hideRegions` (or `hideRegions: []` to hide nothing) overrides the measurement. Only when the base
|
|
21
|
+
* body cannot be measured does conform fall back to emitting this whole grant — with a warning — because hiding
|
|
22
|
+
* the full grant over skin the garment does not cover renders a void, and a hem inside a region seam a sawtooth
|
|
23
|
+
* (the engine drops a triangle when two of its corners are in a hidden region).
|
|
23
24
|
*
|
|
24
25
|
* The glob strings below are copied VERBATIM from `CHARACTER_SLOT_PACK`'s `hide` arrays, not re-derived —
|
|
25
26
|
* `bodyRegionHide.spec.ts` locks every entry down, so a platform-side rename is a failing test here rather
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bodyRegionHide.js","sourceRoot":"","sources":["../../src/character/bodyRegionHide.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"bodyRegionHide.js","sourceRoot":"","sources":["../../src/character/bodyRegionHide.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;;;AAoEH,sEAEC;AApED;;;;;;;;;;;;;;;;GAgBG;AACU,QAAA,kBAAkB,GAAG;IAChC,WAAW;IACX,WAAW;IACX,YAAY;IACZ,iBAAiB;IACjB,iBAAiB;IACjB,gBAAgB;IAChB,gBAAgB;IAChB,aAAa;IACb,aAAa;IACb,cAAc;IACd,cAAc;IACd,aAAa;IACb,aAAa;IACb,aAAa;IACb,aAAa;IACb,WAAW;IACX,UAAU;CACF,CAAC;AAIX;;;;;;;GAOG;AACU,QAAA,iCAAiC,GAAgD;IAC5F,iBAAiB,EAAE,CAAC,YAAY,EAAE,iBAAiB,CAAC;IACpD,oBAAoB,EAAE,CAAC,UAAU,EAAE,cAAc,EAAE,aAAa,CAAC;IACjE,oBAAoB,EAAE,CAAC,YAAY,EAAE,UAAU,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,cAAc,EAAE,aAAa,CAAC;IACpH,sBAAsB,EAAE,CAAC,aAAa,CAAC;IACvC,oBAAoB,EAAE,CAAC,aAAa,EAAE,gBAAgB,CAAC;IACvD,mBAAmB,EAAE,CAAC,aAAa,CAAC;IACpC,sBAAsB,EAAE,CAAC,WAAW,CAAC;IACrC,kBAAkB,EAAE,CAAC,WAAW,CAAC;IACjC,kBAAkB,EAAE,CAAC,WAAW,CAAC;IACjC,kBAAkB,EAAE,CAAC,WAAW,CAAC;IACjC,0GAA0G;IAC1G,wGAAwG;IACxG,wGAAwG;IACxG,qGAAqG;IACrG,kBAAkB,EAAE,CAAC,YAAY,EAAE,iBAAiB,EAAE,cAAc,EAAE,aAAa,CAAC;CACrF,CAAC;AAEF,iHAAiH;AACjH,SAAgB,6BAA6B,CAAC,QAAgB;IAC5D,OAAO,yCAAiC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;AAC3D,CAAC"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import { type Document } from '@gltf-transform/core';
|
|
2
|
+
/**
|
|
3
|
+
* MEASURED hide coverage: which of the body regions a garment is granted to hide does it actually enclose?
|
|
4
|
+
*
|
|
5
|
+
* ── WHY ────────────────────────────────────────────────────────────────────────────────────────────────────
|
|
6
|
+
* A character add-on's `hide` op collapses the base body's triangles for whole `_REGION` labels. Conform used
|
|
7
|
+
* to emit the slot's FULL platform grant whatever the garment covered, so short sleeves hid the whole upper
|
|
8
|
+
* arm, cropped trousers the whole shin, and every hem that lands inside a region seam rendered a sawtooth
|
|
9
|
+
* (the engine drops a triangle when >= 2 of its 3 corners are hidden; labels interleave across a band several
|
|
10
|
+
* cm wide where two regions meet). The rule here: hide a granted region ONLY when the garment occludes it.
|
|
11
|
+
*
|
|
12
|
+
* ── THE METRIC ─────────────────────────────────────────────────────────────────────────────────────────────
|
|
13
|
+
* Bind pose. For every body vertex v with outward normal n, v is OCCLUDED when a garment surface is crossed by
|
|
14
|
+
* a ray along n starting `backoffM` behind the skin and reaching `standoffM` in front of it (60 mm: the
|
|
15
|
+
* "fabric within 60 mm" measure of `run/open-alpha-qa/wearables-import/coverage-derivation`; 20 mm behind so a
|
|
16
|
+
* garment that sits a few mm inside the skin — which the conform push-out fit then corrects — still counts as
|
|
17
|
+
* covering it). A region's coverage is the occluded fraction of its vertices; it is hidden at >= 98 %.
|
|
18
|
+
*
|
|
19
|
+
* Two lessons from that earlier work are built in rather than rediscovered:
|
|
20
|
+
* - NEAREST-surface-within-60-mm is the wrong question: fabric 45 mm ABOVE a vertex (a hem above the ankle)
|
|
21
|
+
* is within 60 mm and covers nothing. Casting along the NORMAL makes a hem above the skin point a miss.
|
|
22
|
+
* - A ray that lands exactly on a shared edge or vertex can slip between two triangles in floating point, so
|
|
23
|
+
* each vertex also casts four rays tilted by `coneDeg` (0.5 deg, <1 mm of lateral reach) — enough to rescue
|
|
24
|
+
* an edge hit, far too little to bridge a hem. (An 8 deg cone, ~11 mm, was tried and credited vertices up to
|
|
25
|
+
* a centimetre below a hem as covered: Warehouse Uniform's right shin read 100 % instead of 96 %.)
|
|
26
|
+
*
|
|
27
|
+
* Every garment LOD (scene) is measured separately — each LOD is drawn alone and the hide op is shared by all
|
|
28
|
+
* of them — and a region's coverage is the MINIMUM across LODs, so a region is hidden only if no LOD leaves a
|
|
29
|
+
* void. Body vertices come from the first scene (highest LOD) of the base body, face mesh included.
|
|
30
|
+
*/
|
|
31
|
+
export declare const DEFAULT_COVERAGE_THRESHOLD = 0.98;
|
|
32
|
+
export declare const DEFAULT_STANDOFF_M = 0.06;
|
|
33
|
+
export declare const DEFAULT_BACKOFF_M = 0.02;
|
|
34
|
+
/** Half-angle (degrees) of the tilted-ray fan. 0.5 deg is ~0.7 mm at the far end of the reach: it only rescues a
|
|
35
|
+
* ray that lands exactly on a shared edge or vertex, and cannot bridge a hem (an 8 deg cone could, ~11 mm). */
|
|
36
|
+
export declare const DEFAULT_CONE_DEG = 0.5;
|
|
37
|
+
export interface HideCoverageOptions {
|
|
38
|
+
/** How far in front of the skin a garment surface may be and still occlude the vertex. Default 0.06 m. */
|
|
39
|
+
standoffM?: number;
|
|
40
|
+
/** How far behind the skin the ray starts, so a garment sitting just inside the skin still counts. Default 0.02 m. */
|
|
41
|
+
backoffM?: number;
|
|
42
|
+
/** Half-angle of the tilted-ray fan, degrees. Default 0.5. 0 = normal ray only. */
|
|
43
|
+
coneDeg?: number;
|
|
44
|
+
/** Restrict the measurement to regions matching these globs. Default: every region the body has. */
|
|
45
|
+
regions?: readonly string[];
|
|
46
|
+
/** Which base-body LOD scene supplies the vertices and region labels. Default 0. */
|
|
47
|
+
bodyLod?: number;
|
|
48
|
+
}
|
|
49
|
+
export interface RegionCoverage {
|
|
50
|
+
region: string;
|
|
51
|
+
/** Body vertices carrying this region label (highest-LOD body). */
|
|
52
|
+
vertices: number;
|
|
53
|
+
/** Occluded fraction, 0..1 — the minimum across LODs. */
|
|
54
|
+
fraction: number;
|
|
55
|
+
/** Largest number of NOT-occluded vertices of this region at any single LOD. */
|
|
56
|
+
bareVertices: number;
|
|
57
|
+
/** Occluded fraction at each LOD (body LOD k drawn with garment LOD k). */
|
|
58
|
+
perLod: number[];
|
|
59
|
+
/** Bounding box (metres, bind pose) of the not-occluded vertices at the LOD with the most of them; null when none. */
|
|
60
|
+
bareBounds: {
|
|
61
|
+
min: [number, number, number];
|
|
62
|
+
max: [number, number, number];
|
|
63
|
+
} | null;
|
|
64
|
+
}
|
|
65
|
+
export interface HideCoverageReport {
|
|
66
|
+
standoffM: number;
|
|
67
|
+
backoffM: number;
|
|
68
|
+
coneDeg: number;
|
|
69
|
+
/** LOD levels measured (body LOD k is paired with garment LOD k). */
|
|
70
|
+
lods: number;
|
|
71
|
+
/** Where the body's region labels came from. `_REGION` is the baked, published classification. */
|
|
72
|
+
regionSource: '_REGION' | 'dominant-joint';
|
|
73
|
+
/** Vertices whose region could not be placed (never counted toward any region). */
|
|
74
|
+
unclassifiedVertices: number;
|
|
75
|
+
regions: RegionCoverage[];
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Per-region occlusion of the base body by `garment`. Both documents must be in their authored (bind) pose.
|
|
79
|
+
* See the file header for the metric and why it is built this way.
|
|
80
|
+
*/
|
|
81
|
+
export declare function measureHideCoverage(garment: Document, body: Document, options?: HideCoverageOptions): HideCoverageReport;
|
|
82
|
+
/** `measureHideCoverage` on two GLB files (meshopt-compressed renditions included). */
|
|
83
|
+
export declare function measureHideCoverageFiles(garmentPath: string, bodyPath: string, options?: HideCoverageOptions): Promise<HideCoverageReport>;
|
|
84
|
+
export interface DerivedHide {
|
|
85
|
+
slotType: string;
|
|
86
|
+
threshold: number;
|
|
87
|
+
/** The slot's platform grant, expanded to the concrete regions the body has. */
|
|
88
|
+
granted: string[];
|
|
89
|
+
/** Granted regions the garment occludes (>= threshold). */
|
|
90
|
+
hidden: string[];
|
|
91
|
+
/** Granted regions left visible, each with the measured occluded fraction. */
|
|
92
|
+
visible: Array<{
|
|
93
|
+
region: string;
|
|
94
|
+
fraction: number;
|
|
95
|
+
}>;
|
|
96
|
+
/** `hidden` collapsed to the grant's own globs where both sides are hidden (`body_thigh_*`). */
|
|
97
|
+
hideNodes: string[];
|
|
98
|
+
/** The `ops` array to hand to `publish-version --ops` (empty when nothing may be hidden). */
|
|
99
|
+
ops: Array<{
|
|
100
|
+
v: 'hide';
|
|
101
|
+
nodes: string[];
|
|
102
|
+
}>;
|
|
103
|
+
coverage: HideCoverageReport;
|
|
104
|
+
}
|
|
105
|
+
/** Collapse concrete regions back to the grant's globs: `body_thigh_l` + `body_thigh_r` -> `body_thigh_*`. */
|
|
106
|
+
export declare function collapseRegionsToGlobs(hidden: readonly string[], grantGlobs: readonly string[]): string[];
|
|
107
|
+
/** The regions of `slotType`'s platform grant that `coverage` shows the garment fully occludes. */
|
|
108
|
+
export declare function deriveHideFromCoverage(slotType: string, coverage: HideCoverageReport, threshold?: number): DerivedHide;
|
|
109
|
+
/** One human line per granted region, for terminal output. */
|
|
110
|
+
export declare function formatDerivedHide(derived: DerivedHide): string;
|