Expand description
scena is a Rust-native scene-graph renderer.
The first implementation slice establishes the public scene/assets/renderer vocabulary and the explicit prepare/render lifecycle.
Re-exports§
pub use animation::AnimationChannel;pub use animation::AnimationClip;pub use animation::AnimationClipKey;pub use animation::AnimationInterpolation;pub use animation::AnimationLoopMode;pub use animation::AnimationMixer;pub use animation::AnimationMixerKey;pub use animation::AnimationOutput;pub use animation::AnimationPlaybackState;pub use animation::AnimationSourceChannel;pub use animation::AnimationSourceClip;pub use animation::AnimationTarget;pub use assets::FileAssetFetcher;pub use assets::AssetEvictionStats;pub use assets::AssetFetcher;pub use assets::AssetLoadControl;pub use assets::AssetLoadProgress;pub use assets::AssetLoadReport;pub use assets::AssetLoadWarning;pub use assets::AssetPath;pub use assets::AssetStoreId;pub use assets::Assets;pub use assets::DefaultAssetFetcher;pub use assets::EnvironmentDerivative;pub use assets::EnvironmentDesc;pub use assets::EnvironmentHandle;pub use assets::EnvironmentSourceKind;pub use assets::GeometryHandle;pub use assets::GltfDecoderPolicy;pub use assets::GltfExtensionDiagnostic;pub use assets::GltfExtensionStatus;pub use assets::MaterialHandle;pub use assets::MaterialVariantBinding;pub use assets::ModelHandle;pub use assets::RetainPolicy;pub use assets::SceneAsset;pub use assets::SceneAssetAnchor;pub use assets::SceneAssetClip;pub use assets::SceneAssetLight;pub use assets::SceneAssetMesh;pub use assets::SceneAssetNode;pub use assets::TextureDesc;pub use assets::TextureFilter;pub use assets::TextureHandle;pub use assets::TextureSamplerDesc;pub use assets::TextureSourceFormat;pub use assets::TextureWrap;pub use assets::WasmEnvironmentDelivery;pub use controls::OrbitControlAction;pub use controls::OrbitControls;pub use controls::PointerButton;pub use controls::PointerEvent;pub use controls::PointerEventKind;pub use controls::TouchEvent;pub use controls::TouchEventKind;pub use diagnostics::AdapterLimitsReport;pub use diagnostics::AlphaPipelineStatus;pub use diagnostics::AnimationError;pub use diagnostics::AssetError;pub use diagnostics::Backend;pub use diagnostics::BuildError;pub use diagnostics::Capabilities;pub use diagnostics::CapabilityReport;pub use diagnostics::CapabilityStatus;pub use diagnostics::ChangeKind;pub use diagnostics::DebugOverlay;pub use diagnostics::DevicePoll;pub use diagnostics::Diagnostic;pub use diagnostics::DiagnosticCode;pub use diagnostics::DiagnosticSeverity;pub use diagnostics::Error;pub use diagnostics::GpuAdapterReport;pub use diagnostics::HardwareTier;pub use diagnostics::ImportDiagnosticOverlay;pub use diagnostics::ImportDiagnosticOverlayKind;pub use diagnostics::ImportError;pub use diagnostics::InstantiateError;pub use diagnostics::LookupError;pub use diagnostics::NotPreparedReason;pub use diagnostics::OutputStageStatus;pub use diagnostics::PrepareError;pub use diagnostics::RenderError;pub use diagnostics::RenderOutcome;pub use diagnostics::RendererStats;pub use geometry::Aabb;pub use geometry::FramingAngles;pub use geometry::GeometryDesc;pub use geometry::GeometryError;pub use geometry::GeometryMorphTarget;pub use geometry::GeometrySkin;pub use geometry::GeometryTopology;pub use geometry::GeometryVertex;pub use geometry::Primitive;pub use geometry::SkinningMatrix;pub use geometry::StaticBatchReport;pub use geometry::Vertex;pub use material::AlphaMode;pub use material::Color;pub use material::ColorParseError;pub use material::DEFAULT_EDGE_ANGLE_THRESHOLD_DEGREES;pub use material::DEFAULT_STROKE_WIDTH_PX;pub use material::MaterialDesc;pub use material::MaterialKind;pub use material::TextureColorSpace;pub use material::TextureTransform;pub use picking::CursorPosition;pub use picking::Hit;pub use picking::HitTarget;pub use picking::InteractionContext;pub use picking::InteractionStyle;pub use picking::Viewport;pub use platform::NativeWindowHandle;pub use platform::PlatformSurface;pub use platform::SurfaceEvent;pub use platform::SurfaceKind;pub use platform::SurfaceSize;pub use platform::SurfaceViewport;pub use render::OffscreenTarget;pub use render::PixelReadback;pub use render::Profile;pub use render::Quality;pub use render::RenderMode;pub use render::Renderer;pub use render::RendererOptions;pub use render::Tonemapper;pub use scene::AnchorFrame;pub use scene::AnchorKey;pub use scene::Angle;pub use scene::Camera;pub use scene::CameraKey;pub use scene::ClippingPlane;pub use scene::ClippingPlaneKey;pub use scene::ClippingPlaneSet;pub use scene::ConnectOptions;pub use scene::ConnectionAlignment;pub use scene::ConnectionError;pub use scene::ConnectionLineOverlay;pub use scene::ConnectionParenting;pub use scene::ConnectionPreview;pub use scene::ConnectionRequest;pub use scene::ConnectionRoll;pub use scene::ConnectionWarning;pub use scene::ConnectorFrame;pub use scene::ConnectorKey;pub use scene::ConnectorMetadata;pub use scene::ConnectorPolarity;pub use scene::ConnectorRollPolicy;pub use scene::DepthRange;pub use scene::DirectionalLight;pub use scene::ImportAnchor;pub use scene::ImportAnchorDebugMetadata;pub use scene::ImportClip;pub use scene::ImportConnector;pub use scene::ImportOptions;pub use scene::ImportPivot;pub use scene::Instance;pub use scene::InstanceCullingPolicy;pub use scene::InstanceId;pub use scene::InstanceSet;pub use scene::InstanceSetKey;pub use scene::LabelBillboard;pub use scene::LabelDesc;pub use scene::LabelKey;pub use scene::LabelRasterization;pub use scene::Light;pub use scene::LightBuilder;pub use scene::LightKey;pub use scene::MeshBuilder;pub use scene::MeshNode;pub use scene::ModelBuilder;pub use scene::ModelNode;pub use scene::Node;pub use scene::NodeKey;pub use scene::NodeKind;pub use scene::OrthographicCamera;pub use scene::PerspectiveCamera;pub use scene::PointLight;pub use scene::Scene;pub use scene::SceneDirtyState;pub use scene::SceneImport;pub use scene::SceneSkinBinding;pub use scene::SourceCoordinateSystem;pub use scene::SourceUnits;pub use scene::SpotLight;pub use scene::StudioLightingHandles;pub use scene::Transform;pub use scene::SceneCameraFrustumInspection;pub use scene::SceneDrawInspection;pub use scene::SceneInspectionReport;pub use scene::SceneMaterialInspection;pub use scene::SceneNodeInspection;pub use scene::SceneNormalInspection;pub use scene::SceneTextureInspection;pub use viewer::FirstRender;pub use viewer::HeadlessGltfViewer;pub use viewer::HeadlessGltfViewerBuilder;pub use viewer::InteractiveGltfViewer;pub use viewer::InteractiveGltfViewerBuilder;pub use viewer::first_render_gltf_headless;pub use viewer::headless_gltf_viewer;pub use viewer::interactive_gltf_viewer;
Modules§
- animation
- glTF animation playback, mixer state, skinning, and morph-target support.
- assets
- Asset fetchers, caches, glTF/GLB parsing, texture decoding, and asset handles.
- controls
- Platform-neutral orbit, pan, fly, and focus controls.
- diagnostics
- Structured errors, debug overlays, capability reports, and renderer stats.
- geometry
- Primitive meshes, generated helper geometry, technical lines, arrows, grids, and labels.
- material
- Material descriptors, texture slots, color space, alpha modes, and technical materials.
- picking
- Ray construction, bounds tests, triangle/BVH tests, and typed hit results.
- platform
- Optional native/browser platform adapters. Renderer logic must stay outside this module.
- render
- wgpu device/surface ownership, prepare lifecycle, passes, resource tables, and stats.
- scene
- Scene graph, typed keys, transforms, bounds, anchors, clipping, and queries.
- viewer
- High-level viewer helpers built from
Scene,Assets, andRenderer.
Structs§
Type Aliases§
- Result
- Crate-level result type for APIs that can return any structured
scenaerror.