GeometryData ​

Contract 2.0.0 · package sha256 a857eca95b35921109faf997094bb4192f12527d9d0fcd4be7e97f06425bad6e · generated from configurator-runtime.d.ts by services/onsite-scripter/scripts/build-contract-docs.mjs; edit the source, not this file.

Interface · import type { GeometryData } from '@holostep-configurators/runtime-client/contract'; · labs, @experimental · since 2.0.0 · section 20. Labs

Local space of the part (for a skinned mesh: its bind space). Typed arrays are copies.

Members ​

Member Kind Summary
part property The mesh part these arrays belong to.
position? property x, y, z per vertex, metres; present when asked for.
normal? property x, y, z per vertex, unit length; present when asked for.
uv? property Index = UV channel 0–3.
joints? property Four joint indices per vertex (skinned meshes).
weights? property Four weights per vertex (skinned meshes).
index? property Three per triangle.

Declaration ​

ts
export interface GeometryData<C extends object = NoCommitOptions> {
  readonly part: Part<C>;
  readonly position?: Float32Array;
  readonly normal?: Float32Array;
  readonly uv?: ReadonlyArray<Float32Array | undefined>;
  readonly joints?: Uint16Array;
  readonly weights?: Float32Array;
  readonly index?: Uint32Array;
}

Generic-API test (spec 3.1) ​

Rule Result
1. Neutral name pass: GeometryData names no product
2. A precedent pass: Unity Mesh.vertices (row G9); Unity Mesh.GetIndices (row G9)
3. Two apps, or labs labs (@experimental at a stable path, reached through has() or supports()): it graduates when a second app uses it; apps today: app-bcb7ef21da, app-f9a32142f1
4. The cheaper fix first decided per need in Appendix B: rows G9 at tier labs (a member only where no rule, data, asset or app code serves the need)