diff options
| author | skal <pascal.massimino@gmail.com> | 2026-01-31 16:01:44 +0100 |
|---|---|---|
| committer | skal <pascal.massimino@gmail.com> | 2026-01-31 16:01:44 +0100 |
| commit | 843de420978cc4c976a2b71cf13c940685df8f56 (patch) | |
| tree | c41dd283f3d9c8774a5c7e22f235528e4093b7c4 | |
| parent | 2e492789582cd5cee46fa40c66f113469df69a0d (diff) | |
update instructions
| -rw-r--r-- | PROJECT_CONTEXT.md | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/PROJECT_CONTEXT.md b/PROJECT_CONTEXT.md index 5afc7a7..fb4485d 100644 --- a/PROJECT_CONTEXT.md +++ b/PROJECT_CONTEXT.md @@ -31,7 +31,7 @@ Incoming tasks in no particular order: - [x] PC+Windows (.exe binary) via MinGW - [ ] PC+linux (x86_64) - 5. implement a spectrogram editor for representing .spec with elementary shapes (bezier curves, lines, random noise, rectangles...) as a mean of compression / spec generation -- 6. add a scripting tool to edit the demo (compiled into the binary at the end) +- [x] 6. add a scripting tool to edit the demo (compiled into the binary at the end) - [x] 7. compile wgpu-native in optimized mode (not unoptimized) - [x] 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.) - [x] 9. work on the compact in-line and off-line asset system (@ASSET_SYSTEM.md) @@ -51,9 +51,13 @@ Incoming tasks in no particular order: - **Effect**: Abstract base for visual elements. Supports `compute` (physics) and `render` (draw) phases. Idempotent `init` for shared asset loading. - **Sequence**: Manages a timeline of effects with `start_time` and `end_time`. Handles activation/deactivation and sorting by priority. - **MainSequence**: The top-level coordinator. Holds the WebGPU device/queue/surface. Manages multiple overlapping `Sequence` layers (sorted by priority). +- **Sequence Compiler**: Implemented a C++ tool (`seq_compiler`) that transpiles a textual timeline description (`assets/demo.seq`) into a generated C++ file (`timeline.cc`). + - **Workflow**: Allows rapid experimentation with timing, layering, and effect parameters without touching engine code. + - **Flexibility**: Supports passing arbitrary constructor arguments from the script directly to C++ classes. - **Implementation**: - - `src/gpu/gpu.cc`: Simplified to be a thin wrapper initializing and driving `MainSequence`. + - `src/gpu/effect.h/cc`: Core logic. - `src/gpu/demo_effects.h/cc`: Concrete implementations of `HeptagonEffect` and `ParticlesEffect`. + - `src/gpu/gpu.cc`: Simplified to be a thin wrapper initializing and driving `MainSequence`. - **Integration**: The main loop now calculates fractional beats and passes them along with `time` and `aspect_ratio` to the rendering system. ### Debugging Features |
