[0.0.28] - 2026-08-31
This release turns the stage view, plugin UI, world data, and runtime context into one extensible interaction system: the same contextual plugin action can be discovered as a slash command, rendered as JSON UI, traced, and committed through a shared pipeline.
Added
- The stage view has a visual-novel direction system. Plugins can publish contextual cast presence, sprite variants, entrances, exits, transitions, dialogue, and choices; Haruka Academy and Emberback include refreshed portrait-backed examples.
- Plugins can expose contextual slash commands and matching UI actions. Commands such as dice rolls and inventory access declare arguments and context needs in the plugin manifest, while typed command traces give text and button invocations one log and replay format.
- JSON Render surfaces support typed plugin components, directives, slots, repeats, tabs, and development inspection. The same plugin-owned action contract now works in panels, message blocks, stage choices, and command-driven navigation without framework branches for concrete plugin IDs.
- WorldIR provides one shared post-turn fact projection. Quests, inventory, affinity, codex, relationships, and world rules can consume the same evidence instead of independently re-reading the narrative.
- World generation produces richer portable packs. The builder can create plugin policy, character blueprints, lorebook content, dimensions, rules, memory blocks, and stage-aware settings through the same WorldData validation path used by authored worlds.
Changed
- Runtime context is fresher and more deterministic across long executions. Session state reads are deduplicated, context budgets and compaction preserve authoritative world and memory views, model-slot overrides propagate consistently, and snapshots retain the inputs needed for inspection and retry.
- WorldData import uses schema-aware projections. Canonical characters, lore, media, plugin namespaces, and WorldIR seeds are planned and synchronized through explicit targets with cross-source diagnostics.
- Stage choices and free-text actions share one contextual decision flow. Suggested actions remain convenient UI shortcuts without blocking the composer, and plugin UI can open or focus its matching surface through the same command pipeline.
Fixed
- Player-created worlds and their old sessions remain deletable after upgrade. Sessions saved before incarnation metadata existed now use a stable compatibility identity during guarded deletion instead of failing with a 500; world and session confirmation dialogs also accept
Enteras the confirm shortcut. - Default Playwright runs are isolated and deterministic. They use dedicated ports and a temporary MemoryStore, never reuse stale development servers, clean up their process trees, and require an explicit opt-in before calling live providers.
- Long-running memory and runtime work handles cancellation, retries, deadlines, and automatic snapshots consistently. Failed or resumed executions keep their relevant context without duplicating stale session reads or losing trace identity.
What's Changed
- v0.0.28: visual novel stage, WorldIR, contextual commands, and plugin UI extensions by @ackness in #48
- fix: preserve legacy deletion flows by @ackness in #49
Full Changelog: v0.0.27...v0.0.28