Compare commits

1 Commits

Author SHA1 Message Date
Homer 072a7c0b56 Documentation that points where the documentation is
The engine documentation, the staged plan, the session handoff and the project
rules are on the wiki now. What is left here is what ships with the engine:
README, LICENSE, install.sh, and this changelog.

The doc comments in ui/panel.rs, ui/routing.rs and editor/assets.rs named
PLAN.md and docs/scripting.md by path; one of them was a markdown link four
directories up, which had stopped resolving the moment the file moved. They
name the wiki page instead. Cargo.toml's platform comment and the .gitignore
note follow.

A changelog, starting now rather than reconstructed. Oxide stays at 0.1.0: the
version is already in Cargo.toml and Phase 1 runs to Stage 16, so the alpha
phase is where it actually is.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-08 18:16:12 +02:00
7 changed files with 76 additions and 24 deletions
+1 -1
View File
@@ -27,6 +27,6 @@ Thumbs.db
# Logs # Logs
*.log *.log
# Personal scratch notes (tracked docs live in docs/ and are NOT ignored) # Personal scratch notes (the engine documentation lives on the wiki, not here)
*.local.md *.local.md
/scratch/ /scratch/
+50
View File
@@ -0,0 +1,50 @@
# Changelog
Kept as the work happens, not assembled at release time.
Oxide is in its **alpha phase**`0.x.x`, on `main`. Phase 1 runs to Stage 16
(game export to Linux and Windows), and that milestone is what `1.0.0` means.
Until then there is no `dev` channel: alpha *is* main.
The format is [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and
versions follow [SemVer](https://semver.org/spec/v2.0.0.html).
## Unreleased
## 0.1.0 — 2026-08-08
The first tagged version. It is not the first work: Stages 09 are complete and
Stage 10 (scripting, live reload, editor terminal) is complete on `main` bar the
editor-UX batch on `dev`. This entry marks the point the project started being
versioned, not the point it started.
### Added
- Stages 04: workspace and build, math and core primitives, windowing and the
app loop, the render context, the scene graph, and forward rendering.
- Stage 5, the engine core framework: modules and scheduling, layers/tags with
the shared `LayerMask`, the reflection/type registry, the asset server, and
the data-driven render pass pipeline.
- Stage 6, the editor framework: docking shell, project system, settings
framework, file watching, and the module → editor extension API.
- Stage 7: the input system — `InputState`, named remappable actions, axes.
- Stage 8: the in-game UI system (widgets, layout, theming, text, routing), with
the GUI tail still open. Stage 8.5 prefabs and 8.7 editor play mode.
- Stage 9: physics on rapier3d, with `LayerMask`-filtered collision.
- Stage 10: scripting on rhai — the `Script` component, the sandboxed engine,
live reload, the editor console and PTY terminal, and the richer script API.
### Changed
- The documentation left the repository. `docs/`, `PLAN.md`, `HANDOFF.md` and
`CLAUDE.md` are now the [wiki](https://git.houmeres.sk/Houmeres/Oxide/wiki),
and the repository's history was rewritten in the same pass so they are not
present at any commit. `README.md` and this file stay here, because they ship
with the software.
- Doc comments and `README.md` that pointed at those files now point at the
wiki.
### Note on history
Any clone of this repository taken before 2026-08-08 has a different history and
should be discarded rather than merged.
+1 -1
View File
@@ -28,7 +28,7 @@ hecs = "0.10"
# Linux is the primary target on BOTH Wayland and Xorg (X11): keep both winit # Linux is the primary target on BOTH Wayland and Xorg (X11): keep both winit
# backends explicitly enabled so neither can be dropped by a default-feature # backends explicitly enabled so neither can be dropped by a default-feature
# change. (On by default today; listing them makes the contract explicit — # change. (On by default today; listing them makes the contract explicit —
# see PLAN.md "Platform & Target Strategy".) # see the wiki Roadmap, "Platform & Target Strategy".)
winit = { version = "0.30", features = ["x11", "wayland", "serde"] } winit = { version = "0.30", features = ["x11", "wayland", "serde"] }
wgpu = "29" wgpu = "29"
pollster = "0.4" pollster = "0.4"
+21 -19
View File
@@ -13,7 +13,7 @@ stylized low-poly to realistic graphics, and shipping only what each game uses.
## Status ## Status
Oxide is built in two phases (see [PLAN.md](PLAN.md)): **Phase 1 (Stages 016)** Oxide is built in two phases (see the [Roadmap](https://git.houmeres.sk/Houmeres/Oxide/wiki/Roadmap)): **Phase 1 (Stages 016)**
is the general-purpose engine — everything needed to build and export any game; is the general-purpose engine — everything needed to build and export any game;
**Phase 2 (Stages 17+)** adds optional, feature-gated built-in modules. **Phase 2 (Stages 17+)** adds optional, feature-gated built-in modules.
@@ -74,7 +74,7 @@ Available now:
Runnable example: `cargo run -p oxide-examples --bin ui_menu` (Stage-8 Runnable example: `cargo run -p oxide-examples --bin ui_menu` (Stage-8
piece 7) piece 7)
## Features (planned — see [PLAN.md](PLAN.md)) ## Features (planned — see the [Roadmap](https://git.houmeres.sk/Houmeres/Oxide/wiki/Roadmap))
**Phase 1 — the general-purpose engine:** **Phase 1 — the general-purpose engine:**
@@ -117,7 +117,7 @@ Available now:
- Rust stable toolchain (`rustup` recommended) - Rust stable toolchain (`rustup` recommended)
- Linux — primary target, on **both Wayland and Xorg (X11)**. Windows support and cross-platform - Linux — primary target, on **both Wayland and Xorg (X11)**. Windows support and cross-platform
game export are planned (see [PLAN.md](PLAN.md), Stage 16); other platforms are not yet tested. game export are planned (see the [Roadmap](https://git.houmeres.sk/Houmeres/Oxide/wiki/Roadmap), Stage 16); other platforms are not yet tested.
- A GPU with Vulkan or Metal support (for `wgpu`) - A GPU with Vulkan or Metal support (for `wgpu`)
Install Rust if you don't have it: Install Rust if you don't have it:
@@ -208,18 +208,23 @@ cargo fmt --check
## Documentation ## Documentation
The full documentation — usage guides, per-system API references, and The full documentation — usage guides, per-system API references, and
explanations of the engine's inner workings — lives in [`docs/`](docs/README.md). explanations of the engine's inner workings — lives on the
Start there for anything beyond this overview: [wiki](https://git.houmeres.sk/Houmeres/Oxide/wiki). Start there for anything
beyond this overview:
- [Getting Started](docs/getting-started.md) — build, run, test, install - [Getting Started](https://git.houmeres.sk/Houmeres/Oxide/wiki/Getting-started) — build, run, test, install
- [Architecture](docs/architecture.md) — workspace and design overview - [Architecture](https://git.houmeres.sk/Houmeres/Oxide/wiki/Architecture) — workspace and design overview
- [Conventions](docs/conventions.md) — coordinate system, units, color space - [Conventions](https://git.houmeres.sk/Houmeres/Oxide/wiki/Conventions) — coordinate system, units, color space
- [Development Workflow](docs/development.md) — branches, testing, contributing - [Development Workflow](https://git.houmeres.sk/Houmeres/Oxide/wiki/Development) — branches, testing, contributing
- [Math & Core Primitives](docs/math.md) — Stage 1 API reference - [Math & Core Primitives](https://git.houmeres.sk/Houmeres/Oxide/wiki/Math) — Stage 1 API reference
- [Windowing & App Loop](docs/windowing.md) — Stage 2 window/event-loop reference - [Windowing & App Loop](https://git.houmeres.sk/Houmeres/Oxide/wiki/Windowing) — Stage 2 window/event-loop reference
- [Render Context](docs/render-context.md) — Stage 2 GPU/surface reference - [Render Context](https://git.houmeres.sk/Houmeres/Oxide/wiki/Render-context) — Stage 2 GPU/surface reference
- [Scene Graph & Entities](docs/scene.md) — Stage 3 scene/hierarchy/serialization reference - [Scene Graph & Entities](https://git.houmeres.sk/Houmeres/Oxide/wiki/Scene) — Stage 3 scene/hierarchy/serialization reference
- [Rendering](docs/rendering.md) — Stage 4 mesh/material/camera/forward-renderer reference - [Rendering](https://git.houmeres.sk/Houmeres/Oxide/wiki/Rendering) — Stage 4 mesh/material/camera/forward-renderer reference
The [Roadmap](https://git.houmeres.sk/Houmeres/Oxide/wiki/Roadmap) is the staged
plan, and [Working notes](https://git.houmeres.sk/Houmeres/Oxide/wiki/Working-notes)
holds the project's rules. Both used to be files in this repository.
--- ---
@@ -228,14 +233,11 @@ Start there for anything beyond this overview:
``` ```
Oxide/ Oxide/
├── assets/ # Project logos and shared assets ├── assets/ # Project logos and shared assets
├── docs/ # Full engine documentation
├── engine/ # Core engine library (oxide-engine) ├── engine/ # Core engine library (oxide-engine)
├── editor/ # In-engine editor binary (oxide-editor) ├── editor/ # In-engine editor binary (oxide-editor)
├── examples/ # Runnable stage examples (oxide-examples) ├── examples/ # Runnable stage examples (oxide-examples)
├── tests/ # Integration test harness (oxide-tests) ├── tests/ # Integration test harness (oxide-tests)
── install.sh # Build + system install script ── install.sh # Build + system install script
├── PLAN.md # Staged development roadmap
└── CLAUDE.md # Context and rules for Claude Code
``` ```
--- ---
@@ -243,7 +245,7 @@ Oxide/
## Development roadmap ## Development roadmap
Development follows a staged plan — each stage is fully tested before the next begins. Development follows a staged plan — each stage is fully tested before the next begins.
See [PLAN.md](PLAN.md) for the complete roadmap. See the [Roadmap](https://git.houmeres.sk/Houmeres/Oxide/wiki/Roadmap) for the complete plan.
--- ---
+1 -1
View File
@@ -96,7 +96,7 @@ pub fn seed_default_font(project_assets_dir: &Path) -> std::io::Result<bool> {
/// The `.rhai` source the "New Script" button writes, personalised with the /// The `.rhai` source the "New Script" button writes, personalised with the
/// script's file stem so the Console output identifies which script speaks. /// script's file stem so the Console output identifies which script speaks.
/// ///
/// Kept to the two lifecycle hooks `docs/scripting.md` teaches first; the /// Kept to the two lifecycle hooks the wiki's Scripting page teaches first; the
/// `update` body ships commented out so a freshly created script visibly runs /// `update` body ships commented out so a freshly created script visibly runs
/// (the `init` print) without moving anything until the author opts in. /// (the `init` print) without moving anything until the author opts in.
pub fn script_template(stem: &str) -> String { pub fn script_template(stem: &str) -> String {
+1 -1
View File
@@ -55,7 +55,7 @@
//! editor canvas previews). //! editor canvas previews).
//! //!
//! A future depth-aware mode (where a panel behind a wall is properly //! A future depth-aware mode (where a panel behind a wall is properly
//! hidden) is in [`PLAN.md`](../../../../PLAN.md)'s Stage-8 backlog and //! hidden) is in the wiki Roadmap's Stage-8 backlog and
//! slots in by attaching a depth attachment to a second pass of the //! slots in by attaching a depth attachment to a second pass of the
//! same pipeline. //! same pipeline.
+1 -1
View File
@@ -2,7 +2,7 @@
//! focus per widget, and tell the host whether the UI captured the frame's //! focus per widget, and tell the host whether the UI captured the frame's
//! input so the game can decide whether to also handle it. //! input so the game can decide whether to also handle it.
//! //!
//! Stage 8's UI must *consume input before the game* (PLAN.md): if the //! Stage 8's UI must *consume input before the game* (see the wiki Roadmap): if the
//! cursor is over a button, clicking shouldn't also fire the game-world //! cursor is over a button, clicking shouldn't also fire the game-world
//! action bound to that mouse button. The [`Router`] gives the host one //! action bound to that mouse button. The [`Router`] gives the host one
//! object to drive each frame: //! object to drive each frame: