How lunch418/stratum works
Stratum Modern reimplements the Stratum 2000 visual-modeling environment: users open or convert a project, edit its image hierarchy, schemas and code, then run and inspect a live simulation. The Rust core supplies project formats, language processing, runtime, simulation and graphics; a local player API connects that engine to the React IDE, with Tauri as the desktop host. The README documents additional IDE capabilities beyond the sampled excerpts; their paths are shown where supported, but unsampled wiring is not asserted.
Main entry points: App.tsx IDE Shell · player/mod.rs Local Player API · gfx/mod.rs Graphics Engine · sim/mod.rs Simulation
Components 25
Desktop and IDE
- Desktop Host
app/src-tauri/src/main.rs - IDE Shell
app/src/App.tsx - Frontend API
app/src/api.ts - IDE State
app/src/store.ts
Project Editing
- Hierarchy and Schema
app/src/components/Hierarchy.tsx - Schema Canvas
app/src/components/SchemeCanvas.tsx - Code Editor
app/src/components/CodeEditor.tsx - Variable Inspector
app/src/components/Inspector.tsx - Debug and Graphs
app/src/components/Debug.tsx - Graphics Editors
app/src/components/PictureEditor.tsx - Project Search
app/src/components/Search.tsx - Help Browser
app/src/components/Help.tsx - Print and Export
app/src/print.ts
Model Engine
- Local Player API
core/src/player/mod.rs - Simulation
core/src/sim/mod.rs - Interpreter
core/src/sim/interp.rs - Language Parser
core/src/lang/parser.rs - Runtime Builtins
core/src/runtime/mod.rs - Graphics Engine
core/src/gfx/mod.rs - SVG Renderer
core/src/gfx/svg.rs
Project Interchange
- Format Support
core/src/formats/mod.rs - Project Format
core/src/formats/project.rs - Native Format
core/src/formats/native.rs - Vector Format
core/src/formats/vdr.rs
Other components
- Modeler
Connections 25
- Modeler → IDE Shell: edits project
- Desktop Host → Local Player API: starts server
- IDE Shell → Frontend API: sends commands
- IDE Shell → IDE State: reads and updates
- IDE Shell → Hierarchy and Schema: presents editing
- IDE Shell → Schema Canvas: presents editing
- IDE Shell → Code Editor: presents editing
- IDE Shell → Variable Inspector: presents values
- IDE Shell → Debug and Graphs: presents debugging
- IDE Shell → Graphics Editors: presents editing
- IDE Shell → Project Search: presents search
- IDE Shell → Help Browser: presents help
- IDE Shell → Print and Export: offers output
- Frontend API → Local Player API: calls API
- Local Player API → Simulation: controls simulation
- Simulation → Interpreter: executes model
- Interpreter → Language Parser: uses parsed model
- Interpreter → Runtime Builtins: calls builtins
- Simulation → Graphics Engine: updates spaces
- Local Player API → Graphics Engine: renders model
- Graphics Engine → SVG Renderer: renders scene
- Local Player API → Format Support: loads and saves
- Format Support → Project Format: handles projects
- Format Support → Native Format: imports and exports
- Graphics Engine → Vector Format: reads and writes