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;
}