Compare commits
1 Commits
dev
...
072a7c0b56
| Author | SHA1 | Date | |
|---|---|---|---|
|
072a7c0b56
|
+1
-1
@@ -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/
|
||||
|
||||
@@ -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.
|
||||
+1
-1
@@ -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"
|
||||
|
||||
@@ -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.
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -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
|
||||
/// 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 {
|
||||
|
||||
@@ -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.
|
||||
|
||||
|
||||
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user