summaryrefslogtreecommitdiff
path: root/scripts
AgeCommit message (Collapse)Author
5 daysfix: Cross-compilation and style complianceskal
Fixes seq_compiler build for Windows cross-compilation. Moves common WebGPU compatibility shims to gpu.h. Applies project-wide coding style via clang-format. Verified on both macOS (native) and Windows (cross-compile).
5 daysupdate session with mix fixesskal
5 daysupdate state in .md filesskal
5 daysFinalize Windows port with size analysis reporting and updated docsskal
5 daysAdd Windows cross-compilation support (MinGW) and emulation (Wine)skal
6 daysChore: Remove trailing whitespaces across the codebaseskal
8 dayschore(scripts): Update gen_assets.sh to include test asset generationskal
Ensures that test assets are also generated when the production pipeline is run.
8 daysfix(assets): Update gen_assets.sh pathsskal
Synchronizes scripts/gen_assets.sh with the current project structure: uses 'demo_assets.txt' and outputs to the 'src/' directory.
8 daysfix(crunch): Use strip/gzexe on macOS instead of UPXskal
UPX is unreliable on macOS. Switched to using standard 'strip -u -r' and 'gzexe' for binary compression on Darwin systems. Achieved a compressed binary size of ~48KB (dynamically linked). Updated FETCH_DEPS.md to reflect that UPX is now only required for Linux/Windows.
8 daysfeat(crunch): Add UPX-based binary packer scriptskal
Adds 'scripts/crunch_demo.sh' to automate building a stripped binary and compressing it with UPX. Updates 'FETCH_DEPS.md' with UPX installation instructions and 'HOWTO.md' with usage guide. This addresses Task 3 (add binary crunchers).
9 daysrefactor(gpu): Integrate WebGPU via system wgpu-native and glfw3webgpuskal
Replaces the complex wgpu-native submodule and manual platform-specific surface creation with a system-wide wgpu-native install (via Homebrew) and the glfw3webgpu helper library. - Updates scripts/project_init.sh to fetch glfw3webgpu and ensure wgpu-native is installed. - Refactors CMakeLists.txt to link against the system wgpu-native library. - Simplifies src/platform.cc to use glfwCreateWindowWGPUSurface. - Simplifies src/gpu/gpu.cc to use standard WebGPU headers. - Updates FETCH_DEPS.md with new installation instructions. - Updates PROJECT_CONTEXT.md with the new integration strategy.
9 daysfeat: Implement fullscreen, keyboard controls, and pulsating heptagonskal
This commit fulfills tasks 1 and 2, and adds a synchronized visual effect. - **Fullscreen Mode**: Added '--fullscreen' command-line argument and dynamic toggling via 'F' key. - **Keyboard Controls**: Implemented 'Esc' to exit and 'F' to toggle fullscreen in 'src/platform.cc'. - **Synchronized Visuals**: Added a pulsating heptagon effect in 'src/gpu/gpu.cc' and 'src/gpu/shader.wgsl' that scales and changes color based on the real-time audio peak from the synth. - **Refactor**: Abstracted platform-specific WebGPU surface creation into 'src/platform.cc' to keep 'src/gpu/gpu.cc' cross-platform. - **Build System**: Corrected 'CMakeLists.txt' to properly link 'wgpu-native' and platform frameworks, and updated 'project_init.sh' to build the submodule. - **Documentation**: Updated 'HOWTO.md' and 'PROJECT_CONTEXT.md' with new features and decisions.
9 daysinitial commitskal