@lovelace_lol/embody 0.0.6 → 0.0.8
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 +541 -2394
- package/dist/index.d.ts +2 -100
- package/dist/index.js +7714 -12951
- package/dist/index.js.map +1 -1
- package/dist/three/annotations/DOMControls.d.ts +73 -0
- package/dist/three/annotations/DPthree.d.ts +113 -0
- package/dist/three/annotations/DPthree3DMarkers.d.ts +319 -0
- package/dist/three/annotations/DPthreeCameraController.d.ts +414 -0
- package/dist/three/annotations/DPthreeHTMLMarkers.d.ts +131 -0
- package/dist/three/annotations/DPthreeMarkers.d.ts +52 -0
- package/dist/three/annotations/adapter.d.ts +157 -0
- package/dist/three/annotations/animationFrameTaskScheduler.d.ts +18 -0
- package/dist/three/annotations/annotationAnchorModel.d.ts +16 -0
- package/dist/three/annotations/annotationCameraCore.d.ts +5 -0
- package/dist/three/annotations/boneResolutionProfile.d.ts +7 -0
- package/dist/three/annotations/index.d.ts +20 -0
- package/dist/three/annotations/loadFrame.d.ts +2 -0
- package/dist/three/annotations/markerSurfaceRaycast.d.ts +11 -0
- package/dist/three/annotations/markerVisibilityLifecycle.d.ts +21 -0
- package/dist/three/annotations/modelRenderPreparation.d.ts +6 -0
- package/dist/three/annotations/runtimeAnnotationPreview.d.ts +15 -0
- package/dist/three/annotations/runtimeAnnotationPreviewSide.d.ts +10 -0
- package/dist/three/annotations/runtimeAnnotationSidePreview.d.ts +5 -0
- package/dist/three/annotations/types.d.ts +262 -0
- package/dist/three/gaze.d.ts +122 -0
- package/dist/three/index.d.ts +147 -0
- package/dist/three/model.d.ts +31 -0
- package/dist/three/modelSkinning.d.ts +3 -0
- package/dist/three/reference-pose.d.ts +73 -0
- package/dist/three/scene.d.ts +253 -0
- package/dist/three/sceneRenderingBinding.d.ts +22 -0
- package/dist/three.js +7696 -8936
- package/dist/three.js.map +1 -1
- package/dist/wasm/README.md +551 -62
- package/dist/wasm/auto.d.ts +1 -0
- package/dist/wasm/embody_wasm.d.ts +388 -52
- package/dist/wasm/embody_wasm.js +1514 -119
- package/dist/wasm/embody_wasm_bg.wasm +0 -0
- package/dist/wasm/embody_wasm_bg.wasm.d.ts +115 -40
- package/dist/wasm/index.d.ts +126 -0
- package/dist/wasm.d.ts +1 -43
- package/dist/wasm.js +1043 -239
- package/dist/wasm.js.map +1 -1
- package/package.json +34 -39
- package/service-worker/character-asset-service-worker.js +295 -0
- package/dist/authoring/boneAuthoring.d.ts +0 -132
- package/dist/camera/annotationCameraAngles.d.ts +0 -28
- package/dist/camera/cameraRelativeGaze.d.ts +0 -15
- package/dist/camera/rustAnnotationCameraCore.d.ts +0 -136
- package/dist/cljs.cjs +0 -362
- package/dist/cljs.cjs.map +0 -1
- package/dist/cljs.d.ts +0 -5
- package/dist/cljs.js +0 -359
- package/dist/cljs.js.map +0 -1
- package/dist/core/TsClipCompiler.d.ts +0 -51
- package/dist/core/WasmRuntimeCore.d.ts +0 -41
- package/dist/core/compositeAxis.d.ts +0 -4
- package/dist/core/contracts/abi.d.ts +0 -70
- package/dist/core/contracts/clip.d.ts +0 -44
- package/dist/core/contracts/frame.d.ts +0 -27
- package/dist/core/contracts/host.d.ts +0 -28
- package/dist/core/contracts/ids.d.ts +0 -15
- package/dist/core/contracts/index.d.ts +0 -10
- package/dist/core/contracts/model.d.ts +0 -31
- package/dist/core/contracts/primitives.d.ts +0 -17
- package/dist/core/contracts/skeletonFit.d.ts +0 -41
- package/dist/core/index.d.ts +0 -6
- package/dist/core/types.d.ts +0 -472
- package/dist/core.cjs +0 -343
- package/dist/core.cjs.map +0 -1
- package/dist/core.js +0 -323
- package/dist/core.js.map +0 -1
- package/dist/engines/three/Embody.d.ts +0 -372
- package/dist/engines/three/ThreeAnimationRuntime.d.ts +0 -203
- package/dist/engines/three/ThreeClipAdapter.d.ts +0 -24
- package/dist/engines/three/ThreeFrameApplier.d.ts +0 -68
- package/dist/engines/three/ThreeModelInspector.d.ts +0 -54
- package/dist/engines/three/bakedClipPartitioning.d.ts +0 -16
- package/dist/engines/three/balanceUtils.d.ts +0 -3
- package/dist/engines/three/characterHost.d.ts +0 -80
- package/dist/engines/three/characterScene.d.ts +0 -98
- package/dist/engines/three/hair/HairPhysicsController.d.ts +0 -124
- package/dist/engines/three/index.d.ts +0 -20
- package/dist/engines/three/modelLoader.d.ts +0 -61
- package/dist/engines/three/profileTestScene.d.ts +0 -52
- package/dist/engines/three/types.d.ts +0 -20
- package/dist/hair/appearance.d.ts +0 -29
- package/dist/index.cjs +0 -14871
- package/dist/index.cjs.map +0 -1
- package/dist/interfaces/Animation.d.ts +0 -315
- package/dist/interfaces/EmbodyRuntime.d.ts +0 -90
- package/dist/interfaces/Hair.d.ts +0 -181
- package/dist/interfaces/HairPhysics.d.ts +0 -90
- package/dist/interfaces/index.d.ts +0 -11
- package/dist/mappings/extendPresetWithProfile.d.ts +0 -17
- package/dist/mappings/types.d.ts +0 -309
- package/dist/mappings/visemeSystem.d.ts +0 -26
- package/dist/physics/HairPhysics.d.ts +0 -86
- package/dist/physics/RustHairPhysics.d.ts +0 -18
- package/dist/physics/index.d.ts +0 -6
- package/dist/preset.cjs +0 -2005
- package/dist/preset.cjs.map +0 -1
- package/dist/preset.js +0 -2003
- package/dist/preset.js.map +0 -1
- package/dist/presets/bettaFish.d.ts +0 -328
- package/dist/presets/cc4.d.ts +0 -145
- package/dist/presets/index.d.ts +0 -30
- package/dist/presets/registry.d.ts +0 -57
- package/dist/profiles/resolveProfileConfig.d.ts +0 -36
- package/dist/profiles/rustResolvedProfile.d.ts +0 -31
- package/dist/profiles/types.d.ts +0 -118
- package/dist/regions/normalizeRegionTree.d.ts +0 -6
- package/dist/regions/regionMapping.d.ts +0 -17
- package/dist/regions/types.d.ts +0 -122
- package/dist/skeletonTemplates/humanoidSkeletonTemplates.d.ts +0 -32
- package/dist/test/setupWasm.d.ts +0 -1
- package/dist/three.cjs +0 -9550
- package/dist/three.cjs.map +0 -1
- package/dist/validation/analyzeModel.d.ts +0 -68
- package/dist/validation/extractModelData.d.ts +0 -90
- package/dist/validation/generateMappingCorrections.d.ts +0 -32
- package/dist/validation/geometryHelpers.d.ts +0 -66
- package/dist/validation/types.d.ts +0 -10
- package/dist/validation/validateMappings.d.ts +0 -77
- package/dist/wasm.cjs +0 -302
- package/dist/wasm.cjs.map +0 -1
- package/dist/wasmTypes.d.ts +0 -123
|
@@ -49,7 +49,22 @@ export class RuntimeCore {
|
|
|
49
49
|
free(): void;
|
|
50
50
|
[Symbol.dispose](): void;
|
|
51
51
|
active_transition_count(): number;
|
|
52
|
+
/**
|
|
53
|
+
* Validate every channel before replacing Body state. Other FACS state remains.
|
|
54
|
+
*/
|
|
55
|
+
apply_semantic_pose_json(json: string): void;
|
|
52
56
|
static au_morph_binding_stride(): number;
|
|
57
|
+
build_clip(clip_name: string, curves_json: string, options_json: string): string;
|
|
58
|
+
/**
|
|
59
|
+
* Compile semantic motions and optional facial curves together without changing live state.
|
|
60
|
+
*/
|
|
61
|
+
build_semantic_clip(name: string, json: string, options_json: string): string;
|
|
62
|
+
build_typed_clip(clip_name: string, channels_json: string, options_json: string): string;
|
|
63
|
+
/**
|
|
64
|
+
* Captures manual semantic state; does not infer actions from a mixer pose.
|
|
65
|
+
*/
|
|
66
|
+
capture_semantic_pose_json(): string;
|
|
67
|
+
cleanup_snippet(clip_name: string): boolean;
|
|
53
68
|
clear(): void;
|
|
54
69
|
clear_transitions(): void;
|
|
55
70
|
/**
|
|
@@ -68,11 +83,31 @@ export class RuntimeCore {
|
|
|
68
83
|
/**
|
|
69
84
|
* Configure from a resolved profile without applying an embedded preset.
|
|
70
85
|
*
|
|
71
|
-
*
|
|
72
|
-
*
|
|
73
|
-
* an
|
|
86
|
+
* Empty profiles and mappings that do not match the current model are
|
|
87
|
+
* non-fatal. Static imports can render before authoring any bindings,
|
|
88
|
+
* without silently substituting an embedded preset.
|
|
74
89
|
*/
|
|
75
90
|
configure_with_profile(profile_json: string, model_json: string): void;
|
|
91
|
+
/**
|
|
92
|
+
* Host-owned crossfade marker. Rust does not lerp; the host mixer should fade.
|
|
93
|
+
*/
|
|
94
|
+
crossfade_to(clip_name: string, _duration: number, options_json: string): string;
|
|
95
|
+
drain_animation_events(): string;
|
|
96
|
+
/**
|
|
97
|
+
* Same rows as `evaluate_bone_frame_delta`, but only bones an active AU,
|
|
98
|
+
* translation, or viseme jaw value is currently rotating or moving.
|
|
99
|
+
* Neutral bones are omitted (no rest reset), so hosts can re-apply this
|
|
100
|
+
* after mixer playback without freezing clip-driven bones (Loom3 parity).
|
|
101
|
+
*/
|
|
102
|
+
evaluate_active_bone_frame(): Float32Array;
|
|
103
|
+
/**
|
|
104
|
+
* Same rows as `evaluate_morph_frame_delta`, but only channels with a
|
|
105
|
+
* non-zero live value or an explicit direct override (including zero).
|
|
106
|
+
* Hosts re-apply this after mixer playback so live
|
|
107
|
+
* AU/viseme state wins over clip tracks (Loom3 parity) without resetting
|
|
108
|
+
* channels the mixer owns.
|
|
109
|
+
*/
|
|
110
|
+
evaluate_active_morph_frame(): Float32Array;
|
|
76
111
|
/**
|
|
77
112
|
* Packed bone FrameDelta rows: `[bone_id, px, py, pz, qx, qy, qz, qw, flags] * N`
|
|
78
113
|
* flags: bit0 = has_position, bit1 = has_rotation. Composite rotations are
|
|
@@ -82,10 +117,62 @@ export class RuntimeCore {
|
|
|
82
117
|
evaluate_bone_frame_delta(): Float32Array;
|
|
83
118
|
/**
|
|
84
119
|
* Packed morph FrameDelta rows: `[mesh_id, morph_target_id, value, mode] * N`
|
|
120
|
+
* Live AU/viseme/direct morph state only — clip playback is host-owned.
|
|
85
121
|
*/
|
|
86
122
|
evaluate_morph_frame_delta(): Float32Array;
|
|
123
|
+
/**
|
|
124
|
+
* Emit only currently/previously owned bone properties. Position and
|
|
125
|
+
* rotation ownership are separate; inactive properties release once.
|
|
126
|
+
*/
|
|
127
|
+
evaluate_procedural_bone_frame(): Float32Array;
|
|
128
|
+
/**
|
|
129
|
+
* Emit active morphs plus one neutral release for previously owned
|
|
130
|
+
* targets. Direct overrides, including explicit zero, retain ownership.
|
|
131
|
+
* Untouched targets are omitted so constant mixer tracks keep their pose.
|
|
132
|
+
*/
|
|
133
|
+
evaluate_procedural_morph_frame(): Float32Array;
|
|
134
|
+
/**
|
|
135
|
+
* Scene extras for live state. Clip-driven scale/visibility/object writes
|
|
136
|
+
* are owned by the host mixer, so this returns an empty frame.
|
|
137
|
+
*/
|
|
138
|
+
evaluate_scene_frame(): string;
|
|
139
|
+
/**
|
|
140
|
+
* Full Body property writes, including neutral reference values. Hosts use
|
|
141
|
+
* this once when an explicit pose replaces direct legacy bone edits.
|
|
142
|
+
*/
|
|
143
|
+
evaluate_semantic_body_bone_frame(): Float32Array;
|
|
144
|
+
get_animation_clips(): string;
|
|
145
|
+
get_animation_state(clip_name: string): string;
|
|
87
146
|
get_au(id: number): number;
|
|
147
|
+
/**
|
|
148
|
+
* Stored live AU balance in [-1, 1], or neutral zero when unset or cleared.
|
|
149
|
+
*/
|
|
150
|
+
get_au_balance(id: number): number;
|
|
151
|
+
/**
|
|
152
|
+
* Current runtime tissue strength, independent of persisted profile defaults.
|
|
153
|
+
*/
|
|
154
|
+
get_au_mix_weight(id: number): number;
|
|
155
|
+
/**
|
|
156
|
+
* Resolved Body descriptors for the configured profile/model. Model
|
|
157
|
+
* inspection and descriptor resolution are cached until reconfiguration.
|
|
158
|
+
*/
|
|
159
|
+
get_body_controls_json(): string;
|
|
88
160
|
get_continuum(neg_au: number, pos_au: number): number;
|
|
161
|
+
get_playing_animations(): string;
|
|
162
|
+
/**
|
|
163
|
+
* Profile-derived motions and resolved model support for prompt/pose editors.
|
|
164
|
+
*/
|
|
165
|
+
get_semantic_pose_catalog_json(): string;
|
|
166
|
+
/**
|
|
167
|
+
* Stored direct viseme value, or zero for an unset or out-of-range slot.
|
|
168
|
+
* Host mixer output is not part of this live control state.
|
|
169
|
+
*/
|
|
170
|
+
get_viseme(index: number): number;
|
|
171
|
+
/**
|
|
172
|
+
* Stored direct viseme jaw scale, or one for an unset or out-of-range slot.
|
|
173
|
+
*/
|
|
174
|
+
get_viseme_jaw_scale(index: number): number;
|
|
175
|
+
load_animation_clips(clips_json: string): void;
|
|
89
176
|
/**
|
|
90
177
|
* Packed rows: `[au_id, side, mesh_id, morph_target_id, weight] * N`
|
|
91
178
|
* side: 0=left, 1=right, 2=center
|
|
@@ -117,29 +204,102 @@ export class RuntimeCore {
|
|
|
117
204
|
*/
|
|
118
205
|
load_viseme_morph_bindings(values: Float32Array): void;
|
|
119
206
|
constructor(viseme_slot_count: number);
|
|
207
|
+
pause_all_animations(): void;
|
|
208
|
+
pause_animation(clip_name: string): void;
|
|
209
|
+
/**
|
|
210
|
+
* Registry lookup only. Host animation libraries own play/lerp; this returns
|
|
211
|
+
* a host-owned action id marker when the clip exists in the registry.
|
|
212
|
+
*/
|
|
213
|
+
play_animation(clip_name: string, _options_json: string): string;
|
|
214
|
+
play_snippet(clip_name: string, curves_json: string, options_json: string): string;
|
|
215
|
+
play_typed_snippet(clip_name: string, channels_json: string, options_json: string): string;
|
|
216
|
+
register_animation_clip(clip_json: string, source: string): void;
|
|
217
|
+
/**
|
|
218
|
+
* Release a direct morph override so AU/viseme/mixer ownership can resume.
|
|
219
|
+
* A deliberate `set_morph(..., 0, ...)` still owns and masks the target;
|
|
220
|
+
* preview cleanup must release instead of installing a permanent zero.
|
|
221
|
+
* Target selection matches `set_morph`; returns overrides actually removed.
|
|
222
|
+
*/
|
|
223
|
+
release_morph(morph_name: string, mesh_names_json: string): number;
|
|
224
|
+
/**
|
|
225
|
+
* Index counterpart to `release_morph`, with `set_morph_index` selection.
|
|
226
|
+
*/
|
|
227
|
+
release_morph_index(morph_index: number, mesh_names_json: string): number;
|
|
228
|
+
/**
|
|
229
|
+
* Release owned morphs through the old renderer binding IDs before rebind.
|
|
230
|
+
*/
|
|
231
|
+
release_procedural_morph_frame(): Float32Array;
|
|
232
|
+
remove_animation_clip(clip_name: string): boolean;
|
|
233
|
+
/**
|
|
234
|
+
* Clear each unique configured Body action and bilateral balance together.
|
|
235
|
+
* Shared facial aliases are Body actions too. Preserve other actions,
|
|
236
|
+
* visemes, direct morph overrides, and authored/current morph mix weights.
|
|
237
|
+
*/
|
|
238
|
+
reset_body_controls(): void;
|
|
239
|
+
/**
|
|
240
|
+
* Forget ownership when renderer bindings are discarded. Before replacing
|
|
241
|
+
* bindings, apply release_procedural_morph_frame through the old IDs.
|
|
242
|
+
* Normal clear/reset deliberately retain tracking for the next frame.
|
|
243
|
+
*/
|
|
244
|
+
reset_procedural_frame_tracking(): void;
|
|
245
|
+
resume_all_animations(): void;
|
|
246
|
+
resume_animation(clip_name: string): void;
|
|
247
|
+
seek_animation(clip_name: string, time: number): void;
|
|
248
|
+
set_animation_blend_mode(clip_name: string, blend_mode: string): void;
|
|
249
|
+
set_animation_easing(clip_name: string, easing: string): void;
|
|
250
|
+
set_animation_intensity(clip_name: string, intensity: number): void;
|
|
251
|
+
set_animation_loop_mode(clip_name: string, loop_mode: string): void;
|
|
252
|
+
set_animation_repeat_count(clip_name: string, repeat_count: number): void;
|
|
253
|
+
set_animation_reverse(clip_name: string, reverse: boolean): void;
|
|
254
|
+
set_animation_speed(clip_name: string, speed: number): void;
|
|
255
|
+
set_animation_time_scale(time_scale: number): void;
|
|
120
256
|
set_au(id: number, value: number, balance: number): void;
|
|
121
257
|
set_au_mix_weight(id: number, weight: number): void;
|
|
122
258
|
/**
|
|
123
|
-
*
|
|
124
|
-
*
|
|
259
|
+
* Manual directional command: a nonzero value owns its configured pair.
|
|
260
|
+
* Negative values select the opposite direction. Zero clears only the
|
|
261
|
+
* named AU, so releasing an inactive slider does not stop its partner.
|
|
125
262
|
*/
|
|
126
263
|
set_au_signed(id: number, value: number, balance: number): void;
|
|
127
264
|
set_continuum(neg_au: number, pos_au: number, value: number, balance: number): void;
|
|
128
265
|
set_mixed_aus(ids: Uint32Array): void;
|
|
266
|
+
set_morph(morph_name: string, value: number, mesh_names_json: string): number;
|
|
267
|
+
set_morph_index(morph_index: number, value: number, mesh_names_json: string): number;
|
|
129
268
|
set_viseme(index: number, value: number): void;
|
|
130
269
|
set_viseme_jaw_scale(index: number, jaw_scale: number): void;
|
|
131
270
|
set_viseme_slot_count(count: number): void;
|
|
271
|
+
stop_all_animations(): void;
|
|
272
|
+
stop_animation(clip_name: string): void;
|
|
273
|
+
/**
|
|
274
|
+
* Set an AU immediately. Duration is ignored — host mixers own timed fades.
|
|
275
|
+
*/
|
|
276
|
+
transition_au(id: number, to: number, _duration_ms: number, balance: number): void;
|
|
277
|
+
/**
|
|
278
|
+
* Set morph(s) immediately. Duration is ignored — host mixers own timed fades.
|
|
279
|
+
*/
|
|
280
|
+
transition_morph(morph_name: string, to: number, _duration_ms: number, mesh_names_json: string): number;
|
|
281
|
+
/**
|
|
282
|
+
* Set morph index target(s) immediately. Duration is ignored.
|
|
283
|
+
*/
|
|
284
|
+
transition_morph_index(morph_index: number, to: number, _duration_ms: number, mesh_names_json: string): number;
|
|
285
|
+
/**
|
|
286
|
+
* Set a viseme immediately. Duration is ignored — host mixers own timed fades.
|
|
287
|
+
*/
|
|
288
|
+
transition_viseme(index: number, to: number, _duration_ms: number, jaw_scale: number): void;
|
|
289
|
+
/**
|
|
290
|
+
* Tick hook for hosts. Clip playback/lerp lives in the host animation
|
|
291
|
+
* library; Rust only exposes live AU/viseme state for packed frames.
|
|
292
|
+
*/
|
|
293
|
+
update(_dt_seconds: number): number;
|
|
294
|
+
update_clip_params(clip_name: string, params_json: string): boolean;
|
|
132
295
|
/**
|
|
133
|
-
*
|
|
296
|
+
* Compile and validate without registering a clip or changing live controls.
|
|
134
297
|
*/
|
|
135
|
-
|
|
136
|
-
transition_viseme(index: number, to: number, duration_ms: number, jaw_scale: number): void;
|
|
298
|
+
validate_semantic_animation_json(json: string, options_json: string): void;
|
|
137
299
|
/**
|
|
138
|
-
*
|
|
139
|
-
* values into the core state. Returns the number of still-active
|
|
140
|
-
* transitions so hosts know whether a frame delta re-evaluation is due.
|
|
300
|
+
* Validate and fill optional settings without changing runtime or renderer state.
|
|
141
301
|
*/
|
|
142
|
-
|
|
302
|
+
validate_semantic_pose_json(json: string): string;
|
|
143
303
|
static viseme_morph_binding_stride(): number;
|
|
144
304
|
viseme_slot_index(slot_id: string): number;
|
|
145
305
|
}
|
|
@@ -159,6 +319,8 @@ export class RuntimeCore {
|
|
|
159
319
|
*/
|
|
160
320
|
export function analyze_mesh_proportions(vertices: Float32Array, vertical_axis: number): Float32Array;
|
|
161
321
|
|
|
322
|
+
export function analyze_model_descriptor(model_json: string, clips_json: string, profile_json: string, options_json: string): string;
|
|
323
|
+
|
|
162
324
|
export function annotation_camera_framing_stride(): number;
|
|
163
325
|
|
|
164
326
|
/**
|
|
@@ -198,20 +360,41 @@ export function compose_template_fit_adjustment(fit: Float32Array, scale_multipl
|
|
|
198
360
|
|
|
199
361
|
export function compose_template_skeleton_fit_transform(fit_scale: number, fit_translation: Float32Array, manual_scale: number, manual_translation: Float32Array): Float32Array;
|
|
200
362
|
|
|
363
|
+
export function compute_humanoid_skeleton_template_rest_bounds(template_json: string): Float64Array;
|
|
364
|
+
|
|
201
365
|
export function core_abi_version(): number;
|
|
202
366
|
|
|
367
|
+
export function create_validation_skeleton_json(template_json: string): string;
|
|
368
|
+
|
|
369
|
+
export function default_hair_color_appearance_json(): string;
|
|
370
|
+
|
|
203
371
|
export function default_hair_physics_config_values(): Float32Array;
|
|
204
372
|
|
|
373
|
+
/**
|
|
374
|
+
* Execute a host-neutral Embody operation using JSON in and JSON out.
|
|
375
|
+
* This keeps CLJS and other browser hosts off the Rust data structures while
|
|
376
|
+
* ensuring all profile semantics execute inside Wasm.
|
|
377
|
+
*/
|
|
378
|
+
export function embody_request(request_json: string): string;
|
|
379
|
+
|
|
380
|
+
export function extract_humanoid_skeleton_template_json(model_json: string, options_json: string): string;
|
|
381
|
+
|
|
382
|
+
export function extract_model_data_json(model_json: string, clips_json: string): string;
|
|
383
|
+
|
|
205
384
|
/**
|
|
206
385
|
* Padding factor for a focus target of the given max dimension.
|
|
207
386
|
*/
|
|
208
387
|
export function focus_padding_factor(size: number, close_up_padding: number, zoom_padding: number, full_body_padding: number): number;
|
|
209
388
|
|
|
389
|
+
export function get_humanoid_skeleton_template_json(id: string): string;
|
|
390
|
+
|
|
210
391
|
/**
|
|
211
392
|
* Return the embedded preset JSON for a preset id (intake source of truth).
|
|
212
393
|
*/
|
|
213
394
|
export function get_preset_json(preset_id: string): string;
|
|
214
395
|
|
|
396
|
+
export function hair_color_presets_json(): string;
|
|
397
|
+
|
|
215
398
|
export function hair_config_stride(): number;
|
|
216
399
|
|
|
217
400
|
export function hair_head_state_stride(): number;
|
|
@@ -225,6 +408,10 @@ export function hair_state_stride(): number;
|
|
|
225
408
|
*/
|
|
226
409
|
export function has_preset(preset_id: string): boolean;
|
|
227
410
|
|
|
411
|
+
export function humanoid_skeleton_template_bone_names(template_json: string): string;
|
|
412
|
+
|
|
413
|
+
export function list_humanoid_skeleton_templates_json(): string;
|
|
414
|
+
|
|
228
415
|
/**
|
|
229
416
|
* Canonical embedded preset ids available inside the Wasm core.
|
|
230
417
|
*/
|
|
@@ -257,6 +444,8 @@ export function mesh_proportions_stride(): number;
|
|
|
257
444
|
|
|
258
445
|
export function normalize_camera_angle_degrees(angle: number): number;
|
|
259
446
|
|
|
447
|
+
export function normalize_hair_color_appearance_json(value_json: string, fallback_json: string): string;
|
|
448
|
+
|
|
260
449
|
export function pack_morph_frame_delta(mesh_ids: Uint32Array, morph_target_ids: Uint32Array, values: Float32Array, modes: Uint8Array): Float32Array;
|
|
261
450
|
|
|
262
451
|
export function packed_bone_frame_delta_stride(): number;
|
|
@@ -317,6 +506,8 @@ export function sample_marker_arc_curve(start: Float32Array, end: Float32Array,
|
|
|
317
506
|
*/
|
|
318
507
|
export function sample_marker_bezier_curve(start: Float32Array, end: Float32Array, segments: number): Float32Array;
|
|
319
508
|
|
|
509
|
+
export function screen_space_gaze_solution_stride(): number;
|
|
510
|
+
|
|
320
511
|
/**
|
|
321
512
|
* Separates overlapping marker endpoints while preserving each marker's
|
|
322
513
|
* surface anchor and leader-line length.
|
|
@@ -364,6 +555,62 @@ export function solve_full_body_framing(box_min: Float32Array, box_max: Float32A
|
|
|
364
555
|
|
|
365
556
|
export function solve_morph_batch(values: Float32Array, balances: Float32Array, mix_weights: Float32Array): Float32Array;
|
|
366
557
|
|
|
558
|
+
/**
|
|
559
|
+
* Solve a screen-space eye target against rendered-camera and character-eye
|
|
560
|
+
* geometry using the profile's authored AU rotation limits.
|
|
561
|
+
*
|
|
562
|
+
* Output layout (14 floats): combined target x/y, eye target x/y, head target
|
|
563
|
+
* x/y, total yaw/pitch degrees, camera-center yaw/pitch degrees, eye-to-camera
|
|
564
|
+
* distance, and viewer-target world x/y/z.
|
|
565
|
+
*
|
|
566
|
+
* The profile must describe the active rig and calibrated semantic yaw/pitch
|
|
567
|
+
* axes: neutral forward is model +Z, up is +Y, and head yaw precedes pitch.
|
|
568
|
+
* Bone availability/rest and optical-axis calibration are not encoded by this
|
|
569
|
+
* ABI. Missing or morph-only AUs have no inferred angular capacity. Shared eye
|
|
570
|
+
* outputs cannot represent vergence or independently calibrated eye ranges.
|
|
571
|
+
* Head follow is participation from model-neutral +Z toward the shared target;
|
|
572
|
+
* zero prefers neutral, with additional head movement allowed for eye overflow.
|
|
573
|
+
*/
|
|
574
|
+
export function solve_profile_screen_space_gaze(profile_json: string, screen_target: Float32Array, camera_position: Float32Array, camera_quaternion: Float32Array, gaze_origin: Float32Array, model_quaternion: Float32Array, vertical_fov_degrees: number, aspect: number, eyes_enabled: boolean, head_enabled: boolean, head_follow_fraction: number): Float32Array;
|
|
575
|
+
|
|
576
|
+
/**
|
|
577
|
+
* Normalized tracking controls span the active profile's signed head AU range
|
|
578
|
+
* (or eye range with the head disabled). At full head participation, +/-1 on
|
|
579
|
+
* an aligned display axis reaches the same rotation as its AU at intensity 1.
|
|
580
|
+
* Zero input retains the camera bearing, bounded by that range. Camera roll
|
|
581
|
+
* rotates display axes into the model frame. X/Y are clamped to [-1, 1]; Z is
|
|
582
|
+
* finite-target depth in meters and does not attenuate angular movement.
|
|
583
|
+
* Pass 1 for full head participation; smaller explicit fractions retain the
|
|
584
|
+
* existing allocation policy. Output layout matches the physical gaze solvers.
|
|
585
|
+
*/
|
|
586
|
+
export function solve_profile_tracking_gaze(profile_json: string, tracking_target: Float32Array, camera_position: Float32Array, camera_quaternion: Float32Array, gaze_origin: Float32Array, model_quaternion: Float32Array, eyes_enabled: boolean, head_enabled: boolean, head_follow_fraction: number, lock_head_to_camera: boolean, world_units_per_meter: number): Float32Array;
|
|
587
|
+
|
|
588
|
+
/**
|
|
589
|
+
* Solve a webcam/user target against the rendered camera. `viewer_target` is
|
|
590
|
+
* x/y in webcam NDC and z as estimated viewer distance behind the rendered
|
|
591
|
+
* camera in the same units as `camera_position` and `gaze_origin`. Hosts must
|
|
592
|
+
* convert estimated meters to scene units before calling. Zero x/y extends the
|
|
593
|
+
* eye-to-camera bearing; camera-right/up offsets retain the viewer projection
|
|
594
|
+
* without making eye contact depend on where the eyes sit in the image.
|
|
595
|
+
* `lock_head_to_camera` prefers the camera bearing while eyes can reach; it
|
|
596
|
+
* allows head overflow correction and follows the viewer with eyes disabled.
|
|
597
|
+
* Without that explicit lock, head follow participates from model-neutral +Z
|
|
598
|
+
* toward the shared target. A zero follow fraction does not imply camera lock.
|
|
599
|
+
* New consumers with metric viewer depth should use
|
|
600
|
+
* `solve_profile_viewer_space_gaze_scaled` to supply the scene conversion.
|
|
601
|
+
*/
|
|
602
|
+
export function solve_profile_viewer_space_gaze(profile_json: string, viewer_target: Float32Array, camera_position: Float32Array, camera_quaternion: Float32Array, gaze_origin: Float32Array, model_quaternion: Float32Array, viewer_vertical_fov_degrees: number, viewer_aspect: number, eyes_enabled: boolean, head_enabled: boolean, head_follow_fraction: number, lock_head_to_camera: boolean): Float32Array;
|
|
603
|
+
|
|
604
|
+
/**
|
|
605
|
+
* Solve a webcam/user target with an explicit scene-unit conversion.
|
|
606
|
+
* `viewer_target` x/y are normalized webcam coordinates and z is estimated
|
|
607
|
+
* viewer distance in meters. `world_units_per_meter` converts both that depth
|
|
608
|
+
* and its projected lateral offsets into the units of `camera_position` and
|
|
609
|
+
* `gaze_origin`. Positive finite scales are accepted; malformed scales use 1.
|
|
610
|
+
* The output layout and head/eye allocation match the unscaled export.
|
|
611
|
+
*/
|
|
612
|
+
export function solve_profile_viewer_space_gaze_scaled(profile_json: string, viewer_target: Float32Array, camera_position: Float32Array, camera_quaternion: Float32Array, gaze_origin: Float32Array, model_quaternion: Float32Array, viewer_vertical_fov_degrees: number, viewer_aspect: number, eyes_enabled: boolean, head_enabled: boolean, head_follow_fraction: number, lock_head_to_camera: boolean, world_units_per_meter: number): Float32Array;
|
|
613
|
+
|
|
367
614
|
/**
|
|
368
615
|
* Solve a uniform scale and translation for placing a template skeleton inside a mesh.
|
|
369
616
|
*
|
|
@@ -403,6 +650,20 @@ export function template_skeleton_fit_transform_stride(): number;
|
|
|
403
650
|
*/
|
|
404
651
|
export function validate_generated_template_fit_metadata(template_id: string, source_character_id: string, metadata: Float32Array): number;
|
|
405
652
|
|
|
653
|
+
/**
|
|
654
|
+
* Resolve and validate VRM humanoid roles through profile node keys against a
|
|
655
|
+
* renderer-neutral model descriptor. This is characterization metadata only;
|
|
656
|
+
* it does not create or apply pose frame writes.
|
|
657
|
+
*/
|
|
658
|
+
export function validate_humanoid_characterization(profile_json: string, model_json: string): string;
|
|
659
|
+
|
|
660
|
+
/**
|
|
661
|
+
* Validate an authored profile against a renderer-neutral model descriptor.
|
|
662
|
+
* Three.js objects are reduced to this descriptor by the thin host adapter;
|
|
663
|
+
* all mapping analysis and correction generation stays in Rust.
|
|
664
|
+
*/
|
|
665
|
+
export function validate_profile_model(profile_json: string, model_json: string, options_json: string): string;
|
|
666
|
+
|
|
406
667
|
/**
|
|
407
668
|
* World-space camera direction for a model-relative camera angle.
|
|
408
669
|
* `model_quat` is the model's world quaternion `[x, y, z, w]`
|
|
@@ -414,30 +675,55 @@ export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembl
|
|
|
414
675
|
|
|
415
676
|
export interface InitOutput {
|
|
416
677
|
readonly memory: WebAssembly.Memory;
|
|
417
|
-
readonly
|
|
418
|
-
readonly
|
|
419
|
-
readonly
|
|
420
|
-
readonly
|
|
421
|
-
readonly
|
|
422
|
-
readonly
|
|
423
|
-
readonly
|
|
424
|
-
readonly
|
|
425
|
-
readonly merge_embedded_preset: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
|
426
|
-
readonly merge_preset_profile: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
|
427
|
-
readonly resolve_embedded_profile_view: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
|
428
|
-
readonly resolve_profile_view: (a: number, b: number) => [number, number, number, number];
|
|
678
|
+
readonly embody_request: (a: number, b: number) => [number, number, number, number];
|
|
679
|
+
readonly compute_humanoid_skeleton_template_rest_bounds: (a: number, b: number) => [number, number, number, number];
|
|
680
|
+
readonly create_validation_skeleton_json: (a: number, b: number) => [number, number, number, number];
|
|
681
|
+
readonly extract_humanoid_skeleton_template_json: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
|
682
|
+
readonly get_humanoid_skeleton_template_json: (a: number, b: number) => [number, number, number, number];
|
|
683
|
+
readonly humanoid_skeleton_template_bone_names: (a: number, b: number) => [number, number, number, number];
|
|
684
|
+
readonly list_humanoid_skeleton_templates_json: () => [number, number, number, number];
|
|
685
|
+
readonly validate_generated_template_fit_metadata: (a: number, b: number, c: number, d: number, e: number, f: number) => number;
|
|
429
686
|
readonly __wbg_runtimecore_free: (a: number, b: number) => void;
|
|
687
|
+
readonly compose_template_skeleton_fit_transform: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
|
|
688
|
+
readonly core_abi_version: () => number;
|
|
689
|
+
readonly pack_morph_frame_delta: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => [number, number];
|
|
690
|
+
readonly packed_bone_frame_delta_stride: () => number;
|
|
691
|
+
readonly packed_morph_frame_delta_stride: () => number;
|
|
430
692
|
readonly runtimecore_active_transition_count: (a: number) => number;
|
|
693
|
+
readonly runtimecore_apply_semantic_pose_json: (a: number, b: number, c: number) => [number, number];
|
|
431
694
|
readonly runtimecore_au_morph_binding_stride: () => number;
|
|
695
|
+
readonly runtimecore_build_clip: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number, number, number];
|
|
696
|
+
readonly runtimecore_build_semantic_clip: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number, number, number];
|
|
697
|
+
readonly runtimecore_build_typed_clip: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number, number, number];
|
|
698
|
+
readonly runtimecore_capture_semantic_pose_json: (a: number) => [number, number];
|
|
699
|
+
readonly runtimecore_cleanup_snippet: (a: number, b: number, c: number) => number;
|
|
432
700
|
readonly runtimecore_clear: (a: number) => void;
|
|
433
701
|
readonly runtimecore_clear_transitions: (a: number) => void;
|
|
434
702
|
readonly runtimecore_configure: (a: number, b: number, c: number, d: number, e: number) => [number, number];
|
|
435
703
|
readonly runtimecore_configure_with_preset: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number];
|
|
436
704
|
readonly runtimecore_configure_with_profile: (a: number, b: number, c: number, d: number, e: number) => [number, number];
|
|
705
|
+
readonly runtimecore_crossfade_to: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
|
|
706
|
+
readonly runtimecore_drain_animation_events: (a: number) => [number, number, number, number];
|
|
707
|
+
readonly runtimecore_evaluate_active_bone_frame: (a: number) => [number, number];
|
|
708
|
+
readonly runtimecore_evaluate_active_morph_frame: (a: number) => [number, number];
|
|
437
709
|
readonly runtimecore_evaluate_bone_frame_delta: (a: number) => [number, number];
|
|
438
710
|
readonly runtimecore_evaluate_morph_frame_delta: (a: number) => [number, number];
|
|
711
|
+
readonly runtimecore_evaluate_procedural_bone_frame: (a: number) => [number, number];
|
|
712
|
+
readonly runtimecore_evaluate_procedural_morph_frame: (a: number) => [number, number];
|
|
713
|
+
readonly runtimecore_evaluate_scene_frame: (a: number) => [number, number, number, number];
|
|
714
|
+
readonly runtimecore_evaluate_semantic_body_bone_frame: (a: number) => [number, number];
|
|
715
|
+
readonly runtimecore_get_animation_clips: (a: number) => [number, number, number, number];
|
|
716
|
+
readonly runtimecore_get_animation_state: (a: number, b: number, c: number) => [number, number, number, number];
|
|
439
717
|
readonly runtimecore_get_au: (a: number, b: number) => number;
|
|
718
|
+
readonly runtimecore_get_au_balance: (a: number, b: number) => number;
|
|
719
|
+
readonly runtimecore_get_au_mix_weight: (a: number, b: number) => number;
|
|
720
|
+
readonly runtimecore_get_body_controls_json: (a: number) => [number, number];
|
|
440
721
|
readonly runtimecore_get_continuum: (a: number, b: number, c: number) => number;
|
|
722
|
+
readonly runtimecore_get_playing_animations: (a: number) => [number, number, number, number];
|
|
723
|
+
readonly runtimecore_get_semantic_pose_catalog_json: (a: number) => [number, number];
|
|
724
|
+
readonly runtimecore_get_viseme: (a: number, b: number) => number;
|
|
725
|
+
readonly runtimecore_get_viseme_jaw_scale: (a: number, b: number) => number;
|
|
726
|
+
readonly runtimecore_load_animation_clips: (a: number, b: number, c: number) => [number, number];
|
|
441
727
|
readonly runtimecore_load_au_morph_bindings: (a: number, b: number, c: number) => void;
|
|
442
728
|
readonly runtimecore_load_bone_rest_transforms: (a: number, b: number, c: number) => void;
|
|
443
729
|
readonly runtimecore_load_bone_translations: (a: number, b: number, c: number) => void;
|
|
@@ -446,33 +732,72 @@ export interface InitOutput {
|
|
|
446
732
|
readonly runtimecore_load_viseme_jaw_amounts: (a: number, b: number, c: number) => void;
|
|
447
733
|
readonly runtimecore_load_viseme_morph_bindings: (a: number, b: number, c: number) => void;
|
|
448
734
|
readonly runtimecore_new: (a: number) => number;
|
|
735
|
+
readonly runtimecore_pause_all_animations: (a: number) => void;
|
|
736
|
+
readonly runtimecore_pause_animation: (a: number, b: number, c: number) => void;
|
|
737
|
+
readonly runtimecore_play_animation: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
|
|
738
|
+
readonly runtimecore_play_snippet: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number, number, number];
|
|
739
|
+
readonly runtimecore_play_typed_snippet: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number, number, number];
|
|
740
|
+
readonly runtimecore_register_animation_clip: (a: number, b: number, c: number, d: number, e: number) => [number, number];
|
|
741
|
+
readonly runtimecore_release_morph: (a: number, b: number, c: number, d: number, e: number) => number;
|
|
742
|
+
readonly runtimecore_release_morph_index: (a: number, b: number, c: number, d: number) => number;
|
|
743
|
+
readonly runtimecore_release_procedural_morph_frame: (a: number) => [number, number];
|
|
744
|
+
readonly runtimecore_reset_body_controls: (a: number) => void;
|
|
745
|
+
readonly runtimecore_reset_procedural_frame_tracking: (a: number) => void;
|
|
746
|
+
readonly runtimecore_resume_all_animations: (a: number) => void;
|
|
747
|
+
readonly runtimecore_resume_animation: (a: number, b: number, c: number) => void;
|
|
748
|
+
readonly runtimecore_seek_animation: (a: number, b: number, c: number, d: number) => void;
|
|
749
|
+
readonly runtimecore_set_animation_blend_mode: (a: number, b: number, c: number, d: number, e: number) => [number, number];
|
|
750
|
+
readonly runtimecore_set_animation_easing: (a: number, b: number, c: number, d: number, e: number) => [number, number];
|
|
751
|
+
readonly runtimecore_set_animation_intensity: (a: number, b: number, c: number, d: number) => void;
|
|
752
|
+
readonly runtimecore_set_animation_loop_mode: (a: number, b: number, c: number, d: number, e: number) => [number, number];
|
|
753
|
+
readonly runtimecore_set_animation_repeat_count: (a: number, b: number, c: number, d: number) => void;
|
|
754
|
+
readonly runtimecore_set_animation_reverse: (a: number, b: number, c: number, d: number) => void;
|
|
755
|
+
readonly runtimecore_set_animation_speed: (a: number, b: number, c: number, d: number) => void;
|
|
756
|
+
readonly runtimecore_set_animation_time_scale: (a: number, b: number) => void;
|
|
449
757
|
readonly runtimecore_set_au: (a: number, b: number, c: number, d: number) => void;
|
|
450
758
|
readonly runtimecore_set_au_mix_weight: (a: number, b: number, c: number) => void;
|
|
451
759
|
readonly runtimecore_set_au_signed: (a: number, b: number, c: number, d: number) => void;
|
|
452
760
|
readonly runtimecore_set_continuum: (a: number, b: number, c: number, d: number, e: number) => void;
|
|
453
761
|
readonly runtimecore_set_mixed_aus: (a: number, b: number, c: number) => void;
|
|
762
|
+
readonly runtimecore_set_morph: (a: number, b: number, c: number, d: number, e: number, f: number) => number;
|
|
763
|
+
readonly runtimecore_set_morph_index: (a: number, b: number, c: number, d: number, e: number) => number;
|
|
454
764
|
readonly runtimecore_set_viseme: (a: number, b: number, c: number) => void;
|
|
455
765
|
readonly runtimecore_set_viseme_jaw_scale: (a: number, b: number, c: number) => void;
|
|
456
766
|
readonly runtimecore_set_viseme_slot_count: (a: number, b: number) => void;
|
|
767
|
+
readonly runtimecore_stop_all_animations: (a: number) => void;
|
|
768
|
+
readonly runtimecore_stop_animation: (a: number, b: number, c: number) => void;
|
|
457
769
|
readonly runtimecore_transition_au: (a: number, b: number, c: number, d: number, e: number) => void;
|
|
770
|
+
readonly runtimecore_transition_morph: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => number;
|
|
771
|
+
readonly runtimecore_transition_morph_index: (a: number, b: number, c: number, d: number, e: number, f: number) => number;
|
|
458
772
|
readonly runtimecore_transition_viseme: (a: number, b: number, c: number, d: number, e: number) => void;
|
|
459
773
|
readonly runtimecore_update: (a: number, b: number) => number;
|
|
460
|
-
readonly
|
|
774
|
+
readonly runtimecore_update_clip_params: (a: number, b: number, c: number, d: number, e: number) => [number, number, number];
|
|
775
|
+
readonly runtimecore_validate_semantic_animation_json: (a: number, b: number, c: number, d: number, e: number) => [number, number];
|
|
776
|
+
readonly runtimecore_validate_semantic_pose_json: (a: number, b: number, c: number) => [number, number, number, number];
|
|
461
777
|
readonly runtimecore_viseme_slot_index: (a: number, b: number, c: number) => number;
|
|
462
|
-
readonly
|
|
463
|
-
readonly
|
|
778
|
+
readonly runtimecore_remove_animation_clip: (a: number, b: number, c: number) => number;
|
|
779
|
+
readonly runtimecore_viseme_morph_binding_stride: () => number;
|
|
780
|
+
readonly template_skeleton_fit_transform_stride: () => number;
|
|
781
|
+
readonly marker_endpoint_stride: () => number;
|
|
782
|
+
readonly marker_visibility_animation_factors: (a: number, b: number) => [number, number];
|
|
783
|
+
readonly passes_marker_camera_angle_gate: (a: number, b: number, c: number) => number;
|
|
784
|
+
readonly resolve_viewport_constrained_line_scale: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number];
|
|
785
|
+
readonly resolve_viewport_safe_bounds: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number];
|
|
786
|
+
readonly sample_marker_arc_curve: (a: number, b: number, c: number, d: number, e: number) => [number, number];
|
|
787
|
+
readonly sample_marker_bezier_curve: (a: number, b: number, c: number, d: number, e: number) => [number, number];
|
|
788
|
+
readonly separate_overlapping_marker_endpoints: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number];
|
|
789
|
+
readonly should_show_marker: (a: number, b: number, c: number, d: number) => number;
|
|
790
|
+
readonly marker_visibility_factors_stride: () => number;
|
|
464
791
|
readonly __wbg_hairphysicssolver_free: (a: number, b: number) => void;
|
|
465
|
-
readonly
|
|
466
|
-
readonly
|
|
467
|
-
readonly
|
|
468
|
-
readonly
|
|
469
|
-
readonly
|
|
470
|
-
readonly
|
|
471
|
-
readonly cameraorbit_sample: (a: number, b: number) => [number, number];
|
|
472
|
-
readonly compose_template_skeleton_fit_transform: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
|
|
473
|
-
readonly core_abi_version: () => number;
|
|
792
|
+
readonly build_hair_gravity_curves: (a: number, b: number) => [number, number, number, number];
|
|
793
|
+
readonly build_hair_idle_curves: (a: number, b: number, c: number) => [number, number, number, number];
|
|
794
|
+
readonly build_hair_impulse_curves: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
|
|
795
|
+
readonly compile_clip: (a: number, b: number) => [number, number, number, number];
|
|
796
|
+
readonly compile_clip_curves: (a: number, b: number) => [number, number, number, number];
|
|
797
|
+
readonly default_hair_color_appearance_json: () => [number, number, number, number];
|
|
474
798
|
readonly default_hair_physics_config_values: () => [number, number];
|
|
475
|
-
readonly
|
|
799
|
+
readonly get_preset_json: (a: number, b: number) => [number, number, number, number];
|
|
800
|
+
readonly hair_color_presets_json: () => [number, number, number, number];
|
|
476
801
|
readonly hair_config_stride: () => number;
|
|
477
802
|
readonly hair_head_state_stride: () => number;
|
|
478
803
|
readonly hair_morph_output_stride: () => number;
|
|
@@ -483,36 +808,47 @@ export interface InitOutput {
|
|
|
483
808
|
readonly hairphysicssolver_reset: (a: number) => void;
|
|
484
809
|
readonly hairphysicssolver_set_config: (a: number, b: number, c: number) => void;
|
|
485
810
|
readonly hairphysicssolver_update: (a: number, b: number, c: number, d: number) => [number, number];
|
|
811
|
+
readonly has_preset: (a: number, b: number) => number;
|
|
812
|
+
readonly list_presets: () => [number, number];
|
|
813
|
+
readonly merge_embedded_preset: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
|
814
|
+
readonly merge_preset_profile: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
|
815
|
+
readonly normalize_hair_color_appearance_json: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
|
816
|
+
readonly resolve_embedded_profile_view: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
|
817
|
+
readonly resolve_profile_view: (a: number, b: number) => [number, number, number, number];
|
|
818
|
+
readonly validate_humanoid_characterization: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
|
819
|
+
readonly validate_profile_model: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
|
|
820
|
+
readonly __wbg_cameraflight_free: (a: number, b: number) => void;
|
|
821
|
+
readonly __wbg_cameraorbit_free: (a: number, b: number) => void;
|
|
822
|
+
readonly analyze_model_descriptor: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => [number, number, number, number];
|
|
823
|
+
readonly annotation_camera_framing_stride: () => number;
|
|
824
|
+
readonly cameraflight_duration_ms: (a: number) => number;
|
|
825
|
+
readonly cameraflight_new: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => number;
|
|
826
|
+
readonly cameraflight_sample: (a: number, b: number) => [number, number];
|
|
827
|
+
readonly cameraorbit_duration_ms: (a: number) => number;
|
|
828
|
+
readonly cameraorbit_new: (a: number, b: number, c: number, d: number, e: number) => number;
|
|
829
|
+
readonly cameraorbit_sample: (a: number, b: number) => [number, number];
|
|
830
|
+
readonly extract_model_data_json: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
|
831
|
+
readonly focus_padding_factor: (a: number, b: number, c: number, d: number) => number;
|
|
486
832
|
readonly normalize_camera_angle_degrees: (a: number) => number;
|
|
487
|
-
readonly pack_morph_frame_delta: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => [number, number];
|
|
488
|
-
readonly packed_bone_frame_delta_stride: () => number;
|
|
489
833
|
readonly resolve_auto_closeup_angle: (a: number, b: number, c: number, d: number, e: number) => number;
|
|
490
834
|
readonly resolve_focus_camera_direction: (a: number, b: number, c: number, d: number, e: number) => [number, number];
|
|
835
|
+
readonly screen_space_gaze_solution_stride: () => number;
|
|
491
836
|
readonly solve_focus_framing: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number) => [number, number];
|
|
492
837
|
readonly solve_full_body_framing: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number) => [number, number];
|
|
838
|
+
readonly solve_profile_screen_space_gaze: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number, p: number, q: number) => [number, number, number, number];
|
|
839
|
+
readonly solve_profile_tracking_gaze: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number, p: number, q: number) => [number, number, number, number];
|
|
840
|
+
readonly solve_profile_viewer_space_gaze: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number, p: number, q: number, r: number) => [number, number, number, number];
|
|
841
|
+
readonly solve_profile_viewer_space_gaze_scaled: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number, p: number, q: number, r: number, s: number) => [number, number, number, number];
|
|
493
842
|
readonly world_direction_for_camera_angle: (a: number, b: number, c: number) => [number, number];
|
|
494
843
|
readonly camera_flight_sample_stride: () => number;
|
|
495
|
-
readonly packed_morph_frame_delta_stride: () => number;
|
|
496
|
-
readonly template_skeleton_fit_transform_stride: () => number;
|
|
497
844
|
readonly analyze_mesh_proportions: (a: number, b: number, c: number) => [number, number];
|
|
498
845
|
readonly compose_template_fit_adjustment: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
|
|
499
|
-
readonly marker_endpoint_stride: () => number;
|
|
500
|
-
readonly marker_visibility_animation_factors: (a: number, b: number) => [number, number];
|
|
501
846
|
readonly mesh_proportions_stride: () => number;
|
|
502
|
-
readonly passes_marker_camera_angle_gate: (a: number, b: number, c: number) => number;
|
|
503
|
-
readonly resolve_viewport_constrained_line_scale: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number];
|
|
504
|
-
readonly resolve_viewport_safe_bounds: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number];
|
|
505
|
-
readonly sample_marker_arc_curve: (a: number, b: number, c: number, d: number, e: number) => [number, number];
|
|
506
|
-
readonly sample_marker_bezier_curve: (a: number, b: number, c: number, d: number, e: number) => [number, number];
|
|
507
|
-
readonly separate_overlapping_marker_endpoints: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number];
|
|
508
|
-
readonly should_show_marker: (a: number, b: number, c: number, d: number) => number;
|
|
509
847
|
readonly solve_axis_quaternion: (a: number, b: number, c: number, d: number) => [number, number];
|
|
510
848
|
readonly solve_bilateral_values: (a: number, b: number) => [number, number];
|
|
511
849
|
readonly solve_morph_batch: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
|
|
512
850
|
readonly solve_template_skeleton_fit: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
|
|
513
851
|
readonly template_skeleton_fit_solution_stride: () => number;
|
|
514
|
-
readonly validate_generated_template_fit_metadata: (a: number, b: number, c: number, d: number, e: number, f: number) => number;
|
|
515
|
-
readonly marker_visibility_factors_stride: () => number;
|
|
516
852
|
readonly __wbindgen_externrefs: WebAssembly.Table;
|
|
517
853
|
readonly __wbindgen_malloc: (a: number, b: number) => number;
|
|
518
854
|
readonly __wbindgen_free: (a: number, b: number, c: number) => void;
|