Removed the public seed field from the Demo Match Engine and switched match generation to fresh runtime seeds so repeat showcase pairings no longer lock into one visible outcome path.
Reworked Stage 1 pin logic so non-finisher covers only fire from grounded pressure states inside a short cover window, preventing abrupt stand-up-to-pin flow breaks.
Added richer position-aware sampler phrasing plus reversal roll-up pin chances so move flow reads more like a wrestling sequence instead of flat hit/miss text.
Extended the `Ref Mishap` path so missed kickouts can branch into alignment-aware `Post Match Outcome` aftermath sequences after controversial finishes.
Tightened `Interruption Tease` so it can only fire once per match, with new variants for rivals in the crowd or failed barricade-jump invasions stopped by security.
Expanded the sampler documentation lane with dedicated module wiki pages for Amazing Comeback, Crowd Momentum, Weapon Chance, Interruption Tease, Ref Mishap, and Post Match Outcome.
Added schema documentation for the current `Interruption Tease` contract so future invasion, rivalry, and carry-over logic has a tracked baseline before Stage 2 work begins.
4th June, 2026
Added a new narration-focused parser cleanup toggle so GPT-style all-caps names and finisher names can be normalized outside dialogue without flattening legitimate shouted speech.
Refined roleplay parser image-sizing behavior so per-brand/default width and height fields can now be left blank independently, with the missing side falling back to `100%` instead of forcing a fixed export width.
Added per-brand spotlight-logo sizing for the roleplay parser brand card and reduced the default spotlight logo footprint so demo/public parser surfaces stop rendering oversized brand marks.
Reworked `/federation/manager?section=branding` onto the newer editor-shell pattern with grouped tabs, cleaner preview surfaces, and bounded asset preview cards for federation logo/background uploads.
Aligned public/demo sidebar navigation typography down to the tighter 12px nav-item scale already used in admin so the menu system reads more consistently across shells.
Added a broader cross-browser CSS fallback pass for public/admin surfaces, including safer handling for fixed-background effects, gradient text, blur panels, and older layout support where feature coverage is weaker.
Added missing viewport meta coverage across shared shells and direct-render pages so mobile devices now pick up the intended responsive breakpoints instead of holding onto desktop-scale layouts.
Began consolidating repeated admin editor shell styling into shared editor classes so roster, move, and brand editing surfaces can reuse a leaner CSS pattern instead of carrying duplicated tab/layout rules.
Updated the Demo Match Engine stream avatar treatment so the brand logo badge now anchors inside the avatar frame itself instead of floating against the wider fighter card header.
Added a public `Modules Registry` page as a proof-of-work inventory surface so major studio systems can be presented as modules instead of drifting into undocumented one-off features.
The first registry pass covers core showcase areas including demo roster pack, demo move pack, custom brands, custom move table, demo match engine, engine event add-ons, and structured finishers/signatures.
Added an admin `Cache Buster` page with a manual `Bust Cache Now` action that rotates the current app asset version token using the current UTC date/time.
Added a shared asset-version helper so the current cache token now feeds public/admin shell asset URLs and footer build text instead of relying only on static file query strings.
Added the current build/version label into the shared public/admin shell footer using the active cache-buster timestamp.
Added a public modules-registry link into the main public navigation and tightened core demo/public links around the new proof-of-work surface.
Consolidated demo navigation ordering so demo home, roleplay parser, match engine, move library, modules registry, and changelog now follow one shared menu sequence more consistently across public demo surfaces.
Moved the public Demo Roleplay Parser back onto the shared sidebar-shell layout so it now sits with the same left-nav structure as other public/demo pages instead of floating on a separate top-nav shell.
Collapsed the duplicate `Demo Move Library` surface back into the main `Move Library` route for public visitors, while keeping non-signed-in users on the demo-style navigation set.
Reworked the public demo stream toward a denser broadcast-style layout with a live turn/momentum header, compact turn rows, persistent timer/momentum/summary footer cards, and larger avatar framing with the brand badge anchored in the lower-right of the portrait box.
Updated the public demo stream so the fighter side cards and live header can stay visible more consistently while scrolling through longer match logs.
Added tablet/mobile CSS passes for the public demo engine stream so controls, fighter cards, event rows, footer cards, and move-usage panels collapse more cleanly at smaller breakpoints.
Fixed demo wrestler and demo brand starter-pack assets so they can be stored as `/demo/...` pack paths in the demo database while still being rendered through versioned app asset routes for proper cache behavior.
Corrected the demo roster image population flow so `Populate Demo Images From Starter Pack` updates the `demo_wrestlers` records only and returns the admin back to the `Demo Roster` surface after the sync.
Added a Codex-side pack installer schema note so the current demo starter pack can later evolve into a reusable zip-installed pack model for additional starter packs and module bundles.
3rd June, 2026
Added Stage 1 `Move Library` foundation with seeded default moves, admin authoring tools, public filterable library view, roster move assignment UI, and image/text validation support.
Bridged standard moves from the move library into the Demo Match Engine, including full-library fallback for unassigned wrestlers and move-specific reversal text output.
Reworked move-library presentation to follow match flow more clearly by grouping moves by position starting from `Open`, across both the main move library and demo move library surfaces.
Extracted the public homepage/sidebar shell into a reusable helper so homepage-style public modules can share one left-nav layout while still allowing the layout to be swapped out later if needed.
Tightened demo-shell navigation consistency so demo-only surfaces stop mixing in main-site links and keep a cleaner shared public-demo menu.
Added optional brand-driven wrestler card presentation on the homepage and demo engine surfaces, including derived accent colours and brand-logo card badges.
Expanded the brand editor into a fuller roster-style editing surface with dedicated `Card Theme` and `Parser` tabs, richer live preview, and editable parser defaults for font sizing, speaker avatar sizing, and location banner sizing.
Added explicit `Unbranded` brand records plus runtime fallback so wrestlers without a named brand now resolve against managed brand styling instead of only generated colours.
Reworked the brand editor into a cleaner two-step flow: management view for adding/listing brands, then a focused brand editor with selector, tabs, and live preview aligned to the roster/move editor pattern.
Tightened the public Demo Match Engine header and hero spacing, reduced the aggressiveness of the setup title, and enlarged the top-bar logo within the available header height.
Reworked the public Demo Match Engine setup page into a denser fight-card style layout with a compact lower control row for settings, active modules, and match summary.
Replaced the public Demo Match Engine `How It Works` accordion with a modal and updated the public parser nav to link to Demo Match Engine instead of Submit Match.
Added clearer per-wrestler move-usage tracking in the live stream, including distinct visual treatment for finishers/signatures and sidebar counts for blocked and dodged offense.
Simplified demo engine brand labeling by leaning on the brand logo badge instead of redundant `Brand` text callouts, and repositioned the stream badge for cleaner card composition.
Added a dedicated public `Demo Move Library` route on the demo shell and updated demo-home navigation to point to it directly.
Reworked the demo move-library view into labelled move-card blocks for easier scrolling and fixed dark-shell text contrast issues across the demo surface.
Removed main-site links from the demo move-library menu so it now behaves as a true demo-shell module.
Corrected the wrestler editor moves-tab layout so the move lists stay left-aligned while the live preview remains anchored on the right at desktop widths.
Added a Codex-side editor pattern standard so future admin editors default to the same selector-plus-tabs-plus-preview structure used by the roster and move editors.
2nd June, 2026
Added admin-controlled `Demo mode` with isolated demo-only brands, wrestlers, and locations stored outside the live federation data set.
Added public demo roleplay parser flow that mirrors the submit-roleplay experience while using demo-only brands, wrestlers, and locations.
Updated homepage roster behavior so public demo mode can surface a dedicated demo roster while admins still retain visibility of the full studio options.
Added roster brand filtering on the homepage and wired demo/public engine selection so showcase users only see demo wrestlers in public demo mode.
Added a 12-wrestler demo starter pack with isolated asset paths under `public/demo`, plus seeded demo branding and location banner references for showcase setup.
Added demo asset manifest and prompt sheet so avatars, wrestler backdrops, brand art, and location banners can be generated consistently.
Added structured signature and finisher model storage for roster editing, including new persistence fields and migration support for move definitions.
Added roster editor move builders for signatures and finishers, with base-move selection, damage/type/position controls, setup text, execution text, and live points-budget feedback.
Added demo-mode migration coverage for the move-builder data model so showcase environments stay compatible with roster editing updates.
Updated the roster editor to preserve legacy signature and finisher labels for wrestlers that have not yet been converted to the new structured move models.
Added `public/demo/*` bootstrap entrypoints so `/demo/`, `/demo/engine`, `/demo/engine/run`, `/demo/roleplay-parser`, and the legacy `/demo/roleplay-formatter` URL still resolve correctly when the public demo asset directory shadows router-based demo URLs on the server.
1st June, 2026
Demo Engine is now publicly accessible at `/demo/engine` (no admin login required for showcase use).
Added a public left-navigation link to Demo Engine from the homepage for easier guest access.
Refined Demo Engine setup and stream styling with a full CSS pass for cleaner panel hierarchy, spacing, and responsive behavior.
Added portrait card constraints for Demo Engine wrestler previews using max-size avatar framing for more consistent card visuals.
Added setup-card nameplate + compact stat strip (Type/Height/Weight) for a stronger fight-card presentation style.
Updated roleplay custom wrestler flow to deterministic session/form-only behavior with dynamic add/remove rows (no DB persistence).
Expanded roleplay editor with non-roster custom wrestler slots (name + avatar URL) for mixed roster/custom scenes.
Added custom location controls in roleplay editor: custom location name, location banner URL, and banner max width/max height.
Added responsive export image sizing for speaker avatars and location banners using max-width/max-height behavior for better mobile output.
Added requested speech formatting toggles: all-caps name standardization, dash-to-semicolon replacement, and quote removal.
Added live "Input vs Output" format preview block so formatting checkbox effects are visible before review/export.
Added dedicated `MATCH_ENGINE_CHANGELOG.md` and surfaced Match Engine updates directly inside the Demo Engine page.
Added sampler module architecture with `SamplerModuleRegistry` and modular non-core feature files.
Added sampler modules: `SamplerWeaponChance`, `SamplerCrowdMomentum`, and `SamplerInterruptionTease`.
Expanded Demo Engine stream commentary for weapon events, crowd chants, interruption teases, and initiative overrides.
Roster quick-edit modal now supports in-place wrestler updates directly from the roster list.
Added `Full Edit` handoff inside quick edit, with automatic wrestler ID routing and scroll-position restore.
Submit Roleplay brand flow updated to use a brand-first selection experience before entering the parser workspace.
Brand editor now supports dedicated logo and wallpaper uploads with remove actions and asset-serving endpoints.
Removed brand show/location link fields from Brand setup so locations and roster media stay independently managed.
Improved roleplay page rendering stability and fixed large empty/black-space layout behavior.
Added brand-aware avatar fallback behavior in roleplay tools so cross-brand usage resolves cleanly.
28th May, 2026
`Submit Roleplay` is now publicly surfaced and no longer login-gated.
Roleplay page now uses federation skin settings (background, logo, accent, font) for consistent site styling.
Added featured wrestler picker for roleplay review flow with optional first-name to full-name normalization.
Featured wrestler picker now uses square avatar tiles with per-wrestler overall badge overlay.
Added roleplay review options for font size, alignment, image width, per-speaker colors, and action italics toggle.
Added optional export behavior to apply external domain to internal image URLs (uses `APP_URL`).
Improved parser image-link handling for Google-hosted image URLs and other non-extension image links.
Review now shows rendered preview, normalized source, and export-ready HTML output.