summaryrefslogtreecommitdiff
path: root/scripts/project_init.sh
diff options
context:
space:
mode:
authorskal <pascal.massimino@gmail.com>2026-01-28 00:41:07 +0100
committerskal <pascal.massimino@gmail.com>2026-01-28 00:41:07 +0100
commita7bcf5e9cd6884d010b5cec0146293a0515242fc (patch)
treebcc07dd93e19c7b429363c8cac1e9866762f6e6e /scripts/project_init.sh
parent9dcf94ab01269311b4e5d39be23c95560904c626 (diff)
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.
Diffstat (limited to 'scripts/project_init.sh')
-rwxr-xr-xscripts/project_init.sh15
1 files changed, 15 insertions, 0 deletions
diff --git a/scripts/project_init.sh b/scripts/project_init.sh
index 40f9457..db24c8f 100755
--- a/scripts/project_init.sh
+++ b/scripts/project_init.sh
@@ -14,4 +14,19 @@ else
echo "miniaudio.h already present."
fi
+# wgpu-native submodule
+if [ ! -d third_party/wgpu-native ]; then
+ echo "Fetching wgpu-native submodule..."
+ git submodule update --init --recursive
+else
+ echo "wgpu-native submodule already present."
+fi
+
+if [ ! -f third_party/wgpu-native/target/release/libwgpu_native.a ]; then
+ echo "Building wgpu-native static library..."
+ (cd third_party/wgpu-native && make lib-native)
+else
+ echo "wgpu-native static library already built."
+fi
+
echo "Done."