Skip to main content

aprender_present_lib/browser/
mod.rs

1//! Browser runtime for Presentar WASM applications.
2//!
3//! This module provides the bridge between Presentar's widget system
4//! and the browser's rendering APIs (Canvas2D, WebGPU).
5
6// WASM-only modules
7#[cfg(target_arch = "wasm32")]
8pub mod app;
9#[cfg(target_arch = "wasm32")]
10pub mod canvas2d;
11#[cfg(target_arch = "wasm32")]
12pub mod events;
13#[cfg(target_arch = "wasm32")]
14pub mod showcase;
15#[cfg(target_arch = "wasm32")]
16pub mod websocket;
17
18// Cross-platform modules (work on native for testing)
19pub mod notebook;
20pub mod router;
21pub mod shell_autocomplete;
22pub mod storage;
23
24#[cfg(target_arch = "wasm32")]
25pub use app::App;
26#[cfg(target_arch = "wasm32")]
27pub use canvas2d::Canvas2DRenderer;
28pub use router::{BrowserRouter, RouteMatch, RouteMatcher};
29pub use shell_autocomplete::ShellAutocomplete;
30#[cfg(target_arch = "wasm32")]
31pub use shell_autocomplete::ShellAutocompleteDemo;
32#[cfg(target_arch = "wasm32")]
33pub use showcase::ShowcaseDemo;
34pub use storage::{ScopedStorage, Storage, StorageError, StorageType};
35#[cfg(target_arch = "wasm32")]
36pub use websocket::{WebSocketClient, WebSocketError};
37
38// Notebook runtime
39pub use notebook::{Cell, CellGraph, CellId, CellOutput, NotebookRuntime};