RPGadget — Road to v1.0

The all-in-one tabletop RPG toolkit for Game Masters & players — desktop, mobile, and web

291
Screens & Panels
16
Genre Themes
8
Game Systems
59
UI Templates
82%
Complete
13
Phases Done
Godot 4
Map Engine

Journey to v1.0

84% — 244 of 290 milestones reached · Started Feb 2026
StartFeb 12
CombatCore Engine
GM Tools105 Panels
Maps8 Generators
MultiplayerReal-Time
AI & ML15 Models
16 GenresThemes Live
Characters8 Systems ✅
StoriesQuests ✅
ItemsEquipment ✅
SafetySession Zero ✅
Now◆ Godot Map Viewer
NextWorld Building
3D Map Engine
Polish & Launch
v1.0🎉 Launch
Complete Current Upcoming
← swipe to scroll →

🆕 Recently Shipped

What RPGadget Can Do

Every feature scored by readiness. Green = ready to use, Yellow = in progress, Red = coming soon.

Ready
In Progress
Coming Soon
✓ READY

🤖 AI-Powered Tools

Smart content generation with cloud AI and local models. Auto-generate NPCs, loot tables, encounter descriptions, and more. Built-in image generation for character portraits and scene art.

15 AI models · Cloud + local processing
✓ READY

👤 Character & Progression

Full character creation and leveling for 8 game systems — D&D, PbtA, FATE, Savage Worlds, World of Darkness, Traveller, Burning Wheel, and Talent Tree. Automatic level-up notifications for web players.

8 game systems · 13 creation step types
✓ READY

⚔️ Combat Engine

Complete tactical combat with 6 initiative types, area-of-effect, cover, flanking, death saves, vehicle combat, mass combat, chase scenes, legendary actions, and full spell integration. Works with d20, dice pools, Fate dice, and percentile systems.

All roll systems · Multi-platform sync
✓ READY

📖 Story & Campaign

Manage quests, factions, story arcs, NPC dialogue, calendars, downtime, and investigation boards. Romance/rivalry companion arcs, reputation-gated content, and faction web for players.

Quest chains · Faction diplomacy · NPC memory
✓ READY

⏱️ Live Session Tools

Run game sessions with briefings, handouts, whisper messages, ready checks, voting, undo, recording, safety tools, and genre-specific hooks for 16 different RPG styles.

16 genre presets · Real-time player sync
✓ READY

🧩 Universal Game Rules

19 composable rule primitives that work across any tabletop system. Module system, form engine, macro engine, and achievement tracking — all system-agnostic.

System-agnostic · Works with any TTRPG
✓ READY

🎭 Genre Plugins

Dedicated support for Paranoia (clearances, clones, treason, secret societies, Friend Computer), plus hooks for cyberpunk, horror, post-apocalyptic, space opera, superhero, and 10 more genres.

16 genre themes · Paranoia deep integration
✓ READY

🖥️ GM Command Center

283 screens and panels with 105+ dockable GM tools. Dynamic panel system with 59 visual templates. Drag, dock, and arrange your workspace however you like.

283 screens · 105+ dockable panels
🔄 COMING SOON

🗺️ 3D Map Engine

8 map generator types (dungeons, cities, caves, and more) are ready. The rendering engine is being rebuilt in Godot 4 for real 3D maps, dynamic lighting, and fog of war.

8 generators ready · Godot 4 rebuild underway
⚠ IN PROGRESS

📄 PDF Import

Import your existing rulebooks and source material. PDFs are automatically parsed, categorized, and organized into your content library across 28 content categories.

28 content types · Auto-categorization
⚠ IN PROGRESS

🎨 Visual Theming

59 visual templates with genre-aware styling. Every panel adapts to your chosen genre — dark and moody for horror, neon for cyberpunk, parchment for fantasy, and more.

59 templates · 16 genre themes
⚠ IN PROGRESS

🧑‍🤝‍🧑 Player App

Web-based player terminal so your players can join from any device. Character sheets, dice rolling, and initiative tracking from their phone or laptop.

5 of 13 screens built
⚠ IN PROGRESS

🌐 Web & Mobile

4 web apps for players and GM remote control. Join sessions from any browser — no downloads needed for players.

4 apps built · Deployment pending
⚠ TRAINING

🧠 Smart Suggestions

Machine learning models that learn your style. Suggest fitting NPCs, encounters, loot, and story hooks based on your campaign's tone and genre.

9 of 15 models trained
⚠ PLANNED

🚀 Distribution

Automated builds for Windows, macOS, and Linux. Web hosting for player apps. One-click install coming soon.

CI pipeline ready · Installers planned
⚠ ENGINE BUILT

♿ Accessibility

Keyboard shortcuts, screen readers, high contrast, color-blind modes, font scaling, and a simplified mode for new players. Now being wired into every screen.

All services built · Screen integration in progress

📈 Recent Updates

A visual timeline of what's been built since the roadmap began. Each card shows a milestone with what was added. Newest first.

50
Updates
9,456+
Quality Checks
1,390
Components
40+
Game Engines
59
UI Templates
6
Architecture Plans
v0.149.2 2026-03-29
🧱 Terrain Substrate Contract For Themeable Maps
+1 Contract3 Files27 Tests
  • Canonical terrain substrate — Added TerrainSubstrateDto with elevation, moisture, land mask, hillshade, slope, coastline-distance, river-flux, and domain layers so render themes can consume semantic terrain truth instead of hardcoded surface colors
  • Projector population — World and region projection now build substrate data automatically, including normalized slope maps, coastline distance fields, hydrography intensity rasters, and alien-surface domain inference
  • Renderer integration — BiomeRenderer now consumes substrate coastline-distance data when available for shelf/shore transitions while preserving legacy fallbacks
  • Verification — Added serialization and projector tests for the new substrate layer and verified both Godot build and fast suite still pass
9,862 tests — 0 failures
v0.149.1 2026-03-29
🧭 Coastline Bleed Fix & River De-Inking
2 Files
  • Boundary-safe biome blur — BoxBlur now uses a water mask and only averages same-type neighbors (land↔land, water↔water), removing neon shoreline bleed from cross-boundary smoothing
  • Coastal transition model — Added DistanceToWater() and replaced elevation-only coast darkening with distance-based dampening plus subtle sand tint near shore edges
  • Terrain realism pass — Biome palette shifted toward duller earth tones; stronger multi-octave noise and regional drift added; blur reduced from 4 to 3 passes to preserve micro-texture
  • River de-inking — Raised flux threshold (34% of max), filtered short polylines, narrowed widths, lowered alpha, and moved to terrain-blending dark-olive tones to avoid hand-drawn line artifacts
9,862 tests — 0 failures
v0.149.0 2026-03-29
🛰️ Satellite-Quality Terrain & River Overlay Polish
2 Files
  • BiomeRenderer 7-stop ocean gradient — Extended continental shelf from 5 stops to 7 (OceanAbyss→OceanDeep→OceanMid→OceanShelf→OceanCoastal→OceanLittoral→OceanShore); added DistanceToLand() Manhattan ring search for coastal brightening
  • BiomeRenderer muted earth-tone palette — All 20 biome colors re-calibrated from Google Earth imagery; added 3-octave per-pixel HashNoise() micro-texture for terrain variation
  • BiomeRenderer hillshade & snow — Strengthened hillshade to [0.35..1.65] range; lowered snow cap threshold from 0.82 to 0.70 elevation; increased blur from 2 to 4 passes
  • OverlayRenderer DrawMajorRivers() — Flux-based LOD filter (Flux ≥ 18% max); dual-pass polylines (wide teal outer glow α0.34 + narrower core α0.46); widths clamped [0.4..1.1]px; rivers removed from terrain texture and rendered at full Godot 2D resolution
  • OverlayRenderer border reduction — Nation borders reduced to 0.45px / α0.12; region borders to 0.3px / α0.04 (near-invisible)
9,862 tests — 0 failures
v0.148.0 2026-03-29
🌍 Satellite-View World Map Rendering
4 Files
  • BiomeRenderer rewrite — Replaced per-cell DrawRect with Image texture approach: pixel buffer → 5-stop ocean gradient → satellite biome colors with elevation/moisture variation → Sobel hillshade → snow caps → coastal darkening → 2-pass box blur → ImageTexture with linear filtering for smooth interpolation
  • OverlayRenderer rewrite — Removed opaque region/nation polygon fills that obscured terrain; replaced with subtle dashed nation borders (20% opacity), barely-visible dotted region borders (8% opacity), thinner rivers, and nation-only labels
  • ElevationShader gutted — Removed per-cell contour dots and boxy coastal glow (BiomeRenderer now handles all depth effects); kept static ComputeHillshade() utility
  • POIRenderer density reduction — World zoom only shows capitals/cities/towns; labels restricted to capital settlements; smaller icon radii
9,862 tests — 0 failures
v0.147.0 2026-03-29
🔧 Demo Mode, Capture Pipeline & Build Fixes
+3 Files5 Files2 Fixed
  • Demo mode — DemoBootstrapGenerator test generates 256×256 world; Main.cs --demo flag for standalone Godot visual testing
  • Capture pipeline--capture <path> flag in Main.cs auto-screenshots viewport after 10-frame stabilization; scripts/capture-godot.ps1 orchestrates generate→build→capture→PNG for AI-assisted visual debugging
  • Build fixes — Linked MapNodeOriginDto.cs and LodBandDto.cs into Contracts; fixed missing usings in ElevationShader and OverlayRenderer
  • Polygon validation — Geometry2D.TriangulatePolygon pre-validation; degenerate polygons fall back to outline rendering
  • LOD scale tier — Camera feetPerCell set per tier (World=5280, Region=1320, Locale=100)
9,861 tests — 0 failures
v0.146.0 2026-03-29
🌍 Plan 24D Phase 3: World/Region Map Rendering — Competitive-Grade Cartography
+6 Files8 Files+27 Tests
  • WorldRegionRenderDtos — 15 record types (BiomeCellDto, RiverPathDto, RoadPathDto, RegionBoundaryDto, NationOverlayDto, LakeBoundaryDto, SettlementIconDto, POIMarkerDto, MapLabelDto, CoastlineDto, HazardZoneDto) carrying full visual data from Core generators through IPC to Godot
  • BiomeRenderer — 20-entry biome palette, 6-level ocean depth gradient, Sobel-filter hillshade overlay, snow cap blending; inspired by Azgaar FMG + Amit Patel polygon map gen
  • ElevationShader — 3×3 Sobel-filter with NW 315° cartographic illumination, contour lines at 10% intervals, coastal glow halo at land/water boundaries
  • OverlayRenderer — 10-layer draw order: lakes → nations → regions → hazard zones → coastlines → flow-tapering rivers → dashed trail/solid road rendering → boundary strokes → text labels with shadow
  • POIRenderer — 6-tier settlement icons (Capital→Hamlet), capital star + port anchor indicators, 8-category diamond-shaped POI markers, click-to-drill POIClicked signal for map navigation
  • MapRuntimeProjector Phase 3 — ~400 lines: ProjectWorldRenderData/ProjectRegionRenderData, biome cell projection, Sobel hillshade, 16-color BiomeIndex palette, 20-entry BiomeType color dictionary, coastline extraction
  • Layer wiring — StrategicLayer → BiomeRenderer+ElevationShader+OverlayRenderer+POIRenderer stack; RegionalLayer → dense overlay+POI; LocalLayer → full POI with drill-down; MapSceneManager passes WorldRegionData to all LOD layers
  • Navigation IPC — NavigateToChildAsync/NavigateToParentAsync in GodotSubsystemSessionService for drill-down from clicking settlements and POIs
  • 27 new tests — DTO round-trips, projector world/region rendering, hillshade flat+sloped, biome cell count, water detection, river/road/settlement/POI/region/nation/lake projection, edge cases, hazard zones
9,861 tests — 0 failures
v0.145.0 2026-03-29
🗺️ Plan 24D Phase 2: LOD Scene Manager — Godot Renderer Refactor
+6 Files7 Files+61 Tests
  • LOD Band Architecture — LodBandCalculator with 5 bands (Strategic/Regional/Local/Tactical/Detail) driven by feetPerPixel, shared between Core contracts and Godot renderer
  • MapSceneManager — Replaces flat MapRenderer with 4 LOD layer groups (StrategicGroup → RegionalGroup → LocalGroup → TacticalGroup), LOD controller manages visibility per band
  • CameraController feetPerPixel — Camera now computes feetPerPixel from zoom level and cell scale, driving real-time LOD band transitions
  • Layer placeholders — StrategicLayer, RegionalLayer, LocalLayer created as scaffolding for Phase 3 (World/Region Map Rendering)
  • 61 new tests — LOD band thresholds, boundary conditions, feetPerPixel sweep, tier→band mapping, JSON round-trips, bootstrap integration
9,834 tests — 0 failures
v0.144.0 2026-03-29
🏰 Realm Editor: Full Post-Creation Editing Workspace
+19 Files12 Files+16 Tests
  • Realm Editor — New top-level workspace (peer to GM Shell) with 4 tabs: Sources, Rules, Content, Summary + collapsible AI assistant panel
  • Realm Selector — Renamed navigation target with EDIT button per realm card, replaces SystemHub for all navigation flows
  • RealmOverride model — Non-destructive override tracking (original + modified JSON, GM notes) with DB indexes
  • RealmEditorService + RealmAIAssistant — Core services for CRUD operations and local-first AI proposals (Phi-3 → cloud fallback)
  • Full navigation wiring — AppNavigator, Splash, GM Shell, Player Shell, SystemBuilder all updated to route through RealmSelector
  • 16 new tests — RealmSelector VM (8), RealmOverride model (3), RealmAIAssistant (5)
9,773 tests — 0 failures · 8 new screens/panels
v0.143.0 2026-03-29
🏗️ Plan 24D Phase 1: Data Model Extensions — MapNodeOrigin, Campaign Mode Routing
+3 Files5 Files+63 Tests
  • MapNodeOrigin — 5-value enum tracking map creation method (Authored, StoryGenerated, ProceduralOnDemand, ProceduralStoryLinked, ProceduralGenerated) with static persistence/editability/regeneration rules
  • Campaign Mode DTOs — CampaignModeDto (FreeRoam/Fixed/InPerson), TransitionModeDto (Instant/Smooth/Seamless) added to MapRuntimeBootstrapDto for IPC
  • Origin Integration — MapIdentity, MapIdentityDto, StoryMapRequest, and WorldRegionProjectionProjector all wired with origin tracking
  • 63 new tests — Enum coverage, persistence rules (all 5 origins × 4 rules), DTO conversions, JSON serialization round-trips, campaign profile + origin integration
9,757 tests — 0 failures
v0.142.2 2026-03-29
📋 Plan 24D: Godot VTT Full Rebuild — LOD Renderer, World Navigation, Story Integration
+1 Plan Doc
  • Plan 24D — Comprehensive 7-phase Godot VTT rebuild plan: continuous feetPerPixel LOD rendering, two campaign map modes (FreeRange with 3 transition sub-modes / Fixed), MapNodeOrigin system (5 origin values including ProceduralGenerated for permanent map persistence), story builder integration (key maps pre-generated, rest on-demand), full 6-tier hierarchy navigation, tactical combat runtime wiring to Core engines, and hybrid map editor (Godot spatial + Desktop data)
  • Architecture — Replaces VTT2's discrete zoom renderers with single Godot scene driven by continuous feetPerPixel across 5 LOD bands (Strategic → Regional → Local → Tactical → Detail)
  • Persistence — Once a map is generated (ProceduralOnDemand → ProceduralGenerated), it persists permanently to the campaign database and is never regenerated
9,687 tests passing
v0.138.0 2025-07-25
📖 Plan 29 Phases B–H: Universal Sourcebook Fidelity Pipeline COMPLETE
+13 Files2 Files+93 Tests
  • W3 CharacterCreationExtractor — ordered creation step detection (Selection, PointBuy, Roll, Allocation, EquipmentShop, Backstory, Review)
  • W4 MetaCurrencyExtractor (13 known currencies) + DerivedValueExtractor (formula normalization, word→symbol conversion)
  • W5 CombatRuleExtractor — 12 sub-extractors covering initiative, action economy, attack resolution, damage, armor, wounds, criticals, positioning
  • W6 TalentTreeDefinition model + TalentTreeExtractor — tree/pyramid/flat/tiered/web structure detection with prerequisite chains
  • W7 ContentLinker (7 linking strategies, 14 link types) + RuleEngine (condition evaluation, trigger firing, event log) + RuleTriggerExtractor (12 known patterns)
  • W8 ImportBatchManager (multi-PDF batch coordination) + DuplicateDetector (Levenshtein fuzzy matching, 3 confidence bands) + ManifestAssembler.MergeInto deep merge
  • Models VaultItem + ImportSession batch fields (SourceBook, IsDuplicate, DuplicateOfId, TargetSystemId, BatchId, BatchOrder)
9,577 tests — 0 failures
v0.137.0 2025-07-18
📖 Plan 29 Phase A: System Knowledge Base — 48 Built-In RPG Systems
+5 Files3 Files+74 Tests
  • SystemKnowledgeBase — runtime registry with fuzzy search, alias lookup, autocomplete, JSON persistence
  • BuiltInSystems — 48 RPG systems across 11+ families (D20, OSR, BRP, PbtA, Fate, Savage Worlds, WoD, GURPS, Traveller, Year Zero, Cypher, FFG, standalone)
  • GeminiSystemResearcher — AI-powered system research for unknown RPGs
  • SystemKnowledgeEntry + CombatSystemProfile — rich data models: attributes, meta-currencies, creation steps, combat profiles, hit locations
  • ExtractionProfile.ToPromptContext() — AI prompt injection with full system context
  • SourcebookParser — SKB integration with system name/edition lookup before extraction
9,687 tests — 0 failures
v0.136.0 2025-07-18
🌐 Universal RPG Content Pipeline — ExtractionProfile (12 System Families)
+1 Model6 Files+46 Tests
  • ExtractionProfile with 12 static factories (D20, OSR, BRP, PbtA, Fate, Savage Worlds, WoD, GURPS, Traveller, Year Zero, Cypher, Generic) and 3-pass DetectFromText
  • PbtA move extraction (trigger/stat/hit/partial/miss) and Fate stunt extraction in SpellExtractorModel
  • Removed D&D-biased defaults from ManifestAssembler, VaultItemRouter, and SourcebookParser
  • Early genre detection wired into ParseDocxAsync/ParseTextAsync via ML.NET classifier
9,456 tests — 0 failures
v0.132.0 2025-07-17
♿ Phase 36 Player UX & Accessibility COMPLETE (14/14)
+7 Services+35 Tests
  • FocusIndicatorManager, AriaLandmarkRegistry, OnboardingTutorial, SimplifiedModeManager, ResponsiveLayoutManager, VirtualScrollManager, PerformanceMonitor
  • 4 focus styles, 8 ARIA roles, 8 tutorial steps, 4 responsive breakpoints, 7 enums
Phase 36 COMPLETE — 14/14 tasks done
v0.131.0 2026-03-27
🏰 Phase 38 Advanced Systems COMPLETE (14/14)
+8 Engines+84 Tests
  • StrongholdBuilder, HeistPlanner, InvestigationBoard, CourtroomDramaEngine, TournamentBracket, CraftingSpecializationEngine, SocialCombatEngine, NarrativeDiceEngine
  • 14 enums with JsonStringEnumConverter
Phase 38 COMPLETE — 14/14 tasks done
v0.130.0 2025-07-16
🛡️ Phase 35 Safety & Session Zero COMPLETE (10/10)
+9 Engines+81 Tests
  • SessionZeroWizard, ScriptChangeProtocol, ContentWarningService, ConsentTracker, ToneSelector, TriggerManager, AnonymizedVotingSystem, PostSessionDebrief, SafetyAuditLog
Phase 35 COMPLETE — 10/10 tasks done
v0.129.0 2025-07-15
🗺️ Phase 32 Exploration & Travel COMPLETE (14/14)
+12 Engines+93 Tests
  • OverlandTravel, RegionEncounters, WeatherEffects, ForagingHunting, Navigation, SurvivalResources, CampWatch, TravelMontage, HexCrawl, PointCrawl, POIDiscovery + 7 enums
Phase 32 COMPLETE — 14/14 tasks done
v0.128.0 2025-07-15
🎭 Phase 29 Downtime & Social COMPLETE (14/14)
+10 Engines+87 Tests
  • DowntimeResolver, NPCRelationshipManager, ReputationGatekeeper, CompanionLoyaltyTracker, RelationshipArcManager, SocialEncounterBuilder, CalendarActivityIntegrator, MaterialInventory, ResearchLibrary, TrainingMontageManager
Phase 29 COMPLETE — 14/14 tasks done
v0.127.0 2025-07-15
⚔️ Phase 28 Quests, Factions & Story COMPLETE (16/16)
+11 Engines+81 Tests
  • ActiveQuestManager, ObjectiveCompletionEngine, FactionReputationExtensions, CompanionQuestManager, QuestArcIntegrator, QuestPOIManager, QuestBoardManager, FactionWebUIBuilder, QuestNotificationService, QuestJournal
Phase 28 COMPLETE — 16/16 tasks done
v0.126.0 2026-03-27
🛡️ Phase 30 Items & Equipment COMPLETE (17/17)
+15 Engines+96 Tests
  • ItemEquipmentManager, WeaponStats, ArmorCalculator, ShieldStats, AttunementValidator, CursedItemDetector, SentientItemInteraction, ChargeManager, ConsumableManager, DurabilityEngine, IdentificationEngine, LootDistributor, EquipmentComparer, ExtendedCraftingEngine
Phase 30 COMPLETE — 17/17 tasks done
v0.125.0 2025-07-14
🎯 Phase 34.13/14 + Phase 26 COMPLETE (10/10)
+3 Engines+50 Tests
  • GenreHookDebugger, GenrePanelRegistry (6 genre defaults), RestOrchestrator (unified rest lifecycle)
Phase 26 COMPLETE + Phase 34 → 15/16
v0.124.0 2026-03-27
🧟 Phase 31 NPC COMPLETE — Monster Loot + NPC Routines
+2 Engines+29 Tests
  • MonsterLootService (NPC death → loot with CR fallback)
  • NPCRoutineManager (schedule → GameCalendar position sync)
Phase 31 COMPLETE — 12/12 tasks done
v0.123.0 2025-07-14
🔗 End-to-End Data Flow Fix (28-Category Pipeline → UI)
+14 Methods+22 Tests
  • CompendiumService caches all 25 lists, IGameSystem V5 with 14 default getters
  • PlayerRulesPackage now sends 11 categories, ContentAudienceMapping covers all 28
v0.122.0 2026-03-27
📄 Pipeline Coverage Gap Fix (5 New Categories + Non-D&D)
+7 Patterns+7 Tests
  • Lore, Faction, Location, Adventure, Downtime now extracted and routed
  • PbtA moves + Fate stunts heuristic support
v0.121.0 2026-03-27
🧹 Content Cleanup & Pipeline Sparse Stats Fix
17 Files+6 Tests
  • All D&D-proprietary names genericized (17 files)
  • Empty stats confidence scoring fixed — base 0.30, sparse supplementation
v0.120.0 2026-03-27
⚙️ Phase 38+33 DI Wiring — 8 VMs Engine-Injected
8 VMs+40 Tests
  • ChaseManager, ZoneMovement, Lifepath, PowerConstruction, Oracle, TroupePlay, RitualManager, ModuleEditor all DI-wired
v0.119.0 2026-03-27
⛺ Phase 32: Exploration VM Wiring + Weather/Chase/Zone Tests
+174 Tests
  • WeatherGeneratorVM wired to Core WeatherService, CampWatchVM wired to IDiceEngine
  • 174 new tests across 5 test classes
v0.118.0 2025-07-27
🛡️ Phase 30: Items & Equipment VM Wiring + Tests
6 VMs+144 Tests
  • AttunementTracker, ImprovisedLoot, QuickLootEditor, MonsterLoot, LootDistribution, Inventory VMs all rewired to Core engines
v0.117.0 2025-07-27
📚 Phase 24.15/24.16: Spellbook UI + Spell Card Tooltips
+2 Views+54 Tests
  • SpellBookView rewrite — 3-column layout (filter/list | slots/prepared | detail card), 275 lines
  • SpellCardTooltip — reusable spell tooltip component
  • SpellBookViewModel wired to Core SpellSlotManager + SpellPreparationTracker
Phase 24 → 17/18 done (only AoE VTT remains)
v0.116.0 2026-03-26
⚔️ Phase 32/38/29: Investigation, Intel, Military, Sanity, Territory
+8 Engines+94 Tests
  • InvestigationEngine + IntelAnalysisEngine (Phase 32)
  • MilitaryRankSystem, SanityRewardEngine, AlignmentShiftEngine, NotorietySystem, TerritoryService, FactionMemorySystem (Phase 38)
  • WorldPersistence — reversible world state tracking (Phase 29)
3 new phases started (29, 32, 38)
v0.115.0 2025-07-26
🧑 Phase 31 NPC Engine Suite (9 engines, 74 tests)
+9 Engines+91 Tests
  • NPCInteractionEngine, DialoguePersistence, NPCScheduleEngine, RelationshipEvolution, MoraleEngine, NPCCombatBehavior, NPCTurnSystem, RetreatEngine, NPCAdvancementTracker
  • FlashbackEngine + CrimeStoryBridge (Phase 28)
Phase 31 → 12/12 ✅ COMPLETE
v0.114.0 2025-07-25
🔗 Hook Conflict Resolver + Multi-Phase Test Coverage
+1 Engine+61 Tests
  • HookConflictResolver — 6 conflict strategies (Phase 34.12)
  • FactionTurnEngine (28.13), SocialInteractionEngine (29.02), DispositionTracker (29.04), CursedItemProperties (30.08)
4 phases advanced (28, 29, 30, 34)
v0.113.0 2026-03-26
⛺ Phase 26/28: Rest Variants, Camping, Branching Quests
+1 File+52 Tests
  • Rest variants (Gritty Realism, Epic Heroism, Slow Natural Healing), camping/survival integration (Phase 26.07–08)
  • QuestBranch branching outcomes, deadline system, quest reward distribution (Phase 28.04/09/10)
2 new phases started (26, 28)
v0.112.0 2025-07-25
✨ Phase 24: Cantrip Scaling, Upcasting, Rituals, Components
+1 File+28 Tests
  • SpellComponentValidator — V/S/M validation, Subtle Spell, silencing/restraining conditions
  • Cantrip dice scaling by level, upcast bonus damage/healing, ritual casting time (tasks 24.03–05, 24.14)
Phase 24 → 14/18 done
v0.111.0 2025-07-24
🌊 Wild Magic Surge + Level-Up Web Notification
+2 Files+21 Tests
  • WildMagicSurgeEngine — 50-entry d100 table, 5 severity levels, Tides of Chaos (Phase 24.13)
  • LevelUpOverlay.tsx — React level-up overlay with choice selection (Phase 25.14)
Phase 25 COMPLETE — 19/19 tasks done
v0.110.0 2026-03-26
🎯 Ammo Tracker UI + Web Combat Sync
+2 Files+31 Tests
  • AmmoTrackerViewModel — per-weapon fire/reload, low-ammo warnings (Phase 23.06)
  • CombatPanel.tsx — React combat tracker with initiative list, HP bars (Phase 23.20)
Phase 23 → near-complete
v0.109.0 2026-03-27
✅ Phase 22 COMPLETE: All Roll Paradigms
+5 Files+36 Tests
  • PoolRollResolver — Shadowrun/WoD dice pools, exploding, glitch detection
  • FateRollResolver — 4dF + PbtA 2d6, ladder formatting
  • PercentileRollResolver — BRP, WFRP, generic d100
  • RollResultPanelView + React RollResultDisplay.tsx
Phase 22 COMPLETE — 18/18 tasks done
v0.108.0 2026-03-26
⚡ Combat Action Submission UI
+4 Views+39 Tests
  • CombatActionPanelView — 4-tier action submission (standard/ability/structured/freeform)
  • ActionEconomyBarView — action/bonus/reaction/movement slot display
9,687 tests passing
v0.107.1 2026-03-26
📊 Roadmap Tabbed SPA Rewrite
Changed
  • Complete rewrite from continuous-scroll to tabbed SPA with 8 tabs. All audited data discrepancies fixed.
v0.107.0 2026-03-26
💥 Phase 23 Combat Completion
+3 Files+33 Tests
  • MassiveDamageRule — overflow instant death + Con save variant (23.11)
  • CombatIntegrationBridge — MoraleEngine + VTT sync + web broadcast (23.12/19/20)
  • CombatRewardDistributor — XP split, level-up detection, loot assignments (23.21)
Phase 23 COMPLETE — 22/22 tasks done
v0.106.5 2026-03-26
Map/VTT Claims Corrected on Live Sites
Fixed
  • All map generation / battle map claims on geocashdigital & rpgadget sites rewritten to "in development" / "Godot 4 rebuild"
v0.106.4 2026-03-26
Roadmap Vercel Deployment & Site Links
Added
  • Deployed ROADMAP.html to Vercel at /rpgadgetroadmap, added nav links to both sites, synced root index.html
v0.106.3 2026-03-26
Changelog Visual Section in Roadmap
Added
  • 20 version cards in timeline format with filter bar, summary stats, impact metrics
v0.106.2 2026-03-26
Roadmap Visual Refresh
Changed
  • Comprehensive ROADMAP.html refresh: all stats, health cards, SVG graph, phase tasks, Stitch/Deploy/Timeline sections updated to reflect v0.105.0 state
v0.106.1 2026-03-26
Plan 28: Proactive Rules Assistant
Added
  • New architecture plan: context-aware RulesContextMonitor — 13 trigger sources, 20 universal triggers, 4-tier subtlety design, player-side nudges via WebSocket, AI enhancement layers
v0.106.0 2026-03-26
⚡ Phase 22: Smart Roll Resolution Complete
+3 Files +70 Tests
  • DifficultyClassTable — 7-tier DC lookup, level scaling, proficiency, spell save DC
  • DamageRollResolver — full damage pipeline, crit doubling, save halving, multi-type, fall damage
  • RollResultValidator — 10-step anti-cheat validation pipeline
  • RollBroadcastService wired to process DiceRolled session events
Phase 22 → ~14/18 done (engine complete)
v0.105.0 2026-03-26
🔑 Phase 22A: Content Data Model Expansion — GATE OPEN
+2 Files +73 Tests Fixed
  • ContentSubTypes — 4 sub-type enums + case-insensitive parsers
  • VaultItem.SubType property for finer categorisation
  • ManifestAssembler typed builders (Equipment, Bestiary, Conditions, Spells + 8 more)
  • Fixed ResolvedItem numeric coercion JsonException
🔓 GATE OPENED — All downstream phases unblocked
v0.104.22026-03-26
Plan 27 Audit: 14 Amendments
Changed
  • 14 codebase audit amendments: reuse ContentAudience, bridge MaterialLibraryService, wrap RulesEngine, SQLite FTS5, font tiering, EF Core JSON columns
v0.104.12026-03-26
Plan 27: Compendium, Palette Customizer & AI Rule Lookup
Added
  • 6-phase plan: data model enhancements, image-to-rule linking, color palette customizer, dual Player/GM compendium, AI rule lookup (3 display modes), extraction gap fixes
v0.104.02026-03-25
DevStitch Window: Full Template Catalog
Changed
  • DevStitch now catalogs all 71 templates (4 base + 67 tool registry), 13 categories, search, filter, dynamic population
v0.103.02026-03-25
🧪 Comprehensive Engine Test Coverage (+572 tests)
+572 Tests6 Fixes
  • ReactionSystem, CombatRestEngine, EncounterBuilder, MultiAttackResolver, CombatLogService, EnvironmentalHazardEngine, LegendaryActionSystem, SpellSlotManager, SpellPreparationTracker, WeatherService, SocialEncounterEngine, SessionLifecycleService
Tests: 6,697 → 7,269
v0.102.02026-03-25
🚀 Sprints 1–9: Full Engine Buildout
+7 Engines+61 Tests
  • RollResolverService — 9-step pipeline, contested rolls, group checks
  • GenreHookPipeline + 16 default genre hooks
  • AccessibilityService — high contrast, 4 color-blind profiles, font scale
  • AudioCueEngine — 21 SFX categories, VFX pairing
  • GenrePluginSystem — JSON plugin format, discover/load/unload
  • ContentPackageService — .rpgadget ZIP format
  • HomebrewCreatorService — 13 content types, validation
7 new engine services registered in DI
v0.101.782026-03-25
🛠️ Sprint 0: Stabilize
5 Fixes
  • Version sync → 0.101.78, async Main, Android DataTemplate fix, DB Migrate pattern, empty catch docs
3/7 critical bugs resolved
v0.101.772026-03-25
MASTER_PLAN_v1.md — Road to v1.0.0
Added
  • 10 sprints, 20 phases, ~290 total tasks, dependency graph, parallel tracks
v0.101.762026-03-25
Sprints 3–6: Engine Wiring, Progression Router, Relay
+5 Files+92 Tests
  • StitchEngineWiringService — 50+ tools wired to live Core engines
  • ProgressionRouterService — 16 genres → 8 engines
  • StitchRelayService — WebSocket push to React clients
v0.101.752026-03-25
Stitch-First Dynamic Panel Architecture
+4 Files+31 Tests
  • DynamicPanelViewModel + DynamicPanelView, StitchToolRegistry — 37 templates, GMShell fallback path
v0.101.742026-03-25
Sprint 1: 7 Progression Engine UI Panels
+14 Files
  • Talent Tree, Trait Cost, Career Track, Burning Wheel, FATE, PbtA, Savage Worlds — all 7 AXAML + VMs + DI
v0.101.732026-03-25
⚙️ Phase 25b: 7 Alternate Progression Engines
+7 Engines+90 Tests
  • PbtA, FATE, Savage Worlds, Trait Cost (WoD/CofD/GURPS), Career Track (Traveller), Talent Tree (Genesys), Burning Wheel
8 total progression paradigms
v0.101.722026-03-25
Progression Paradigms Technical Reference
Added
  • 25 TTRPG advancement models with costs, thresholds, constraints, timing
v0.101.712026-03-25
Phase 25: Leveling & Progression Core
+4 Systems+72 Tests
  • XPTracker, LevelUpEngine, FeatPrerequisiteValidator, RetroactiveLevelCorrection, PrestigePath, ParanoiaProgressionEngine
v0.101.702026-05-30
🎯 Phase 24: Universal Ability System (~900 lines)
+900 Lines+35 Tests
  • AbilitySystem — 18 categories, ActiveEffectTracker, CounterspellEngine, AbilityActivationEngine
v0.101.692026-03-25
Roadmap Discoverability & Docs Refresh
Changed
  • README.md + copilot-instructions.md updated with roadmap links, Godot migration status
v0.101.682025-07-25
Phase 24: Combat Actions & Advantage/Disadvantage
+8 Actions+10 Tests
  • Dodge, Aim, Search, TakeCover, DropProne, StandUp, Stabilize, Feint + AttackPipeline advantage/disadvantage
v0.101.672025-07-24
💥 Mega Sprint: DI, Roll Resolution, Combat, CI, Token Migration
+6 Files+27 Tests310 Hex→Brush
  • StatSchemas, ResolvedItem, ContentResolver, GroupCheckEngine, RollBroadcastService, CombatEngine
  • 310 hex colors → DynamicResource across 11 AXAML files
  • GitHub Actions CI pipeline online
v0.101.662026-03-25
Stitch Full Integration Layer
+6 Files+37 Tests
  • StitchForgeService, StitchDataBinder, StitchLayoutStore, StitchThemeBridge, StitchPushViewModel

📋 Feature Roadmap — What's Done & What's Next

Every feature area broken down into individual tasks. 13 areas are complete, 8 still in progress. Expand each to see the detailed checklist.
✅ = done   ⚠ = built, finishing up   Priority: Critical / High / Medium

Phase 22A — Content Data Model (6/6) ✅ COMPLETE

✅ Completed in v0.105.0 — Gate open, all downstream phases unblocked.

  • ✅ 22A.01 ContentSubTypes enum — SpellSlot, AbilityScore, DamageType, Condition, SkillGroup, SavingThrow, StatusEffect, CombatResource
  • ✅ 22A.02 VaultItem.SubType property + validation
  • ✅ 22A.03 ManifestAssembler typed builders
  • ✅ 22A.04 ContentSubTypes.GetValidSubTypes() per category
  • ✅ 22A.05 DI registration: IManifestAssembler→ManifestAssembler
  • ✅ 22A.06 73 integration tests
Phase 22 — Smart Roll Resolution (18/18) ✅ COMPLETE

✅ Completed in v0.109.0 — All roll paradigms built: standard d20, dice pools (Shadowrun/WoD), Fate/PbtA, percentile (BRP/WFRP), plus UI pipeline (desktop + React relay).

  • ✅ 22.01 RollRequest model — typed roll intents
  • ✅ 22.02 RollResolver service
  • ✅ 22.03 Modifier pipeline
  • ✅ 22.04 Advantage/disadvantage detection
  • ✅ 22.05 Critical hit/fumble handling
  • ✅ 22.06 Attack roll → AC comparison
  • ✅ 22.07 Saving throw resolution
  • ✅ 22.08 Ability check resolution
  • ✅ 22.09 Damage roll → type → resistance/vulnerability
  • ✅ 22.10 Healing roll resolution
  • ✅ 22.11 Dice pool resolution (success counting, exploding)
  • ✅ 22.12 Fate dice resolution (PbtA moves, Fate ladder)
  • ✅ 22.13 Percentile roll resolution (d100 tables)
  • ✅ 22.14 Contest resolution (opposed rolls)
  • ✅ 22.15 Group check resolution
  • ✅ 22.16 ResolvedRollResult model with audit trail
  • ✅ 22.17 Roll result → UI event pipeline (desktop + web)
  • ✅ 22.18 Unit + integration tests
Phase 23 — Combat Completion (22/22) ✅ COMPLETE

✅ Completed across v0.107.0–v0.110.0 — MassiveDamage, MoraleEngine, CombatIntegrationBridge, AmmoTracker, VTT/web sync, CombatRewardDistributor all built and tested.

  • ✅ 23.01 Attack action → RollResolver integration
  • ✅ 23.02 Bonus action / reaction system
  • ✅ 23.03 Multiattack / Extra Attack
  • ✅ 23.04 Grapple/shove contested rolls
  • ✅ 23.05 Two-weapon fighting
  • ✅ 23.06 Ammunition tracking
  • ✅ 23.07 Condition application from attacks
  • ✅ 23.08 Concentration save on damage
  • ✅ 23.09 Spell slot deduction
  • ✅ 23.10 Death save automation
  • ✅ 23.11 Massive damage instant death
  • ✅ 23.12 Morale check triggers
  • ✅ 23.13 Vehicle combat
  • ✅ 23.14 Mass combat
  • ✅ 23.15 Chase engine
  • ✅ 23.16 Lair/legendary actions
  • ✅ 23.17 Environmental hazards
  • ✅ 23.18 Combat log with audit trail
  • ✅ 23.19 Combat → VTT token state sync
  • ✅ 23.20 Combat → web client sync
  • ✅ 23.21 XP/reward distribution on combat end
  • ✅ 23.22 Full integration tests
Phase 24 — Magic & Spell System (17/18) ⚡ NEAR COMPLETE

✅ AbilitySystem (~900 lines), CounterspellEngine, ActiveEffectTracker, SpellSlotManager, SpellPreparationTracker, WildMagicSurgeEngine, SpellComponentValidator, SpellBookView (3-column), SpellCardTooltip all built. Only AoE VTT placement remains.

  • ✅ 24.01 Spell slot management
  • ✅ 24.02 Spell preparation / known spells
  • ✅ 24.03 Cantrip scaling by level
  • ✅ 24.04 Upcasting with higher spell slots
  • ✅ 24.05 Ritual casting
  • ✅ 24.06 Concentration tracking with save-on-damage
  • ✅ 24.07 Spell attack rolls via RollResolver
  • ✅ 24.08 Spell save DCs per caster
  • 24.09 Area of effect placement on VTT
  • ✅ 24.10 Duration tracking
  • ✅ 24.11 Spell effect automation
  • ✅ 24.12 Dispel / counterspell contested rolls
  • ✅ 24.13 Wild magic surge table
  • ✅ 24.14 Spell component tracking
  • ✅ 24.15 Spellbook UI — browse, filter, quick-cast
  • ✅ 24.16 Spell card tooltips
  • ✅ 24.17 Non-D&D magic systems
  • ✅ 24.18 Unit tests across systems
Phase 25 — Leveling & Progression (19/19) ✅ COMPLETE

✅ Completed in v0.111.0 — XPTracker, LevelUpEngine, FeatValidator, RetroactiveCorrection, PrestigePath, ParanoiaProgression, 7 alternate progression engines + 7 UI panels. ProgressionRouterService maps 16 genres → 8 engines. LevelUpOverlay.tsx for web players.

  • ✅ 25.01 XP tracking and level-up trigger
  • ✅ 25.02 Milestone advancement
  • ✅ 25.03 Level-up wizard
  • ✅ 25.04 Multiclass prerequisites
  • ✅ 25.05 Feat selection with prerequisites
  • ✅ 25.06 Subclass selection
  • ✅ 25.07 Spell learning on level-up
  • ✅ 25.08 Proficiency bonus scaling
  • ✅ 25.09 Hit dice pool management
  • ✅ 25.10 Class feature grants by level
  • ✅ 25.11 Ability Score Improvements
  • ✅ 25.12 Non-D&D progression — 7 alternate engines
  • ✅ 25.13 Paranoia advancement
  • ✅ 25.14 Level-up notification to web players
  • ✅ 25.15 Level-up ceremony animation
  • ✅ 25.16 Character sheet auto-update
  • ✅ 25.17 Retroactive level-up correction
  • ✅ 25.18 Prestige classes / paragon paths
  • ✅ 25.19 Regression tests
P0 Phase 27 — In-Person Play & Projector (0/14)
  • 27.01 Projector output mode (fullscreen, no GM controls)
  • 27.02 Dual-screen detection and management
  • 27.03 Player-visible VTT window (fog applied)
  • 27.04 QR code connection for mobile phones
  • 27.05 Local LAN WebSocket server discovery
  • 27.06 Physical dice input mode
  • 27.07 Handout display on projector
  • 27.08 Initiative tracker on projector
  • 27.09 Player phone as character sheet / dice roller
  • 27.10 Ambient sound output to projector/speaker
  • 27.11 Scene transition effects on projector
  • 27.12 Secret note passing (GM → player phone)
  • 27.13 In-person mode toggle in settings
  • 27.14 Integration tests for LAN scenario
Phase 34 — Genre Hook Infrastructure (15/16) ⚡ ENGINE BUILT

✅ GenreHookPipeline + 16 default genre hooks built. HookConflictResolver added in v0.117.0 with 6 strategies. Missing: debug tools, UI injection, VTT overlay injection.

  • ✅ 34.01 IGenreHook interface
  • ✅ 34.02 GenreHookDispatcher
  • ✅ 34.03 Hook registration per manifest
  • ✅ 34.04 Paranoia hooks
  • ✅ 34.05 GadgetProtocol hooks
  • ✅ 34.06 Horror hooks
  • ✅ 34.07 Cyberpunk hooks
  • ✅ 34.08 Post-Apoc hooks
  • ✅ 34.09 Superhero hooks
  • ✅ 34.10 Space Opera hooks
  • ✅ 34.11 Hook priority ordering
  • ✅ 34.12 Hook conflict resolution (HookConflictResolver, 6 strategies)
  • ✅ 34.13 Hook debugging tools (GenreHookDebugger)
  • ✅ 34.14 Genre-specific UI injection (GenrePanelRegistry)
  • 34.15 Genre-specific VTT overlay injection (blocked — Godot migration)
  • ✅ 34.16 Test suite for hook dispatch
Phase 26 — Rest & Recovery (10/10) ✅ COMPLETE 🆕 NEW

✅ Rest variants (Gritty Realism, Epic Heroism, Slow Natural Healing) + camping/survival integration built in v0.113.0.

  • ✅ 26.01 Short rest automation (RestOrchestrator.ShortRest)
  • ✅ 26.02 Long rest automation (RestOrchestrator.LongRest)
  • ✅ 26.03 Hit dice spending (HitDicePool → RestOrchestrator)
  • ✅ 26.04 Spell slot recovery (SpellSlotPool + PactMagic)
  • ✅ 26.05 Class feature recovery (RecoverableFeature)
  • ✅ 26.06 Rest interruption (configurable chance + interruption tables)
  • ✅ 26.07 Rest variants per system (Gritty Realism, Epic Heroism, genre mapping)
  • ✅ 26.08 Camping/survival integration (CampRest, SafeHaven, MeditativeRest)
  • ✅ 26.09 Exhaustion recovery (auto on long rest + manual ReduceExhaustion)
  • ✅ 26.10 Tests (24 RestOrchestrator tests)
Phase 28 — Quests, Factions & Story (16/16) ✅ COMPLETE 🆕 NEW

✅ QuestBranch outcomes, deadline system, quest rewards, FactionTurnEngine, FlashbackEngine + CrimeStoryBridge built across v0.113.0–v0.115.0. ✅ v0.127.0: QuestFactionStoryEngine.cs adds ActiveQuestManager (pinning, 10 QuestCategory values, active limit, quest chain links, sorted log), ObjectiveCompletionEngine (8 auto-trigger types, parent–child cascading, timed objectives, reveal-on-trigger), FactionReputationExtensions (tier-gated perks, decay towards neutral, standing reports), CompanionQuestManager (loyalty-gated quest availability, unlock/complete with reward), QuestArcIntegrator (quest↔StoryArc milestone binding, auto-advance on completion, cascade failure), QuestPOIManager (9 marker types, proximity discovery, compass direction), QuestBoardManager (8 board types, postings with category/level/reward, take flow), FactionWebUIBuilder + DTOs (faction display, overview, relationships for React relay), QuestNotificationService (13 notification types, 4 urgency levels, event-driven push, history trimming), QuestJournal (12 entry types, auto + manual entries, search, timeline, entity tracking). 81 new tests.

  • ✅ 28.01 Active quest tracking (ActiveQuestManager — pinning, categories, chains, limits)
  • ✅ 28.02 Objective completion (ObjectiveCompletionEngine — auto-triggers, cascading, timers)
  • ✅ 28.03 Faction reputation system (FactionReputationExtensions — perks, decay, reports)
  • ✅ 28.04 Branching quest outcomes (QuestBranch + BranchOutcome)
  • ✅ 28.05 Companion quests (CompanionQuestManager — loyalty-gated, rewards)
  • ✅ 28.06 Quest↔story arc integration (QuestArcIntegrator — milestone auto-advance)
  • ✅ 28.07 Quest↔map POI linking (QuestPOIManager — proximity discovery, compass)
  • ✅ 28.08 Quest board UI (QuestBoardManager — 8 board types, postings, filters)
  • ✅ 28.09 Quest reward distribution (TreasureParcel, level-appropriate generation)
  • ✅ 28.10 Quest deadline system (auto-fail, urgent quest warnings)
  • ✅ 28.11 Faction web UI (FactionWebUIBuilder + DTOs for React relay)
  • ✅ 28.12 Quest notifications (QuestNotificationService — 13 types, events)
  • ✅ 28.13 Faction turn automation (power budget, action resolution)
  • ✅ 28.14 Flashback mechanics + CrimeStoryBridge
  • ✅ 28.15 Quest journal (QuestJournal — auto + manual entries, search, timeline)
  • ✅ 28.16 Tests (81 new tests covering all 11 remaining tasks)
Phase 29 — Downtime & Social (14/14) ✅ COMPLETE 🆕 NEW

✅ SocialInteractionEngine (5 outcome levels), DispositionTracker (Hostile→Allied thresholds), WorldPersistence (reversible world state) built across v0.114.0–v0.116.0. ✅ v0.128.0: DowntimeSocialEngine.cs adds DowntimeResolver (enhanced resolution with modifiers + outcome chains + multi-day progress), NPCRelationshipManager (event history + favors + shared memories + attitudes), ReputationGatekeeper (tier-gated content/dialogue/services/areas), CompanionLoyaltyTracker (loyalty events + personal quest progress + party morale), RelationshipArcManager (romance/rivalry/friendship/mentorship 8-stage arcs), SocialEncounterBuilder (4 template categories with customization), CalendarActivityIntegrator (ties all activities to GameCalendar), MaterialInventory (6 quality tiers + auto-stacking + consumption), ResearchLibrary (prerequisites + skill-roll progress + discoveries + mastery), TrainingMontageManager (day-based progress + skill roll modifiers + trainer costs). 87 new tests.

  • ✅ 29.01 Downtime activity resolution (DowntimeResolver — modifiers, multi-day, outcome chains)
  • ✅ 29.02 Social interaction engine (5 outcome levels, action registration)
  • ✅ 29.03 NPC relationships (NPCRelationshipManager — events, favors, memories, attitudes)
  • ✅ 29.04 Disposition tracker (Hostile→Unfriendly→Neutral→Friendly→Allied)
  • ✅ 29.05 Reputation-gated interactions (ReputationGatekeeper — tier-gated content)
  • ✅ 29.06 Companion loyalty (CompanionLoyaltyTracker — events, personal quests, morale)
  • ✅ 29.07 Romance/rivalry arcs (RelationshipArcManager — 8-stage progression)
  • ✅ 29.08 Social encounter builder (SocialEncounterBuilder — 4 template categories)
  • ✅ 29.09 Calendar integration (CalendarActivityIntegrator — time advancement)
  • ✅ 29.10 Crafting materials (MaterialInventory — 6 quality tiers, auto-stacking)
  • ✅ 29.11 Research library (ResearchLibrary — prerequisites, discoveries, mastery)
  • ✅ 29.12 Training montage (TrainingMontageManager — skill progression)
  • ✅ 29.13 World persistence (reversible state tracking, location/entity/faction queries)
  • ✅ 29.14 Tests (87 tests covering all 11 remaining Phase 29 tasks)
Phase 30 — Items & Equipment (17/17) ✅ COMPLETE 🆕 NEW

✅ CursedItemProperties built in v0.114.0. ✅ v0.126.0: EquipmentEngine.cs adds ItemEquipmentManager (equip/unequip with slot/proficiency/STR/two-handed/curse validation), WeaponStats (14 properties), ArmorCalculator (light/medium/heavy AC + DEX cap), ShieldStats (bash mechanics), AttunementValidator (class/alignment/race/spellcaster restrictions), CursedItemDetector (6 detection methods with difficulty-scaled DCs), SentientItemInteraction (voice lines + ego conflicts), ChargeManager (use/recover/destroy-on-empty), ConsumableManager (quantity + effects), DurabilityEngine (wear/repair/condition thresholds), IdentificationEngine (6 methods + curse reveal), LootDistributor (4 modes + currency split), MoveSlot (drag-drop), EquipmentComparer (stat deltas), ExtendedCraftingEngine (tiered recipes + masterwork). 96 new tests.

  • ✅ 30.01 Equip/unequip validation (ItemEquipmentManager)
  • ✅ 30.02 Weapon properties (WeaponStats + 14 WeaponProperty enum values)
  • ✅ 30.03 Armor AC (ArmorCalculator with light/medium/heavy + DEX cap)
  • ✅ 30.04 Shield mechanics (ShieldStats with bash)
  • ✅ 30.05 Magic item attunement (AttunementValidator with class/alignment/race restrictions)
  • ✅ 30.06 Cursed items detection (CursedItemDetector with 6 detection methods)
  • ✅ 30.07 Sentient items (SentientItemInteraction — voice lines + ego conflicts)
  • ✅ 30.08 Cursed item properties (reveal triggers, disguised props, removal difficulty)
  • ✅ 30.09 Item charges (ChargeManager — use, recover, destroy-on-empty)
  • ✅ 30.10 Consumables (ConsumableManager — quantity tracking + effects)
  • ✅ 30.11 Durability (DurabilityEngine — wear/repair/condition thresholds)
  • ✅ 30.12 Identification (IdentificationEngine — 6 methods + curse detection)
  • ✅ 30.13 Loot distribution UI (LootDistributor — 4 distribution modes)
  • ✅ 30.14 Drag-drop equip (MoveSlot with swap)
  • ✅ 30.15 Equipment comparison (EquipmentComparer — stat deltas)
  • ✅ 30.16 Crafting recipes (ExtendedCraftingEngine — tiered + masterwork)
  • ✅ 30.17 Tests (96 tests covering all 16 implementation tasks)
Phase 31 — NPC & Monster (12/12) ✅ COMPLETE 🆕 NEW

✅ 9 NPC engines built in v0.115.0 with 74 tests. ✅ v0.124.0: MonsterLootService (31.10) wires NPC death → LootGenerator with CR fallback. NPCRoutineManager (31.11) syncs NPC positions to GameCalendar via NPCScheduleEngine. 29 new integration tests (31.12). 8,548 total tests.

  • ✅ 31.01 Quick NPC generator (NPCInteractionEngine)
  • ✅ 31.02 Stat block auto-resolution
  • ✅ 31.03 Monster action automation
  • ✅ 31.04 Legendary/lair scheduler
  • ✅ 31.05 Summon spawning (SummonSpawnEngine)
  • ✅ 31.06 NPC personality→dialogue (DialoguePersistence)
  • ✅ 31.07 NPC combat AI (7 stances + NPCTurnSystem)
  • ✅ 31.08 Encounter difficulty calculator
  • ✅ 31.09 Bestiary browser
  • ✅ 31.10 Monster loot tables (MonsterLootService)
  • ✅ 31.11 NPC schedule/routine (NPCRoutineManager)
  • ✅ 31.12 Tests (29 integration tests)
Phase 32 — Exploration & Travel (14/14) ✅ COMPLETE 🆕 NEW

✅ InvestigationEngine + IntelAnalysisEngine built in v0.116.0 with 25 tests. ✅ v0.129.0: Phase 32 COMPLETE — ExplorationTravelEngine (overland travel, region encounters, weather effects, foraging/hunting, navigation checks, survival resources, camping/watch, travel montage, hex crawl, point crawl, POI discovery), 93 tests.

  • ✅ 32.01 Overland travel automation
  • ✅ 32.02 Random encounters by region
  • ✅ 32.03 Weather effects
  • ✅ 32.04 Foraging/hunting
  • ✅ 32.05 Navigation checks
  • ✅ 32.06 Survival resources
  • ✅ 32.07 Camping/watch rotation
  • ✅ 32.08 Travel montage
  • ✅ 32.09 Hex crawl
  • ✅ 32.10 Point crawl
  • ✅ 32.11 POI discovery
  • ✅ 32.12 Investigation engine (case/clue/suspect management, auto-reveal)
  • ✅ 32.13 Intel analysis engine (corroboration, source diversity, cover degradation)
  • ✅ 32.14 Tests (93 tests)
P1 Phase 33 — Content Pipeline v2 (18/20)

✅ v0.121.0: Fixed empty stats confidence scoring. ✅ v0.122.0: Full pipeline coverage — Lore/Faction/Location/Adventure/Downtime now extracted, routed, and converted. PbtA + Fate heuristic support. ✅ v0.123.0: End-to-end data flow fix — CompendiumService caches all 25 lists, IGameSystem V5 with 14 new getters, PlayerRulesPackage sends 11 categories to players, ContentAudienceMapping covers all 28 types, GM panels wired. ✅ v0.124.0: Phase 31 COMPLETE — MonsterLootService (NPC death → loot with CR fallback), NPCRoutineManager (schedule → GameCalendar position sync), 29 integration tests (8,548 total). ✅ v0.139.0: Phase 33 Content Pipeline v2 — Enhanced image classification (15+ of 22 types with confidence), 12 CompendiumService Find* methods, LinkImages with caption/proximity/category matching, CanonicalSetting population from routing results, ManifestDrivenSystem V5 content readers (14 sections), 30 new tests (9,616 total). ✅ v0.140.0: Godot VTT Subsystem IPC Foundation — Fixed named pipe test hangs (CancellationToken + Slow category), added 35 new tests covering DTO round-trips, MapRuntimeProjector (terrain colors, fog, zoom levels, doors, lights, GM-only tokens), NamedPipeTransport envelope creation, GodotSubsystemLauncher validation, Supervisor state machine, SessionService lifecycle (9,675 total). ✅ v0.141.0: Godot VTT Desktop Integration — GodotMapViewerPanelViewModel (launch/stop/relaunch/sendmap commands, supervisor event wiring, health telemetry, IAsyncDisposable cleanup), SceneProjectionRequest DTO grouping, 11 new panel VM tests (9,687 total). ✅ v0.142.0: Godot Map Viewer Subsystem (Phase 24C) — Full Godot 4.4 C# project with named pipe IPC client, message router, heartbeat service, and complete map rendering pipeline (terrain cells, grid overlay, walls, doors, token nodes with HP bars, PointLight2D dynamic lighting with gradient textures, fog of war overlay, Camera2D with smooth zoom/pan). ✅ v0.142.2: Plan 24D — Comprehensive 7-phase Godot VTT rebuild plan documenting LOD rendering, FreeRange/Fixed campaign modes, MapNodeOrigin persistence, story builder integration, and hybrid editor architecture. ✅ v0.143.0: Plan 24D Phase 1 Data Model Extensions — MapNodeOrigin enum (5 values), MapPersistenceRules, CampaignModeDto/TransitionModeDto, Origin wired into MapIdentity/MapIdentityDto/StoryMapRequest/WorldRegionProjectionProjector, 63 new tests (9,757 total). ✅ v0.145.0: Plan 24D Phase 2 LOD Scene Manager — LodBandCalculator (5 bands), MapSceneManager with 4 LOD layer groups, CameraController feetPerPixel, 61 new tests (9,834 total). ✅ v0.146.0: Plan 24D Phase 3 World/Region Map Rendering — 15 WorldRegionRenderDtos, BiomeRenderer (20 biomes, ocean depth, hillshade, snow caps), ElevationShader (Sobel hillshade, contour lines, coastal glow), OverlayRenderer (10-layer draw: rivers/roads/borders/labels), POIRenderer (6-tier settlements, 8-category markers, click-to-drill), MapRuntimeProjector projection (~400 lines), NavigateToChild/Parent IPC, layers wired to MapSceneManager, 27 new tests (9,861 total). ✅ v0.147.0: Demo Mode, Capture Pipeline & Build Fixes — DemoBootstrapGenerator, --demo + --capture flags, capture-godot.ps1 pipeline, Contracts link fixes, polygon validation, LOD feetPerCell by scale tier. ✅ v0.148.0: Satellite-View World Map Rendering — BiomeRenderer rewrite (Image texture, 5-stop ocean gradient, box blur biome blending, hillshade, snow caps), OverlayRenderer rewrite (removed opaque region/nation fills, subtle dashed borders), ElevationShader gutted (depth moved to BiomeRenderer), POIRenderer density reduction (capitals/cities only at world zoom, 9,862 total). ✅ v0.149.0: Satellite-Quality Terrain & River Overlay Polish — BiomeRenderer 7-stop ocean continental shelf gradient, DistanceToLand() coastal brightening, 20 muted earth-tone biome colors from Google Earth, 3-octave HashNoise() micro-texture, hillshade [0.35..1.65], snow at 0.70 elev, 4-pass blur; OverlayRenderer DrawMajorRivers() with flux LOD filter (18% threshold), dual-pass dark teal polylines, borders reduced to near-invisible (9,862 total). ✅ v0.149.1: Coastline Bleed Fix & River De-Inking — boundary-safe water/land blur mask, DistanceToWater() shoreline transition model, duller earth-tone palette rebalance, stronger regional terrain noise with reduced blur (3 passes), river de-inking (higher flux threshold, short-river filtering, thinner low-alpha dark-olive strokes), and lower road opacity (9,862 total). ✅ v0.149.2: Terrain Substrate Contract For Themeable Maps — new TerrainSubstrateDto with semantic terrain layers, projector-generated slope/coastline-distance/river-flux fields, alien-surface domain inference, BiomeRenderer substrate coastline consumption, and substrate serialization/projector coverage tests (9,862 total).

  • 33.01 Fix 79% empty stats — confidence scoring penalizes empty stats, sparse AI items supplemented by heuristic extraction
  • 33.02 Confidence scoring v2 — per-category required field validation, MinAcceptableConfidence threshold
  • 33.03 Pipeline accuracy tests — 6 new tests covering confidence scaling, empty stats, sparse supplementation
  • 33.04 Enhanced image classification — ClassifyImage uses 15+ of 22 ExtractedImageType values with pixel-based heuristics and confidence scoring (0.35–0.85)
  • 33.05 Image type/confidence tuples — ClassifyImage returns (Type, Confidence) tuples, CoverArt/BattleMap/WorldMap/FloorPlan/CharacterArt/MonsterArt/ItemArt/TableChart detection
  • 33.07 ManifestDrivenSystem V5 readers — 14 content section methods + ReadContentSection<T>() generic deserializer for deities/hazards/vehicles/handouts/crafting/cosmology/languages/rules/lore/factions/locations/adventures/downtime/backgrounds
  • 33.08–16 CompendiumService Find* — 12 new lookup methods: FindSpecies, FindFeat, FindSkill, FindRule, FindEntitySchema, FindLore, FindFaction, FindLocation, FindAdventure, FindDowntime, FindHandout, FindCosmology
  • 33.17 CanonicalSetting population — PopulateCanonicalSetting bridges routing results to DeitiesJson, FactionsJson, LocationsJson, CosmologyJson, LanguagesJson, RacesJson, WorldLore
  • 33.18 LinkImages — Caption-text matching, page proximity scoring, image-type/category correlation (MonsterArt→Monster, CharacterArt→Species, etc.), populates LinkedVaultItemId/SubjectName/UsageHint/SuggestedPath
  • 33.19 CanonicalSetting JSON bridge — Species→RacesJson, Lore→WorldLore markdown, null-safe serialization with JsonIgnoreCondition
  • 33.06 Content-aware chunking improvements
  • 33.20 Import from other VTTs
Phase 35 — Safety & Session Zero (10/10) ✅ COMPLETE

✅ All 10 tasks complete. SessionZeroWizard, ScriptChangeProtocol, ContentWarningService, ConsentTracker, ToneSelector, TriggerManager, AnonymizedVotingSystem, PostSessionDebrief, SafetyAuditLog — 81 tests.

  • 35.01 Session zero wizard — 10-step wizard with tone/rating/boundary/house rule/expectation management, step navigation, progress tracking, completion events
  • 35.02 Safety tools — ScriptChangeProtocol with Rewind/FastForward/Pause/FrameByFrame/Resume actions, history tracking, enable/disable, events (builds on existing X-Card, Lines & Veils)
  • 35.03 Content warnings — session-level ContentWarningService with scene labeling, show/pending tracking, 12 default warning types, case-insensitive scene queries
  • 35.04 Consent tracking — per-player ConsentTracker with Consented/Declined/Conditional statuses, revocation, universal consent checks, declined topic aggregation
  • 35.05 Tone selector — ToneSelector with 10 CampaignTone presets + Custom, ContentRatingLevel (Family/Teen/Mature/Adult), tone descriptions, history, presets query
  • 35.06 Trigger management — TriggerManager with registration, anonymous submission, keyword-based content checking, incident flagging/dismissal, case-insensitive deduplication
  • 35.07 Anonymized voting — AnonymizedVotingSystem with poll creation, anonymous vote casting (no voter identity stored), close/cancel, winner determination, open poll queries
  • 35.08 Post-session debrief — Stars/Wishes/SafetyNotes/Ratings with anonymous IDs, category filtering, average rating computation, begin/complete lifecycle
  • 35.09 Safety audit log — SafetyAuditLog with 17 event kinds, session/kind/date-range queries, summary aggregation, recent events, total count
  • 35.10 Tests — 81 tests covering all 9 subsystems plus 8 enum count validations
Phase 36 — Player UX & Accessibility (14/14) ✅ COMPLETE

✅ AccessibilityService + PlayerUX engine complete: high contrast, 4 color-blind profiles, font scaling, screen reader helpers, reduced motion, dyslexic font, extended timers, focus indicators, ARIA landmarks, onboarding tutorial, simplified mode, responsive layout, virtual scroll, performance monitor. 57 tests.

  • ✅ 36.01 Keyboard navigation manager (ShortcutRegistry, 8 default GM shortcuts)
  • ✅ 36.02 Screen reader label system (AriaLabel generation in AccessibilityService)
  • ✅ 36.03 High contrast theme (5 modes: Off, BlackOnWhite, WhiteOnBlack, YellowOnBlack, Custom)
  • ✅ 36.04 Colorblind mode (5 profiles: None, Protanopia, Deuteranopia, Tritanopia, HighContrast)
  • ✅ 36.05 Font scaling (0.75–2.0× with clamped effective range)
  • ✅ 36.06 Focus indicator system (4 styles, high contrast preset, element tracking)
  • ✅ 36.07 ARIA landmark registry (8 roles, 8 default landmarks)
  • ✅ 36.08 Tooltip accessibility (TooltipRegistry, 10 default RPG terms)
  • ✅ 36.09 Onboarding tutorial (8 steps, auto-advance, progress tracking)
  • ✅ 36.10 Simplified mode (5 auto-configured reduction options)
  • ✅ 36.11 Mobile responsive layout (4 breakpoints, touch targets, panel stacking)
  • ✅ 36.12 Virtual scroll manager (buffered viewport, height calculation)
  • ✅ 36.13 Performance monitor (metric recording, optimization suggestions)
  • ✅ 36.14 Tests (57 total: notes, tooltips, shortcuts, undo, a11y, errors, focus, ARIA, tutorial, simplified, responsive, virtual scroll, performance)
Phase 37 — Audio/Visual Completion (0/12) ✦ ENGINE BUILT

✅ AudioCueEngine built: 21 SFX categories, VFX pairing. Needs real audio files and VTT integration.

  • 37.01–12 Ambient soundscape, spatial audio zones, music playlist/soundboard, weather particles, screen shake on crits, token death animation, spell VFX, portal effects, fire/explosion particles, ambient creatures, music crossfade, tests
Phase 38 — Advanced Systems (14/14) ✅ COMPLETE

✅ All 14 tasks complete. 5 subsystem engines (v0.112–v0.115), DI wiring (v0.120), 8 new subsystems (v0.131): StrongholdBuilder, HeistPlanner, InvestigationBoard, CourtroomDramaEngine, TournamentBracket, CraftingSpecializationEngine, SocialCombatEngine, NarrativeDiceEngine — 84 new tests.

  • 38.01 Stronghold building — StrongholdBuilder with type-based defense, room management, garrison, net income
  • 38.02 Domain management — Territory subsystem engine
  • 38.03 Army recruitment — MilitaryRank subsystem engine
  • 38.04 Political intrigue — FactionMemory subsystem engine
  • 38.05 Heist planner — HeistPlanner with 7-phase sequence, objectives, crew roles, alert escalation, complications
  • 38.06 Investigation board UI — InvestigationBoard with 8 node types, connections, search, pin, drag positioning
  • 38.07 Courtroom drama — CourtroomDramaEngine with evidence/witness scoring, objections, impeachment, 8-phase trial, verdict
  • 38.08 Tournament bracket — TournamentBracket with single elimination, auto-bye, round advancement, champion
  • 38.09 Crafting specialization — CraftingSpecializationEngine with 10 disciplines, recipes, DC crafting, masterwork, XP leveling
  • 38.10 Reputation economy — Notoriety subsystem engine
  • 38.11 Social combat — SocialCombatEngine with composure, 10 move types, stance modifiers, defeat resolution
  • 38.12 Narrative dice (Genesys) — NarrativeDiceEngine with 6 die types, 7 symbols, triumph/despair, result description
  • 38.13 Flashback mechanics — FlashbackEngine + CrimeStoryBridge
  • 38.14 Tests — 84 new tests covering all 8 subsystems plus 14 enum validations
Phase 39 — Genre Plugin System (0/10) ENGINE BUILT

✅ GenrePluginSystem built: JSON plugin format, plugin loader, manifest validation. 16 genre stubs need promotion to full plugins.

  • 39.01–10 Promote 16 genre stubs to full plugins with manifest, hooks, custom UI, sample content
Phase 40 — Content Packages & API (0/8) ENGINE BUILT

✅ ContentPackageService built: .rpgadget ZIP format, package loader, manifest, dependency resolution. Needs REST API and community portal.

  • 40.01–08 Plugin API docs, REST API, webhook system, plugin discovery portal, community sharing, rating/review, content moderation, developer guide
Phase 41 — Homebrew Creator (0/6) ENGINE BUILT

✅ HomebrewCreatorService built: 13 content types, validation pipeline, builder pattern. Needs UI and marketplace integration.

  • 41.01–06 Homebrew item/spell/monster builders, content pack import/export, community marketplace, validation & balance checker

🔗 How It All Fits Together

RPGadget's features build on each other. This graph shows how game systems connect and depend on each other. Green = built, yellow borders = in progress.

P0 — CRITICAL P0 + P1 — HIGH P1 — MEDIUM P2 + P3 — LOW / POLISH ✅ PHASE 22A Content Data ✅ PHASE 22 COMPLETE Smart Roll Resolution 18/18 done PHASE 23 • 22/22 ✅ Combat Completion PHASE 24 • 17/18 ⚡ Magic & Spells PHASE 25 • 19/19 ✅ Leveling & Progression PHASE 27 • P0 In-Person & Projector PHASE 34 • 15/16 ⚡ Genre Hook Infra PHASE 26 • 10/10 ✅ Rest & Recovery PHASE 28 • 16/16 ✅ Quests & Factions PHASE 30 ✅ Items & Equipment PHASE 31 • 12/12 ✅ NPC & Monster PHASE 32 • 14/14 ✅ Exploration & Travel PHASE 29 ✅ Downtime & Social PHASE 33 • P1 Content Pipeline v2 PHASE 35 • 10/10 ✅ Safety & Session Zero PHASE 37 • ENGINE ✦ Audio/Visual Polish PHASE 36 • 14/14 ✅ Player UX & A11y PHASE 38 • 14/14 ✅ Advanced Systems PHASE 39 • ENGINE ✓ Genre Plugin System PHASE 40 • ENGINE ✓ Content Packages PHASE 41 • ENGINE ✓ Homebrew Creator ✦ = No dependencies, can start anytime Green fill = Engine built / substantially complete Critical Gate / P0 P0–P1 P2 P3 Critical path Dependency

🎮 3D Map Engine — Powered by Godot 4

RPGadget's map system is being upgraded to Godot 4 for real 3D environments, dynamic lighting, and fog of war. The map generators (dungeons, cities, caves) stay — the rendering engine gets a massive upgrade. RPGadget remains the main app; Godot handles the map window.

🗑️ Being Scrapped (~850 KB)

  • Gpu/ — 16 files, 134 KB (Silk.NET OpenGL, shaders, FBOs)
  • Rendering/ — 34 files, 680 KB (SkiaSharp CPU layers)
  • Interaction/ — 5 files, 36 KB (Avalonia input handlers)
  • Camera.cs — SkiaSharp-dependent transforms
  • SceneController.cs — Skia→Core render wiring
  • VTTSyncService.cs — SceneController→GameServer bridge
  • VTTToken.cs — becomes Godot-side runtime model

✅ Surviving (~470 KB)

  • Core map generators (World, Settlement, Dungeon, etc.)
  • Plan 23 canonical hierarchy (World→Region→Locale→Site→Encounter→Interior)
  • ScaleLevel enum, CampaignMapProfile, MapIdentity
  • VTT engines (fog, vision, walls — render-agnostic)
  • MapEditorEngine + ISceneAccessor abstraction
  • SceneDataBridge — transitional adapter
  • MapNavigationManager — nav stack logic
  • WorldMapHitTester — rendering-agnostic hit testing

🏗️ Hybrid Architecture (Plan 24)

  • RPGadget = main app, campaign authority, persistence
  • Godot = external child process, map rendering only
  • Separate process/window first (not embedded)
  • Named pipes IPC (Windows), JSON payloads
  • Typed DTO boundary — 60+ contracts defined
  • Plan 23 canonical spatial model honored
  • Non-map sessions work without launching Godot

📡 IPC & Lifecycle

  • IGodotSubsystemLauncher — process spawn + discovery
  • IGodotSubsystemTransport — named pipe abstraction
  • IGodotSubsystemSupervisor — health + state machine
  • IGodotSubsystemSessionService — session ownership
  • Heartbeat (2s interval, 5-miss = fatal)
  • Graceful shutdown with unsaved-work prompts
  • Crash recovery resume flow

📋 DTO Contract Surface

  • SubsystemEnvelopeDto — versioned message wrapper
  • MapRuntimeBootstrapDto — full scene state projection
  • TokenStateDto, LightStateDto, FogStateDto
  • MapTransitionRequest/ResultDto — tier navigation
  • EncounterOpenRequestDto / ResolutionDto
  • MapEditorSessionDto / EditDeltaDto / SaveRequestDto
  • PlayerVisibleStateDto — player client projection
  • SubsystemHealthDto / ErrorDto / UnsavedWorkNoticeDto

📐 Plan 24 Implementation Phases

  • 24A Hybrid Boundary Definition ✅
  • 24B Bootstrap Launcher ✅
  • 24C Read-Only Map Viewing ✅
  • 24D Full Rebuild (Plan 24D: 7 phases — LOD, Navigation, Tactical, Story, Editor)
  • 24E Multiplayer/Mobile
  • 24F Hardening & Rollout

⚠️ Plan 25 World/Region Rebuild

  • Phase A: Canonical models in Core
  • Phase B: Deterministic generation tests
  • Phase C: Projection layer (DTOs)
  • Phase D: Desktop inspection harness
  • Phase E: Stable payload fixtures

📄 Planning Docs (Written)

  • Plan 24: Godot Hybrid Architecture (558 lines)
  • Plan 24D: Full Rebuild — LOD, Navigation, Story, Editor
  • Godot Subsystem Launch & IPC (587 lines)
  • Godot Hybrid DTO Contracts (634 lines)
  • VTT Full Port Plan (visual parity reference)
  • Plan 23: Configurable Map Platform
  • Plan 25: World/Region Rebuild

📄 PDF Import Pipeline

Import your rulebooks and source material. PDFs are parsed, categorized across 28 content types, and organized into your library. Accuracy improvements are ongoing.

🔴 Tier 1 — Content Silently Dropped (10 issues)

  • ✅ FIXED (v0.121.0): AI items with empty stats now score below 0.50 threshold — heuristic supplementation kicks in automatically
  • Non-rate-limit errors skip chunks with no fallback
  • Exponential backoff code is unreachable (dead code)
  • Mixed-content chunks lose secondary types
  • JSON parse failures silently swallowed
  • Category enum mismatch defaults to "Character"
  • Table-only chunks produce zero items
  • DOCX table structure lost in conversion
  • Most non-D&D systems not detected
  • Rulebooks falsely tagged as adventures

⚠️ Tier 2 — Accuracy Loss (8 issues)

  • Heuristic item names are garbage (table rows, page numbers)
  • Relevance filter D&D-biased — non-D&D chunks skipped
  • Content-unaware chunking splits mid-entity
  • Deduplication too strict AND too loose simultaneously
  • 60% of rulebook falls to low-quality heuristic
  • Page tracking drifts ~20+ pages by mid-book
  • VaultItemRouter fraction parsing bug ("1/4" → "14")
  • VaultItemRouter price truncation ("15.5 gp" → "15 gp")

🎨 Genre Theming System

Every panel in RPGadget adapts to your genre. 59 visual templates, AI-generated layouts, and real-time theme switching. Pick a genre, and the entire UI transforms.

✅ Theme Engine (Complete)

  • 59 visual templates across 13 categories
  • Dynamic panel system — panels adapt to your genre
  • Template catalog with genre-aware defaults
  • 50+ tools wired to live game engines
  • Real-time sync to web player clients
  • AI-generated panel layouts
  • Persistent layout customization
  • Genre-specific template sets for all 16 genres
  • 16 genres map to 8 progression engines
  • Full template browser for previewing layouts
  • 30+ theme variables (colors, fonts, borders)

⚠ Remaining Work

  • ~23% of screens still being migrated to theme system
  • Some screens need color updates for full theme support
  • Font consistency pass needed across a few screens
  • Light theme refinement in progress
  • 7 character progression screens need genre-aware templates

Theme Coverage

77% Desktop

Desktop screens using genre themes

89% React

Remaining: Finish theme migration for ~65 screens. Add genre-aware templates for 7 progression panels. Complete light theme.

🚀 Where You Can Play

RPGadget runs on desktop (Windows, macOS, Linux), with web apps for players joining from any device. Here's the status of each platform.

🖥️

Desktop App

SCRIPT EXISTS
  • ✅ publish.ps1 for win-x64/osx/linux
  • ✅ NSIS installer script
  • ❌ No CI/CD automation
  • ❌ No code signing
  • ❌ No auto-update server
  • ❌ No release workflow
☁️

Deno Relay Server

NOT DEPLOYED
  • ✅ 583-line server, code complete
  • ✅ KV storage, rate limiting, auth
  • ✅ Player-app SPA in static/
  • ❌ No Deno Deploy project
  • ❌ No environment variables
  • ❌ No domain configured
🌐

Web Clients (×3)

NOT DEPLOYED
  • ✅ webclient — builds, Netlify toml
  • ✅ companion — PWA, builds
  • ✅ gm-remote — builds
  • ❌ None hosted anywhere
  • ❌ Zero integration tests
  • ⚠️ Two player clients need consolidation
🔄

CI/CD Pipeline

CI EXISTS
  • ✅ GitHub Actions workflow (ci.yml)
  • ✅ Build on PR automation
  • ✅ Test on PR (9,456 tests)
  • ❌ No deploy-on-merge (CD)
  • ❌ No Dockerfile
  • ❌ No docker-compose
🧪

Integration Testing

PARTIAL
  • ❌ GameServer ↔ webclient WS
  • ❌ Relay API coverage
  • ❌ Map streaming pipeline
  • ❌ Full session flow
  • ❌ PDF→VaultItem e2e
  • ✅ 9,834 unit tests passing
📱

Android

SKELETON
  • ⚠️ RPGadget.Android/ project exists
  • ❌ GPU rendering excluded
  • ❌ Status unclear
  • ❌ No Play Store listing
  • ❌ No build/sign pipeline

📅 What's Next — The Road Ahead

Here's the plan to get to v1.0. Each milestone builds on the last. We're 76% of the way there.

✅ SPRINT 0 — STABILIZE (COMPLETE)
Critical Bug Fixes + Hygiene
DB EnsureCreated→Migrate fixed, version synced, empty catch blocks documented, async Main, Android DataTemplate fix. 4/7 critical bugs resolved.
✓ DB Migrate ✓ Version sync ✓ Async Main ✓ Android fix ✓ Empty catches
✅ SPRINT 1 — FOUNDATION (COMPLETE)
Phase 22A: Content Data Model Expansion
6/6 tasks done (v0.105.0). ContentSubTypes enum, VaultItem.SubType, ManifestAssembler typed builders, 73 integration tests. The gate is OPEN.
✓ 22A.01–06 ALL DONE 73 tests
✅ SPRINT 2 — CORE GAMEPLAY LOOP (COMPLETE)
Phase 22: Smart Roll Resolution (18/18 done)
All roll paradigms built: standard d20, PoolRoll (Shadowrun/WoD), FateRoll (PbtA), PercentileRoll (BRP/WFRP), RollResultPanel + React relay display, anti-cheat validator.
✓ RollResolver ✓ DamageRoll ✓ Validator ✓ Dice Pools ✓ Fate/PbtA ✓ Percentile
✅ SPRINT 3 — COMBAT + MAGIC (NEAR COMPLETE)
Phase 23: 22/22 COMPLETE ✅ + Phase 24: 17/18 done
Combat fully operational: MassiveDamage, MoraleEngine, CombatIntegrationBridge, AmmoTracker, VTT/web sync, CombatRewardDistributor. Magic: WildMagicSurge, CantripScaling, Upcasting, Rituals, SpellComponentValidator, SpellBook UI. Only AoE VTT placement remains.
✓ Combat 22/22 ✓ Spellbook UI ✓ WildMagic AoE VTT
✅ SPRINT 3B — PARALLEL (COMPLETE)
Phase 25: 19/19 COMPLETE ✅ + Phase 27 pending
XPTracker, LevelUpEngine, FeatValidator, RetroactiveCorrection, 7 alternate progression engines + 7 UI panels. ProgressionRouterService maps 16 genres → 8 engines. LevelUpOverlay.tsx for web players. Phase 27 (In-Person) still pending.
✓ LevelUp Engine ✓ 7 Progression Engines 27: In-Person
✅ SPRINT 4 — GENRE FRAMEWORK (ENGINE COMPLETE)
Phase 34: GenreHookPipeline + 16 genre hooks (15/16 done)
All 16 default genre hooks registered. HookConflictResolver added with 6 strategies. GenreHookDebugger + GenrePanelRegistry complete. Only VTT overlay remains (blocked on Godot).
✓ 16 Genre Hooks ✓ Conflict Resolver ✓ Debug Tools ✓ Panel Registry VTT overlay (Godot)
✅ SPRINT 5 — WORLD BUILDING (NEAR COMPLETE)
Phase 26–32 COMPLETE ✅ + Phase 27 (0/14)
Massive sprint: Rest & Recovery (10/10), Quests & Factions (16/16), Downtime & Social (14/14), Items & Equipment (17/17), NPC & Monster (12/12), Exploration & Travel (14/14) all complete. Pipeline hardened (v0.121–v0.123). Only In-Person (27) remains.
✓ 26: 10/10 ✅ ✓ 28: 16/16 ✅ ✓ 29: 14/14 ✅ ✓ 30: 17/17 ✅ ✓ 31: 12/12 ✅ ✓ 32: 14/14 ✅ 27: 0/14
✅ SPRINT 6 — SAFETY & ADVANCED SYSTEMS (COMPLETE)
Phase 35: 10/10 COMPLETE ✅ + Phase 38: 14/14 COMPLETE ✅
Safety & Session Zero (v0.130.0): SessionZeroWizard, ScriptChangeProtocol, ContentWarnings, ConsentTracker, ToneSelector, TriggerManager, AnonymizedVoting, PostSessionDebrief, SafetyAuditLog — 81 tests. Advanced Systems (v0.131.0): StrongholdBuilder, HeistPlanner, InvestigationBoard, CourtroomDrama, TournamentBracket, CraftingSpecialization, SocialCombat, NarrativeDice — 84 tests.
✓ 35: 10/10 ✅ ✓ 38: 14/14 ✅ ✓ +165 Tests
SPRINT 7 — INFRASTRUCTURE & GAPS (YOU ARE HERE)
VTT Godot Migration + In-Person + Pipeline v2
Phase 27 (In-Person Play, 0/14), Phase 33 (Content Pipeline v2, 18/20), Phase 24 AoE placement (1 task). Godot subsystem planning done, implementation pending.
27: 0/14 33: 3/20 24: 1 task ✓ CI pipeline Godot subsystem
SPRINT 8 — POLISH & UX
Phase 37: Audio/Visual + Phase 39: Genre Plugins
Phase 36 (Player UX & A11y) already COMPLETE in v0.132.0. AudioCueEngine needs real audio files and VTT integration. 16 genre stubs need promotion to full plugins.
✓ 36: 14/14 ✅ 37: 0/12 39: 0/10 P2
⚠ SPRINT 9 — COMMUNITY (ENGINES BUILT, NEED UI)
Phase 40–41: Content Packages, Homebrew Creator
ContentPackageService and HomebrewCreatorService both built. Remaining: REST API, community portal, marketplace UI, homebrew builder UI.
40.01–08 41.01–06 P3
🎉 MILESTONE
v1.0.0 — Production Release
~69 remaining tasks complete. Desktop published (Win/Mac/Linux). Relay deployed. Web clients hosted. CI/CD running. 10,000+ tests. Full accessibility. 16 genre themes. Multiplayer end-to-end. Godot VTT integrated.

Progress Summary

~221
Features Done
~15
Critical Next
~18
High Priority
~22
Medium Priority
~14
Polish Items

Total: ~245/290 milestones reached (~84%)~69 remaining across 8 feature areas9,456+ quality checks passing283 screens & panels16 genre themes

Updated July 17, 2025 • RPGadget v0.132.0