Files
sporel-module-lib-managemen…/README.md
Calic 03027b077a docs: add standard module documentation
Initial README following the project's module documentation structure:
Abstract paragraph, Badges as bold key:value list, Topology section
with auto-generated mermaid graph, Controls describing player input,
Demonstrates listing the Sporel features showcased, References at
the end.

Install pre-commit hook via Sporel --install-hooks=.; topology is
auto-managed by Sporel --lint --fix.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-17 01:39:53 +02:00

1.5 KiB

lib-sporel.launcher

Module-discovery and module-switch entry. Lists available modules from the configured modules-dir and launches the selected one via engine.switch_module. Typical entry point: --module=lib-sporel.launcher boots into a chooser screen rather than directly into a game.

Version: 0.1.0
Module-ID: lib-sporel.launcher
Requires: lib-core.input v>=0.4.0
Tags: launcher, menu, system, navigation

Topology

graph LR
  this["lib-sporel.launcher"]
  lib_core_input["lib-core.input"]
  this --> lib_core_input
  engine["engine.*"]
  this --> engine

Controls

  • Mouse-Left: Click a module-button to launch it; click confirm/cancel in the quit-modal.
  • Enter: Confirm quit when the modal is open.
  • Escape: Open the quit-modal from the chooser; cancel the modal when open.

Demonstrates

  • engine.module.list discovery of installed modules from the modules-dir.
  • engine.switch_module runtime swap from the launcher to the selected module.
  • Simple text + rect rendering via engine.render for the chooser UI.
  • Input-action binding through lib-core.input (ui_click, ui_back, ui_confirm).
  • Modal-state FSM (chooser <-> quit-modal) factored into a sibling fsm.lua loaded via engine.module.dir_of.

References

  • meta/docs/architecture/module-lifecycle.md
  • meta/docs/architecture/host-app.md
  • meta/docs/superpowers/specs/2026-05-14-launcher-design.md