Skip to main content

Crate dotloom_render

Crate dotloom_render 

Source
Expand description

§dotloom-render

The default Dotloom renderer, built on wgpu. It consumes the public scene contract (dotloom_scene) and never reads documents, so it can be replaced.

  • Lines are instanced, screen-constant-width capsules with analytic anti-aliasing and screen-space dash patterns.
  • Fills are tessellated with lyon; MSAA smooths their edges when available.
  • Text uses a signed-distance-field atlas of a bundled OFL font (Inter subset with Latin, Turkish, Greek, Cyrillic and technical symbols).
  • Items are batched into order-preserving chunks with world bounding boxes for viewport culling; meshes are cached per item and rebuilt only when the item changes, its zoom bucket changes (curves), or the glyph atlas is reset.
  • Only WebGL2-compatible GPU features are used, so the WebGPU and WebGL2 backends run identical shaders.

The browser binding lives in dotloom-render-web; native offscreen rendering (PNG) is behind the png feature.

Re-exports§

pub use color::Theme;
pub use overlay::Grid;
pub use view::View;
pub use dotloom_scene as scene;
pub use wgpu;

Modules§

color
Colors and themes.
overlay
Grid and interaction overlays (built every frame; cheap and view-dependent).
tess
CPU tessellation of scene items into GPU-ready meshes.
text
Text: font loading, signed-distance-field glyph atlas and layout.
view
Camera and coordinate conversions.

Structs§

ChunkBuffers
GPU buffers of one chunk (or transient mesh).
FrameStats
Statistics of the last frame.
Renderer
The wgpu renderer. Consumes scene deltas; owns only derived GPU/CPU caches.
RendererOptions
Renderer options.
SceneCache
Scene state held by the renderer.

Enums§

RenderError
Renderer errors.

Constants§

CHUNK_ITEMS
Maximum items per chunk.
MAX_CHUNK_EXTENT
Maximum world extent of a chunk (keeps f32 offsets precise to ~8 µm).