diff options
| -rw-r--r-- | 3D.md | 14 | ||||
| -rw-r--r-- | GEMINI.md | 1 | ||||
| -rw-r--r-- | PROJECT_CONTEXT.md | 12 | ||||
| -rw-r--r-- | TODO.md | 30 |
4 files changed, 54 insertions, 3 deletions
@@ -24,6 +24,20 @@ So in the end, we'll We want to use shadow maps, so multi-passes is expected. +## debugging features + +The assist the visual debugging, we need a 'visual_debug' mode (code to be +removed with STRIP_ALL) that: + + a) draws a wireframe around the bounding volumes (box, etc.) + b) draw the trajectories (camera, objects, ...) + c) show the collision points + d) displays the ray/object intersection interactively + e) show the lights (direction, cone, ...), display their shadow-map in 3d and on-screen (2d). + +This must be captured and tracked as a sub-task + + ## future step Have an exporter from Blender modelling software. That would be a converter @@ -6,6 +6,7 @@ @CONTRIBUTING.md @HOWTO.md @3D.md +@TODO.md @SPEC_EDITOR.md @PROCEDURAL.md @src/util/asset_manager.h 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`. @@ -0,0 +1,30 @@ +# list of quick TODO tasks + +this is temporary, frequently-updated, list of quick TODO that +don't warrant a 'Task' in itself. +Once done, move the task description to the 'Past Tasks' section + + +## Up-to-date Tasks list + +In no particular order, they just need to be done: + + * A) each build_XXX build directory is generating its own build_XXX/src/generated/* assets and code. + This is wrong and error-prone. There should be one source of truth + for the generated assets/data/code at the top of the tree, under a common + src/generated/ directory. Adapt all the code for that. Pay attention + to tests (test_assets, e.g.) that *also* generate assets. They must§ + generate them in a throw-away directory. + + * B) make a pass of 'vertical compaction' for the code: there's a lot of + superfluous '\n' empty lines in the code that shouldn't be here. + Remove them to have a vertically more dense code. Use clang-format if needed. + + * C) add a top-level @README.md file with a short description of the + project for new-comers, a one-line description of each .md files, and + a quick layout and description of the source tree. + +## Past Tasks + +The past TODO are already done (stored here for archiving): + |
