AURA

JSGG

AuraJS
DOCSEXAMPLESGITHUB
Scene3D, Mesh, Material, glTF, and Avatar Exact Reference
Narrow exact-reference page for mesh/material authoring, scene3d, imported scene metadata, skinned mesh, avatar, and glTF content.
docs/reference/scene3d-mesh-material-gltf-and-avatar-exact-reference.md

Scene3D, Mesh, Material, glTF, and Avatar Exact Reference

Use this page when the task is about authored 3D content, imported assets, scene graph behavior, materials, or avatar-style clip playback.

Table of Contents

  1. Covers
  2. Open These Handbook Pages First
  3. Canonical Contracts
  4. Namespace Coverage Summary
  5. Namespaces
  6. Non-Namespace Contract Topics

Covers

  • aura.scene3d
  • aura.mesh
  • aura.material
  • glTF import shape, clip metadata, and skinned-mesh semantics are routed through the same canonical contracts even when the generated schema only lists the callable namespace methods.

Open These Handbook Pages First

Canonical Contracts

Namespace Coverage Summary

Namespace Exact Signatures Additional Method Names Native Web
aura.scene3d 5 22 supported unsupported
aura.mesh 16 0 supported unsupported
aura.material 23 0 supported unsupported

Namespaces

`aura.scene3d`

Additive 3D hierarchy helper for deterministic node parenting, world-transform composition, traversal ordering, and clip/skinning runtime helpers.

  • Native support: supported
  • Web support: unsupported
  • Exact signatures in generated schema: 5
  • Additional known method names: 22
  • Contract source: api-contract-3d.md, api-contract.md

Exact Signatures

aura.scene3d.pick(pixelX, pixelY, options?)
aura.scene3d.queryRaycast(...)
aura.scene3d.queryRaycast(originOrOptions, maybeDirection?, maybeOptions?)
aura.scene3d.raycast(origin, direction, options?)
aura.scene3d.screenToRay(pixelX, pixelY)

Additional Known Method Names

aura.scene3d.createAvatar(...)
aura.scene3d.createClip(...)
aura.scene3d.createNode(...)
aura.scene3d.crossfadeClips(...)
aura.scene3d.getClipState(...)
aura.scene3d.getLocalTransform(...)
aura.scene3d.getParent(...)
aura.scene3d.getWorldTransform(...)
aura.scene3d.onClipEvent(...)
aura.scene3d.pauseClip(...)
aura.scene3d.playClip(...)
aura.scene3d.removeNode(...)
aura.scene3d.resumeClip(...)
aura.scene3d.seekClip(...)
aura.scene3d.setClipLoop(...)
aura.scene3d.setClipSkinning(...)
aura.scene3d.setClipWeight(...)
aura.scene3d.setLocalTransform(...)
aura.scene3d.setParent(...)
aura.scene3d.traverse(...)
aura.scene3d.updateAvatars(...)
aura.scene3d.updateClips(...)

Exact signature extraction is still incomplete for the methods above. Use the canonical contract source if argument or return-value detail matters.

`aura.mesh`

Mesh loading, procedural geometry, morph targets, and instancing helpers.

  • Native support: supported
  • Web support: unsupported
  • Exact signatures in generated schema: 16
  • Additional known method names: 0
  • Contract source: api-contract-3d.md

Exact Signatures

aura.mesh.createBox(width?: number, height?: number, depth?: number): MeshHandle
aura.mesh.createCapsule( radius?: number, height?: number, segments?: number, rings?: number ): MeshHandle
aura.mesh.createCone(radius?: number, height?: number, segments?: number): MeshHandle
aura.mesh.createCylinder(radius?: number, height?: number, segments?: number): MeshHandle
aura.mesh.createExtrude( shape2d: Array<{ x: number; y: number }>, optionsOrDepth?: { depth?: number; segments?: number } | number, segments?: number ): MeshHandle
aura.mesh.createFromVertices( vertices: Float32Array | number[], indices: Uint32Array | Uint16Array | number[], normals?: Float32Array | number[] | null, uvs?: Float32Array | number[] | null, colorsOrSkinning?: Float32Array | number[] | { jointIndices: Uint16Array | Uint32Array | number[]; jointWeights: Float32Array | number[]; } | null, skinning?: { jointIndices: Uint16Array | Uint32Array | number[]; jointWeights: Float32Array | number[]; } | null ): MeshHandle
aura.mesh.createLathe( points: Array<{ x: number; y: number }>, optionsOrSegments?: { segments?: number; phiStart?: number; phiLength?: number; } | number, phiStart?: number, phiLength?: number ): MeshHandle
aura.mesh.createPlane(width?: number, depth?: number): MeshHandle
aura.mesh.createRing( innerRadius?: number, outerRadius?: number, thetaSegments?: number ): MeshHandle
aura.mesh.createSphere(radius?: number, segments?: number): MeshHandle
aura.mesh.createTorus( majorRadius?: number, minorRadius?: number, radialSegments?: number, tubularSegments?: number ): MeshHandle
aura.mesh.getData(handle: MeshHandle): { vertexCount: number; indexCount: number; morphTargetCount: number; bounds: { min: Vec3; max: Vec3 }; } | null
aura.mesh.load(path: string): MeshHandle
aura.mesh.setMorphTargets(handle: MeshHandle, targets: Array<{ positions: Float32Array | number[]; normals?: Float32Array | number[]; }>): void
aura.mesh.setMorphWeights(handle: MeshHandle, weights: Float32Array | number[]): void
aura.mesh.unload(handle: MeshHandle): void

`aura.material`

Material creation and runtime mutation surface.

  • Native support: supported
  • Web support: unsupported
  • Exact signatures in generated schema: 23
  • Additional known method names: 0
  • Contract source: api-contract-3d.md

Exact Signatures

aura.material.clone(handle: MaterialHandle): MaterialHandle
aura.material.create(options?: { color?: Color; texture?: string; normalMap?: string; metallic?: number; roughness?: number; alphaMode?: "opaque" | "mask" | "blend" | "hash"; alphaCutoff?: number; doubleSided?: boolean; sheenColor?: ColorRgb; sheenRoughness?: number; specularFactor?: number; specularColor?: ColorRgb; }): MaterialHandle
aura.material.createCustom(options: { vertex: string; fragment: string; uniforms?: Record<string, "float" | "vec2" | "vec3" | "vec4" | "mat4">; texture?: boolean; }): MaterialHandle
aura.material.reset(handle: MaterialHandle): void
aura.material.setAlphaCutoff(handle: MaterialHandle, value: number): void | { ok: false; reasonCode: string; reason: string }
aura.material.setAlphaMode( handle: MaterialHandle, mode: "opaque" | "mask" | "blend" | "hash" ): void | { ok: false; reasonCode: string; reason: string }
aura.material.setColor(handle: MaterialHandle, color: Color): void
aura.material.setCustomTexture( handle: MaterialHandle, texturePath: string | null ): void | { ok: false; reasonCode: string; reason: string }
aura.material.setDoubleSided(handle: MaterialHandle, enabled: boolean): void | { ok: false; reasonCode: string; reason: string }
aura.material.setEmissiveTexture( handle: MaterialHandle, input: string | DataTextureHandle | null ): void | { ok: false; reasonCode: string; reason: string }
aura.material.setMetallic(handle: MaterialHandle, metallic: number): void
aura.material.setMetallicRoughness(handle: MaterialHandle, metallic: number, roughness: number): void
aura.material.setMetallicRoughnessTexture( handle: MaterialHandle, input: string | DataTextureHandle | null ): void | { ok: false; reasonCode: string; reason: string }
aura.material.setNormalMap( handle: MaterialHandle, input: string | DataTextureHandle | null ): void | { ok: false; reasonCode: string; reason: string }
aura.material.setOcclusionStrength( handle: MaterialHandle, value: number ): void | { ok: false; reasonCode: string; reason: string }
aura.material.setOcclusionTexture( handle: MaterialHandle, input: string | DataTextureHandle | null ): void | { ok: false; reasonCode: string; reason: string }
aura.material.setRoughness(handle: MaterialHandle, roughness: number): void
aura.material.setSheen(handle: MaterialHandle, roughness: number, color: ColorRgb): void | { ok: false; reasonCode: string; reason: string }
aura.material.setSpecularColor( handle: MaterialHandle, color: ColorRgb ): void | { ok: false; reasonCode: string; reason: string }
aura.material.setSpecularFactor(handle: MaterialHandle, value: number): void | { ok: false; reasonCode: string; reason: string }
aura.material.setTexture(handle: MaterialHandle, texturePath: string | DataTextureHandle | null): void
aura.material.setUniform( handle: MaterialHandle, name: string, value: number | number[] | { x: number; y?: number; z?: number; w?: number } ): void | { ok: false; reasonCode: string; reason: string }
aura.material.unload(handle: MaterialHandle): void

Non-Namespace Contract Topics

  • glTF import shape, clip metadata, and skinned-mesh semantics are routed through the same canonical contracts even when the generated schema only lists the callable namespace methods.
DOCUMENT REFERENCE
docs/reference/scene3d-mesh-material-gltf-and-avatar-exact-reference.md
AURAJS
Cmd/Ctrl+K
aurajsgg