From a7bcf5e9cd6884d010b5cec0146293a0515242fc Mon Sep 17 00:00:00 2001 From: skal Date: Wed, 28 Jan 2026 00:41:07 +0100 Subject: feat: Implement fullscreen, keyboard controls, and pulsating heptagon 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. --- FETCH_DEPS.md | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'FETCH_DEPS.md') diff --git a/FETCH_DEPS.md b/FETCH_DEPS.md index d16fb45..3d5cc0e 100644 --- a/FETCH_DEPS.md +++ b/FETCH_DEPS.md @@ -30,3 +30,32 @@ https://raw.githubusercontent.com/mackron/miniaudio/master/miniaudio.h and place it into: third_party/miniaudio.h + +## wgpu-native + +WebGPU implementation via wgpu-native. + +Source: +https://github.com/gfx-rs/wgpu-native + +### Automatic fetch + +Use one of the provided scripts: +- scripts/project_init.sh +- scripts/project_init.bat + +These scripts will run `git submodule update --init --recursive` to fetch `wgpu-native` and then build its static library. + +### Manual fetch + +Run the following commands in the project root directory: +```bash +git submodule add https://github.com/gfx-rs/wgpu-native third_party/wgpu-native +git submodule update --init --recursive +cd third_party/wgpu-native +make lib-native # Requires Rust toolchain and LLVM/Clang to be installed. +cd ../.. +``` + +Expected static library location (for linking): +- `third_party/wgpu-native/target/release/libwgpu_native.a` (or platform equivalent like `.lib` or `.dylib`) -- cgit v1.2.3