summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2 daysdocs: Add sub-task for Shader Asset Testing & Validation (Task #26)skal
Added a new sub-task to the project roadmap for developing comprehensive tests for ShaderComposer and WGSL shader code assets. This will ensure robustness and correctness of the shader asset pipeline.
2 daysdocs: Update project status and task listsskal
Updated PROJECT_CONTEXT.md and TODO.md to reflect the completion of the asset conversion sub-task and the build system consolidation (Task #25).
2 daysfeat(assets): Add new drum samples and improve conversion scriptskal
Created a new script, scripts/gen_spectrograms.sh, to robustly convert all audio files in assets/originals to .spec format. The new script is more portable and provides better feedback. Added the newly generated drum and bass samples to the asset list, organizing them by type for clarity. This completes the requested sub-task.
2 dayschore: Finalize Build System Consolidation (Task #25)skal
Updated project roadmap and to-do list to reflect the completion of the modular build system refactor.
2 daysrefactor(build): Modularize build system with static librariesskal
Completed the first part of Task #25. Created static libraries for each subsystem (audio, gpu, 3d, util, procedural) and refactored all executables to link against them. This improves modularity and simplifies the build process. Also fixed linker errors related to glfw, wgpu, and miniaudio.
2 daysadd 'use libraries' task for the Build Systemskal
2 daysfix(assets): Resolve static initialization order fiascoskal
Replaces the global array with which wraps a local static array. This ensures the asset table is initialized on first use, preventing crashes when other globals (like shader strings) try to access assets during dynamic initialization.
2 daysfix: Resolve shader initialization crashes and build errorsskal
Fixes crashes in demo64k and test_3d_render caused by uninitialized ShaderComposer. Moves InitShaderComposer() call before effect initialization in gpu.cc and adds explicit call in test_3d_render.cc. Also fixes include paths for generated assets.h in multiple files.
2 daysdocs: Mark Shader Asset Integration (Task #24) as completedskal
Updates status in PROJECT_CONTEXT.md and TODO.md.
2 daysrefactor: Shader Asset Integration (Task #24)skal
Extracted all hardcoded WGSL shaders into external assets. Updated AssetManager to handle shader snippets. Refactored Renderer3D, VisualDebug, and Effects to load shaders via the AssetManager, enabling better shader management and composition.
2 daysdocs: Document asset system technical detailsskal
Adds a section on Alignment, String Safety, and Size Reporting to ASSET_SYSTEM.md.
2 daysfeat(assets): Enforce 16-byte alignment and string safetyskal
Updates asset_packer to align static asset arrays to 16 bytes and append a null-terminator. This allows assets to be safely reinterpreted as typed pointers (e.g., float*, const char*) without copying. Updates AssetManager documentation to reflect these guarantees.
2 daysdocs: Plan Shader Asset Integration (Task #24)skal
Updates ASSET_SYSTEM.md to describe shader asset handling. Adds Task #24 to TODO.md and PROJECT_CONTEXT.md to extract hardcoded shaders and integrate them with the AssetManager and ShaderComposer.
2 daysdocs: Update project context and re-prioritize task listskal
This commit finalizes the session by updating the project documentation to reflect recent progress and future priorities. - **Recently Completed**: Summarized the finalization of the audio tracker, implementation of build stripping (STRIP_ALL), and resolution of WebGPU stability issues on macOS. - **Re-prioritization**: Promoted 'Platform & Code Hygiene' (Task #20) to Priority 1 and established '3D System Enhancements' (Task #18) as Priority 2, focusing on Blender integration. - **Session Summary**: Appended a detailed summary of the session's key achievements to SESSION_NOTES.md.
2 daysfeat: Finalize tracker asset-sample integration with unified pasting strategyskal
3 daysdocs: Update TODO.md with tracker asset sample integration progressskal
3 daysremove generated assets which shouldn't be in gitskal
3 daysupdate the melody a bitskal
3 daysdocs: Add submodule update instructions to HOWTO.mdskal
3 dayschore: Re-add and update wgpu-native submodule to latest trunkskal
3 dayschore: Remove wgpu-native submodule for clean reinitializationskal
3 daysdocs: Update TODO.md with completed Minimal Audio Tracker taskskal
3 daysfeat: Complete audio tracker system integration and testsskal
3 daysprogress tracker taskskal
3 daysfeat: Integrate tracker system and update project context documentationskal
- Implemented the basic tracker system with runtime support (tracker.h, tracker.cc). - Added a sample music track file (assets/music.track). - Created a tracker compiler tool (tools/tracker_compiler.cc) to generate music data. - Updated CMakeLists.txt to build the tracker compiler and integrate generated data. - Updated GEMINI.md to reflect new file locations and project context.
3 daysadd a TRACKER idea to the projectskal
3 daysfix TODO.mdskal
3 daysdocs: Clean up TODO.md to reflect completed shader optimization attack plansskal
3 daysupdate TODO and fix shaders.ccskal
3 daysdocs: Update TODO.md and PROJECT_CONTEXT.md after completing shader ↵skal
optimization tasks
3 daysdocs: Mark SDF Macros attack plan as completed in TODO.mdskal
3 daysadd mention of triplanar mappingskal
3 daysrefactor: Remove obsolete top-level BUILD.mdskal
3 daysdocs: Merge Xcode build instructions and GPU performance capture details ↵skal
into BUILD.md
3 dayschore: Add BUILD.md, Task 23 to TODO.md, and GPU perf define placeholderskal
3 daysdocs: Add stripping rules for dynamic audio generationskal
3 daysdocs: Finalize session task tracking and project contextskal
3 daysfeat(test): Add comprehensive math and shader composer testsskal
- Implemented test_shader_composer.cc to verify WGSL snippet assembly. - Expanded test_maths.cc with rigorous matrix inversion and transposition checks. - Verified that A * inv(A) equals Identity for various TRS combinations. - Updated CMakeLists.txt to include the new test targets.
3 daysfix(3d): Stabilize shadows and isolate floor grid textureskal
- Reverted floor to BOX (SDF) for robust shadow receipt. - Updated shader to apply grid pattern ONLY to instance 0 (floor) or PLANE objects. - Restored noise-based texturing for floating cubes and other SDF primitives. - Verified that shadows and textures are now correctly applied across all scene elements.
3 daysfix(3d): Distinguish floor grid from object texturesskal
- Switched floor back to PLANE type in test_3d_render. - Updated fragment shader to apply grid pattern ONLY to PLANE objects. - Restored noise-based bump mapping and texturing for BOX and other SDF primitives. - Verified correct visual appearance of floating cubes (no fixed grid).
3 daysfeat(3d): Implement Task 21.1 WGSL Library & Composerskal
- Implemented ShaderComposer for modular WGSL snippet management. - Factored out common math, primitives, lighting, and ray-box helpers. - Refactored Renderer3D to use dynamic shader composition. - Consolidated high-DPI and shadow robustness fixes into final shader structure.
3 daysdocs: Record Task 21.2 completion and update session prioritiesskal
3 daystest(3d): Enlarge objects and pack them closer to the centerskal
- Increased number of random objects to 30. - Enlarged base scale of all objects. - Restricted object distribution radius to encourage inter-object shadows. - Scaled up center torus and moving sphere.
3 daysfix(3d): Resolve spherical distortion in floor grid textureskal
- Corrected world-space position calculation in SDF fragment shader. - Transformed local hit point back to world space using the model matrix. - Restored accurate planar p.xz mapping for the floor grid.
3 daysfeat(3d): Implement tight ray bounds for SDF raymarchingskal
- Added Ray-Box intersection in local space to derive precise t_entry and t_exit. - Optimized fragment shader to only march between box intersection points. - Improved robustness of SDF rendering for non-uniform scaled objects. - Verified correct texturing and shadow casting on all primitives.
3 daysfix(3d): Tighten torus proxy hull and ensure floor grid visibilityskal
- Adjusted Torus proxy hull in vs_main to 1.5x0.5x1.5 for better SDF fit. - Updated VisualDebug::add_box to use per-object local extents. - Standardized floor grid mapping in fs_main using planar p.xz projection. - Verified non-uniform scale and rotation robustness in test_3d_render.
3 dayschore: Apply final code formatting and cleanupskal
3 daysdocs: Prioritize next session tasks and update project contextskal
- Consolidated recent 3D and High-DPI fixes into PROJECT_CONTEXT.md. - Generated a prioritized task list in TODO.md with detailed attack plans. - Moved completed tasks to the 'Recently Completed' section. - Set up roadmap for Task #8 (Stripping), Task #20 (Code Hygiene), and Task #21 (Shader Optimization).
3 daysmore sub-tasksskal
3 daysfix(3d): Restore visible grid texture on floor planeskal
- Implemented planar (p.xz) grid mapping for BOX objects in the SDF path. - Standardized grid generation logic between raster and SDF paths for consistency. - Ensured grid is high-contrast and clearly visible on the floor.