@lovelace_lol/embody 0.0.16 → 0.0.18
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 +84 -1
- package/dist/index.js +107 -1
- package/dist/index.js.map +1 -1
- package/dist/three/authoring.d.ts +5 -2
- package/dist/three/authoringTypes.d.ts +7 -0
- package/dist/three/index.d.ts +2 -0
- package/dist/three/sceneVideoCapture.d.ts +12 -0
- package/dist/three.js +107 -1
- package/dist/three.js.map +1 -1
- package/dist/wasm/README.md +84 -1
- package/dist/wasm/auDescriptors.d.ts +9 -0
- package/dist/wasm/embody_wasm.d.ts +131 -131
- package/dist/wasm/embody_wasm_bg.wasm +0 -0
- package/dist/wasm/embody_wasm_bg.wasm.d.ts +131 -131
- package/dist/wasm/index.d.ts +1 -1
- package/dist/wasm.js.map +1 -1
- package/model-tools/extract-garment.mjs +599 -0
- package/model-tools/glb-source.mjs +31 -0
- package/model-tools/index.d.ts +21 -0
- package/model-tools/index.mjs +3 -29
- package/package.json +2 -2
package/dist/wasm/README.md
CHANGED
|
@@ -245,6 +245,75 @@ JSON report after creating the new file. In a source checkout, invoke
|
|
|
245
245
|
`node model-tools/prepare-actor.mjs` with the same arguments. CI runs the
|
|
246
246
|
`test:model-tools` regression source as part of the existing package checks.
|
|
247
247
|
|
|
248
|
+
#### Extracting reusable garment files
|
|
249
|
+
|
|
250
|
+
`extractGarmentModel(source, options)` extracts explicitly selected source-file
|
|
251
|
+
node primitives as a separate self-contained GLB. It is the shared file operation
|
|
252
|
+
for browser and backend-worker consumers; it does not depend on a Three scene,
|
|
253
|
+
initialize the animation runtime, persist a wardrobe item, or attach it to a rig.
|
|
254
|
+
LoomLarge owns mesh selection, storage and the preview/save workflow. Embody's
|
|
255
|
+
Runtime garment attachment and removal belong to the renderer adapter and need
|
|
256
|
+
separate implementation; this file API does not provide that lifecycle.
|
|
257
|
+
|
|
258
|
+
```js
|
|
259
|
+
import { extractGarmentModel } from '@lovelace_lol/embody/model-tools';
|
|
260
|
+
|
|
261
|
+
const garment = await extractGarmentModel(originalFileBytes, {
|
|
262
|
+
selections: [{ nodeIndex: 12, primitiveIndices: [0, 2] }],
|
|
263
|
+
ownedBoneNodeIndices: [31, 32], // Optional explicitly garment-owned skin joints.
|
|
264
|
+
signal: abortController.signal,
|
|
265
|
+
});
|
|
266
|
+
// Persist garment.bytes separately only after extraction succeeds.
|
|
267
|
+
```
|
|
268
|
+
|
|
269
|
+
Indices refer to the original GLB JSON: each selection identifies a node and the
|
|
270
|
+
primitive indices within that node's mesh. They are not the `mesh:N` selectors
|
|
271
|
+
used by `prepareActorModel`, live-scene child paths, or names. Selecting one
|
|
272
|
+
instance of a shared mesh does not include another instance. Duplicate node or
|
|
273
|
+
primitive selections and invalid indices are errors. Output indices are remapped;
|
|
274
|
+
inspect each new file before selecting from it again.
|
|
275
|
+
|
|
276
|
+
Extraction preserves retained vertex/index/morph accessor values and order,
|
|
277
|
+
including unused vertices within a selected accessor, skin joint palette order,
|
|
278
|
+
inverse bind matrices, mesh weights, ancestor transforms, material settings,
|
|
279
|
+
texture transforms, original embedded image bytes, and retained `extras`.
|
|
280
|
+
Unselected primitives and unreferenced file resources are excluded. Shared or
|
|
281
|
+
interleaved views are repacked per accessor so unrelated streams are excluded;
|
|
282
|
+
when primitives share an accessor, its unused vertex values deliberately remain
|
|
283
|
+
to preserve vertex numbering. Texture atlases remain whole. There is no triangle
|
|
284
|
+
reduction, vertex compaction, texture resizing, image decoding/re-encoding, or
|
|
285
|
+
live-pose capture. Animation clips are deliberately omitted with a warning;
|
|
286
|
+
cameras and unrelated scene objects are not garment dependencies.
|
|
287
|
+
|
|
288
|
+
`ownedBoneNodeIndices` marks only explicit joints with
|
|
289
|
+
`extras.loomlargeGarmentBone: true`. Each owned branch must move a selected
|
|
290
|
+
primitive, have a shared parent joint, include its complete descendant joint
|
|
291
|
+
chain, and have no positive influence on unselected primitives or instances.
|
|
292
|
+
Validation reads every `JOINTS_n`/`WEIGHTS_n` set and the vertices actually
|
|
293
|
+
referenced by each primitive. Transform-only helper nodes between joints retain
|
|
294
|
+
their source transforms. Existing ownership flags on shared source nodes are
|
|
295
|
+
ignored; they cannot grant ownership. Required skin palettes and their ancestor
|
|
296
|
+
nodes are retained even when some joints have no selected positive weights.
|
|
297
|
+
|
|
298
|
+
Inputs must be embedded GLB 2.0 with PNG, JPEG, or WebP images. In addition to core
|
|
299
|
+
PBR materials, extraction preserves `KHR_texture_transform`,
|
|
300
|
+
`KHR_mesh_quantization`, `EXT_texture_webp`, `EXT_materials_bump`, and the
|
|
301
|
+
`KHR_materials_` extensions `unlit`, `clearcoat`, `emissive_strength`, `ior`,
|
|
302
|
+
`iridescence`, `sheen`, `specular`, `transmission`, `volume`, `anisotropy`, and
|
|
303
|
+
`dispersion`. Unsupported or undeclared extensions, including compression, VRM,
|
|
304
|
+
and scene lights, fail before output. Buffer/accessor bounds, alignment, sparse
|
|
305
|
+
indices, primitive indices and skin influences are validated. Resource URIs are
|
|
306
|
+
rejected rather than fetched. Both source bytes and selection lists are copied
|
|
307
|
+
before asynchronous stages; cancellation rejects without returning partial
|
|
308
|
+
output. Use a worker for large inputs when synchronous validation/copy stages
|
|
309
|
+
must not occupy the UI thread.
|
|
310
|
+
|
|
311
|
+
This lossless extraction stage is separate from `prepareActorModel`'s existing
|
|
312
|
+
compaction/reduction behavior and its extension-free input policy. Future texture
|
|
313
|
+
processing and geometry variants should build on the same file boundary with
|
|
314
|
+
explicit processing options; extracting clothing does not implicitly lower its
|
|
315
|
+
quality.
|
|
316
|
+
|
|
248
317
|
### Annotation runtime
|
|
249
318
|
|
|
250
319
|
`AnnotationRuntime` in `src/annotation_runtime/` owns the annotation behavior
|
|
@@ -667,7 +736,14 @@ a push to `main`, or a manual run on `main` with the `ref` input left empty.
|
|
|
667
736
|
It chooses the next patch version, records the source commit in `gitHead`, and
|
|
668
737
|
builds and validates once. Stable version selection reads public metadata from
|
|
669
738
|
`registry.npmjs.org` anonymously; redirects and failed lookups stop the release.
|
|
670
|
-
Metadata reads never transmit publishing credentials.
|
|
739
|
+
Metadata reads request cache revalidation and never transmit publishing credentials.
|
|
740
|
+
Before building, version selection checks its candidate once at the exact-version
|
|
741
|
+
endpoint. An upload missing from the package index is incorporated into selection
|
|
742
|
+
and source-history checks: the same source reuses that version; a newer source
|
|
743
|
+
selects the next version before the build. Conflicting records or failed reads stop
|
|
744
|
+
preparation. This is a bounded reconciliation, not polling or a guarantee that every
|
|
745
|
+
registry replica has caught up; the independent publication check still rejects an
|
|
746
|
+
occupied or uncertain version without changing the verified tarball. The separate
|
|
671
747
|
publish job first requires the npm visibility endpoint (the endpoint used by
|
|
672
748
|
`npm access get status`) to report the existing package as public. It reads this
|
|
673
749
|
anonymously without npm token configuration, then uses GitHub OIDC trusted
|
|
@@ -810,6 +886,13 @@ no named body-control catalog or fixed control count. `engine.getAUDescriptors()
|
|
|
810
886
|
and initialized `getAUDescriptors(profile, modelDescriptor?)` return per-AU
|
|
811
887
|
metadata and resolved output support, including labels, signed pair IDs,
|
|
812
888
|
bilateral sides, saved morph strength and resolved bone/morph names.
|
|
889
|
+
Descriptors separate AU/FACS (`au`), semantic Body (`body`), authored joint-axis
|
|
890
|
+
rotations (`bone`) and other profile controls (`custom`). Optional `section`,
|
|
891
|
+
`order` and `controlLabel` metadata organizes those same numeric identities.
|
|
892
|
+
Classification is independent of output availability and morph routing;
|
|
893
|
+
`hasConfiguredBones`/`hasConfiguredMorphs` retain evidence of unavailable authored
|
|
894
|
+
outputs. Visemes keep their own slot API. See [Body controls](docs/body-controls.md#categories-and-anatomical-presentation)
|
|
895
|
+
for preset inheritance, explicit clears and anatomical presentation.
|
|
813
896
|
|
|
814
897
|
Use `setAU`/`transitionAU`, `setContinuum`, `getAUBalance` and
|
|
815
898
|
`setAUMixWeight` for live controls. `buildClip`/`playSnippet` compile numeric
|
|
@@ -1,6 +1,13 @@
|
|
|
1
|
+
export type ControlCategory = 'au' | 'body' | 'bone' | 'custom';
|
|
1
2
|
export interface AUDescriptor {
|
|
2
3
|
auId: number;
|
|
3
4
|
label: string;
|
|
5
|
+
/** Semantic category, independent of whether configured output targets resolve. */
|
|
6
|
+
category: ControlCategory;
|
|
7
|
+
section?: string | null;
|
|
8
|
+
order?: number | null;
|
|
9
|
+
/** A combined movement label shared by the two directions of a continuum. */
|
|
10
|
+
controlLabel?: string | null;
|
|
4
11
|
faceArea?: string | null;
|
|
5
12
|
facePart?: string | null;
|
|
6
13
|
negativeAuId?: number | null;
|
|
@@ -22,6 +29,8 @@ export interface AUDescriptor {
|
|
|
22
29
|
availableSides: Array<'left' | 'right' | 'center'>;
|
|
23
30
|
hasBones: boolean;
|
|
24
31
|
hasMorphs: boolean;
|
|
32
|
+
hasConfiguredBones: boolean;
|
|
33
|
+
hasConfiguredMorphs: boolean;
|
|
25
34
|
available: boolean;
|
|
26
35
|
diagnostics: string[];
|
|
27
36
|
}
|
|
@@ -794,10 +794,139 @@ export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembl
|
|
|
794
794
|
|
|
795
795
|
export interface InitOutput {
|
|
796
796
|
readonly memory: WebAssembly.Memory;
|
|
797
|
-
readonly
|
|
797
|
+
readonly analyze_model_descriptor: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => [number, number, number, number];
|
|
798
|
+
readonly decode_legacy_animation: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
|
799
|
+
readonly decode_legacy_pose: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
|
800
|
+
readonly decode_vrma_animation: (a: number, b: number) => [number, number, number, number];
|
|
801
|
+
readonly encode_vrma_animation: (a: number, b: number) => [number, number, number, number];
|
|
802
|
+
readonly extract_model_data_json: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
|
803
|
+
readonly normalize_mixamo_animation: (a: number, b: number) => [number, number, number, number];
|
|
804
|
+
readonly retarget_vrma_animation: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
|
805
|
+
readonly default_hair_color_appearance_json: () => [number, number, number, number];
|
|
806
|
+
readonly hair_color_presets_json: () => [number, number, number, number];
|
|
807
|
+
readonly normalize_hair_color_appearance_json: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
|
808
|
+
readonly embody_request: (a: number, b: number) => [number, number, number, number];
|
|
809
|
+
readonly solve_axis_quaternion: (a: number, b: number, c: number, d: number) => [number, number];
|
|
810
|
+
readonly solve_bilateral_values: (a: number, b: number) => [number, number];
|
|
811
|
+
readonly solve_morph_batch: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
|
|
812
|
+
readonly validate_generated_template_fit_metadata: (a: number, b: number, c: number, d: number, e: number, f: number) => number;
|
|
813
|
+
readonly build_hair_gravity_curves: (a: number, b: number) => [number, number, number, number];
|
|
814
|
+
readonly build_hair_idle_curves: (a: number, b: number, c: number) => [number, number, number, number];
|
|
815
|
+
readonly build_hair_impulse_curves: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
|
|
816
|
+
readonly compile_clip: (a: number, b: number) => [number, number, number, number];
|
|
817
|
+
readonly compile_clip_curves: (a: number, b: number) => [number, number, number, number];
|
|
818
|
+
readonly compute_humanoid_skeleton_template_rest_bounds: (a: number, b: number) => [number, number, number, number];
|
|
819
|
+
readonly create_validation_skeleton_json: (a: number, b: number) => [number, number, number, number];
|
|
820
|
+
readonly extract_humanoid_skeleton_template_json: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
|
821
|
+
readonly get_humanoid_skeleton_template_json: (a: number, b: number) => [number, number, number, number];
|
|
822
|
+
readonly get_preset_json: (a: number, b: number) => [number, number, number, number];
|
|
823
|
+
readonly has_preset: (a: number, b: number) => number;
|
|
824
|
+
readonly humanoid_skeleton_template_bone_names: (a: number, b: number) => [number, number, number, number];
|
|
825
|
+
readonly list_humanoid_skeleton_templates_json: () => [number, number, number, number];
|
|
826
|
+
readonly list_presets: () => [number, number];
|
|
827
|
+
readonly marker_endpoint_stride: () => number;
|
|
828
|
+
readonly marker_visibility_animation_factors: (a: number, b: number) => [number, number];
|
|
829
|
+
readonly merge_embedded_preset: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
|
830
|
+
readonly merge_preset_profile: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
|
831
|
+
readonly passes_marker_camera_angle_gate: (a: number, b: number, c: number) => number;
|
|
832
|
+
readonly resolve_embedded_profile_view: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
|
833
|
+
readonly resolve_profile_view: (a: number, b: number) => [number, number, number, number];
|
|
834
|
+
readonly resolve_viewport_constrained_line_scale: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number];
|
|
835
|
+
readonly resolve_viewport_safe_bounds: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number];
|
|
836
|
+
readonly sample_marker_arc_curve: (a: number, b: number, c: number, d: number, e: number) => [number, number];
|
|
837
|
+
readonly sample_marker_bezier_curve: (a: number, b: number, c: number, d: number, e: number) => [number, number];
|
|
838
|
+
readonly separate_overlapping_marker_endpoints: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number];
|
|
839
|
+
readonly should_show_marker: (a: number, b: number, c: number, d: number) => number;
|
|
840
|
+
readonly validate_humanoid_characterization: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
|
841
|
+
readonly validate_profile_model: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
|
|
842
|
+
readonly marker_visibility_factors_stride: () => number;
|
|
843
|
+
readonly __wbg_nativeplaybacksession_free: (a: number, b: number) => void;
|
|
844
|
+
readonly nativeplaybacksession_control: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
|
|
845
|
+
readonly nativeplaybacksession_dispose: (a: number) => [number, number, number, number];
|
|
846
|
+
readonly nativeplaybacksession_new: () => [number, number, number];
|
|
847
|
+
readonly nativeplaybacksession_notify: (a: number, b: number, c: number) => [number, number, number, number];
|
|
848
|
+
readonly nativeplaybacksession_play: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
|
|
849
|
+
readonly nativeplaybacksession_rebind: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
|
|
850
|
+
readonly nativeplaybacksession_replace_clip: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
|
|
851
|
+
readonly __wbg_annotationlifecycle_free: (a: number, b: number) => void;
|
|
852
|
+
readonly __wbg_hairphysicssolver_free: (a: number, b: number) => void;
|
|
853
|
+
readonly annotationlifecycle_command: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
|
|
854
|
+
readonly annotationlifecycle_deadline: (a: number) => [number, number];
|
|
855
|
+
readonly annotationlifecycle_is_active: (a: number) => number;
|
|
856
|
+
readonly annotationlifecycle_new: (a: number, b: number, c: number) => number;
|
|
857
|
+
readonly compose_template_skeleton_fit_transform: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
|
|
858
|
+
readonly default_hair_physics_config_values: () => [number, number];
|
|
859
|
+
readonly hair_config_stride: () => number;
|
|
860
|
+
readonly hair_head_state_stride: () => number;
|
|
861
|
+
readonly hair_morph_output_stride: () => number;
|
|
862
|
+
readonly hair_state_stride: () => number;
|
|
863
|
+
readonly hairphysicssolver_get_config: (a: number) => [number, number];
|
|
864
|
+
readonly hairphysicssolver_get_state: (a: number) => [number, number];
|
|
865
|
+
readonly hairphysicssolver_new: (a: number, b: number) => number;
|
|
866
|
+
readonly hairphysicssolver_reset: (a: number) => void;
|
|
867
|
+
readonly hairphysicssolver_set_config: (a: number, b: number, c: number) => void;
|
|
868
|
+
readonly hairphysicssolver_update: (a: number, b: number, c: number, d: number) => [number, number];
|
|
869
|
+
readonly template_skeleton_fit_transform_stride: () => number;
|
|
870
|
+
readonly __wbg_annotationruntime_free: (a: number, b: number) => void;
|
|
871
|
+
readonly __wbg_cameraflight_free: (a: number, b: number) => void;
|
|
872
|
+
readonly __wbg_cameraorbit_free: (a: number, b: number) => void;
|
|
798
873
|
readonly analyze_mesh_proportions: (a: number, b: number, c: number) => [number, number];
|
|
874
|
+
readonly annotation_bone_vertices: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
|
|
875
|
+
readonly annotation_camera_framing_stride: () => number;
|
|
876
|
+
readonly annotation_marker_frame_stride: () => number;
|
|
877
|
+
readonly annotation_morph_anchor_candidates: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number, number, number];
|
|
878
|
+
readonly annotation_morph_candidates: (a: number, b: number, c: number, d: number, e: number) => [number, number];
|
|
879
|
+
readonly annotation_morph_center: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
|
880
|
+
readonly annotation_point_bounds: (a: number, b: number) => [number, number];
|
|
881
|
+
readonly annotation_query: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
|
882
|
+
readonly annotation_weighted_anchor: (a: number, b: number) => [number, number];
|
|
883
|
+
readonly annotationruntime_camera_frame: (a: number, b: number, c: number, d: number) => [number, number];
|
|
884
|
+
readonly annotationruntime_command: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
|
|
885
|
+
readonly annotationruntime_completed_camera_request: (a: number) => number;
|
|
886
|
+
readonly annotationruntime_dispose: (a: number) => void;
|
|
887
|
+
readonly annotationruntime_finish_markers: (a: number, b: number) => void;
|
|
888
|
+
readonly annotationruntime_generation: (a: number) => number;
|
|
889
|
+
readonly annotationruntime_is_current: (a: number, b: number) => number;
|
|
890
|
+
readonly annotationruntime_label_metrics: (a: number, b: number, c: number, d: number) => void;
|
|
891
|
+
readonly annotationruntime_marker_frame: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => [number, number];
|
|
892
|
+
readonly annotationruntime_needs_frame: (a: number) => number;
|
|
893
|
+
readonly annotationruntime_new: (a: number, b: number) => [number, number, number];
|
|
894
|
+
readonly annotationruntime_observe_model: (a: number, b: number, c: number) => [number, number];
|
|
895
|
+
readonly annotationruntime_observe_morph_anchor: (a: number, b: number, c: number, d: number, e: number) => number;
|
|
896
|
+
readonly annotationruntime_observe_morph_geometry: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number];
|
|
897
|
+
readonly annotationruntime_observe_occlusion: (a: number, b: number, c: number) => void;
|
|
898
|
+
readonly annotationruntime_observe_transforms: (a: number, b: number, c: number) => void;
|
|
899
|
+
readonly annotationruntime_occlusion_queries: (a: number) => [number, number];
|
|
900
|
+
readonly annotationruntime_plan_markers: (a: number, b: number, c: number) => [number, number, number, number];
|
|
901
|
+
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];
|
|
902
|
+
readonly annotationruntime_revision: (a: number) => number;
|
|
903
|
+
readonly annotationruntime_set_model: (a: number, b: number, c: number) => [number, number];
|
|
904
|
+
readonly annotationruntime_snapshot: (a: number) => [number, number];
|
|
905
|
+
readonly annotationruntime_surface_result: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
|
|
906
|
+
readonly annotationruntime_tracked_objects: (a: number) => [number, number];
|
|
907
|
+
readonly cameraflight_duration_ms: (a: number) => number;
|
|
908
|
+
readonly cameraflight_new: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => number;
|
|
909
|
+
readonly cameraflight_sample: (a: number, b: number) => [number, number];
|
|
910
|
+
readonly cameraorbit_duration_ms: (a: number) => number;
|
|
911
|
+
readonly cameraorbit_new: (a: number, b: number, c: number, d: number, e: number) => number;
|
|
912
|
+
readonly cameraorbit_sample: (a: number, b: number) => [number, number];
|
|
799
913
|
readonly compose_template_fit_adjustment: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
|
|
914
|
+
readonly focus_padding_factor: (a: number, b: number, c: number, d: number) => number;
|
|
800
915
|
readonly mesh_proportions_stride: () => number;
|
|
916
|
+
readonly normalize_camera_angle_degrees: (a: number) => number;
|
|
917
|
+
readonly resolve_auto_closeup_angle: (a: number, b: number, c: number, d: number, e: number) => number;
|
|
918
|
+
readonly resolve_focus_camera_direction: (a: number, b: number, c: number, d: number, e: number) => [number, number];
|
|
919
|
+
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];
|
|
920
|
+
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];
|
|
921
|
+
readonly solve_template_skeleton_fit: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
|
|
922
|
+
readonly template_skeleton_fit_solution_stride: () => number;
|
|
923
|
+
readonly world_direction_for_camera_angle: (a: number, b: number, c: number) => [number, number];
|
|
924
|
+
readonly camera_flight_sample_stride: () => number;
|
|
925
|
+
readonly __wbg_runtimecore_free: (a: number, b: number) => void;
|
|
926
|
+
readonly core_abi_version: () => number;
|
|
927
|
+
readonly pack_morph_frame_delta: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => [number, number];
|
|
928
|
+
readonly packed_bone_frame_delta_stride: () => number;
|
|
929
|
+
readonly packed_morph_frame_delta_stride: () => number;
|
|
801
930
|
readonly runtimecore_add_hair_response_impulse: (a: number, b: number, c: number) => [number, number];
|
|
802
931
|
readonly runtimecore_advance_mesh_highlight: (a: number, b: number) => [number, number, number, number];
|
|
803
932
|
readonly runtimecore_au_morph_binding_stride: () => number;
|
|
@@ -870,138 +999,9 @@ export interface InitOutput {
|
|
|
870
999
|
readonly runtimecore_set_viseme: (a: number, b: number, c: number) => void;
|
|
871
1000
|
readonly runtimecore_set_viseme_jaw_scale: (a: number, b: number, c: number) => void;
|
|
872
1001
|
readonly runtimecore_set_viseme_slot_count: (a: number, b: number) => void;
|
|
873
|
-
readonly runtimecore_viseme_morph_binding_stride: () => number;
|
|
874
1002
|
readonly runtimecore_viseme_slot_index: (a: number, b: number, c: number) => number;
|
|
875
|
-
readonly
|
|
876
|
-
readonly template_skeleton_fit_solution_stride: () => number;
|
|
1003
|
+
readonly runtimecore_viseme_morph_binding_stride: () => number;
|
|
877
1004
|
readonly runtimecore_remove_animation_clip: (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];
|
|
905
|
-
readonly compute_humanoid_skeleton_template_rest_bounds: (a: number, b: number) => [number, number, number, number];
|
|
906
|
-
readonly create_validation_skeleton_json: (a: number, b: number) => [number, number, number, number];
|
|
907
|
-
readonly extract_humanoid_skeleton_template_json: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
|
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;
|
|
911
|
-
readonly humanoid_skeleton_template_bone_names: (a: number, b: number) => [number, number, number, number];
|
|
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;
|
|
921
|
-
readonly __wbg_cameraflight_free: (a: number, b: number) => void;
|
|
922
|
-
readonly __wbg_cameraorbit_free: (a: number, b: number) => void;
|
|
923
|
-
readonly __wbg_hairphysicssolver_free: (a: number, b: number) => void;
|
|
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;
|
|
929
|
-
readonly cameraflight_duration_ms: (a: number) => number;
|
|
930
|
-
readonly cameraflight_new: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => number;
|
|
931
|
-
readonly cameraflight_sample: (a: number, b: number) => [number, number];
|
|
932
|
-
readonly cameraorbit_duration_ms: (a: number) => number;
|
|
933
|
-
readonly cameraorbit_new: (a: number, b: number, c: number, d: number, e: number) => number;
|
|
934
|
-
readonly cameraorbit_sample: (a: number, b: number) => [number, number];
|
|
935
|
-
readonly default_hair_physics_config_values: () => [number, number];
|
|
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];
|
|
947
|
-
readonly normalize_camera_angle_degrees: (a: number) => number;
|
|
948
|
-
readonly resolve_auto_closeup_angle: (a: number, b: number, c: number, d: number, e: number) => number;
|
|
949
|
-
readonly resolve_focus_camera_direction: (a: number, b: number, c: number, d: number, e: number) => [number, number];
|
|
950
|
-
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];
|
|
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];
|
|
952
|
-
readonly world_direction_for_camera_angle: (a: number, b: number, c: number) => [number, number];
|
|
953
|
-
readonly camera_flight_sample_stride: () => number;
|
|
954
|
-
readonly default_hair_color_appearance_json: () => [number, number, number, number];
|
|
955
|
-
readonly hair_color_presets_json: () => [number, number, number, number];
|
|
956
|
-
readonly normalize_hair_color_appearance_json: (a: number, b: number, c: number, d: number) => [number, number, number, 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];
|
|
1005
1005
|
readonly __wbindgen_externrefs: WebAssembly.Table;
|
|
1006
1006
|
readonly __wbindgen_malloc: (a: number, b: number) => number;
|
|
1007
1007
|
readonly __wbindgen_free: (a: number, b: number, c: number) => void;
|
|
Binary file
|