summaryrefslogtreecommitdiff
path: root/PROJECT_CONTEXT.md
diff options
context:
space:
mode:
authorskal <pascal.massimino@gmail.com>2026-02-01 12:06:37 +0100
committerskal <pascal.massimino@gmail.com>2026-02-01 12:06:37 +0100
commita358fbc9f4ba3a7b01f600109fc86aeb2fcf96b8 (patch)
treea08b085bc74b5d41382d9818377ff8c31802ad85 /PROJECT_CONTEXT.md
parentf80e37bd61e447f1d66fbb5eb4c1ab7a8a77cf0f (diff)
feat(asset_manager): Implement array-based caching
- Refactored asset manager to use a static array for caching, improving performance and memory efficiency. - Updated asset_packer to correctly generate ASSET_LAST_ID for array sizing. - Modified asset_manager.h to use a forward declaration for AssetId. - Updated asset_manager.cc to use the conditional include for generated asset headers. - Added a test case in test_assets to verify the array-based cache and ASSET_LAST_ID logic.
Diffstat (limited to 'PROJECT_CONTEXT.md')
-rw-r--r--PROJECT_CONTEXT.md7
1 files changed, 7 insertions, 0 deletions
diff --git a/PROJECT_CONTEXT.md b/PROJECT_CONTEXT.md
index b34805a..569683c 100644
--- a/PROJECT_CONTEXT.md
+++ b/PROJECT_CONTEXT.md
@@ -61,6 +61,13 @@ Incoming tasks in no particular order:
- Update `main.cc` / `gpu.cc` to use `Renderer3D`.
- Apply Gaussian Blur and Chromatic Aberration post-processing.
+* **17. Implement Asset Manager Caching & Procedural Generation**
+ * 17a. **(Task a)** Implemented array-based caching in `asset_manager.cc` for `GetAsset` (Done).
+ * 17b. **(Task b)** Modify `asset_packer` to parse a new `PROC(function_name)` compression method. This will generate a record mapping an Asset ID to the procedural function's name.
+ * 17c. **(Task b)** Implement a runtime dispatcher in `GetAsset`. When a `PROC` asset is requested, the dispatcher will look up the function by its name and execute it. The result will then be cached.
+ * 17d. **(Task c)** Update the asset management test suite to include a test case with `PROC(function_name)` in `test_assets_list.txt` to verify the generation and caching.
+ * 17e. **(Task d)** Integrate into `demo64k` by adding a procedural noise texture to `demo_assets.txt` and using this new mechanism in the `Hybrid3DEffect` for bump mapping.
+
## Session Decisions and Current State
### 3D Renderer Implementation