@lovelace_lol/embody 0.0.14 → 0.0.16

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.
@@ -33,6 +33,17 @@ export class AnnotationRuntime {
33
33
  needs_frame(): boolean;
34
34
  constructor(settings_json: string);
35
35
  observe_model(model_json: string): void;
36
+ /**
37
+ * Packed world-space XYZ observations in the prepared vertex order. Stale,
38
+ * incomplete or nonfinite observations leave the last valid anchor intact.
39
+ */
40
+ observe_morph_anchor(generation: number, plan_id: number, positions: Float32Array): boolean;
41
+ /**
42
+ * Native geometry identities/versions advance this per-object revision.
43
+ * Returns true when new geometry must be supplied. Retires old plan IDs
44
+ * without changing the region generation, marker IDs or reveal state.
45
+ */
46
+ observe_morph_geometry(generation: number, object_id: number, revision: number, morph_names_json: string): boolean;
36
47
  /**
37
48
  * Native hit observations are [marker id, nearest distance], with infinity for no hit.
38
49
  */
@@ -51,6 +62,12 @@ export class AnnotationRuntime {
51
62
  * tied to this generation; a stale query cannot resurrect cleared markers.
52
63
  */
53
64
  plan_markers(morph_anchors_json: string): string;
65
+ /**
66
+ * Prepare an attachment for this generation from mesh-space geometry.
67
+ * Returns [plan id, vertex indices...] or an empty array for a fallback anchor.
68
+ * Report geometry changes with observe_morph_geometry before preparing replacements.
69
+ */
70
+ prepare_morph_anchor(generation: number, object_id: number, region_name: string, base: Float32Array, morphs: Float32Array, relative: boolean): Uint32Array;
54
71
  revision(): number;
55
72
  set_model(model_json: string): void;
56
73
  snapshot(): string;
@@ -140,6 +157,15 @@ export class NativePlaybackSession {
140
157
  export class RuntimeCore {
141
158
  free(): void;
142
159
  [Symbol.dispose](): void;
160
+ /**
161
+ * Compatibility impulses enter the same continuous state; they do not
162
+ * start an independent clip, reset its phase or replace head history.
163
+ */
164
+ add_hair_response_impulse(horizontal: number, vertical: number): void;
165
+ /**
166
+ * Host supplies elapsed seconds from its existing render clock, independent of clip speed.
167
+ */
168
+ advance_mesh_highlight(delta_seconds: number): string;
143
169
  static au_morph_binding_stride(): number;
144
170
  /**
145
171
  * Begin one host command; its concrete destinations determine which native
@@ -153,16 +179,20 @@ export class RuntimeCore {
153
179
  */
154
180
  build_hair_gravity_clip(name: string, pitch: number, duration_seconds: number, options_json: string): string;
155
181
  /**
156
- * Compile the current live semantic controls into ordinary native tracks.
157
- * The connector captures inherited starts at play time; Rust never ticks
158
- * or interpolates these samples. Empty output relinquishes all live tracks.
182
+ * Advance one character-owned simulation from the renderer's delta and
183
+ * actual blended local head quaternion. Constant additive morph samples
184
+ * are consumed by one persistent native action on its next mixer frame.
185
+ * This does not register a clip or change live AU/viseme/morph controls.
159
186
  */
160
- build_live_clip(name: string, duration_seconds: number): string;
187
+ build_hair_response_clip(name: string, head_quaternion_json: string, dt_seconds: number, options_json: string): string;
161
188
  /**
162
- * Compile relinquished live targets back to their reference values. Run
163
- * this clip with finalPose=release so native ownership ends at completion.
189
+ * Compile the current live semantic controls into ordinary native tracks.
190
+ * `inherit_start` marks timed tracks as continuing from the current pose;
191
+ * the Three adapter resolves it from each live target's own outgoing
192
+ * action (not the mixed pose) at play time. Rust never ticks or
193
+ * interpolates these samples. Empty output relinquishes all live tracks.
164
194
  */
165
- build_live_release_clip(name: string, previous_clip_json: string, duration_seconds: number): string;
195
+ build_live_clip(name: string, duration_seconds: number): string;
166
196
  build_typed_clip(clip_name: string, channels_json: string, options_json: string): string;
167
197
  cleanup_snippet(clip_name: string): boolean;
168
198
  clear(): void;
@@ -214,6 +244,10 @@ export class RuntimeCore {
214
244
  * viseme jaw rotation is applied as an absolute packed frame write.
215
245
  */
216
246
  evaluate_bone_frame_delta(): Float32Array;
247
+ /**
248
+ * Complete versioned snapshot; omitted IDs must have previous preview resources removed.
249
+ */
250
+ evaluate_mesh_highlight_frame(): string;
217
251
  /**
218
252
  * Packed morph FrameDelta rows: `[mesh_id, morph_target_id, value, mode] * N`
219
253
  * Live AU/viseme/direct morph state only — clip playback is host-owned.
@@ -255,6 +289,11 @@ export class RuntimeCore {
255
289
  * adapter fallback. Explicit empty/null mappings remain empty.
256
290
  */
257
291
  get_hair_config_json(): string;
292
+ /**
293
+ * Resolved head role and captured local reference; null leaves ambient
294
+ * hair available without inventing a preset or renderer-side rig mapping.
295
+ */
296
+ get_hair_head_binding_json(): string;
258
297
  get_missing_hair_morph_targets_json(available_json: string): string;
259
298
  /**
260
299
  * Stored direct viseme value, or zero for an unset or out-of-range slot.
@@ -266,6 +305,7 @@ export class RuntimeCore {
266
305
  */
267
306
  get_viseme_jaw_scale(index: number): number;
268
307
  has_left_right_bones(au_id: number): boolean;
308
+ is_hair_response_paused(): boolean;
269
309
  live_command_targets_json(): string;
270
310
  load_animation_clips(clips_json: string): void;
271
311
  /**
@@ -295,7 +335,33 @@ export class RuntimeCore {
295
335
  * Packed rows: `[viseme_index, mesh_id, morph_target_id, weight] * N`
296
336
  */
297
337
  load_viseme_morph_bindings(values: Float32Array): void;
338
+ /**
339
+ * Distance from a slot's current contribution to `destination_json`
340
+ * (`{auId: value}`), measured along profile continuum pairs. Travel is
341
+ * reversed only against an `unfinished` slot. A missing slot is at zero.
342
+ * Returns `{distance, reversal, current}`.
343
+ */
344
+ measure_au_goal(name: string, time: number, weight: number, destination_json: string, unfinished: boolean): string;
298
345
  constructor(viseme_slot_count: number);
346
+ /**
347
+ * One slot's own AU contribution, `{auId: value}`, at the host's native
348
+ * action time and effective weight; `null` when the slot is not readable.
349
+ */
350
+ read_semantic_slot(name: string, time: number, weight: number): string;
351
+ /**
352
+ * Live AU state plus every listed slot's contribution. `slots_json` is
353
+ * `[{name, time, weight}]` for the host's active actions. Returns
354
+ * `{live, animated, total}`; unreadable names are the host's to report.
355
+ */
356
+ read_semantic_state(slots_json: string): string;
357
+ /**
358
+ * Record the semantic AU keys of an admitted AU-curve clip slot. The
359
+ * same-name slot recorded earlier is the predecessor: `predecessor_time`
360
+ * is its native action time (NaN when absent) and `weight_ratio` its
361
+ * effective weight divided by the incoming weight, as for physical
362
+ * inheritance. Only numeric AU curves are kept.
363
+ */
364
+ record_semantic_slot(name: string, curves_json: string, intensity_scale: number, easing: string, predecessor_time: number, weight_ratio: number): void;
299
365
  register_animation_clip(clip_json: string, source: string): void;
300
366
  /**
301
367
  * Release a direct morph override so AU/viseme/mixer ownership can resume.
@@ -312,7 +378,17 @@ export class RuntimeCore {
312
378
  * Release owned morphs through the old renderer binding IDs before rebind.
313
379
  */
314
380
  release_procedural_morph_frame(): Float32Array;
381
+ /**
382
+ * Forget a slot once its native action is released or replaced by a
383
+ * non-curve source. Returns whether a slot existed.
384
+ */
385
+ release_semantic_slot(name: string): boolean;
315
386
  remove_animation_clip(clip_name: string): boolean;
387
+ /**
388
+ * Transient preview request. Names resolve against the configured model in Rust.
389
+ */
390
+ request_mesh_highlight(name?: string | null, color?: number | null, intensity?: number | null): void;
391
+ reset_hair_response(): void;
316
392
  /**
317
393
  * Forget ownership when renderer bindings are discarded. Before replacing
318
394
  * bindings, apply release_procedural_morph_frame through the old IDs.
@@ -324,6 +400,10 @@ export class RuntimeCore {
324
400
  * transforms; the profile resolves which tracks represent head motion.
325
401
  */
326
402
  resolve_hair_motion_json(tracks_json: string, additive: boolean): string;
403
+ /**
404
+ * Apply an in-place strength/easing edit to a running slot.
405
+ */
406
+ restyle_semantic_slot(name: string, intensity_scale: number, easing: string): boolean;
327
407
  set_au(id: number, value: number, balance: number): void;
328
408
  set_au_mix_weight(id: number, weight: number): void;
329
409
  /**
@@ -334,6 +414,11 @@ export class RuntimeCore {
334
414
  set_au_signed(id: number, value: number, balance: number): void;
335
415
  set_continuum(neg_au: number, pos_au: number, value: number, balance: number): void;
336
416
  set_hair_config_json(update_json: string): string;
417
+ /**
418
+ * Suspension intent survives empty mappings, enable changes and dynamics
419
+ * resets. Profile replacement starts a new character configuration.
420
+ */
421
+ set_hair_response_paused(paused: boolean): void;
337
422
  set_mixed_aus(ids: Uint32Array): void;
338
423
  set_morph(morph_name: string, value: number, mesh_names_json: string): number;
339
424
  set_morph_index(morph_index: number, value: number, mesh_names_json: string): number;
@@ -371,6 +456,12 @@ export function annotation_camera_framing_stride(): number;
371
456
 
372
457
  export function annotation_marker_frame_stride(): number;
373
458
 
459
+ /**
460
+ * Final mesh-space attachment vertices as [index, influence] pairs. The same
461
+ * selection is used by AnnotationRuntime; native adapters only evaluate poses.
462
+ */
463
+ export function annotation_morph_anchor_candidates(region_json: string, base: Float32Array, morphs: Float32Array, relative: boolean): Float32Array;
464
+
374
465
  export function annotation_morph_candidates(base: Float32Array, morphs: Float32Array, relative: boolean): Float32Array;
375
466
 
376
467
  export function annotation_morph_center(region_json: string, candidates: Float32Array): Float32Array;
@@ -379,6 +470,12 @@ export function annotation_point_bounds(points: Float32Array): Float32Array;
379
470
 
380
471
  export function annotation_query(operation: string, payload_json: string): string;
381
472
 
473
+ /**
474
+ * Reduce packed [world x, world y, world z, influence] observations without
475
+ * selecting vertices again. Invalid/incomplete observations return no point.
476
+ */
477
+ export function annotation_weighted_anchor(samples: Float32Array): Float32Array;
478
+
382
479
  /**
383
480
  * Build head-pitch gravity hair morph curves.
384
481
  */
@@ -422,6 +519,15 @@ export function core_abi_version(): number;
422
519
 
423
520
  export function create_validation_skeleton_json(template_json: string): string;
424
521
 
522
+ export function decode_legacy_animation(animation_json: string, profile_json: string): string;
523
+
524
+ export function decode_legacy_pose(pose_json: string, profile_json: string): string;
525
+
526
+ /**
527
+ * Decode the supported body-only VRMA subset; rejects unsupported channels.
528
+ */
529
+ export function decode_vrma_animation(bytes: Uint8Array): string;
530
+
425
531
  export function default_hair_color_appearance_json(): string;
426
532
 
427
533
  export function default_hair_physics_config_values(): Float32Array;
@@ -433,6 +539,11 @@ export function default_hair_physics_config_values(): Float32Array;
433
539
  */
434
540
  export function embody_request(request_json: string): string;
435
541
 
542
+ /**
543
+ * Write a standalone glTF 2 GLB with VRMC_vrm_animation 1.0, suitable for .vrma.
544
+ */
545
+ export function encode_vrma_animation(animation_json: string): Uint8Array;
546
+
436
547
  export function extract_humanoid_skeleton_template_json(model_json: string, options_json: string): string;
437
548
 
438
549
  export function extract_model_data_json(model_json: string, clips_json: string): string;
@@ -502,6 +613,11 @@ export function normalize_camera_angle_degrees(angle: number): number;
502
613
 
503
614
  export function normalize_hair_color_appearance_json(value_json: string, fallback_json: string): string;
504
615
 
616
+ /**
617
+ * Convert an explicitly referenced Mixamo rig to normalized VRM humanoid keys.
618
+ */
619
+ export function normalize_mixamo_animation(input_json: string): string;
620
+
505
621
  export function pack_morph_frame_delta(mesh_ids: Uint32Array, morph_target_ids: Uint32Array, values: Float32Array, modes: Uint8Array): Float32Array;
506
622
 
507
623
  export function packed_bone_frame_delta_stride(): number;
@@ -550,6 +666,11 @@ export function resolve_viewport_constrained_line_scale(start_clip: Float32Array
550
666
  */
551
667
  export function resolve_viewport_safe_bounds(label_scale_x: number, label_scale_y: number, projection_x_scale: number, projection_y_scale: number, viewport_width: number, viewport_height: number, edge_padding_px?: number | null): Float32Array;
552
668
 
669
+ /**
670
+ * Convert portable keys to target local rotations/translations without sampling.
671
+ */
672
+ export function retarget_vrma_animation(animation_json: string, target_rig_json: string): string;
673
+
553
674
  /**
554
675
  * Sinusoidal arc leader line points between two world positions.
555
676
  * Returns `(segments + 1) * 3` floats.
@@ -673,86 +794,18 @@ export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembl
673
794
 
674
795
  export interface InitOutput {
675
796
  readonly memory: WebAssembly.Memory;
676
- readonly core_abi_version: () => number;
677
- readonly pack_morph_frame_delta: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => [number, number];
678
- readonly packed_bone_frame_delta_stride: () => number;
679
- readonly packed_morph_frame_delta_stride: () => number;
680
- readonly solve_axis_quaternion: (a: number, b: number, c: number, d: number) => [number, number];
681
- readonly solve_bilateral_values: (a: number, b: number) => [number, number];
682
- readonly solve_morph_batch: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
683
- readonly compose_template_skeleton_fit_transform: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
684
- readonly template_skeleton_fit_transform_stride: () => number;
685
- readonly __wbg_annotationruntime_free: (a: number, b: number) => void;
686
- readonly __wbg_nativeplaybacksession_free: (a: number, b: number) => void;
687
- readonly annotation_marker_frame_stride: () => number;
688
- readonly annotationruntime_camera_frame: (a: number, b: number, c: number, d: number) => [number, number];
689
- readonly annotationruntime_command: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
690
- readonly annotationruntime_completed_camera_request: (a: number) => number;
691
- readonly annotationruntime_dispose: (a: number) => void;
692
- readonly annotationruntime_finish_markers: (a: number, b: number) => void;
693
- readonly annotationruntime_generation: (a: number) => number;
694
- readonly annotationruntime_is_current: (a: number, b: number) => number;
695
- readonly annotationruntime_label_metrics: (a: number, b: number, c: number, d: number) => void;
696
- readonly annotationruntime_marker_frame: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => [number, number];
697
- readonly annotationruntime_needs_frame: (a: number) => number;
698
- readonly annotationruntime_new: (a: number, b: number) => [number, number, number];
699
- readonly annotationruntime_observe_model: (a: number, b: number, c: number) => [number, number];
700
- readonly annotationruntime_observe_occlusion: (a: number, b: number, c: number) => void;
701
- readonly annotationruntime_observe_transforms: (a: number, b: number, c: number) => void;
702
- readonly annotationruntime_occlusion_queries: (a: number) => [number, number];
703
- readonly annotationruntime_plan_markers: (a: number, b: number, c: number) => [number, number, number, number];
704
- readonly annotationruntime_revision: (a: number) => number;
705
- readonly annotationruntime_set_model: (a: number, b: number, c: number) => [number, number];
706
- readonly annotationruntime_snapshot: (a: number) => [number, number];
707
- readonly annotationruntime_surface_result: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
708
- readonly annotationruntime_tracked_objects: (a: number) => [number, number];
709
- readonly nativeplaybacksession_control: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
710
- readonly nativeplaybacksession_dispose: (a: number) => [number, number, number, number];
711
- readonly nativeplaybacksession_new: () => [number, number, number];
712
- readonly nativeplaybacksession_notify: (a: number, b: number, c: number) => [number, number, number, number];
713
- readonly nativeplaybacksession_play: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
714
- readonly nativeplaybacksession_rebind: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
715
- readonly nativeplaybacksession_replace_clip: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
716
- readonly analyze_model_descriptor: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => [number, number, number, number];
717
- readonly build_hair_gravity_curves: (a: number, b: number) => [number, number, number, number];
718
- readonly build_hair_idle_curves: (a: number, b: number, c: number) => [number, number, number, number];
719
- readonly build_hair_impulse_curves: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
720
- readonly compile_clip: (a: number, b: number) => [number, number, number, number];
721
- readonly compile_clip_curves: (a: number, b: number) => [number, number, number, number];
722
- readonly extract_model_data_json: (a: number, b: number, c: number, d: number) => [number, number, number, number];
723
- readonly get_preset_json: (a: number, b: number) => [number, number, number, number];
724
- readonly has_preset: (a: number, b: number) => number;
725
- readonly list_presets: () => [number, number];
726
- readonly merge_embedded_preset: (a: number, b: number, c: number, d: number) => [number, number, number, number];
727
- readonly merge_preset_profile: (a: number, b: number, c: number, d: number) => [number, number, number, number];
728
- readonly resolve_embedded_profile_view: (a: number, b: number, c: number, d: number) => [number, number, number, number];
729
- readonly resolve_profile_view: (a: number, b: number) => [number, number, number, number];
730
- readonly validate_humanoid_characterization: (a: number, b: number, c: number, d: number) => [number, number, number, number];
731
- readonly validate_profile_model: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
732
- readonly embody_request: (a: number, b: number) => [number, number, number, number];
733
- readonly __wbg_hairphysicssolver_free: (a: number, b: number) => void;
734
797
  readonly __wbg_runtimecore_free: (a: number, b: number) => void;
735
- readonly annotation_bone_vertices: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
736
- readonly annotation_morph_candidates: (a: number, b: number, c: number, d: number, e: number) => [number, number];
737
- readonly annotation_morph_center: (a: number, b: number, c: number, d: number) => [number, number, number, number];
738
- readonly annotation_point_bounds: (a: number, b: number) => [number, number];
739
- readonly annotation_query: (a: number, b: number, c: number, d: number) => [number, number, number, number];
740
- readonly default_hair_physics_config_values: () => [number, number];
741
- readonly hair_config_stride: () => number;
742
- readonly hair_head_state_stride: () => number;
743
- readonly hair_morph_output_stride: () => number;
744
- readonly hair_state_stride: () => number;
745
- readonly hairphysicssolver_get_config: (a: number) => [number, number];
746
- readonly hairphysicssolver_get_state: (a: number) => [number, number];
747
- readonly hairphysicssolver_new: (a: number, b: number) => number;
748
- readonly hairphysicssolver_reset: (a: number) => void;
749
- readonly hairphysicssolver_set_config: (a: number, b: number, c: number) => void;
750
- readonly hairphysicssolver_update: (a: number, b: number, c: number, d: number) => [number, number];
798
+ readonly analyze_mesh_proportions: (a: number, b: number, c: number) => [number, number];
799
+ readonly compose_template_fit_adjustment: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
800
+ readonly mesh_proportions_stride: () => number;
801
+ readonly runtimecore_add_hair_response_impulse: (a: number, b: number, c: number) => [number, number];
802
+ readonly runtimecore_advance_mesh_highlight: (a: number, b: number) => [number, number, number, number];
803
+ readonly runtimecore_au_morph_binding_stride: () => number;
751
804
  readonly runtimecore_begin_live_command: (a: number) => void;
752
805
  readonly runtimecore_build_clip: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number, number, number];
753
806
  readonly runtimecore_build_hair_gravity_clip: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number, number, number];
807
+ readonly runtimecore_build_hair_response_clip: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => [number, number, number, number];
754
808
  readonly runtimecore_build_live_clip: (a: number, b: number, c: number, d: number) => [number, number, number, number];
755
- readonly runtimecore_build_live_release_clip: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
756
809
  readonly runtimecore_build_typed_clip: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number, number, number];
757
810
  readonly runtimecore_cleanup_snippet: (a: number, b: number, c: number) => number;
758
811
  readonly runtimecore_clear: (a: number) => void;
@@ -763,6 +816,7 @@ export interface InitOutput {
763
816
  readonly runtimecore_evaluate_active_bone_frame: (a: number) => [number, number];
764
817
  readonly runtimecore_evaluate_active_morph_frame: (a: number) => [number, number];
765
818
  readonly runtimecore_evaluate_bone_frame_delta: (a: number) => [number, number];
819
+ readonly runtimecore_evaluate_mesh_highlight_frame: (a: number) => [number, number, number, number];
766
820
  readonly runtimecore_evaluate_morph_frame_delta: (a: number) => [number, number];
767
821
  readonly runtimecore_evaluate_procedural_bone_frame: (a: number) => [number, number];
768
822
  readonly runtimecore_evaluate_procedural_morph_frame: (a: number) => [number, number];
@@ -774,10 +828,12 @@ export interface InitOutput {
774
828
  readonly runtimecore_get_au_mix_weight: (a: number, b: number) => number;
775
829
  readonly runtimecore_get_continuum: (a: number, b: number, c: number) => number;
776
830
  readonly runtimecore_get_hair_config_json: (a: number) => [number, number, number, number];
831
+ readonly runtimecore_get_hair_head_binding_json: (a: number) => [number, number, number, number];
777
832
  readonly runtimecore_get_missing_hair_morph_targets_json: (a: number, b: number, c: number) => [number, number, number, number];
778
833
  readonly runtimecore_get_viseme: (a: number, b: number) => number;
779
834
  readonly runtimecore_get_viseme_jaw_scale: (a: number, b: number) => number;
780
835
  readonly runtimecore_has_left_right_bones: (a: number, b: number) => number;
836
+ readonly runtimecore_is_hair_response_paused: (a: number) => number;
781
837
  readonly runtimecore_live_command_targets_json: (a: number) => [number, number];
782
838
  readonly runtimecore_load_animation_clips: (a: number, b: number, c: number) => [number, number];
783
839
  readonly runtimecore_load_au_morph_bindings: (a: number, b: number, c: number) => void;
@@ -787,50 +843,107 @@ export interface InitOutput {
787
843
  readonly runtimecore_load_jaw_binding: (a: number, b: number, c: number) => void;
788
844
  readonly runtimecore_load_viseme_jaw_amounts: (a: number, b: number, c: number) => void;
789
845
  readonly runtimecore_load_viseme_morph_bindings: (a: number, b: number, c: number) => void;
846
+ readonly runtimecore_measure_au_goal: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => [number, number, number, number];
790
847
  readonly runtimecore_new: (a: number) => number;
848
+ readonly runtimecore_read_semantic_slot: (a: number, b: number, c: number, d: number, e: number) => [number, number];
849
+ readonly runtimecore_read_semantic_state: (a: number, b: number, c: number) => [number, number, number, number];
850
+ readonly runtimecore_record_semantic_slot: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number) => [number, number];
791
851
  readonly runtimecore_register_animation_clip: (a: number, b: number, c: number, d: number, e: number) => [number, number];
792
852
  readonly runtimecore_release_morph: (a: number, b: number, c: number, d: number, e: number) => number;
793
853
  readonly runtimecore_release_morph_index: (a: number, b: number, c: number, d: number) => number;
794
854
  readonly runtimecore_release_procedural_morph_frame: (a: number) => [number, number];
855
+ readonly runtimecore_release_semantic_slot: (a: number, b: number, c: number) => number;
856
+ readonly runtimecore_request_mesh_highlight: (a: number, b: number, c: number, d: number, e: number) => void;
857
+ readonly runtimecore_reset_hair_response: (a: number) => void;
795
858
  readonly runtimecore_reset_procedural_frame_tracking: (a: number) => void;
796
859
  readonly runtimecore_resolve_hair_motion_json: (a: number, b: number, c: number, d: number) => [number, number, number, number];
860
+ readonly runtimecore_restyle_semantic_slot: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number];
797
861
  readonly runtimecore_set_au: (a: number, b: number, c: number, d: number) => void;
798
862
  readonly runtimecore_set_au_mix_weight: (a: number, b: number, c: number) => void;
799
863
  readonly runtimecore_set_au_signed: (a: number, b: number, c: number, d: number) => void;
800
864
  readonly runtimecore_set_continuum: (a: number, b: number, c: number, d: number, e: number) => void;
801
865
  readonly runtimecore_set_hair_config_json: (a: number, b: number, c: number) => [number, number, number, number];
866
+ readonly runtimecore_set_hair_response_paused: (a: number, b: number) => void;
802
867
  readonly runtimecore_set_mixed_aus: (a: number, b: number, c: number) => void;
803
868
  readonly runtimecore_set_morph: (a: number, b: number, c: number, d: number, e: number, f: number) => number;
804
869
  readonly runtimecore_set_morph_index: (a: number, b: number, c: number, d: number, e: number) => number;
805
870
  readonly runtimecore_set_viseme: (a: number, b: number, c: number) => void;
806
871
  readonly runtimecore_set_viseme_jaw_scale: (a: number, b: number, c: number) => void;
807
872
  readonly runtimecore_set_viseme_slot_count: (a: number, b: number) => void;
808
- readonly runtimecore_viseme_slot_index: (a: number, b: number, c: number) => number;
809
- readonly validate_generated_template_fit_metadata: (a: number, b: number, c: number, d: number, e: number, f: number) => number;
810
- readonly runtimecore_au_morph_binding_stride: () => number;
811
873
  readonly runtimecore_viseme_morph_binding_stride: () => number;
874
+ readonly runtimecore_viseme_slot_index: (a: number, b: number, c: number) => number;
875
+ readonly solve_template_skeleton_fit: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
876
+ readonly template_skeleton_fit_solution_stride: () => number;
812
877
  readonly runtimecore_remove_animation_clip: (a: number, b: number, c: number) => number;
813
- readonly __wbg_annotationlifecycle_free: (a: number, b: number) => void;
814
- readonly annotationlifecycle_command: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
815
- readonly annotationlifecycle_deadline: (a: number) => [number, number];
816
- readonly annotationlifecycle_is_active: (a: number) => number;
817
- readonly annotationlifecycle_new: (a: number, b: number, c: number) => number;
878
+ readonly compose_template_skeleton_fit_transform: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
879
+ readonly marker_endpoint_stride: () => number;
880
+ readonly marker_visibility_animation_factors: (a: number, b: number) => [number, number];
881
+ readonly passes_marker_camera_angle_gate: (a: number, b: number, c: number) => number;
882
+ readonly resolve_viewport_constrained_line_scale: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number];
883
+ readonly resolve_viewport_safe_bounds: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number];
884
+ readonly sample_marker_arc_curve: (a: number, b: number, c: number, d: number, e: number) => [number, number];
885
+ readonly sample_marker_bezier_curve: (a: number, b: number, c: number, d: number, e: number) => [number, number];
886
+ readonly separate_overlapping_marker_endpoints: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number];
887
+ readonly should_show_marker: (a: number, b: number, c: number, d: number) => number;
888
+ readonly template_skeleton_fit_transform_stride: () => number;
889
+ readonly marker_visibility_factors_stride: () => number;
890
+ readonly analyze_model_descriptor: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => [number, number, number, number];
891
+ readonly extract_model_data_json: (a: number, b: number, c: number, d: number) => [number, number, number, number];
892
+ readonly __wbg_nativeplaybacksession_free: (a: number, b: number) => void;
893
+ readonly nativeplaybacksession_control: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
894
+ readonly nativeplaybacksession_dispose: (a: number) => [number, number, number, number];
895
+ readonly nativeplaybacksession_new: () => [number, number, number];
896
+ readonly nativeplaybacksession_notify: (a: number, b: number, c: number) => [number, number, number, number];
897
+ readonly nativeplaybacksession_play: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
898
+ readonly nativeplaybacksession_rebind: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
899
+ readonly nativeplaybacksession_replace_clip: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
900
+ readonly build_hair_gravity_curves: (a: number, b: number) => [number, number, number, number];
901
+ readonly build_hair_idle_curves: (a: number, b: number, c: number) => [number, number, number, number];
902
+ readonly build_hair_impulse_curves: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
903
+ readonly compile_clip: (a: number, b: number) => [number, number, number, number];
904
+ readonly compile_clip_curves: (a: number, b: number) => [number, number, number, number];
818
905
  readonly compute_humanoid_skeleton_template_rest_bounds: (a: number, b: number) => [number, number, number, number];
819
906
  readonly create_validation_skeleton_json: (a: number, b: number) => [number, number, number, number];
820
907
  readonly extract_humanoid_skeleton_template_json: (a: number, b: number, c: number, d: number) => [number, number, number, number];
821
908
  readonly get_humanoid_skeleton_template_json: (a: number, b: number) => [number, number, number, number];
909
+ readonly get_preset_json: (a: number, b: number) => [number, number, number, number];
910
+ readonly has_preset: (a: number, b: number) => number;
822
911
  readonly humanoid_skeleton_template_bone_names: (a: number, b: number) => [number, number, number, number];
823
912
  readonly list_humanoid_skeleton_templates_json: () => [number, number, number, number];
913
+ readonly list_presets: () => [number, number];
914
+ readonly merge_embedded_preset: (a: number, b: number, c: number, d: number) => [number, number, number, number];
915
+ readonly merge_preset_profile: (a: number, b: number, c: number, d: number) => [number, number, number, number];
916
+ readonly resolve_embedded_profile_view: (a: number, b: number, c: number, d: number) => [number, number, number, number];
917
+ readonly resolve_profile_view: (a: number, b: number) => [number, number, number, number];
918
+ readonly validate_humanoid_characterization: (a: number, b: number, c: number, d: number) => [number, number, number, number];
919
+ readonly validate_profile_model: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
920
+ readonly __wbg_annotationlifecycle_free: (a: number, b: number) => void;
824
921
  readonly __wbg_cameraflight_free: (a: number, b: number) => void;
825
922
  readonly __wbg_cameraorbit_free: (a: number, b: number) => void;
923
+ readonly __wbg_hairphysicssolver_free: (a: number, b: number) => void;
826
924
  readonly annotation_camera_framing_stride: () => number;
925
+ readonly annotationlifecycle_command: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
926
+ readonly annotationlifecycle_deadline: (a: number) => [number, number];
927
+ readonly annotationlifecycle_is_active: (a: number) => number;
928
+ readonly annotationlifecycle_new: (a: number, b: number, c: number) => number;
827
929
  readonly cameraflight_duration_ms: (a: number) => number;
828
930
  readonly cameraflight_new: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => number;
829
931
  readonly cameraflight_sample: (a: number, b: number) => [number, number];
830
932
  readonly cameraorbit_duration_ms: (a: number) => number;
831
933
  readonly cameraorbit_new: (a: number, b: number, c: number, d: number, e: number) => number;
832
934
  readonly cameraorbit_sample: (a: number, b: number) => [number, number];
935
+ readonly default_hair_physics_config_values: () => [number, number];
833
936
  readonly focus_padding_factor: (a: number, b: number, c: number, d: number) => number;
937
+ readonly hair_config_stride: () => number;
938
+ readonly hair_head_state_stride: () => number;
939
+ readonly hair_morph_output_stride: () => number;
940
+ readonly hair_state_stride: () => number;
941
+ readonly hairphysicssolver_get_config: (a: number) => [number, number];
942
+ readonly hairphysicssolver_get_state: (a: number) => [number, number];
943
+ readonly hairphysicssolver_new: (a: number, b: number) => number;
944
+ readonly hairphysicssolver_reset: (a: number) => void;
945
+ readonly hairphysicssolver_set_config: (a: number, b: number, c: number) => void;
946
+ readonly hairphysicssolver_update: (a: number, b: number, c: number, d: number) => [number, number];
834
947
  readonly normalize_camera_angle_degrees: (a: number) => number;
835
948
  readonly resolve_auto_closeup_angle: (a: number, b: number, c: number, d: number, e: number) => number;
836
949
  readonly resolve_focus_camera_direction: (a: number, b: number, c: number, d: number, e: number) => [number, number];
@@ -838,24 +951,57 @@ export interface InitOutput {
838
951
  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];
839
952
  readonly world_direction_for_camera_angle: (a: number, b: number, c: number) => [number, number];
840
953
  readonly camera_flight_sample_stride: () => number;
841
- readonly analyze_mesh_proportions: (a: number, b: number, c: number) => [number, number];
842
- readonly compose_template_fit_adjustment: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
843
954
  readonly default_hair_color_appearance_json: () => [number, number, number, number];
844
955
  readonly hair_color_presets_json: () => [number, number, number, number];
845
- readonly marker_endpoint_stride: () => number;
846
- readonly marker_visibility_animation_factors: (a: number, b: number) => [number, number];
847
- readonly mesh_proportions_stride: () => number;
848
956
  readonly normalize_hair_color_appearance_json: (a: number, b: number, c: number, d: number) => [number, number, number, number];
849
- readonly passes_marker_camera_angle_gate: (a: number, b: number, c: number) => number;
850
- readonly resolve_viewport_constrained_line_scale: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number];
851
- readonly resolve_viewport_safe_bounds: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number];
852
- readonly sample_marker_arc_curve: (a: number, b: number, c: number, d: number, e: number) => [number, number];
853
- readonly sample_marker_bezier_curve: (a: number, b: number, c: number, d: number, e: number) => [number, number];
854
- readonly separate_overlapping_marker_endpoints: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number];
855
- readonly should_show_marker: (a: number, b: number, c: number, d: number) => number;
856
- readonly solve_template_skeleton_fit: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
857
- readonly template_skeleton_fit_solution_stride: () => number;
858
- readonly marker_visibility_factors_stride: () => number;
957
+ readonly decode_legacy_animation: (a: number, b: number, c: number, d: number) => [number, number, number, number];
958
+ readonly decode_legacy_pose: (a: number, b: number, c: number, d: number) => [number, number, number, number];
959
+ readonly decode_vrma_animation: (a: number, b: number) => [number, number, number, number];
960
+ readonly encode_vrma_animation: (a: number, b: number) => [number, number, number, number];
961
+ readonly normalize_mixamo_animation: (a: number, b: number) => [number, number, number, number];
962
+ readonly retarget_vrma_animation: (a: number, b: number, c: number, d: number) => [number, number, number, number];
963
+ readonly __wbg_annotationruntime_free: (a: number, b: number) => void;
964
+ readonly annotation_bone_vertices: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
965
+ readonly annotation_marker_frame_stride: () => number;
966
+ readonly annotation_morph_anchor_candidates: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number, number, number];
967
+ readonly annotation_morph_candidates: (a: number, b: number, c: number, d: number, e: number) => [number, number];
968
+ readonly annotation_morph_center: (a: number, b: number, c: number, d: number) => [number, number, number, number];
969
+ readonly annotation_point_bounds: (a: number, b: number) => [number, number];
970
+ readonly annotation_query: (a: number, b: number, c: number, d: number) => [number, number, number, number];
971
+ readonly annotation_weighted_anchor: (a: number, b: number) => [number, number];
972
+ readonly annotationruntime_camera_frame: (a: number, b: number, c: number, d: number) => [number, number];
973
+ readonly annotationruntime_command: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
974
+ readonly annotationruntime_completed_camera_request: (a: number) => number;
975
+ readonly annotationruntime_dispose: (a: number) => void;
976
+ readonly annotationruntime_finish_markers: (a: number, b: number) => void;
977
+ readonly annotationruntime_generation: (a: number) => number;
978
+ readonly annotationruntime_is_current: (a: number, b: number) => number;
979
+ readonly annotationruntime_label_metrics: (a: number, b: number, c: number, d: number) => void;
980
+ readonly annotationruntime_marker_frame: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => [number, number];
981
+ readonly annotationruntime_needs_frame: (a: number) => number;
982
+ readonly annotationruntime_new: (a: number, b: number) => [number, number, number];
983
+ readonly annotationruntime_observe_model: (a: number, b: number, c: number) => [number, number];
984
+ readonly annotationruntime_observe_morph_anchor: (a: number, b: number, c: number, d: number, e: number) => number;
985
+ readonly annotationruntime_observe_morph_geometry: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number];
986
+ readonly annotationruntime_observe_occlusion: (a: number, b: number, c: number) => void;
987
+ readonly annotationruntime_observe_transforms: (a: number, b: number, c: number) => void;
988
+ readonly annotationruntime_occlusion_queries: (a: number) => [number, number];
989
+ readonly annotationruntime_plan_markers: (a: number, b: number, c: number) => [number, number, number, number];
990
+ readonly annotationruntime_prepare_morph_anchor: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number) => [number, number];
991
+ readonly annotationruntime_revision: (a: number) => number;
992
+ readonly annotationruntime_set_model: (a: number, b: number, c: number) => [number, number];
993
+ readonly annotationruntime_snapshot: (a: number) => [number, number];
994
+ readonly annotationruntime_surface_result: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
995
+ readonly annotationruntime_tracked_objects: (a: number) => [number, number];
996
+ readonly core_abi_version: () => number;
997
+ readonly pack_morph_frame_delta: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => [number, number];
998
+ readonly packed_bone_frame_delta_stride: () => number;
999
+ readonly packed_morph_frame_delta_stride: () => number;
1000
+ readonly solve_axis_quaternion: (a: number, b: number, c: number, d: number) => [number, number];
1001
+ readonly solve_bilateral_values: (a: number, b: number) => [number, number];
1002
+ readonly solve_morph_batch: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
1003
+ readonly validate_generated_template_fit_metadata: (a: number, b: number, c: number, d: number, e: number, f: number) => number;
1004
+ readonly embody_request: (a: number, b: number) => [number, number, number, number];
859
1005
  readonly __wbindgen_externrefs: WebAssembly.Table;
860
1006
  readonly __wbindgen_malloc: (a: number, b: number) => number;
861
1007
  readonly __wbindgen_free: (a: number, b: number, c: number) => void;