summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
3 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.
3 daysdocs: Document asset system technical detailsskal
Adds a section on Alignment, String Safety, and Size Reporting to ASSET_SYSTEM.md.
3 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.
3 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.
3 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.
3 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.
3 daysfix(3d): Tighten torus bounding box and restore object texturesskal
- Adjusted Torus proxy hull in vs_main to fit unit dimensions (1.4x0.4x1.4). - Updated VisualDebug to support per-object local extents, improving wireframe accuracy. - Restored procedural floor grid and SDF bump mapping in the fragment shader. - Added varied scaling to test scene objects to verify transform robustness.
3 daysfix(3d): Correct debug box transforms and restore object texturesskal
- Updated VisualDebug to accept mat4 transforms, enabling wireframes to follow rotating objects. - Restored SDF bump mapping and floor grid texture in the fragment shader. - Added vec4::xyz() helper to mini_math.h. - Fixed Renderer3D to pass the full model matrix for debug visualization.
3 daysdocs: Finalize session state in TODO.md with unified SDF shadow fix detailsskal
3 daysfix(3d): Unify all objects to SDF path for consistent shadowsskal
- Updated ObjectData to include inv_model for reliable world-to-local mapping. - Enabled SDF raymarching path for all objects in test_3d_render (floor is now a large SDF BOX). - Implemented robust normal calculation using SDF gradient for all objects. - Standardized lighting (light_dir = 1,1,1) and diffuse+ambient model. - Refined calc_shadow with instance-based skip_idx and robust bias. - Fixed non-uniform scale handling in shader by extracting min scale from model matrix.
3 daysfix(3d): Unify SDF path for all objects and stabilize shadowsskal
- Converted floor in test_3d_render to a large SDF BOX for consistent shading. - Standardized lighting (light_dir = 1,1,1) and normal calculation for all objects. - Fixed calc_shadow bias and skip_idx to reliably prevent self-shadowing. - Improved raymarching robustness in fs_main to find exact SDF hit points.
3 daysfix(3d): Restore and enhance 3D shadowsskal
- Elevated objects in test_3d_render to avoid shadow occlusion. - Slanted light direction for more visible, elongated shadows. - Sharpened shadows by increasing k constant to 32. - Cleaned up debug printfs from previous turns. - Maintained skip_idx logic for robust self-shadowing prevention.
3 daysfix(3d): Revert to working N-1 shadow configurationskal
- Reverted floor to CUBE (rasterized) at index 0. - Restored vertical lighting and original soft shadow loop (k=8, t+=h). - Maintained instance-based skip_idx for generic self-shadowing prevention. - Confirmed map_scene correctly skips the floor, allowing other objects to cast shadows on it.
3 daysfix(3d): Resolve missing shadows on floor planeskal
- Switched floor from rasterized CUBE to SDF PLANE for consistent shadow mapping. - Implemented skip_idx in map_scene to properly prevent self-shadowing. - Standardized soft shadow logic with improved bias and step size. - Increased object elevation and adjusted light direction for more visible shadows. - Enabled debug boxes in test_3d_render.
3 daysflesh out extra details in the MD filesskal