Expand description
Facade crate for scenix Renderer APIs.
This release re-exports the Foundation crates, the GPU-free scene graph, CPU-side geometry, materials, lights, textures, cameras, optional loaders, raycasting, debug helper geometry, optional Animato and WASM integration, optional post-processing, and optional renderer APIs.
Modules§
- advanced_
controls - ambient
- animation_
path - Line-geometry helper that visualizes a sampled animation path.
- area
- arrow
- atlas
- axes
- batched
- bounding_
box - bounds
- buffer
- bvh
- camera_
helper - color
- controller
- cube_
camera - cylindrical
- depth
- directional
- editor
- editor_
helpers - error
- euler
- fog
- format
- frustum
- gamepad
- geometry
- gesture
- gizmo
- graph
- grid
- hemisphere
- ids
- instanced
- interaction
- intersection
- iter
- keyboard
- lambert
- light_
helper - line
- line_
geometry - lod
- mat
- mesh
- mipmap
- morph
- node
- normal
- orthographic
- pbr
- perspective
- physical
- plane
- point
- pointer
- points
- pose_
helper - Bone-axis gizmo helper for a
SkeletonPose. - primitives
- probe
- quat
- ray
- raycaster
- sampler
- shader
- shadow
- shape
- skeleton_
helper - skin
- Skinning data model + CPU skinning fallback.
- spherical
- spot
- sprite
- state
- texture
- toon
- touch
- traits
- transform
- unlit
- vec
- video
- viewport
- wireframe
Structs§
- Aabb
- An axis-aligned bounding box.
- Ambient
Light - Constant ambient scene light.
- Animation
Clip Id - Typed identifier for an imported animation clip.
- Animation
Path Helper - Polyline helper for visualizing a sampled animation trajectory.
- Arcball
Controller - Quaternion-based orbit control suitable for model viewers.
- Area
Light - Rectangular area light description.
- Arrow
Helper - Directional arrow helper.
- AssetId
- Typed identifier for an imported asset package.
- Atlas
Entry - Named atlas entry.
- Atlas
Rect - Pixel-space rectangle inside a texture atlas.
- Axes
Helper - RGB XYZ axes helper.
- Batched
Geometry Range - Draw range metadata for one geometry inside a batched mesh.
- Batched
Mesh - Multiple geometries merged into one CPU-side geometry with draw ranges.
- Bounding
BoxHelper - Wireframe AABB helper.
- Bounds
Gizmo Helper - Corner-emphasized editor bounds helper.
- Breadth
First Iter - Breadth-first scene graph node ID iterator.
- Buffer
Layout - Vertex buffer layout metadata.
- Bvh
- Surface-area-heuristic BVH over scene node AABBs.
- BvhEntry
- Scene-level BVH leaf entry.
- BvhNode
- A compact BVH node.
- Camera
Helper - Camera frustum wireframe helper.
- Camera
Id - Typed identifier for a camera resource.
- Color
- RGBA color with
f32channels. - Cube
Camera - Camera that produces six 90-degree view-projection matrices for cubemaps.
- Cylindrical
- Cylindrical coordinates around the Y axis.
- Depth
First Iter - Depth-first scene graph node ID iterator.
- Depth
Material - Depth-only material used by shadow and prepass renderers.
- Directional
Light - Directional light with optional shadow configuration.
- Directional
Light Helper - Directional-light arrow helper.
- Drag
Controller - Reversible plane-based node drag controller.
- Drag
Plane - World-space drag plane with robust ray intersection.
- Euler
- Euler angles in radians plus a rotation order.
- First
Person Controller - Ground-plane first-person control with optional vertical movement.
- FlyController
- Fly-style camera controller.
- Frustum
- Six frustum planes in
[left, right, bottom, top, near, far]order. - Gamepad
Id - A gamepad slot identifier.
- Gamepad
State - State for one standard-mapped gamepad.
- Gamepad
States - Fixed-capacity collection of gamepad states.
- Geometry
- Indexed triangle geometry stored in CPU-side arrays.
- Gesture
Recognizer - Stateful, allocation-free touch gesture recognizer.
- Gesture
State - Gesture deltas accumulated for the current frame.
- Gizmo
Geometry - Reusable line geometry plus analytic transform handles.
- Gizmo
Handle - Pickable semantic handle.
- Grid
Helper - XZ-plane grid helper.
- Hemisphere
Light - Sky/ground gradient ambient light.
- Input
State - Complete platform-independent input snapshot.
- Instanced
Mesh - Draw metadata for many instances of the same mesh and material.
- Interaction
Update - Successful transform update.
- Intersection
- A world-space ray intersection against a scene mesh node.
- Keyboard
State - Fixed-size keyboard state suitable for
no_std. - Lambert
Material - Diffuse-only material for fast lit surfaces.
- Layer
Mask - A bit mask used to filter scene interaction layers.
- Layer
Policy - Layer filters applied by editor interactions.
- LightId
- Typed identifier for a light resource.
- Light
Probe - Spherical-harmonics environment light using 3rd-order RGB coefficients.
- Line
Geometry - A validated line-list geometry used by debug helpers.
- Line
Material - Line material with optional dash pattern.
- LodGroup
- Mesh levels of detail selected by camera distance.
- MapController
- World-up map/navigation control with orbit, pan, and zoom.
- Mat3
- A 3x3 column-major matrix.
- Mat4
- A 4x4 column-major matrix.
- Material
Id - Typed identifier for a material resource.
- Mesh
- A renderable mesh made from geometry and a material identifier.
- MeshId
- Typed identifier for a mesh resource.
- Modifiers
- Keyboard modifier state.
- Morph
Target - Vertex delta data for blend-shape style mesh deformation.
- Morph
Weights - Live morph-weight storage for a mesh (one weight per morph target).
- Node
Editor Metadata - Sparse editor-only metadata associated with a scene node.
- NodeId
- Typed identifier for a scene node.
- Normal
Material - Debug material that renders surface normals as RGB colors.
- Orbit
Controller - Orbit-style camera controller.
- Orthographic
Camera - Orthographic camera with right-handed WebGPU-depth projection.
- PbrMaterial
- Metallic-roughness physically based material.
- Perspective
Camera - Perspective camera with right-handed WebGPU-depth projection.
- Physical
Material - PBR material with advanced physical surface effects.
- Pipeline
Key - Compact renderer pipeline selector.
- Plane
- A plane defined by a unit normal and signed distance from the origin.
- Point
Light - Omnidirectional punctual light.
- Point
Light Helper - Wireframe point-light helper.
- Pointer
Lock Controller - Fly controller adapter that responds only to relative look input while locked.
- Pointer
Lock State - Pointer-lock state and relative movement accumulated this frame.
- Pointer
State - Current pointer position, movement, and button state.
- Points
Material - Point material for point-list geometry.
- Pose
Helper - Draws a small axis triad at each bone origin for pose debugging.
- Quat
- A unit quaternion representing 3D rotation.
- Ray3
- A normalized 3D ray.
- Raycaster
- BVH-accelerated scene raycaster.
- Sampler
- CPU-side sampler configuration.
- Scene
Graph - SlotMap-backed scene node hierarchy with cached world transforms.
- Scene
Node - A node’s public, user-editable scene data.
- Selection
Change - Exact selection differences produced by one operation.
- Selection
Frustum - Camera-specific selection volume represented by a view-projection matrix.
- Selection
Helper - Selection outline helper for one or more world-space bounds.
- Selection
Rect - Normalized-device-coordinate selection rectangle.
- Selection
State - Current graph-local editor selection.
- Shader
Material - Custom WGSL material.
- Shadow
Config - Shadow-map configuration shared by shadow-casting light types.
- Shape
- A 2D polygon shape with an exterior contour and optional holes.
- Skeleton
Helper - Bone-line skeleton helper.
- SkinId
- Typed identifier for imported skinning metadata.
- Skinning
Attributes - Per-vertex skinning attributes (glTF
JOINTS_0+WEIGHTS_0). - Skinning
Data - Full skinning data: per-vertex attributes + inverse-bind matrices.
- Snap
Grid Helper - Grid helper translated to an editor work-plane origin.
- Snap
Settings - Quantization increments for editor transforms. Zero disables a component.
- Sphere
- A bounding sphere.
- Spherical
- Spherical coordinates using Y as the polar axis.
- Spot
Light - Cone-shaped punctual light.
- Spot
Light Helper - Wireframe spot-light cone helper.
- Sprite
- CPU-side sprite attachment data.
- Texture2D
- CPU-side 2D texture bytes.
- Texture3D
- CPU-side 3D texture bytes.
- Texture
Atlas - Deterministic shelf-packed texture atlas.
- Texture
Cube - CPU-side cube texture bytes.
- Texture
Id - Typed identifier for a texture resource.
- Toon
Material - Cel-shading material with discrete lighting bands.
- TouchId
- Platform-provided touch contact identifier.
- Touch
Point - One active touch contact in logical pixels.
- Touch
State - Fixed-capacity touch state suitable for
no_stdinput loops. - Trackball
Controller - Unconstrained orbit, roll, pan, and zoom control.
- Transform
- A translation, rotation, and scale transform.
- Transform
Controller - Reversible translate/rotate/scale interaction controller.
- Transform
Gizmo Helper - Translate, rotate, or scale gizmo generator.
- Unlit
Material - Constant-color material that ignores scene lighting.
- UvRect
- Normalized UV rectangle inside a texture atlas.
- Vec2
- A two-dimensional vector.
- Vec3
- A three-dimensional vector.
- Vec4
- A four-dimensional vector.
- Vertex
Attribute - A single vertex attribute in an interleaved or packed buffer.
- Video
Texture - Mutable CPU-side texture updated frame by frame.
- Viewport
Metrics - Logical/physical viewport measurements used by input and camera controls.
- Wireframe
Material - Wireframe overlay material.
Enums§
- Address
Mode - Texture coordinate addressing mode.
- Alpha
Mode - Material alpha behavior.
- Billboard
Mode - How a sprite should face the camera.
- Buffer
Step Mode - Whether a vertex buffer advances per vertex or per instance.
- Color
Space - The transfer function used by color values.
- Compare
Function - Optional depth-compare function for shadow/depth sampling.
- Cube
Face - Cube-map face order.
- Filter
Mode - Texture filtering mode.
- Fog
- Scene-wide fog configuration.
- Gamepad
Axis - Axes from the standard browser/native gamepad mapping.
- Gamepad
Button - Buttons from the standard browser/native gamepad mapping.
- Gizmo
Handle Id - Semantic transform-gizmo handle.
- Gizmo
HitShape - Analytic picking volume for an editor handle.
- GpuError
- GPU-related errors.
- Index
Format - Index buffer integer format.
- Interaction
Error - Interaction operation failure.
- KeyCode
- Portable key codes used by scenix controllers.
- Load
Error - Asset loading errors.
- Node
Kind - Render or logical payload attached to a scene node.
- Pipeline
Alpha Mode - Pipeline-level alpha mode. This is hashable because the cutoff value is not part of render-pipeline selection.
- Pointer
Button - Pointer button identifiers.
- Rotation
Order - Rotation order for Euler angles.
- Scenix
Error - Top-level scenix error type.
- Selection
Containment - Whether marquee selection requires full containment.
- Selection
Mode - How a selection command combines with the existing selection.
- Shader
Kind - Built-in shader family used by a material.
- Texture
Format - CPU-side texture format metadata.
- Touch
Phase - Phase of a touch event.
- Transform
Constraint - Axis or plane constraint used by a transform operation.
- Transform
Mode - Active transform tool.
- Transform
Space - Coordinate system used by a transform tool.
- Validation
Error - Validation errors.
- Vertex
Format - Plain vertex data format.
- Vertex
Semantic - Semantic meaning of a vertex attribute.
- Visibility
- A frustum visibility result.
Constants§
- FEATURE_
ALBEDO_ TEXTURE - Base color texture is bound.
- FEATURE_
CLEARCOAT - Clearcoat lobe is active.
- FEATURE_
CUSTOM_ TEXTURES - Custom shader has texture bindings.
- FEATURE_
DASHED - Dashed line path is active.
- FEATURE_
DOUBLE_ SIDED - Material is rendered double-sided.
- FEATURE_
EMISSIVE_ TEXTURE - Emissive texture is bound.
- FEATURE_
FLAT_ SHADING - Flat normal shading is active.
- FEATURE_
GRADIENT_ TEXTURE - Gradient/ramp texture is bound.
- FEATURE_
IRIDESCENCE - Iridescence path is active.
- FEATURE_
METALLIC_ ROUGHNESS_ TEXTURE - Metallic-roughness texture is bound.
- FEATURE_
NORMAL_ TEXTURE - Normal map is bound.
- FEATURE_
OCCLUSION_ TEXTURE - Occlusion texture is bound.
- FEATURE_
OUTLINE - Toon outline path is active.
- FEATURE_
SHEEN - Sheen lobe is active.
- FEATURE_
SIZE_ ATTENUATION - Point size attenuation is active.
- FEATURE_
TRANSMISSION - Transmission path is active.
- FEATURE_
VERTEX_ COLORS - Material expects vertex colors.
- FEATURE_
WIREFRAME - Wireframe rendering path is active.
- FEATURE_
WORLD_ SPACE - Normals are evaluated in world space.
- MAX_
GAMEPADS - Maximum gamepads tracked without allocating.
- MAX_
TOUCH_ POINTS - Maximum simultaneous touch contacts tracked without allocating.
Traits§
- Bounded
- A value that can report conservative bounds.
- Geometry
Provider - Provides mesh geometry by
MeshId. - Material
- CPU-side material description with no GPU dependency.
- Named
- A named object.
- Renderable
- A value that can provide a stable render order.
Functions§
- apply_
morph - Applies morph-target deltas to
geometrybyweightsin-place on a clone. - box_
geometry - Creates segmented box geometry centered at the origin.
- capsule_
geometry - Creates capsule geometry centered at the origin.
- circle_
geometry - Creates a filled circle or arc in the XY plane.
- cone_
geometry - Creates cone geometry centered at the origin.
- cpu_
skin - CPU-skins
geometryby the given final joint matrices. - cylinder_
geometry - Creates cylinder or truncated-cone geometry centered at the origin.
- extrude_
geometry - Creates extruded 2D shape geometry with sharp side walls.
- final_
joint_ matrices - Computes final per-joint matrices from bone world transforms + inverse binds.
- icosphere_
geometry - Creates an icosphere by subdividing an icosahedron.
- lathe_
geometry - Creates a lathe surface by rotating 2D radius/Y points around the Y axis.
- plane_
geometry - Creates segmented plane geometry in the XY plane.
- ring_
geometry - Creates ring geometry in the XY plane.
- shape_
geometry - Creates triangulated 2D shape geometry in the XY plane.
- sphere_
geometry - Creates UV sphere geometry centered at the origin.
- torus_
geometry - Creates torus geometry around the Y axis.
- torus_
knot_ geometry - Creates torus-knot geometry.
- tube_
geometry - Creates tube geometry around a polyline path.