Added workflows to automatically compile / recompile shaders with antigravity.
Added user story to work on some todos
This commit is contained in:
56
USER_STORY.txt
Normal file
56
USER_STORY.txt
Normal file
@@ -0,0 +1,56 @@
|
||||
# Juliet Engine: User Stories & Prioritisation
|
||||
|
||||
## Priority 1: Critical Stabilization & Core Features
|
||||
|
||||
### [US-01] High-Performance Memory Allocation
|
||||
Story: As a developer, I want a MemoryArena and ScratchAllocator for transient engine allocations.
|
||||
Rationale: HIGH PRIORITY. Fundamental for performance and upcoming multithreading.
|
||||
Target: Core Memory Systems
|
||||
|
||||
### [US-02] Robust String Struct
|
||||
Story: As a developer, I want a String utility based on buffer + size instead of null-termination.
|
||||
Rationale: Essential for safety and performance; prevents common C-string bugs.
|
||||
Target: String.cpp
|
||||
|
||||
### [US-03] Bindless Transformation Cleanup
|
||||
Story: As a developer, I want to remove Vertex Buffer support and related state resets, transitioning the engine to a 100% bindless architecture.
|
||||
Rationale: Simplifies the D3D12 backend and leverages our recent bindless implementation for all rendering tasks.
|
||||
Target: D3D12RenderPass.cpp, D3D12CommandList.cpp
|
||||
|
||||
### [US-04] Internal Message Queue Framework
|
||||
Story: As a developer, I want a custom-built internal message queue to handle engine and OS events.
|
||||
Rationale: Decouples event handling from the OS and provides a clean framework for window resizing and input.
|
||||
Target: Core Event System
|
||||
|
||||
---
|
||||
|
||||
## Priority 2: Performance & Usability
|
||||
|
||||
### [US-05] Custom Lightweight Asset Management
|
||||
Story: As a developer, I want a custom-built lightweight system for asset discovery and loading.
|
||||
Rationale: Minimizes external dependencies and fits the custom nature of the engine.
|
||||
Target: JulietApp\main.cpp Refactoring
|
||||
|
||||
---
|
||||
|
||||
## Priority 3: Infrastructure & Parity
|
||||
|
||||
### [US-06] Centralized Asset Management
|
||||
Story: As a developer, I want to load assets (textures, shaders) through a centralized system rather than hardcoded paths.
|
||||
Rationale: Improves project organization and allows for easier deployment/packaging of the application.
|
||||
Target: JulietApp\main.cpp Refactoring
|
||||
|
||||
### [US-07] UTF-8 String Support
|
||||
Story: As a developer, I want the engine's string library to support UTF-8 encoding.
|
||||
Rationale: Necessary for internationalization and handling file paths with non-ASCII characters.
|
||||
Target: String.cpp
|
||||
|
||||
### [US-08] D3D12 Dynamic Loading (Deprioritized)
|
||||
Story: As a user, I want the application to eventually check for D3D12 support via LoadLibrary.
|
||||
Rationale: Stability feature for later stages of development.
|
||||
Target: D3D12GraphicsDevice.cpp
|
||||
|
||||
---
|
||||
|
||||
## Decision Point: Phase 4 & Networking
|
||||
*Tasks like SPIR-V toolchain transition and cross-platform networking are currently considered Low Priority compared to engine stability.*
|
||||
Reference in New Issue
Block a user