5.1 Phase 1: Core Patterns (P0)
ARC-001: Filename-Based Asset Loading
Implementation: Font loading system Status: theoretical → attempted Validation: Load fonts by filename, track usage Testing: - [ ] Load font by name - [ ] Handle missing files - [ ] Track loaded assets - [ ] Unload unused assets
Implementation Details:
/* In d3tui_font.c */
d3tui_font_t *d3tui_font_load_by_name(const char *name) {
char path[256];
snprintf(path, sizeof(path), "fonts/%s.d3f", name);
// Check if already loaded
for (size_t i = 0; i < font_cache.count; i++) {
if (strcmp(font_cache.entries[i].path, path) == 0) {
font_cache.entries[i].refcount++;
return font_cache.entries[i].font;
}
}
// Load new font
d3tui_font_t *font = d3tui_font_load(path);
if (font) {
// Add to cache
// ...
}
return font;
}