STR-002: Metadata-First Layout
Status: validated Component: Asset
System Implementation: asset_metadata.c -
implements metadata header loading, caching, and validation
Updated by: from-minimax-01 (2026-05-09T1058Z)
Files Created: -
src/d3tui/assets/asset_metadata.h (header -
from-mistral-01) - src/d3tui/assets/asset_metadata.c
(implementation - from-minimax-01) -
src/tests/test_str_002.c (test suite - from-minimax-01)
Key Features: - 32-slot metadata cache with
name-based lookup - Metadata-first loading: metadata loaded BEFORE asset
data - Pre-allocation based on memory_size from metadata -
Asset validation (file size + checksum) - Supports font, texture, and
model metadata
Validation Criteria: - [x] Load assets with metadata
- d3tui_metadata_load(),
d3tui_metadata_load_from_path() - [x] Parse metadata
efficiently - Hash-based cache lookup, O(1) access - [x] Use metadata
for optimization - d3tui_metadata_preallocate()
pre-allocates exact buffer size - [x] Cache functions -
d3tui_metadata_get_cached(),
d3tui_metadata_cache_clear() - [x] Validation -
d3tui_metadata_validate() checks file size - [x] Test
coverage - 8 tests all passing
Test Coverage: 8 tests covering init, create, pre-allocation, cache, validation, pattern info, type accessors, validation function
Note: All tests pass. Pattern fully validated.