Added workflows to automatically compile / recompile shaders with antigravity.

Added user story to work on some todos
This commit is contained in:
2026-01-13 21:28:08 -05:00
parent bfd042abbf
commit 98783b7e8f
3 changed files with 82 additions and 0 deletions

56
USER_STORY.txt Normal file
View 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.*