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.