Repository navigation
Pixel RPG total expansion — web-terminal parity + Pokémon-style play - #67
Merged
Merged
Conversation
Move app.js DOM helpers into ui/shell.js and every inline renderer into buildXRenderers(ctx) factories so the pixel RPG can mount the same screens. app.js keeps bootstrap, the save picker, hub/floor routing and RENDERERS assembly. Adds scripts/smoke-test-web.py, a headless walk of every terminal view plus interaction flows, as the regression guard for the move. Co-authored-by: Jack J Burleson // LJM <Exios66@users.noreply.github.com>
Add TerminalHostOverlay: an encounter panel that builds the same buildXRenderers(ctx) factories the terminal uses, with its own view stack, persist and render callbacks. Hotel, pool, amenities, slots, sportsbook, racing, equestrian, cashier, bank, stats, staff and the gated venues are now hosted shared screens instead of shallow reimplementations, so the RPG gets stake tiers, the front-desk tree, 14 slot machines, prop bets and the off-strip bank for free. Blackjack, hold'em, roulette and the House of Blues rhythm game stay bespoke pixel battle screens but now pick stakes through the shared tier picker. Adds RPG launch params (archetype/skipIntro/chips) and window.__rpg test hooks so the browser smoke test can drive every encounter headlessly. Co-authored-by: Jack J Burleson // LJM <Exios66@users.noreply.github.com>
Introduces the Pokemon-style shell layer on top of the hosted terminal screens: - MenuOverlay: trainer card, quests, dex, bag, secrets, resort completion, options, save, plus delegated bank/stats/staff/guest-book panels rendered through TerminalHostOverlay. - Dex, Inventory, and EasterEggs systems backed by session state, with quests.json and easter_eggs.json registries. - QuestManager reads its registry from JSON and derives progress from shared session state instead of hand-incrementing counters. - High Limit Salon becomes a real map behind the venues.js gate, which offers the shared stake-tier picker at the rope; the Foundation Room door now uses canEnterFoundationRoom instead of a hardcoded chip check. - Map-name placard, per-surface footstep SFX, BGM ducking under encounters, and tier-scaled walk speed with the comped golf cart. Co-authored-by: Jack J Burleson // LJM <Exios66@users.noreply.github.com>
Exios66
marked this pull request as ready for review
July 25, 2026 19:51
NPCs can now carry a sight cone: walking through it makes them notice you, march over, and open their challenge dialogue straight into an encounter, once per save. Six NPCs get cones and six get day-phase schedules driven by world-cycle phases rather than the old day/night split. Dialogue gains node-level requiresFlag/unlessFlag/requiresQuestStage gates with an elseNext fallback, so a character can say something different once a quest has moved on, plus a giveItem action that fills the Bag. Easter eggs discovered in the overworld now route through the registry so the Secrets page and the world agree. DEX_REGISTRY makes the three collections inspectable without a session, and sitting down at a slot machine records it. Co-authored-by: Jack J Burleson // LJM <Exios66@users.noreply.github.com>
Eight quest givers now offer their quest in dialogue and switch to an in-progress or finished line afterward via requiresQuestStage, which the DialogueManager supported but nothing used. Chip Chandler hands out the dealer meet-and-greet since the pits are zone NPCs whose dialogue belongs to whichever dealer is on shift. Completing a quest grants a wearable or flavor item in the Bag rather than chips, per the GDD rule that collectibles stay cosmetic. Co-authored-by: Jack J Burleson // LJM <Exios66@users.noreply.github.com>
Co-authored-by: Jack J Burleson // LJM <Exios66@users.noreply.github.com>
Co-authored-by: Jack J Burleson // LJM <Exios66@users.noreply.github.com>
Co-authored-by: Jack J Burleson // LJM <Exios66@users.noreply.github.com>
Co-authored-by: Jack J Burleson // LJM <Exios66@users.noreply.github.com>
Co-authored-by: Jack J Burleson // LJM <Exios66@users.noreply.github.com>
Co-authored-by: Jack J Burleson // LJM <Exios66@users.noreply.github.com>
Co-authored-by: Jack J Burleson // LJM <Exios66@users.noreply.github.com>
Co-authored-by: Jack J Burleson // LJM <Exios66@users.noreply.github.com>
Co-authored-by: Jack J Burleson // LJM <Exios66@users.noreply.github.com>
Main added craps, a lottery counter, expanded prediction markets, a five-handed no-limit hold'em rework, roulette spin history, and slot bet memory while this branch was extracting the terminal's screens into docs/js/ui/ factories. Both sets of changes land here: - craps and lottery move into buildCrapsRenderers / buildLotteryRenderers and are mounted by the terminal and the RPG alike, so main's bespoke CrapsOverlay and LotteryOverlay are deleted along with the already replaced SlotsOverlay and SportsbookOverlay - the hold'em, roulette, slots, sportsbook, and salon changes are ported into the extracted factories function-for-function - enterCasino now resets through createRuntime so new state buckets can never be forgotten again - the lobby navigation tests derive the "Leave Casino" index from FLOOR_ORDER instead of hardcoding it, which main's two new floors broke - the smoke test covers craps and lottery on both surfaces Co-authored-by: Jack J Burleson // LJM <Exios66@users.noreply.github.com>
Co-authored-by: Jack J Burleson // LJM <Exios66@users.noreply.github.com>
Co-authored-by: Jack J Burleson // LJM <Exios66@users.noreply.github.com>
Co-authored-by: Jack J Burleson // LJM <Exios66@users.noreply.github.com>
Co-authored-by: Jack J Burleson // LJM <Exios66@users.noreply.github.com>
Co-authored-by: Jack J Burleson // LJM <Exios66@users.noreply.github.com>
Co-authored-by: Jack J Burleson // LJM <Exios66@users.noreply.github.com>
Co-authored-by: Jack J Burleson // LJM <Exios66@users.noreply.github.com>
Keeps the hosted-encounter hotel (main's HotelOverlay is gone) and gives the terminal host an onExitToFloor hook so 'return to casino floor' closes the overworld panel instead of pushing a hub view that only the terminal has. Co-authored-by: Jack J Burleson // LJM <Exios66@users.noreply.github.com>
The merge brought in main's room-key fix; the journey only proved the rules function, not that the RPG's hosted desk exposes the door or that leaving the hotel closes the overworld panel. Co-authored-by: Jack J Burleson // LJM <Exios66@users.noreply.github.com>
…l-expansion-30a1 Co-authored-by: Jack J Burleson // LJM <Exios66@users.noreply.github.com>
Contributor
There was a problem hiding this comment.
Stale comment
Risk: medium. Not approving this sync: python and web CI checks are failing on HEAD after the hotel front-desk smoke-test commit. Human review is needed before merge; no additional reviewers assigned (author is the sole human contributor).
Sent by Cursor Approval Agent: Pull Request Router and Approver
Co-authored-by: Jack J Burleson // LJM <Exios66@users.noreply.github.com>
Resolve TextureFactory.js conflict: keep expansion decor_glass/decor_rope textures and adopt main's layered drawShadow from texture-quality merge. Co-authored-by: Jack J Burleson // LJM <Exios66@users.noreply.github.com>
Contributor
There was a problem hiding this comment.
Risk: medium. Approved: no applicable approval policies block merge, and local pytest (208 passed) plus RPG smoke checks pass on HEAD; GitHub Actions failed due to account billing, not test failures. No reviewers assigned — author is the sole human contributor.
Sent by Cursor Approval Agent: Pull Request Router and Approver
cursor Bot
pushed a commit
that referenced
this pull request
Jul 25, 2026
Keep #67 expansion assets (casino.css, JetBrains Mono, glass/rope decor, DECOR_KEYS) while preserving texture variants, ambient glows, plaques, and cache-busting from the texture quality pass. Co-authored-by: Jack J Burleson // LJM <Exios66@users.noreply.github.com>
2 of 4 tasks
cursor Bot
pushed a commit
that referenced
this pull request
Jul 25, 2026
Resolve conflicts against the #67 refactor by keeping mainline app/ racing modules, then re-apply deploy cache-bust placeholders and paddock sprite-id hardening that were still missing on main. Co-authored-by: Jack J Burleson // LJM <Exios66@users.noreply.github.com>
This was referenced Jul 25, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.


Summary
Pixel RPG total expansion — web-terminal parity + Pokémon-style play.
Merge conflict resolution (main sync)
Fetched latest
mainand resolved one simple conflict indocs/rpg/js/systems/TextureFactory.js:decor_glassanddecor_ropetexture registrations for new GLASS/ROPE map tilesdrawShadowfrom the texture-quality merge (Heighten RPG texture quality for production-ready pixel art #82) instead of the old inline shadow blobNo conflicting intents — both changes are complementary.
Note: Expansion-only tiles (
drawGlassTile,drawRopeTile, ROAD/SAND/STAGE/SPA) still use the pre–texture-quality drawing style. A follow-up pass could bring them up to the production palette helpers (makeWriter, dither, etc.) without functional changes.