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.
Shell-capable LLMs building viewers, CAD inspection scenes, digital twins, configurators, dashboards, documentation renders, or interaction proofs should start from the public LLM app-builder guide instead of guessing recipe fields or private Rust APIs.
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::ASSET_CATALOG_SCHEMA_V1;pub use assets::ASSET_DOCTOR_REPORT_SCHEMA_V1;pub use assets::ASSET_GEOMETRY_SUMMARY_SCHEMA_V1;pub use assets::ASSET_LOAD_REPORT_SCHEMA_V1;pub use assets::ASSET_READINESS_REPORT_SCHEMA_V1;pub use assets::AssetCatalogAssetV1;pub use assets::AssetCatalogExpectedBoundsV1;pub use assets::AssetCatalogFeatureRequirementV1;pub use assets::AssetCatalogMaterialRequirementsV1;pub use assets::AssetCatalogPreviewV1;pub use assets::AssetCatalogV1;pub use assets::AssetDerivative;pub use assets::AssetDoctorFindingV1;pub use assets::AssetDoctorReportV1;pub use assets::AssetDoctorSeverityV1;pub use assets::AssetDoctorSummaryV1;pub use assets::AssetEvictionStats;pub use assets::AssetExternalResource;pub use assets::AssetExternalResourceKind;pub use assets::AssetExternalResourceStatus;pub use assets::AssetExternalResourceV1;pub use assets::AssetFetcher;pub use assets::AssetLoadControl;pub use assets::AssetLoadOptions;pub use assets::AssetLoadProgress;pub use assets::AssetLoadProgressV1;pub use assets::AssetLoadReport;pub use assets::AssetLoadReportV1;pub use assets::AssetLoadWarning;pub use assets::AssetLoadWarningV1;pub use assets::AssetMaterialFallback;pub use assets::AssetMaterialFallbackKind;pub use assets::AssetMaterialFallbackV1;pub use assets::AssetMaterialSource;pub use assets::AssetMaterialSourceKind;pub use assets::AssetPath;pub use assets::AssetProvenance;pub use assets::AssetReadinessAssetReportV1;pub use assets::AssetReadinessFindingV1;pub use assets::AssetReadinessPreviewV1;pub use assets::AssetReadinessReportV1;pub use assets::AssetReadinessSeverityV1;pub use assets::AssetReadinessSummaryV1;pub use assets::AssetStoreId;pub use assets::Assets;pub use assets::DEFAULT_ENVIRONMENT_CUBEMAP_FACE_RESOLUTION;pub use assets::DefaultAssetFetcher;pub use assets::EnvironmentDerivative;pub use assets::EnvironmentDesc;pub use assets::EnvironmentHandle;pub use assets::EnvironmentPreset;pub use assets::EnvironmentPresetMetadata;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::MaterialPresetAssets;pub use assets::MaterialPresetProvenance;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::SceneAssetGeometrySummary;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 assets::source_backed_material_preset_provenance;pub use assets::validate_scene_recipe_json_with_assets;pub use assets::validate_scene_recipe_json_with_assets_and_policy;pub use assets::AssetHotReloadError;pub use assets::AssetHotReloadWatcher;pub use assets::KhronosSample;pub use assets::KhronosSampleMetadata;pub use assets::KhronosSamples;pub use browser_proof::BROWSER_PROOF_RUN_SCHEMA_V1;pub use browser_proof::BrowserProofRunV1;pub use capture::CAPTURE_BASELINE_SCHEMA_V1;pub use capture::CAPTURE_SCHEMA_V1;pub use capture::CaptureAutoFrame;pub use capture::CaptureAutoFrameViewport;pub use capture::CaptureBaselineDiff;pub use capture::CaptureBaselineError;pub use capture::CaptureBaselineReport;pub use capture::CaptureBaselineTolerance;pub use capture::CaptureCamera;pub use capture::CaptureContactSheet;pub use capture::CaptureContactSheetError;pub use capture::CaptureContactSheetTile;pub use capture::CaptureDescriptor;pub use capture::CaptureError;pub use capture::CaptureOptions;pub use capture::CapturePayload;pub use capture::CapturePayloadKind;pub use capture::CapturePixelBounds;pub use capture::CapturePixelSummary;pub use capture::CapturePngError;pub use capture::CapturePoint2;pub use capture::CaptureProjectedPoint;pub use capture::CaptureProjection;pub use capture::CaptureRevisions;pub use capture::CaptureRgba8;pub use capture::CaptureScreenRect;pub use capture::CaptureScreenRegion;pub use capture::CaptureViewport;pub use capture::auto_frame_metadata;pub use capture::capture_contact_sheet_rgba8;pub use capture::capture_rgba8;pub use capture::capture_rgba8_from_pixels;pub use capture::compare_captures_with_tolerance;pub use capture::fnv1a64_hex;pub use capture::project_aabb_from_capture;pub use capture::project_world_point_from_capture;pub use capture::sample_rgba8;pub use capture::screen_region_from_center_size;pub use capture::screen_region_from_points;pub use capture::screen_region_from_rect;pub use capture::summarize_pixel_readback;pub use capture::summarize_rgba8;pub use capture::transform_point_for_projection;pub use controls::CameraBookmark;pub use controls::CameraFlyTo;pub use controls::CameraOrbitUrlState;pub use controls::CameraOrbitUrlStateError;pub use controls::CameraState;pub use controls::CameraTransitionError;pub use controls::FlyControls;pub use controls::FollowControls;pub use controls::GizmoAxis;pub use controls::GizmoConstraint;pub use controls::GizmoMode;pub use controls::GizmoRay;pub use controls::GizmoSpace;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 controls::TransformGizmo;pub use controls::TransformGizmoHelpers;pub use controls::TransitionEasing;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::CAPABILITY_REPORT_SCHEMA_V1;pub use diagnostics::Capabilities;pub use diagnostics::CapabilityReport;pub use diagnostics::CapabilityReportV1;pub use diagnostics::CapabilityStatus;pub use diagnostics::ChangeKind;pub use diagnostics::DevicePoll;pub use diagnostics::Diagnostic;pub use diagnostics::DiagnosticCode;pub use diagnostics::DiagnosticContext;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::OutputColorSpace;pub use diagnostics::OutputStageStatus;pub use diagnostics::PostProcessingDepthSourceV1;pub use diagnostics::PostProcessingPassV1;pub use diagnostics::PostProcessingReportV1;pub use diagnostics::PrepareError;pub use diagnostics::RenderError;pub use diagnostics::RenderOutcome;pub use diagnostics::RendererStats;pub use geometry::Aabb;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::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 reference_image::ReferenceImage;pub use reference_image::ReferenceImageError;pub use reference_image::ReferenceImageReport;pub use reference_image::ReferenceImageTolerance;pub use reference_image::regress;pub use reference_image::regress_with_tolerance;pub use render::animation_introspection::ANIMATION_INTROSPECTION_SCHEMA_V1;pub use render::animation_introspection::AnimationChannelChangeCounts;pub use render::animation_introspection::AnimationClipIntrospectionV1;pub use render::animation_introspection::AnimationIntrospectionArtifactsV1;pub use render::animation_introspection::AnimationIntrospectionFixV1;pub use render::animation_introspection::AnimationIntrospectionReasonV1;pub use render::animation_introspection::AnimationIntrospectionReportV1;pub use render::animation_introspection::AnimationIntrospectionSummaryV1;pub use render::animation_introspection::AnimationObservedValueV1;pub use render::animation_introspection::AnimationSampleV1;pub use render::animation_introspection::animation_channel_change_counts;pub use render::animation_introspection::transform_differs;pub use render::animation_introspection::transform_is_finite;pub use render::appearance::APPEARANCE_EXPECTATION_SCHEMA_V1;pub use render::appearance::APPEARANCE_INTROSPECTION_SCHEMA_V1;pub use render::appearance::AppearanceAlphaSummaryV1;pub use render::appearance::AppearanceArtifactsV1;pub use render::appearance::AppearanceCaptureSummaryV1;pub use render::appearance::AppearanceExpectationV1;pub use render::appearance::AppearanceFixV1;pub use render::appearance::AppearanceIntrospectionOptions;pub use render::appearance::AppearanceIntrospectionReportV1;pub use render::appearance::AppearanceReasonV1;pub use render::appearance::AppearanceRectV1;pub use render::appearance::AppearanceSampleRegionV1;pub use render::appearance::AppearanceSummaryV1;pub use render::appearance::AppearanceTargetExpectationV1;pub use render::appearance::AppearanceTargetReportV1;pub use render::introspection::RENDER_INTROSPECTION_SCHEMA_V1;pub use render::introspection::RenderIntrospectionArtifactsV1;pub use render::introspection::RenderIntrospectionCapabilitiesV1;pub use render::introspection::RenderIntrospectionCaptureSummaryV1;pub use render::introspection::RenderIntrospectionFixV1;pub use render::introspection::RenderIntrospectionFramingV1;pub use render::introspection::RenderIntrospectionLuminanceV1;pub use render::introspection::RenderIntrospectionNodeDetailV1;pub use render::introspection::RenderIntrospectionNodesSummaryV1;pub use render::introspection::RenderIntrospectionOptions;pub use render::introspection::RenderIntrospectionReasonV1;pub use render::introspection::RenderIntrospectionRectV1;pub use render::introspection::RenderIntrospectionReportV1;pub use render::quality::DepthOfFieldQualityInput;pub use render::quality::RENDER_QUALITY_SCHEMA_V1;pub use render::quality::ReferenceQualityMetrics;pub use render::quality::RenderQualityAreaLightMetrics;pub use render::quality::RenderQualityCheckV1;pub use render::quality::RenderQualityDepthOfFieldMetrics;pub use render::quality::RenderQualityFrameMetrics;pub use render::quality::RenderQualityGeometryEdgeMetrics;pub use render::quality::RenderQualityGridLineMetrics;pub use render::quality::RenderQualityLabelBackgroundMetrics;pub use render::quality::RenderQualityLabelMetrics;pub use render::quality::RenderQualityLineMetrics;pub use render::quality::RenderQualityProfile;pub use render::quality::RenderQualityRegion;pub use render::quality::RenderQualityRegionV1;pub use render::quality::RenderQualityReportV1;pub use render::quality::RenderQualityRgba8Input;pub use render::quality::RenderQualityStatusV1;pub use render::quality::RenderQualitySummaryV1;pub use render::quality::area_light_shadow_metrics;pub use render::quality::depth_of_field_metrics;pub use render::quality::evaluate_area_light_region_quality;pub use render::quality::evaluate_depth_of_field_region_quality;pub use render::quality::evaluate_geometry_region_quality;pub use render::quality::evaluate_grid_line_region_quality;pub use render::quality::evaluate_grounding_region_quality;pub use render::quality::evaluate_label_region_quality;pub use render::quality::evaluate_label_region_quality_with_background;pub use render::quality::evaluate_line_region_quality;pub use render::quality::evaluate_reflection_region_quality;pub use render::quality::evaluate_render_quality;pub use render::quality::evaluate_render_quality_rgba8;pub use render::quality::frame_metrics;pub use render::quality::geometry_edge_metrics;pub use render::quality::grid_line_metrics;pub use render::quality::label_background_metrics;pub use render::quality::label_metrics;pub use render::quality::line_metrics;pub use render::quality::reference_quality_metrics;pub use render::quality::ssim_grayscale;pub use render::visibility_diagnosis::VISIBILITY_DIAGNOSIS_SCHEMA_V1;pub use render::visibility_diagnosis::VisibilityDiagnosisEvidenceV1;pub use render::visibility_diagnosis::VisibilityDiagnosisFixV1;pub use render::visibility_diagnosis::VisibilityDiagnosisOptions;pub use render::visibility_diagnosis::VisibilityDiagnosisReasonV1;pub use render::visibility_diagnosis::VisibilityDiagnosisReportV1;pub use render::visibility_diagnosis::VisibilityDiagnosisSummaryV1;pub use render::visibility_diagnosis::VisibilityDiagnosisTargetV1;pub use render::visual_repair::AGENT_LOOP_RESULT_SCHEMA_V1;pub use render::visual_repair::AgentLoopResultV1;pub use render::visual_repair::VISUAL_REPAIR_PLAN_SCHEMA_V1;pub use render::visual_repair::VisualRepairActionV1;pub use render::visual_repair::VisualRepairPlanV1;pub use render::visual_repair::VisualRepairRemainingReasonV1;pub use render::visual_repair::VisualRepairSkippedActionV1;pub use render::AntiAliasing;pub use render::AutoExposureConfig;pub use render::AutoExposureResult;pub use render::Background;pub use render::DepthOfFieldConfig;pub use render::OffscreenTarget;pub use render::OrderIndependentTransparencyConfig;pub use render::PixelReadback;pub use render::PostBloomConfig;pub use render::Profile;pub use render::Quality;pub use render::ReconstructionFilter;pub use render::RenderMode;pub use render::Renderer;pub use render::RendererOptions;pub use render::ScreenSpaceAmbientOcclusionConfig;pub use render::ScreenSpaceReflectionConfig;pub use render::Tonemapper;pub use render::estimate_auto_exposure_from_linear_colors;pub use render::estimate_auto_exposure_from_srgb8;pub use scene::recipe::RecipeBuildPolicy;pub use scene::recipe::SCENE_RECIPE_BUILD_SCHEMA_V1;pub use scene::recipe::SCENE_RECIPE_SCHEMA_V1;pub use scene::recipe::SCENE_RECIPE_VALIDATION_SCHEMA_V1;pub use scene::recipe::SceneRecipeAlphaModeV1;pub use scene::recipe::SceneRecipeAnimationChannelV1;pub use scene::recipe::SceneRecipeAnimationV1;pub use scene::recipe::SceneRecipeBackendExpectationV1;pub use scene::recipe::SceneRecipeBboxFitExpectationV1;pub use scene::recipe::SceneRecipeBuildAnimationV1;pub use scene::recipe::SceneRecipeBuildImportV1;pub use scene::recipe::SceneRecipeBuildResourceV1;pub use scene::recipe::SceneRecipeBuildSkippedV1;pub use scene::recipe::SceneRecipeBuildTargetV1;pub use scene::recipe::SceneRecipeBuildV1;pub use scene::recipe::SceneRecipeCalloutTargetV1;pub use scene::recipe::SceneRecipeCalloutV1;pub use scene::recipe::SceneRecipeCameraV1;pub use scene::recipe::SceneRecipeCaptureV1;pub use scene::recipe::SceneRecipeClippingExpectationV1;pub use scene::recipe::SceneRecipeClippingPlaneV1;pub use scene::recipe::SceneRecipeColorExpectationV1;pub use scene::recipe::SceneRecipeColorV1;pub use scene::recipe::SceneRecipeDiagnosticV1;pub use scene::recipe::SceneRecipeExpectV1;pub use scene::recipe::SceneRecipeExpectedExtentV1;pub use scene::recipe::SceneRecipeExplodedViewModeV1;pub use scene::recipe::SceneRecipeExplodedViewV1;pub use scene::recipe::SceneRecipeFontV1;pub use scene::recipe::SceneRecipeGeometryV1;pub use scene::recipe::SceneRecipeGroundedExpectationV1;pub use scene::recipe::SceneRecipeHelperOcclusionExpectationV1;pub use scene::recipe::SceneRecipeImportV1;pub use scene::recipe::SceneRecipeInstanceSetV1;pub use scene::recipe::SceneRecipeInstanceV1;pub use scene::recipe::SceneRecipeLabelV1;pub use scene::recipe::SceneRecipeLightV1;pub use scene::recipe::SceneRecipeLookAtTargetV1;pub use scene::recipe::SceneRecipeMaterialV1;pub use scene::recipe::SceneRecipeMeasurementV1;pub use scene::recipe::SceneRecipeMeshV1;pub use scene::recipe::SceneRecipeMorphTargetV1;pub use scene::recipe::SceneRecipeMorphV1;pub use scene::recipe::SceneRecipeNodeLodV1;pub use scene::recipe::SceneRecipeNodeSkinBindingV1;pub use scene::recipe::SceneRecipeNodeV1;pub use scene::recipe::SceneRecipeParticleSetV1;pub use scene::recipe::SceneRecipeParticleV1;pub use scene::recipe::SceneRecipePickExpectationV1;pub use scene::recipe::SceneRecipePrimitiveV1;pub use scene::recipe::SceneRecipeQualityAreaLightV1;pub use scene::recipe::SceneRecipeQualityContrastV1;pub use scene::recipe::SceneRecipeQualityDepthOfFieldV1;pub use scene::recipe::SceneRecipeQualityExpectationV1;pub use scene::recipe::SceneRecipeQualityExposureV1;pub use scene::recipe::SceneRecipeQualityGeometryV1;pub use scene::recipe::SceneRecipeQualityGroundingV1;pub use scene::recipe::SceneRecipeQualityLineV1;pub use scene::recipe::SceneRecipeQualityNoiseV1;pub use scene::recipe::SceneRecipeQualityReflectionV1;pub use scene::recipe::SceneRecipeQualityTextV1;pub use scene::recipe::SceneRecipeReferenceExpectationV1;pub use scene::recipe::SceneRecipeSectionBoxV1;pub use scene::recipe::SceneRecipeSeparationExpectationV1;pub use scene::recipe::SceneRecipeSkinV1;pub use scene::recipe::SceneRecipeStateExpectationV1;pub use scene::recipe::SceneRecipeTargetV1;pub use scene::recipe::SceneRecipeTextureColorSpaceV1;pub use scene::recipe::SceneRecipeTextureSlotV1;pub use scene::recipe::SceneRecipeTransformExpectationV1;pub use scene::recipe::SceneRecipeTransformV1;pub use scene::recipe::SceneRecipeV1;pub use scene::recipe::SceneRecipeValidationReportV1;pub use scene::recipe::SceneRecipeVisibleExpectationV1;pub use scene::recipe::parse_valid_scene_recipe_json;pub use scene::recipe::parse_valid_scene_recipe_json_with_policy;pub use scene::recipe::recipe_too_large_report;pub use scene::recipe::validate_scene_recipe_json;pub use scene::recipe::validate_scene_recipe_json_with_policy;pub use scene::recipe::validate_scene_recipe_value;pub use scene::recipe::validate_scene_recipe_value_with_policy;pub use scene::recipe::SCENE_COMPOSITION_SCHEMA_V1;pub use scene::recipe::SCENE_RECIPE_RENDER_RESULT_SCHEMA_V1;pub use scene::recipe::SceneCompositionCheckV1;pub use scene::recipe::SceneCompositionRegionV1;pub use scene::recipe::SceneCompositionReportV1;pub use scene::recipe::SceneCompositionStatusV1;pub use scene::recipe::SceneCompositionSummaryV1;pub use scene::recipe::SceneRecipeRenderResultV1;pub use scene::recipe::SceneRecipeVerificationReasonV1;pub use scene::recipe::SceneRecipeVerificationReportV1;pub use scene::recipe::SceneRecipeVerificationSummaryV1;pub use scene::AnchorFrame;pub use scene::AnchorKey;pub use scene::Angle;pub use scene::AnnotationAnchor;pub use scene::AnnotationAnchorTarget;pub use scene::AnnotationProjectionReportV1;pub use scene::AnnotationProjectionV1;pub use scene::AreaLight;pub use scene::AreaLightShape;pub use scene::Callout;pub use scene::CalloutAnchor;pub use scene::CalloutAnchorKind;pub use scene::CalloutReport;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::ConnectionMagnetPreview;pub use scene::ConnectionMagnetVisualCue;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::ExplodedTransformUpdate;pub use scene::ExplodedView;pub use scene::ExplodedViewPlan;pub use scene::FramingOptions;pub use scene::FramingOutcome;pub use scene::GridFloorHandles;pub use scene::GridFloorOptions;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::InspectionHelperKind;pub use scene::InspectionHelperReport;pub use scene::InspectionToolkitReport;pub use scene::Instance;pub use scene::InstanceId;pub use scene::InstanceSet;pub use scene::InstanceSetKey;pub use scene::LabelBillboard;pub use scene::LabelDesc;pub use scene::LabelFontError;pub use scene::LabelFontFace;pub use scene::LabelKey;pub use scene::LabelMetrics;pub use scene::Light;pub use scene::LightBuilder;pub use scene::LightKey;pub use scene::MeasurementAxis;pub use scene::MeasurementKind;pub use scene::MeasurementOverlay;pub use scene::MeasurementOverlayReport;pub use scene::MeasurementReport;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::Particle;pub use scene::ParticleSet;pub use scene::ParticleSetError;pub use scene::ParticleSetKey;pub use scene::PerspectiveCamera;pub use scene::PointLight;pub use scene::ProjectedPoint;pub use scene::SCENE_ANNOTATION_PROJECTION_SCHEMA_V1;pub use scene::SCENE_PLACEMENT_RESULT_SCHEMA_V1;pub use scene::Scene;pub use scene::SceneDirtyState;pub use scene::SceneImport;pub use scene::ScenePlacementDiagnosticV1;pub use scene::ScenePlacementResultV1;pub use scene::SceneSkinBinding;pub use scene::SceneTintSnapshot;pub use scene::SceneTintSnapshotEntry;pub use scene::SceneVisibilitySnapshot;pub use scene::SceneVisibilitySnapshotEntry;pub use scene::ScreenRect;pub use scene::SectionBox;pub use scene::SourceCoordinateSystem;pub use scene::SourceUnits;pub use scene::SpotLight;pub use scene::StudioLightingHandles;pub use scene::Transform;pub use scene::UnitFormat;pub use scene::placement_align_to_feature_transform;pub use scene::placement_center_transform;pub use scene::placement_fit_to_size_transform;pub use scene::placement_ground_transform;pub use scene::placement_look_at_transform;pub use scene::placement_place_on_feature_transform;pub use scene::SCENE_INSPECTION_SCHEMA_V1;pub use scene::SceneCameraFrustumInspection;pub use scene::SceneCameraFrustumInspectionV1;pub use scene::SceneDrawInspection;pub use scene::SceneDrawInspectionV1;pub use scene::SceneHostInstanceEntryInspectionV1;pub use scene::SceneHostInstanceSetInspectionV1;pub use scene::SceneImportInspectionV1;pub use scene::SceneInspectionCountsV1;pub use scene::SceneInspectionReport;pub use scene::SceneInspectionReportV1;pub use scene::SceneInspectionRevisionsV1;pub use scene::SceneMaterialInspection;pub use scene::SceneMaterialInspectionV1;pub use scene::SceneMaterialSlotInspectionV1;pub use scene::SceneMaterialSourceInspectionV1;pub use scene::SceneNodeInspection;pub use scene::SceneNodeInspectionV1;pub use scene::SceneNormalInspection;pub use scene::SceneNormalInspectionV1;pub use scene::SceneTextureInspection;pub use scene_host::CONNECTOR_BROWSER_SCHEMA_V1;pub use scene_host::ConnectorBrowserCandidateV1;pub use scene_host::ConnectorBrowserConnectorV1;pub use scene_host::ConnectorBrowserReportV1;pub use scene_host::ConnectorBrowserScopeV1;pub use scene_host::ConnectorBrowserSummaryV1;pub use scene_host::ConnectorBrowserVisualCueV1;pub use scene_host::ConnectorLineV1;pub use scene_host::ConnectorTransformV1;pub use scene_host::HOST_EVENT_SCHEMA_V1;pub use scene_host::HostEventBatchV1;pub use scene_host::HostEventHitV1;pub use scene_host::HostEventHoverPhaseV1;pub use scene_host::HostEventTargetKindV1;pub use scene_host::HostEventV1;pub use scene_host::INTERACTION_EXPECTATION_SCHEMA_V1;pub use scene_host::INTERACTION_VERIFICATION_SCHEMA_V1;pub use scene_host::InteractionCoordinateSpaceV1;pub use scene_host::InteractionCoordinatesV1;pub use scene_host::InteractionExpectationV1;pub use scene_host::InteractionStepExpectationV1;pub use scene_host::InteractionStepExpectedV1;pub use scene_host::InteractionStepObservedV1;pub use scene_host::InteractionStepReportV1;pub use scene_host::InteractionVerificationArtifactsV1;pub use scene_host::InteractionVerificationFixV1;pub use scene_host::InteractionVerificationReasonV1;pub use scene_host::InteractionVerificationReportV1;pub use scene_host::InteractionVerificationSummaryV1;pub use scene_host::InteractionViewportV1;pub use scene_host::PRESENTATION_TIMELINE_SCHEMA_V1;pub use scene_host::PRODUCT_OPTIONS_SCHEMA_V1;pub use scene_host::PresentationTimelineActionKindV1;pub use scene_host::PresentationTimelineActionV1;pub use scene_host::PresentationTimelineCameraBookmarkV1;pub use scene_host::PresentationTimelineV1;pub use scene_host::ProductOptionGroupV1;pub use scene_host::ProductOptionV1;pub use scene_host::ProductOptionsV1;pub use scene_host::SCENE_HOST_ANIMATION_INVENTORY_SCHEMA_V1;pub use scene_host::SCENE_HOST_ASSET_IMPORT_SCHEMA_V1;pub use scene_host::SCENE_HOST_GIZMO_DRAG_SCHEMA_V1;pub use scene_host::SCENE_HOST_GROUNDING_SCHEMA_V1;pub use scene_host::SCENE_HOST_MEASUREMENT_OVERLAY_SCHEMA_V1;pub use scene_host::SCENE_HOST_SECTION_BOX_SCHEMA_V1;pub use scene_host::SCENE_HOST_SUBTREE_SCHEMA_V1;pub use scene_host::SCENE_HOST_VISUAL_STATE_SCHEMA_V1;pub use scene_host::SCENE_HOST_VISUAL_STATES_SCHEMA_V1;pub use scene_host::SceneHostAnimationClipV1;pub use scene_host::SceneHostAnimationInventoryV1;pub use scene_host::SceneHostAnimationLoopMode;pub use scene_host::SceneHostAnimationPlayOptions;pub use scene_host::SceneHostAssetImportReportV1;pub use scene_host::SceneHostCalloutReportV1;pub use scene_host::SceneHostCameraState;pub use scene_host::SceneHostClippingPlaneV1;pub use scene_host::SceneHostCore;pub use scene_host::SceneHostEasing;pub use scene_host::SceneHostError;pub use scene_host::SceneHostErrorCode;pub use scene_host::SceneHostExplodedViewModeV1;pub use scene_host::SceneHostExplodedViewOptionsV1;pub use scene_host::SceneHostGizmoAxisV1;pub use scene_host::SceneHostGizmoConstraintV1;pub use scene_host::SceneHostGizmoDragV1;pub use scene_host::SceneHostGizmoModeV1;pub use scene_host::SceneHostGizmoRayV1;pub use scene_host::SceneHostGizmoSpaceV1;pub use scene_host::SceneHostGroundingFallbackV1;pub use scene_host::SceneHostGroundingPathV1;pub use scene_host::SceneHostGroundingReportV1;pub use scene_host::SceneHostMeasurementLabelProjectionV1;pub use scene_host::SceneHostMeasurementOverlayReportV1;pub use scene_host::SceneHostRecipeBuild;pub use scene_host::SceneHostSectionBoxReportV1;pub use scene_host::SceneHostSubtreeNodeV1;pub use scene_host::SceneHostSubtreeReportV1;pub use scene_host::SceneHostVisualStateSummaryV1;pub use scene_host::SceneHostVisualStateV1;pub use scene_host::SceneHostVisualStatesReportV1;pub use scene_host::SceneSetupPreset;pub use scene_host::VISUAL_PATCH_SCHEMA_V1;pub use scene_host::VisualPatchAnimationTimeModeV1;pub use scene_host::VisualPatchAnimationTimeV1;pub use scene_host::VisualPatchAppliedCountsV1;pub use scene_host::VisualPatchCameraEasedV1;pub use scene_host::VisualPatchEntryErrorV1;pub use scene_host::VisualPatchHoverV1;pub use scene_host::VisualPatchLabelTargetV1;pub use scene_host::VisualPatchLabelV1;pub use scene_host::VisualPatchMaterialVariantV1;pub use scene_host::VisualPatchResultV1;pub use scene_host::VisualPatchRevisionDeltaV1;pub use scene_host::VisualPatchSectionBoxV1;pub use scene_host::VisualPatchSelectionV1;pub use scene_host::VisualPatchTintEasedV1;pub use scene_host::VisualPatchTintV1;pub use scene_host::VisualPatchTransformEasedV1;pub use scene_host::VisualPatchTransformV1;pub use scene_host::VisualPatchV1;pub use scene_host::VisualPatchVisibilityV1;pub use scene_host::host_event_kind_name;pub use scene_host::physical_px;pub use schema_catalog::AGENT_SMOKE_TEMPLATE_SCHEMA_V1;pub use schema_catalog::AgentSmokeTemplateCommandV1;pub use schema_catalog::AgentSmokeTemplateFileV1;pub use schema_catalog::AgentSmokeTemplateV1;pub use schema_catalog::SCHEMA_CATALOG_SCHEMA_V1;pub use schema_catalog::SCHEMA_ENTRY_SCHEMA_V1;pub use schema_catalog::SchemaCatalogEntryV1;pub use schema_catalog::SchemaCatalogV1;pub use schema_catalog::SchemaEntryReportV1;pub use schema_catalog::nearest_schema_name;pub use schema_catalog::schema_catalog_entry;pub use schema_catalog::schema_catalog_v1;pub use schema_catalog::schema_entry_report_v1;pub use viewer::AssetCatalogPreviewError;pub use viewer::AssetCatalogPreviewPng;pub use viewer::FirstRender;pub use viewer::HeadlessGltfViewer;pub use viewer::HeadlessGltfViewerBuilder;pub use viewer::InteractiveGltfViewer;pub use viewer::InteractiveGltfViewerBuilder;pub use viewer::VIEWER_PROFILE_NAMES;pub use viewer::ViewerCaptureError;pub use viewer::ViewerPngError;pub use viewer::ViewerProfile;pub use viewer::ViewerProfileLighting;pub use viewer::first_render_gltf_headless;pub use viewer::headless_gltf_viewer;pub use viewer::interactive_gltf_viewer;pub use viewer::render_asset_catalog_preview_png;pub use viewer_element::SCENA_VIEWER_TAG;pub use viewer_element::ScenaViewerAccessibilityDefaults;pub use viewer_element::ScenaViewerAnnotationAnchor;pub use viewer_element::ScenaViewerAnnotationError;pub use viewer_element::ScenaViewerAnnotationLayoutEntry;pub use viewer_element::ScenaViewerAnnotationLayoutInput;pub use viewer_element::ScenaViewerAnnotationLayoutOptions;pub use viewer_element::ScenaViewerAnnotationLayoutReport;pub use viewer_element::ScenaViewerAttributes;pub use viewer_element::ScenaViewerDropDecision;pub use viewer_element::ScenaViewerDropKind;pub use viewer_element::ScenaViewerDroppedFile;pub use viewer_element::ScenaViewerGestureAction;pub use viewer_element::ScenaViewerInspectorDiagnostic;pub use viewer_element::ScenaViewerInspectorSnapshot;pub use viewer_element::ScenaViewerKeyboardAction;pub use viewer_element::ScenaViewerProgress;pub use viewer_element::ScenaViewerProgressPhase;pub use viewer_element::ScenaViewerVariantOption;pub use viewer_element::ScenaViewerVariantSelection;pub use viewer_element::layout_scena_viewer_annotations;
Modules§
- animation
- glTF animation playback, mixer state, skinning, and morph-target support.
- assets
- Asset fetchers, caches, glTF/GLB parsing, texture decoding, and asset handles.
- browser_
proof - capture
- Stable capture descriptors for binding pixels to scene state.
- controls
- Platform-neutral orbit, pan, fly, and focus controls.
- diagnostics
- Structured errors, 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.
- reference_
image - render
- wgpu device/surface ownership, prepare lifecycle, passes, resource tables, and stats.
- scene
- Scene graph, typed keys, transforms, bounds, anchors, clipping, and queries.
- scene_
host - Generic host facade over
Scene,Assets, andRenderer. - schema_
catalog - viewer
- High-level viewer helpers built from
Scene,Assets, andRenderer. - viewer_
element - Browser custom-element support for
<scena-viewer>.
Structs§
- Environment
Prefilter Sidecar - Environment
Sidecar Header - Quat
- A quaternion representing an orientation.
- Vec3
- A 3-dimensional vector.
Enums§
Constants§
Functions§
Type Aliases§
- Result
- Crate-level result type for APIs that can return any structured
scenaerror.