From 072a7c0b567265ff8041a4c1fda187c09d956e41 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jaroslav=20Bene=C5=A1?= Date: Sat, 8 Aug 2026 18:16:12 +0200 Subject: [PATCH] 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) --- .gitignore | 2 +- CHANGELOG.md | 50 ++++++++++++++++++++++++++++++++++++++++ Cargo.toml | 2 +- README.md | 40 +++++++++++++++++--------------- editor/src/assets.rs | 2 +- engine/src/ui/panel.rs | 2 +- engine/src/ui/routing.rs | 2 +- 7 files changed, 76 insertions(+), 24 deletions(-) create mode 100644 CHANGELOG.md diff --git a/.gitignore b/.gitignore index 1baaa3f..8feed3e 100644 --- a/.gitignore +++ b/.gitignore @@ -27,6 +27,6 @@ Thumbs.db # Logs *.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 /scratch/ diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..02a8de4 --- /dev/null +++ b/CHANGELOG.md @@ -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 0–9 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 0–4: 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. diff --git a/Cargo.toml b/Cargo.toml index 6a3d646..59e98b1 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -28,7 +28,7 @@ hecs = "0.10" # 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 # 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"] } wgpu = "29" pollster = "0.4" diff --git a/README.md b/README.md index 1699a77..9cc97d6 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@ stylized low-poly to realistic graphics, and shipping only what each game uses. ## Status -Oxide is built in two phases (see [PLAN.md](PLAN.md)): **Phase 1 (Stages 0–16)** +Oxide is built in two phases (see the [Roadmap](https://git.houmeres.sk/Houmeres/Oxide/wiki/Roadmap)): **Phase 1 (Stages 0–16)** is the general-purpose engine — everything needed to build and export any game; **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 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:** @@ -117,7 +117,7 @@ Available now: - Rust stable toolchain (`rustup` recommended) - 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`) Install Rust if you don't have it: @@ -208,18 +208,23 @@ cargo fmt --check ## Documentation The full documentation — usage guides, per-system API references, and -explanations of the engine's inner workings — lives in [`docs/`](docs/README.md). -Start there for anything beyond this overview: +explanations of the engine's inner workings — lives on the +[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 -- [Architecture](docs/architecture.md) — workspace and design overview -- [Conventions](docs/conventions.md) — coordinate system, units, color space -- [Development Workflow](docs/development.md) — branches, testing, contributing -- [Math & Core Primitives](docs/math.md) — Stage 1 API reference -- [Windowing & App Loop](docs/windowing.md) — Stage 2 window/event-loop reference -- [Render Context](docs/render-context.md) — Stage 2 GPU/surface reference -- [Scene Graph & Entities](docs/scene.md) — Stage 3 scene/hierarchy/serialization reference -- [Rendering](docs/rendering.md) — Stage 4 mesh/material/camera/forward-renderer reference +- [Getting Started](https://git.houmeres.sk/Houmeres/Oxide/wiki/Getting-started) — build, run, test, install +- [Architecture](https://git.houmeres.sk/Houmeres/Oxide/wiki/Architecture) — workspace and design overview +- [Conventions](https://git.houmeres.sk/Houmeres/Oxide/wiki/Conventions) — coordinate system, units, color space +- [Development Workflow](https://git.houmeres.sk/Houmeres/Oxide/wiki/Development) — branches, testing, contributing +- [Math & Core Primitives](https://git.houmeres.sk/Houmeres/Oxide/wiki/Math) — Stage 1 API reference +- [Windowing & App Loop](https://git.houmeres.sk/Houmeres/Oxide/wiki/Windowing) — Stage 2 window/event-loop reference +- [Render Context](https://git.houmeres.sk/Houmeres/Oxide/wiki/Render-context) — Stage 2 GPU/surface reference +- [Scene Graph & Entities](https://git.houmeres.sk/Houmeres/Oxide/wiki/Scene) — Stage 3 scene/hierarchy/serialization 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/ ├── assets/ # Project logos and shared assets -├── docs/ # Full engine documentation ├── engine/ # Core engine library (oxide-engine) ├── editor/ # In-engine editor binary (oxide-editor) ├── examples/ # Runnable stage examples (oxide-examples) ├── tests/ # Integration test harness (oxide-tests) -├── install.sh # Build + system install script -├── PLAN.md # Staged development roadmap -└── CLAUDE.md # Context and rules for Claude Code +└── install.sh # Build + system install script ``` --- @@ -243,7 +245,7 @@ Oxide/ ## Development roadmap 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. --- diff --git a/editor/src/assets.rs b/editor/src/assets.rs index cac2e78..80f91ac 100644 --- a/editor/src/assets.rs +++ b/editor/src/assets.rs @@ -96,7 +96,7 @@ pub fn seed_default_font(project_assets_dir: &Path) -> std::io::Result { /// The `.rhai` source the "New Script" button writes, personalised with the /// 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 /// (the `init` print) without moving anything until the author opts in. pub fn script_template(stem: &str) -> String { diff --git a/engine/src/ui/panel.rs b/engine/src/ui/panel.rs index 5565898..e41f0ac 100644 --- a/engine/src/ui/panel.rs +++ b/engine/src/ui/panel.rs @@ -55,7 +55,7 @@ //! editor canvas previews). //! //! 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 //! same pipeline. diff --git a/engine/src/ui/routing.rs b/engine/src/ui/routing.rs index 24614d9..edc20b2 100644 --- a/engine/src/ui/routing.rs +++ b/engine/src/ui/routing.rs @@ -2,7 +2,7 @@ //! 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. //! -//! 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 //! action bound to that mouse button. The [`Router`] gives the host one //! object to drive each frame: