"Forged in Blender. Hardened in Basalt."
Hidden CDN Backend (API-accessible, not in repo)
Basalt is the definitive modern web engineโdelivering high-fidelity WebGPU + Havok physics with a legendary Hammer-style workflow. Itโs engineered for developers demanding desktop-class rendering in the browser without the legacy bloat.
The IronWill Pipeline shatters the barrier between Blender and the browser, creating a frictionless path with zero overhead. Our ultimate goal? To harvest the most powerful features from industry-leading engines, refine them, and evolve them into a superior, web-native ecosystem. We aren't just matching the best tools in the worldโweโre building upon them.
While we utilize Babylon.js for its world-class rendering and physics, Basalt was engineered as a specialized editor to bridge the gap between web tech and AAA game development workflows.
| Feature | Basalt Editor | Babylon Editor |
|---|---|---|
| UI Architecture | Modular Dockview System. UE5 Slate-inspired layout. Fully customizable, dockable panels for a professional engine feel. | Fixed/Standard web layout. Less flexibility for complex multi-monitor game dev setups. |
| Build Pipeline | Zero Rebuilds. Add features, scripts, or UI elements with instant hot-reloading. No compilation wait times. | Often requires a full rebuild/compile cycle when extending the editor or adding core features. |
| Workflow | Blender-Centric. Designed to complement Blender. Model, entity-tag, and bake in one tool without context switching. | General-purpose. Requires more manual importing/exporting and scene setup. |
| Templates & Logic | Ready-to-Play. Built-in Advanced FPS templates (COD-style crosshairs, weapon switching, dynamic UI), and GPU/CPU shader examples (Water, etc). | Basic scene starters only. No complex, out-of-the-box game logic templates. |
| Interface Tools | Deep Engine Interfacing. Custom "Thermo-Meters" for optimization, weapon Data-tables, and Enumeration Systems. | Generic 3D tools. Lacks specialized game-logic interfaces like our recoil tables and FPS systems. |
| Documentation | Condensed & Direct. Layman-friendly docs that get straight to the point. No sifting through fluff. | Extensive but often overwhelming. Requires significant "sifting" to find practical game-dev answers. |
| UX Heritage | "Hammer" & UE5 Feel. Familiar workflow for Valve/Source and Unreal devs. Includes native PIE (Play In Editor). | Standard 3D software UX. Focused on general scene composition rather than "Game Feel." |
| Deployment | Static & Native. Runs as static HTML/JS anywhere (GitHub Pages) + upcoming Native desktop fork. | Primarily a desktop-focused application for local development. |
By utilizing Dockview, Basalt mirrors the high-end modularity of Unreal Engine 5โs Slate system. This allows developers to tear off, pin, and stack panels according to their specific taskโwhether that is weapon tuning, level lighting, or performance profiling. Itโs a modern engine layout for modern devs.
One of the biggest bottlenecks in engine development is the "Wait for Build" screen. Basalt eliminates this. You can add features, tweak UI, or update scripts and see the changes instantly. While other editors force you to rebuild the entire project to see a new tool in action, Basalt stays lightweight and live.
Stop starting from scratch. Basalt includes a growing library of production-ready assets:
- Advanced FPS Template: Features weapon switching, dynamic UI systems, and Call of Duty style crosshairs.
- Shader Examples: Instant-import GPU-accelerated water, custom CPU shaders, and high-end visual effects.
- Starter Scenes: From "Empty Basic" to full blockout environments planned soon to come!.
Basalt isn't just a scene viewer; itโs a direct window into your game's soul. It is built specifically to talk to our custom logic:
- Real-time Optimization: Visual "Thermo-Meters" for instant feedback on draw calls and mesh density.
- Entity Schema: Directly edit IronWill data structures and weapon recoil tables within the UI.
- Blender Pipeline: Basalt acts as the interactive bridge that makes Blender a real-time game creation tool.
We hate sifting through 100-page manuals as much as you do. Our documentation is condensed and layman-friendly. We focus on the points that actually matter to get your game running, skipping the fluff so you can spend more time creating and less time reading.
The Verdict: Basalt is a AAA game-engine environment focused on high-performance workflows (FPS templates, complex schemas, and Blender-heavy pipelines). There is so much more packed under the hood that we can't even list it all hereโit simply must be experienced.
Experience the engine directly in your browser while as it Evolves and is being Developed into a full fledge engine with editor by IronWill:
- STATUS โ Master checklist: done vs pending
- ROADMAP โ Architectural vision, atomization, module philosophy
- Why Basalt? โ Why we chose this path over Babylon Editor
- CHANGELOG โ New features, fixes, reliability systems
- ๐ ๏ธ Tech Stack
- ๐๏ธ Core Architecture
- ๐ The IronWill Workflow
- ๐ The IronWill Contract
- ๐ ๏ธ World Generation Tools
- ๐ Getting Started
- ๐ Development Status
- โ๏ธ License
Frontend badges above = Basalt's visible stack (JS, HTML, CSS, Babylon.js, WebGPU, dockview, Havok).
Hidden CDN Backend badges = underlying runtime stack โ not in this repo; callable via API.
| Language | Where Used |
|---|---|
| JavaScript (ES6+) | Engine runtime, editor UI, game logic, modules |
| HTML5 | Entry pages, structure, canvas |
| CSS3 | Styling, layout, themes |
| Python | IronWill Blender add-on, pipeline scripts (external) |
| Library | Version | Purpose |
|---|---|---|
| Babylon.js | CDN (pin planned Feb 4) | 3D engine, WebGPU/WebGL, scene graph, physics |
| Babylon.js Loaders | CDN | glTF/GLB import |
| Babylon.js GUI | CDN | HUD, crosshair, stats overlay |
| Babylon.js Inspector | CDN | Scene debug layer |
| dockview-core | 4.13.1 | Docking layout, panels, tabs (UE5-style editor shell) |
- No npm/Node โ Main app runs as static HTML/JS; no build step.
- CDN delivery โ Babylon.js from
cdn.babylonjs.com; dockview fromesm.shandcdn.jsdelivr.net. - ES Modules โ Native
import/export; dynamic module loader.
| API | Purpose |
|---|---|
| localStorage | Layout persistence, config |
| sessionStorage | Viewport camera sync |
| Web Audio API | Audio (Sonar, planned) |
| WebGPU / WebGL | Rendering |
- GitHub Pages โ Static file hosting; no server required.
Basalt is composed of several specialized modules that handle everything from physics to narrative logic.
| Component | Name | Technology | Description |
|---|---|---|---|
| Core Runtime | Basalt | Babylon.js | The engine loop, renderer, and state manager. |
| Pipeline | Iron | Python/JS | The automated export, bake, and sync bridge. |
| Physics | Havok | Havok WASM | Real-time rigid body dynamics and ragdolls. |
| Materials | Substrate | PBR / Node | Custom shader system for realistic surfaces. |
| Audio | Sonar | Web Audio API | Spatial 3D audio and acoustic simulation. |
| Narrative | Echo | Logic Graph | Branching dialogue and event-triggering. |
| Interface | Facade | HTML/CSS/Canvas | HUD and UI builder with layout synchronization. |
The IronWill Pipeline replaces the traditional "Hammer" workflow with a modern WYSIWYG (What You See Is What You Get) approach.
- Modeling/Mapping (The Forge): Build worlds in Blender using standard mesh tools. No BSP brushes or primitive constraints.
- Entity Tagging: Use the IronWill Inspector (Blender Add-on) to define entities (e.g.,
ent_prop_physics,ent_light_point). - IronWill Bake: A single-click script that compresses textures into KTX2, converts meshes to optimized glTF, and exports Echo and Facade metadata.
- Basalt Injection: The runtime loads the glTF and hydrates the scene, instantiating Havok physics, Sonar audio emitters, and JS logic components automatically.
To ensure the engine correctly interprets Blender data, Basalt follows a strict naming and property convention.
ent_: Interactive logic entities (e.g., player spawns, items).vol_: Invisible boundary boxes for triggers and reverb zones.snd_: Audio emitters for Sonar.light_: Dynamic lighting points.col_: Invisible physics-only meshes for complex geometry.
Reserved keys in Blenderโs Custom Properties panel:
basalt_mass: Float value for Havok weight calculation.basalt_elasticity: Bounciness factor for physics.echo_id: Links an object to a specific Echo narrative branch.substrate_index: Forces a specific shader variant from the Substrate library.
Handles massive scale terrain using Blenderโs Sculpt Mode and Geometry Nodes. Basalt interprets this data to generate Havok heightmap colliders and LOD-based meshes.
Space-simulation rendering featuring Rayleigh & Mie scattering, procedural planet generation, and seamless transition from orbit to surface.
- Install the Toolkit: Download
iron_devtools.pyand run it in the Blender Text Editor to enable the custom 'IronWill' UI and N-Panel inspector. - Define your Project Path: In the Iron Panel settings, bind your local Basalt Editor project folder.
- Build & Play: Use the Integrated Panel Play Button operator to clean the last scene render web window and bake your scene. This instantly launches the Basalt previewer.
Master status: docs/STATUS.md โ single source of truth for done vs pending.
- Renderer Core: High-fidelity WebGPU implementation via Babylon.js.
- Live Editor Viewport: Real-time synchronization bridge.
- Inspector System: Babylon debugLayer show/hide; entity metadata tagging (N-Panel planned).
- Havok Physics Integration: Vehicle rig, chassis, wheels; physics bodies.
- FPS Controller: Player, camera, input, weapon switch, firing, HUD, ADS.
- Editor Shell: DockView layout, Variable Panel, Weapon Data Table, Gizmo Handler, Play Mode.
- Place Actors panel: UE5-style; spawns primitives; UI subject to change.
- Content Browser / Content Drawer: Import glTF; Blueprint Graph toggle; subject to change.
- Status bar items: Source Control, Build Project, Select All/Deselect All โ stubs; subject to removal or change.
- Blueprint Panel For Logic
- Substrate: Node Materials
- Sonar: Spatial Audio
- Echo: Narrative Dialog Logic
- Facade: UI Builder
- Mantle: Terrain System
- CDN version pinning (Wed Feb 4) โ Babylon.js, loaders, GUI, Inspector, Havok via jsDelivr.
- Babylon Native fork test (FriโSun Feb 6โ8) โ validate native build target; PC + Xbox (UWP).
Basalt is developed by IronWill Interactive Entertainment. See LICENSE and docs/IWI_PCL_BASALT.md for terms.