Skip to main content

Module viewer

Module viewer 

Source
Expand description

Viewer module - demo application with scenes, camera, and controls.

This module provides a complete 3D viewer application built on top of the generic photometric module.

§Features

  • Pre-built demo scenes (Room, Road, Parking, Outdoor)
  • First-person camera controller
  • Keyboard controls for toggling visualizations
  • Optional localStorage sync for WASM hot-reload

§Example

use bevy::prelude::*;
use eulumdat_bevy::viewer::*;

fn main() {
    App::new()
        .add_plugins(DefaultPlugins)
        .add_plugins(EulumdatViewerPlugin::default())
        .run();
}

Re-exports§

pub use camera::CameraPlugin;
pub use camera::FirstPersonCamera;
pub use controls::calculate_all_luminaire_transforms;
pub use controls::calculate_light_position;
pub use controls::LuminaireTransform;
pub use plugin::EulumdatViewerPlugin;
pub use scenes::SceneGeometry;
pub use scenes::ScenePlugin;
pub use scenes::SceneType;
pub use wasm_sync::load_default_ldt;
pub use wasm_sync::load_from_local_storage;
pub use wasm_sync::poll_viewer_settings_changes;
pub use wasm_sync::LdtTimestamp;
pub use wasm_sync::ViewerSettingsTimestamp;

Modules§

camera
First-person camera controller for the viewer.
controls
Keyboard controls for the viewer.
plugin
EulumdatViewerPlugin - Full demo application plugin.
scenes
Scene geometry generation for the viewer.
wasm_sync
WASM localStorage synchronization for hot-reload.

Structs§

ViewerSettings
Global viewer settings resource.