@helix3/helix-cli 0.1.10-helix3.49 → 0.1.12-helix3.51
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/gesture/capture.d.ts +9 -0
- package/dist/gesture/capture.js +18 -1
- package/dist/gesture/capture.js.map +1 -1
- package/dist/gesture/harnessPage.d.ts +6 -0
- package/dist/gesture/harnessPage.js +8 -2
- package/dist/gesture/harnessPage.js.map +1 -1
- package/dist/gesture/inspect.d.ts +85 -0
- package/dist/gesture/inspect.js +315 -3
- package/dist/gesture/inspect.js.map +1 -1
- package/dist/gesture/worldRuntime.d.ts +31 -0
- package/dist/gesture/worldRuntime.js +17 -1
- package/dist/gesture/worldRuntime.js.map +1 -1
- package/dist/index.js +40 -0
- package/dist/index.js.map +1 -1
- package/dist/lib.d.ts +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +2 -2
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { type BrowserKey } from '../screenshot/captureScreenshots';
|
|
2
2
|
import { type HarnessConfig } from './harnessPage';
|
|
3
|
+
import { type InspectAttachSpec } from './inspect';
|
|
3
4
|
export declare const VIEW_NAMES: readonly ["front", "back", "right", "left", "three-quarter"];
|
|
4
5
|
export type ViewName = typeof VIEW_NAMES[number];
|
|
5
6
|
export declare const MAX_VIEWS = 2;
|
|
@@ -20,6 +21,8 @@ export type CaptureGestureOptions = {
|
|
|
20
21
|
/** One moment instead of a sequence: seconds, or a percentage of duration like '60%'. Views go side by
|
|
21
22
|
* side at roughly 1.8x the cell size, for inspecting a specific detail rather than comparing over time. */
|
|
22
23
|
at?: number | string;
|
|
24
|
+
/** Render a prop attached while the clip plays — same spec as inspect's, resolved against the world's presets. */
|
|
25
|
+
attach?: InspectAttachSpec;
|
|
23
26
|
cellHeight?: number;
|
|
24
27
|
timeoutMs?: number;
|
|
25
28
|
browser?: BrowserKey;
|
|
@@ -36,6 +39,12 @@ export type CaptureGestureResult = {
|
|
|
36
39
|
/** True when both views look down the same axis, so neither reveals depth — worth telling the caller. */
|
|
37
40
|
sharedAxis: boolean;
|
|
38
41
|
warnings: string[];
|
|
42
|
+
/** What was attached, when a prop was requested. */
|
|
43
|
+
attachment: {
|
|
44
|
+
prop: string;
|
|
45
|
+
socket: string;
|
|
46
|
+
preset: string | null;
|
|
47
|
+
} | null;
|
|
39
48
|
};
|
|
40
49
|
export declare function captureGesture(opts: CaptureGestureOptions): Promise<CaptureGestureResult>;
|
|
41
50
|
type ClipShape = {
|
package/dist/gesture/capture.js
CHANGED
|
@@ -55,6 +55,7 @@ const node_path_1 = require("node:path");
|
|
|
55
55
|
const captureScreenshots_1 = require("../screenshot/captureScreenshots");
|
|
56
56
|
const staticServe_1 = require("../screenshot/staticServe");
|
|
57
57
|
const harnessPage_1 = require("./harnessPage");
|
|
58
|
+
const inspect_1 = require("./inspect");
|
|
58
59
|
const worldRuntime_1 = require("./worldRuntime");
|
|
59
60
|
const paths_1 = require("../paths");
|
|
60
61
|
/** 0/25/50/75/100 % of the clip — enough to read a gesture's arc without a sheet per frame. */
|
|
@@ -113,6 +114,19 @@ async function captureGesture(opts) {
|
|
|
113
114
|
(0, node_fs_1.copyFileSync)((0, node_path_1.join)(vendorDir(), 'capture-body.glb'), (0, node_path_1.join)(stage, 'capture-body.glb'));
|
|
114
115
|
(0, node_fs_1.copyFileSync)((0, node_path_1.join)(vendorDir(), 'capture-face.glb'), (0, node_path_1.join)(stage, 'capture-face.glb'));
|
|
115
116
|
(0, node_fs_1.copyFileSync)(opts.clip, (0, node_path_1.join)(stage, 'clip.json'));
|
|
117
|
+
// Prop attaches resolve presets NODE-side (the world's own runtime), so a stale system fails here with
|
|
118
|
+
// install guidance instead of as a bare page error. The prop is COPIED into the stage — the static
|
|
119
|
+
// server's traversal guard is string-compare, so serving from an arbitrary path is off the table.
|
|
120
|
+
let attach = null;
|
|
121
|
+
if (opts.attach !== undefined) {
|
|
122
|
+
const runtime = await (0, worldRuntime_1.loadGestureRuntime)(opts.worldDir);
|
|
123
|
+
if (runtime.SocketService === null || runtime.defaultSockets === null) {
|
|
124
|
+
throw new Error('the installed humanoid-character does not export SocketService/DEFAULT_SOCKETS — it predates attachment tooling.\n'
|
|
125
|
+
+ ' Rerun the install and rebuild: MCP: install_world_packages · CLI: helix install.');
|
|
126
|
+
}
|
|
127
|
+
attach = (0, inspect_1.resolveAttachSpec)(opts.attach, runtime.heldItemPresets);
|
|
128
|
+
(0, node_fs_1.copyFileSync)(opts.attach.prop, (0, node_path_1.join)(stage, 'prop.glb'));
|
|
129
|
+
}
|
|
116
130
|
// The page needs concrete seconds, not fractions, so the clip is parsed here rather than in-page.
|
|
117
131
|
const source = JSON.parse((0, node_fs_1.readFileSync)((0, node_path_1.join)(stage, 'clip.json'), 'utf8'));
|
|
118
132
|
const duration = readDuration(source, opts.clip);
|
|
@@ -121,7 +135,7 @@ async function captureGesture(opts) {
|
|
|
121
135
|
const times = moment
|
|
122
136
|
? [parseMoment(opts.at, duration)]
|
|
123
137
|
: Array.from({ length: frames }, (_, i) => Math.round((i / (frames - 1)) * duration * 1000) / 1000);
|
|
124
|
-
const config = { ...arrangeGrid(times, chosen, moment, side), cellW, cellH };
|
|
138
|
+
const config = { ...arrangeGrid(times, chosen, moment, side), cellW, cellH, ...(attach !== null && { attach }) };
|
|
125
139
|
(0, node_fs_1.writeFileSync)((0, node_path_1.join)(stage, 'index.html'), (0, harnessPage_1.harnessPage)(config));
|
|
126
140
|
const playwright = await Promise.resolve().then(() => __importStar(require('playwright')));
|
|
127
141
|
server = await (0, staticServe_1.startStaticServer)(stage);
|
|
@@ -167,6 +181,9 @@ async function captureGesture(opts) {
|
|
|
167
181
|
moment,
|
|
168
182
|
sharedAxis: sharesAxis(chosen),
|
|
169
183
|
warnings: state.warnings ?? [],
|
|
184
|
+
attachment: attach !== null && opts.attach !== undefined
|
|
185
|
+
? { prop: opts.attach.prop, socket: attach.socket, preset: opts.attach.preset ?? null }
|
|
186
|
+
: null,
|
|
170
187
|
};
|
|
171
188
|
}
|
|
172
189
|
finally {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capture.js","sourceRoot":"","sources":["../../src/gesture/capture.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"capture.js","sourceRoot":"","sources":["../../src/gesture/capture.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,6 +12,12 @@ export interface HarnessConfig {
|
|
|
12
12
|
rowLabels: string[];
|
|
13
13
|
cellW: number;
|
|
14
14
|
cellH: number;
|
|
15
|
+
/** Attach /prop.glb to this socket with RESOLVED offsets (capture resolves presets node-side). */
|
|
16
|
+
attach?: {
|
|
17
|
+
socket: string;
|
|
18
|
+
position: [number, number, number];
|
|
19
|
+
rotationEulerDeg: [number, number, number];
|
|
20
|
+
};
|
|
15
21
|
}
|
|
16
22
|
export declare const READY_FLAG = "__helixGestureCapture";
|
|
17
23
|
export declare function harnessPage(config: HarnessConfig): string;
|
|
@@ -35,7 +35,7 @@ function harnessPage(config) {
|
|
|
35
35
|
<script type="module">
|
|
36
36
|
import * as THREE from 'three';
|
|
37
37
|
import { GLTFLoader } from 'three/examples/jsm/loaders/GLTFLoader.js';
|
|
38
|
-
import { compileGesture, GesturePlayer } from '/helix_modules/humanoid-character/index.js';
|
|
38
|
+
import { compileGesture, GesturePlayer${config.attach !== undefined ? ', SocketService, DEFAULT_SOCKETS' : ''} } from '/helix_modules/humanoid-character/index.js';
|
|
39
39
|
|
|
40
40
|
const CONFIG = ${JSON.stringify(config)};
|
|
41
41
|
const FLAG = ${JSON.stringify(exports.READY_FLAG)};
|
|
@@ -56,7 +56,13 @@ try {
|
|
|
56
56
|
root.traverse((n) => { if (n.isBone === true) bind.set(n, n.quaternion.clone()); });
|
|
57
57
|
parts.push({ root, bind, player: new GesturePlayer(root) });
|
|
58
58
|
}
|
|
59
|
-
|
|
59
|
+
${config.attach !== undefined ? `
|
|
60
|
+
// Body carries the full skeleton; sockets build in bind pose — before anything poses the rig. The prop
|
|
61
|
+
// rides its bone from here on, so the union-bbox framing below covers it at every sampled time for free.
|
|
62
|
+
const sockets = new SocketService(parts[0].root, DEFAULT_SOCKETS);
|
|
63
|
+
const prop = (await loader.loadAsync('/prop.glb')).scene;
|
|
64
|
+
sockets.attach(CONFIG.attach.socket, prop, 'capture', { position: CONFIG.attach.position, rotationEulerDeg: CONFIG.attach.rotationEulerDeg });
|
|
65
|
+
` : ''}
|
|
60
66
|
const scene = new THREE.Scene();
|
|
61
67
|
scene.background = new THREE.Color(0xf4f4f6);
|
|
62
68
|
for (const p of parts) scene.add(p.root);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"harnessPage.js","sourceRoot":"","sources":["../../src/gesture/harnessPage.ts"],"names":[],"mappings":";AAAA,wGAAwG;AACxG,sGAAsG;AACtG,EAAE;AACF,4GAA4G;AAC5G,4GAA4G;AAC5G,qFAAqF;AACrF,EAAE;AACF,yGAAyG;AACzG,4GAA4G;AAC5G,wGAAwG;;;
|
|
1
|
+
{"version":3,"file":"harnessPage.js","sourceRoot":"","sources":["../../src/gesture/harnessPage.ts"],"names":[],"mappings":";AAAA,wGAAwG;AACxG,sGAAsG;AACtG,EAAE;AACF,4GAA4G;AAC5G,4GAA4G;AAC5G,qFAAqF;AACrF,EAAE;AACF,yGAAyG;AACzG,4GAA4G;AAC5G,wGAAwG;;;AAuBxG,kCAwIC;AA1IY,QAAA,UAAU,GAAG,uBAAuB,CAAC;AAElD,SAAgB,WAAW,CAAC,MAAqB;IAC/C,OAAO;;;;;;;;;;;;;;;;;;;;;wCAqB+B,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,kCAAkC,CAAC,CAAC,CAAC,EAAE;;iBAE5F,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;eACxB,IAAI,CAAC,SAAS,CAAC,kBAAU,CAAC;;;;;;;;;;;;;;;;;;EAkBvC,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC;;;;;;CAM/B,CAAC,CAAC,CAAC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsFL,CAAC;AACF,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type HeldItemPresetLike, type PoseDescriptionLike } from './worldRuntime';
|
|
1
2
|
import { type BoneAxisReference } from './axisReference';
|
|
2
3
|
export declare const DEFAULT_BONES: string[];
|
|
3
4
|
export interface InspectOptions {
|
|
@@ -15,6 +16,19 @@ export interface InspectOptions {
|
|
|
15
16
|
probe?: string | null;
|
|
16
17
|
/** Custom character GLB; default is the embedded canonical skeleton. */
|
|
17
18
|
rig?: string | null;
|
|
19
|
+
/** Measure a prop attachment alongside the pose readback (grip-frame bbox, unit verdict, posed placement). */
|
|
20
|
+
attach?: InspectAttachSpec | null;
|
|
21
|
+
}
|
|
22
|
+
export interface InspectAttachSpec {
|
|
23
|
+
/** Prop GLB path. */
|
|
24
|
+
prop: string;
|
|
25
|
+
/** Explicit socket; defaults to the preset's, then hand_r.grip. */
|
|
26
|
+
socket?: string | null;
|
|
27
|
+
/** HELD_ITEM_PRESETS key contributing default socket/offsets. */
|
|
28
|
+
preset?: string | null;
|
|
29
|
+
/** Socket-local offsets (m / deg, XYZ). Explicit values override the preset's. */
|
|
30
|
+
position?: [number, number, number] | null;
|
|
31
|
+
rotationEulerDeg?: [number, number, number] | null;
|
|
18
32
|
}
|
|
19
33
|
export interface BoneReadback {
|
|
20
34
|
pos?: number[];
|
|
@@ -61,6 +75,56 @@ export interface AxisRangeRow {
|
|
|
61
75
|
z: [number, number];
|
|
62
76
|
};
|
|
63
77
|
}
|
|
78
|
+
export interface AttachmentReadback {
|
|
79
|
+
prop: string;
|
|
80
|
+
socket: string;
|
|
81
|
+
preset: string | null;
|
|
82
|
+
position: number[];
|
|
83
|
+
rotationEulerDeg: number[];
|
|
84
|
+
/** True when the preset's offsets were sagitally auto-mirrored for the opposite grip socket (the runtime rule). */
|
|
85
|
+
mirrored: boolean;
|
|
86
|
+
bbox: {
|
|
87
|
+
min: number[];
|
|
88
|
+
max: number[];
|
|
89
|
+
};
|
|
90
|
+
span: number;
|
|
91
|
+
unitVerdict: string;
|
|
92
|
+
gripFrame: {
|
|
93
|
+
min: number[];
|
|
94
|
+
max: number[];
|
|
95
|
+
reads: string;
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
export interface AttachmentPlacement {
|
|
99
|
+
center: number[];
|
|
100
|
+
dir: number[];
|
|
101
|
+
up: number[];
|
|
102
|
+
reads: string;
|
|
103
|
+
}
|
|
104
|
+
/** One authored ik goal: target → resolved joint eulers → canonical landing → this-rig landing. */
|
|
105
|
+
export interface IkGoalReadback {
|
|
106
|
+
key: number;
|
|
107
|
+
t: number;
|
|
108
|
+
hand: string;
|
|
109
|
+
goal: {
|
|
110
|
+
position: number[];
|
|
111
|
+
palm: string | null;
|
|
112
|
+
elbow: string | null;
|
|
113
|
+
};
|
|
114
|
+
resolved: Record<string, number[]>;
|
|
115
|
+
canonical: {
|
|
116
|
+
position: number[];
|
|
117
|
+
palm: number[];
|
|
118
|
+
errM: number;
|
|
119
|
+
reads: string;
|
|
120
|
+
} | null;
|
|
121
|
+
rig: {
|
|
122
|
+
position: number[];
|
|
123
|
+
errM: number;
|
|
124
|
+
} | null;
|
|
125
|
+
warnings: string[];
|
|
126
|
+
reads: string;
|
|
127
|
+
}
|
|
64
128
|
export interface InspectResult {
|
|
65
129
|
clip: string;
|
|
66
130
|
duration: number;
|
|
@@ -70,6 +134,8 @@ export interface InspectResult {
|
|
|
70
134
|
frames: {
|
|
71
135
|
t: number;
|
|
72
136
|
bones: Record<string, BoneReadback>;
|
|
137
|
+
attachment?: AttachmentPlacement;
|
|
138
|
+
hands?: PoseDescriptionLike;
|
|
73
139
|
}[];
|
|
74
140
|
motion: Record<string, MotionReadback> | null;
|
|
75
141
|
axes: {
|
|
@@ -79,13 +145,32 @@ export interface InspectResult {
|
|
|
79
145
|
rows: AxisRow[];
|
|
80
146
|
}[];
|
|
81
147
|
} | null;
|
|
148
|
+
/** Per-goal ik readback (automatic when the clip has `ik` keys and the system supports them); null otherwise. */
|
|
149
|
+
ik: {
|
|
150
|
+
goals: IkGoalReadback[];
|
|
151
|
+
note?: string;
|
|
152
|
+
} | null;
|
|
82
153
|
/** Axis-table rows for the bones this clip actually keys — the context a warning needs, not all 15 groups. */
|
|
83
154
|
keyedAxisRows: AxisRangeRow[];
|
|
155
|
+
/** Prop measurement when `attach` was requested; null otherwise. */
|
|
156
|
+
attachment: AttachmentReadback | null;
|
|
84
157
|
}
|
|
85
158
|
/** Exported for tests: these two produce the human-facing readback, and are duck-typed on .x/.y/.z so
|
|
86
159
|
* they need no three. A sign error here silently misleads every measurement an agent takes. */
|
|
87
160
|
/** Coarse compass for a unit vector — never a precise angle, because conformed rigs differ by ~20° at the extremities. */
|
|
88
161
|
export declare function compass(v: any): string;
|
|
162
|
+
/** Exported for tests: resolves the attach spec exactly as AttachmentService.attach would. */
|
|
163
|
+
export declare function resolveAttachSpec(spec: InspectAttachSpec, presets: Readonly<Record<string, HeldItemPresetLike>> | null): {
|
|
164
|
+
socket: string;
|
|
165
|
+
position: [number, number, number];
|
|
166
|
+
rotationEulerDeg: [number, number, number];
|
|
167
|
+
mirrored: boolean;
|
|
168
|
+
};
|
|
169
|
+
/** Exported for tests. The runtime rejection wording creators actually hit, plus the too-small suspicion. */
|
|
170
|
+
export declare function unitVerdictFor(span: number): string;
|
|
171
|
+
/** Exported for tests — duck-typed on .x/.y/.z like compass. English for the socket-frame bbox; the grip
|
|
172
|
+
* frame IS the semantic held-item frame (+z out, +y up). */
|
|
173
|
+
export declare function gripFrameReads(sMin: any, sMax: any): string;
|
|
89
174
|
export interface Refs {
|
|
90
175
|
head: number | null;
|
|
91
176
|
shoulder: number;
|