| Age | Commit message (Collapse) | Author |
|
Updates status in PROJECT_CONTEXT.md and TODO.md.
|
|
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.
|
|
Adds a section on Alignment, String Safety, and Size Reporting to ASSET_SYSTEM.md.
|
|
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.
|
|
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.
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- 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.
|
|
|
|
|
|
|
|
|
|
optimization tasks
|
|
|
|
|
|
|
|
into BUILD.md
|
|
|
|
|
|
|
|
- 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.
|
|
- 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.
|
|
- 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).
|
|
- 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.
|
|
|
|
- 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.
|
|
- 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.
|
|
- 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.
|
|
- 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.
|
|
|
|
- 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).
|
|
|
|
- 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.
|
|
- 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.
|
|
- 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.
|
|
|
|
- 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.
|
|
- 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.
|
|
- 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.
|
|
- 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.
|
|
- 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.
|