10 Commits

Author SHA1 Message Date
Calic
57a9a42054 fix(launcher): localize image-missing placeholder + drop dead icons.lua
- markdown.lua: M.render now accepts an optional `t` 6th arg (ctx.t).
  When present, the image-missing fallback string is looked up via the
  new `image_missing_fmt` key in strings.lua. Callers without t (the
  launcher-test bytecopy) get the hardcoded English string verbatim,
  matching previous behavior.
- panels/detail.lua: both md.render call sites now thread ctx.t through.
- strings.lua: add image_missing_fmt = "[image missing: %s]".
- icons.lua: deleted. The v0.2.0 status-glyph helper was replaced by
  dep_glyph_* string keys in v0.3.0; grep confirmed no remaining refs.
- manifest.module: bump 0.3.2 -> 0.3.3.
2026-06-11 10:22:29 +02:00
Calic
2595759b3e 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).
2026-06-11 08:10:01 +02:00
Calic
fa558adfeb feat: ship manifest.launcher.md for master-detail launcher 2026-06-11 07:58:05 +02:00
Calic
332a37e155 feat(launcher): wire panels into master-detail layout
Replaces the centered-button list with a 1/3 list + 2/3 detail split
driven by panels/list.lua and panels/detail.lua. The shared ctx_panels
table threads UI state (selected_entry, scroll_y, modal_open, etc.)
through both panels. Existing dep + update checks remain on the module
entries; FSM and ESC-quit flow unchanged. Detail-panel content is still
a stub until L.4-L.7.
2026-06-11 01:44:29 +02:00
Calic
8b833bbb35 launcher 0.2.0: inline status icons + classified update-check + token auth wire
- Async update-check per module on init (git.start_ls_remote_tags),
  polled per frame. Result classified into available / no-update /
  fail / local-only via the new kind field from lib-core.git 0.2.0.
- Pre-emptive dep-check per module (depf.ensure_for_module) on init
  populates a dep_check_result whose ok/conflicts/warnings/errors
  drive the icon strip.
- Inline icon strip per module-row (icons.lua): rotating ASCII
  spinner while pending, yellow warn for auth/network failures or
  dirty deps, blue update-badge with target version (clickable to
  trigger fetch+checkout), red error for dep-check conflicts, gray
  L for repos that genuinely don't exist on the server. Tooltip on
  hover shows the specific reason per icon.
- Click handler splits launch-vs-update by hit-testing the badge
  rect before the row rect. Launch is blocked when dep-check failed.
- On init, reads engine.config("gitea_token") and forwards via
  git.set_token so users can persist their token in their user-data
  engine.json layer instead of using an env var.
- New deps: lib-core.git 0.1.0, lib-management.dep-fetcher 0.1.2.
2026-05-31 14:09:39 +02:00
Calic
4d91a5ffde rename to lib-management.launcher (was lib-sporel.launcher)
Per ADR-0045 (three-tier library naming) the launcher migrates from
the retired lib-sporel.* prefix to the new lib-management.* tier for
host-infrastructure libs. Updates:

- manifest.module id: lib-sporel.launcher -> lib-management.launcher
- manifest.core id: lib-sporel.launcher.core -> lib-management.launcher.core
- init.lua engine.module.dir_of("lib-management.launcher")
- README + fsm.lua comment refs

Gitea repo renamed in lockstep:
sporel/sporel-module-lib-sporel.launcher ->
sporel/sporel-module-lib-management.launcher
2026-05-31 00:21:51 +02:00
Calic
c7cca569de deps(launcher): manifest.module.ci_frames=10 (Test-Opt Phase 4.1) 2026-05-16 01:28:49 +02:00
Calic
decf7b359a deps: bump lib-core.input dep 0.3.0 → 0.4.0 (P.3.10 cascade)
No behavioral change. Only 0.4.0 is now available.
2026-05-15 22:14:24 +02:00
Calic
4db760bc60 fix(P.3.4): manifest schema — add api, entry_point; exact-match dep version 2026-05-12 23:14:38 +02:00
Calic
141683438d feat(P.3.4): initial — Sporel Launcher v0.1.0 (FSM + click-UI + quit-confirm) 2026-05-12 23:05:55 +02:00