diff options
| author | skal <pascal.massimino@gmail.com> | 2026-01-28 00:41:07 +0100 |
|---|---|---|
| committer | skal <pascal.massimino@gmail.com> | 2026-01-28 00:41:07 +0100 |
| commit | a7bcf5e9cd6884d010b5cec0146293a0515242fc (patch) | |
| tree | bcc07dd93e19c7b429363c8cac1e9866762f6e6e /PROJECT_CONTEXT.md | |
| parent | 9dcf94ab01269311b4e5d39be23c95560904c626 (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 'PROJECT_CONTEXT.md')
| -rw-r--r-- | PROJECT_CONTEXT.md | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/PROJECT_CONTEXT.md b/PROJECT_CONTEXT.md index e607a19..1ee929c 100644 --- a/PROJECT_CONTEXT.md +++ b/PROJECT_CONTEXT.md @@ -23,6 +23,20 @@ Style: - Demoscene - No engine abstractions +Incoming tasks in no particular order: +- 1. add a fullscreen mode (as command line option) +- 2. parse the keyboard key. Exit the demo when 'esc' is pressed. Toggle full-screen when 'f' is pressed. +- 3. add binary crunchers for all platforms +- 4. add cross-compilation for PC+linux (x86_64) and PC+Windows (.exe binary) +- 5. implement a spectrogram editor for representing .spec with elementary + shapes (bezier curves, lines, random noise, rectangles...) as a mean + of compression +- 6. add a scripting tool to edit the demo (compiled into the binary at the end) +- 7. compile wgpu-native in optimized mode (not unoptimized) +- 8. add a #define STRIP_ALL to remove all unnecessary code for the final build + (for instance, command-line args parsing, or unnecessary options, constant + parameters to function calls, etc.) + ## Session Decisions and Current State ### Audio Engine (Synth): |
