feat(launcher): ship default brand assets

Solid-fill placeholders for the empty-state background (1920×1080) and
the zero-teaser hero fallback (800×450). Brand-refresh slice can drop
both files in without touching code. Loaded once on init via
engine.asset.load_texture (launcher's own sandbox).
This commit is contained in:
Calic
2026-06-11 08:10:01 +02:00
parent fa558adfeb
commit 2595759b3e
4 changed files with 11 additions and 3 deletions

View File

@@ -203,14 +203,22 @@ function init(ctx)
list_tint = nil, -- nil | "warn" | "error" — set in L.4
list_panel_rect = nil, -- set below from window size
detail_panel_rect = nil,
bg_texture = nil, -- L.10 loads it
default_teaser_texture = nil, -- L.10 loads it
bg_texture = nil, -- assigned below from engine.asset.load_texture
default_teaser_texture = nil, -- assigned below from engine.asset.load_texture
t = nil, -- L.8: real implementation installed below
carousel_state = {}, -- per-module-id state, L.5 populates
manifest_cache = {}, -- L.3 populates
launcher_dir = MODULE_DIR, -- L.4: detail.lua dofiles markdown.lua via this
}
-- L.10: launcher-owned brand assets. Solid-fill placeholders today;
-- a brand-refresh slice can drop new PNGs in without touching code.
-- Loaded via engine.asset (the launcher's own sandbox-rooted loader),
-- not engine.module.load_texture — assets/launcher/ lives inside the
-- launcher's module dir.
ctx_panels.bg_texture = engine.asset.load_texture("assets/launcher/background.png")
ctx_panels.default_teaser_texture = engine.asset.load_texture("assets/launcher/default_teaser.png")
-- L.8: real string indirection. Looks up `key` in strings.lua, falls
-- back to "[key]" for missing entries, and string.formats with any
-- varargs so callers can pass format-args inline (e.g. counts).