Releases: eraflo/KhoraEngine
Milestone 3: Scene Representation, Assets & Data Focus
KhoraEngine v0.3.0 - Asset Pipeline & ECS Foundation
This release marks the completion of Milestone 3: Scene Representation, Assets & Data Focus, implementing a comprehensive structure to represent the 3D scene through the CRPECS (Component-Registry-Pooled ECS) architecture and establishing a complete system for loading resources (models, textures, audio), with intelligent data organization and asset-related metrics collection.
Key Features & Changes ✨
CRPECS (Component-Registry-Pooled ECS) Architecture
- Defined core ECS architecture and designed the foundational CRPECS system (#39, #151)
- Implemented core ECS data structures with semantic domain-based component grouping
- Implemented basic entity lifecycle management (spawn/despawn) (#152)
- Implemented native query system with filter support for efficient same-domain queries (#153)
- Added component removal & basic garbage collection with asynchronous cleanup (#154)
- Implemented component registry for semantic domains organization
- Added transform hierarchy and propagation system for scene graph management (#40)
- Relational entity-component architecture: Entity metadata separated from physical data storage
- Structure of Arrays (SoA) layout within component pages for optimal cache locality
- Performance through intelligent compromise: Fast iteration for same-domain queries, cheap structural changes via EntityMetadata
Asset System & Virtual File System (VFS)
- Designed comprehensive asset system with VFS architecture (#41)
- Implemented VFS packfile builder and runtime for efficient asset packaging (#174)
- Implemented texture loading & management with dedicated texture lanes (#42)
- Implemented mesh loading & management with GPU mesh preparation and render extraction systems (#43)
- Added basic material structures with rendering pipeline integration (#44)
- Refactored AssetLoader into AssetLoaderLane architecture for better async handling
- Added asset loading metrics: load time histograms and asset count tracking
Scene Serialization & Persistence
- Implemented basic scene serialization foundation (#45)
- Three serialization strategies fully implemented:
- Definition Strategy (RON format - stable, human-readable)
- Recipe Strategy (command-based for editor features)
- Archetype Strategy (binary - fastest loading)
- Serialization infrastructure:
SerializationStrategytrait and error handling - Component definition system with stable serialization formats
- Foundation for SAA-Serialize architecture (agent-driven strategy selection coming in future phases)
Audio System
- Implemented basic audio system with playback and management capabilities (#99)
- Integrated cpal for cross-platform audio playback
- Added audio lanes and agent for asynchronous audio processing
- Implemented audio loading lanes for streaming audio assets
- Basic audio structures and traits for extensible audio pipeline
Macro System & Developer Experience
- Added Component derive macro for simplified component definition
- Refactored AffineTransform into dedicated math library structure
- Improved code generation for ECS component registration
Documentation
- Complete documentation overhaul using mdBook
- Added comprehensive ECS architecture documentation explaining CRPECS design philosophy
- Added serialization architecture documentation (SAA-Serialize)
- Updated asset system and VFS documentation
- Set up automated documentation CI/CD workflow
- Updated roadmap with completed and upcoming features
Dependency Updates
- Upgraded wgpu from 26.0.1 to 27.0.1 with API compatibility fixes
- Updated egui from 0.32.1 to 0.32.3
- Updated sysinfo from 0.37.0 to 0.37.2
- Updated tempfile, serde_json, thiserror, clap, log, ahash, and uuid
Bug Fixes & Improvements
- Fixed wgpu API changes with
on_uncaptured_errorandPollType::Wait - Multiple clippy warnings and code quality improvements
- Fixed missing library installation issues
- Code formatting and consistency improvements across all crates
What's Next?
With the ECS foundation and asset pipeline in place, development continues with Phase 2: Scene, Assets & Basic Capabilities:
- Transversal Queries (#158): Cross-domain query support for the CRPECS
- Advanced Rendering Features:
- Physics System: Integration & collision detection (#100, #161)
- Animation Foundation: Skeletal animation system (#101, #162)
- Complete Metrics Integration: CPU/GPU timers with core metrics system (#73, #128)
Looking ahead to Phase 3: The adaptive core with DCC, ISAs, and GORNA implementation.
What's Changed
- [Research & Design] Define Khora's ECS Architecture by @eraflo in #39
- [Feature] Implement Scene Hierarchy & Transform System by @eraflo in #40
- [Design] Design Asset System with VFS & Define Core Structs by @eraflo in #41
- [Feature] Implement Texture Loading & Management by @eraflo in #42
- [Feature] Implement Mesh Loading & Management by @eraflo in #43
- [Task] Render Loaded Static Model with Basic Materials by @eraflo in #44
- [Feature] Implement Basic Scene Serialization by @eraflo in #45
- [Feature] Implement Basic Audio System by @eraflo in #99
- [Task] Implement Core ECS Data Structures (CRPECS v1) by @eraflo in #151
- [Task] Implement Basic Entity Lifecycle (CRPECS v1) by @eraflo in #152
- [Task] Implement Native Queries (CRPECS v1) by @eraflo in #153
- [Task] Implement Component Removal & Basic Garbage Collection (CRPECS v1) by @eraflo in #154
- [Feature] Implement VFS Packfile Builder & Runtime by @eraflo in #174
- chore(deps): bump wgpu from 26.0.1 to 27.0.1 by @dependabot[bot]
- chore(deps): bump egui from 0.32.1 to 0.32.3 by @dependabot[bot]
- chore(deps): bump sysinfo from 0.37.0 to 0.37.2 by @dependabot[bot]
Getting Started with v0.3.0
git clone https://github.com/eraflo/KhoraEngine.git
cd KhoraEngine
git checkout v0.3.0
cargo run --bin sandboxFull Changelog: v0.2.0...v0.3.0
Contributors
@eraflo
@dependabot[bot]
Milestone 2 : Rendering Primitives & ISA Scaffolding
What's Changed
- added wgpu for renderer part by @eraflo in #109
- abstracting render system by @eraflo in #111
- 33 feature implement graphics device abstraction by @eraflo in #112
- Update README.md by @eraflo in #113
- chore(deps): bump env_logger from 0.10.2 to 0.11.8 by @dependabot[bot] in #115
- 34 feature implement swapchain management by @eraflo in #117
- 35 feature implement basic shader system by @eraflo in #119
- 118 feature implement basic render pipeline system by @eraflo in #120
- added khora_bitflags macro + modify ColorWrite in enum bitflag by @eraflo in #122
- 36 feature implement basic buffertexture management track vram usage by @eraflo in #130
- chore(deps): bump winit from 0.30.10 to 0.30.11 by @dependabot[bot] in #131
- chore(deps): bump wgpu from 25.0.0 to 25.0.2 by @dependabot[bot] in #132
- chore(deps): bump winit from 0.30.11 to 0.30.12 by @dependabot[bot] in #134
- chore(deps): bump wgpu from 25.0.2 to 26.0.1 by @dependabot[bot] in #133
- implement GPU performance monitoring with backend-agnostic hooks by @eraflo in #136
- Metric system + Complete GPU performance monitoring integration with … by @eraflo in #137
- integrate VRAM tracking into unified resource monitoring system by @eraflo in #138
- integrate system RAM tracking into core metrics system by @eraflo in #139
- implement robust graphics backend selection with fallback architecture by @eraflo in #141
- Refactor by @eraflo in #142
- 38 task render a single trianglequad with performance timings by @eraflo in #143
- fix warning resize + shutdown render system by @eraflo in #144
- 140 feature implement basic command recording submission by @eraflo in #149
- chore(deps): bump egui from 0.24.1 to 0.32.1 by @dependabot[bot] in #148
- chore(deps): bump sysinfo from 0.32.1 to 0.35.2 by @dependabot[bot] in #146
- chore(deps): bump anyhow from 1.0.98 to 1.0.99 by @dependabot[bot] in #145
New Contributors
- @dependabot[bot] made their first contribution in #115
Full Changelog: v0.1.0...v0.2.0
Milestone 1: Core Foundation & Context Hooks
KhoraEngine v0.1.0 - Foundational Core & Context Hooks
This is the first tagged release of KhoraEngine, marking the completion of Milestone 1: Core Foundation & Context Hooks. This version establishes the essential groundwork for the engine, focusing on core architecture, basic platform integration, and the initial mechanisms for context awareness required by the long-term Symbiotic Adaptive Architecture (SAA) vision.
Key Features & Changes ✨
- Project Structure & Infrastructure:
- Core Engine Architecture:
- Mathematics Library:
- Implemented foundational 3D math primitives (
Vec2,Vec3,Vec4,Quaternion,Mat3,Mat4,LinearRgba,AABB) withinkhora_engine_core::math. (#98)
- Implemented foundational 3D math primitives (
- Platform Integration:
- Context Awareness & Monitoring (SAA Foundations):
What's Next?
With this foundation in place, development now moves to Milestone 2: Rendering Primitives & ISA Scaffolding, which will focus on integrating a graphics API (wgpu/ash), setting up the rendering pipeline, and adding GPU monitoring capabilities.
Getting Started with v0.1.0
git clone https://github.com/eraflo/KhoraEngine.git
cd KhoraEngine
git checkout v0.1.0
cargo run --bin sandboxFull Changelog: https://github.com/eraflo/KhoraEngine/commits/v0.1.0