summaryrefslogtreecommitdiff
path: root/PROJECT_CONTEXT.md
diff options
context:
space:
mode:
authorskal <pascal.massimino@gmail.com>2026-02-02 11:57:29 +0100
committerskal <pascal.massimino@gmail.com>2026-02-02 12:06:29 +0100
commit492cacecd91d32ce789d77d10c1ad97af481c685 (patch)
treef9ebe500efec9826205c958637665d17ad4711be /PROJECT_CONTEXT.md
parent8275e158f26798f218fbd60cc9791cc53aac480a (diff)
refine some sub-tasks and concepts
new file: TODO.md
Diffstat (limited to 'PROJECT_CONTEXT.md')
-rw-r--r--PROJECT_CONTEXT.md12
1 files changed, 9 insertions, 3 deletions
diff --git a/PROJECT_CONTEXT.md b/PROJECT_CONTEXT.md
index 30a24d8..2d3e21d 100644
--- a/PROJECT_CONTEXT.md
+++ b/PROJECT_CONTEXT.md
@@ -28,14 +28,20 @@ Incoming tasks in no particular order:
- [x] 2. parse the keyboard key. Exit the demo when 'esc' is pressed. Toggle full-screen when 'f' is pressed.
- [x] 3. add binary crunchers for all platforms
- [ ] 4. add cross-compilation for PC+linux (x86_64) and PC+Windows (.exe binary)
- - [x] PC+Windows (.exe binary) via MinGW
- - [ ] PC+linux (x86_64)
+ - [x] a. PC+Windows (.exe binary) via MinGW
+ - [ ] b. PC+linux (x86_64)
+ - [ ] c. have a shell script (check_all.sh) under scripts/ to verify all builds (PC, MacOS, Win64) for all config. To be run before a major commit. Script can be slow to pass, doesn't matter.
- 5. implement a spectrogram editor for representing .spec with elementary shapes (bezier curves, lines, random noise, rectangles...) as a mean of compression / spec generation
- [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.)
+ Sub-tasks to define an overall code-stripping rule (to be captured in the CONTRIBUTING.md rules):
+ - [ ] a. function implementations are removed
+ - [ ] b. useless struct fields are removed (is_fullscreen_, debug_mode_, etc. e.g.)
+ - [ ] c. static arrays are malloc'd instead of initialized to zero
+ - [ ] d. code is simplified for size if possible (propose an alternate code implementation inside a STRIP_ALL #ifdef if needed)
- [x] 9. work on the compact in-line and off-line asset system (@ASSET_SYSTEM.md)
-- 10. optimize spectool to remove trailing zeroes from a spec file before saving it
+- 10. optimize spectool to remove trailing zeroes from a spec file before saving it. Remove the leading zeroes too.
- [x] 11. implement a general [time / timer / beat] system in the demo, for effects timing
- [x] 12. Implement 'Sequence' and 'Effect' system:
- `Effect` interface: `init`, `start`, `compute`, `render`, `end`, `priority`.