V4.11.4 DEV CONTROL // PRODUCTS PAGE LINKS NAME + LINK + IMAGE + PRICE CONTROL 4.11.4

Dev Control now includes a dedicated PRODUCTS tab for the merchandise cards on /home/products/. Each card can be updated without touching source files: change the displayed product name, destination link, image, and price, then publish the complete Products page configuration through the existing managed site-content system.

Product artwork can use an existing site path or external http/https image, or be uploaded directly from the editor. Managed uploads are stored under product-images/ in R2 and served through versioned /api/product-image URLs. Replaced managed images are cleaned up only after the new content is successfully published.

The original four V4.11.3 merchandise cards are the default seed and remain in static HTML as a fallback, so the storefront does not disappear when managed content is unavailable. No D1 migration is needed. Public version/cache advances to 4.11.4 / 4110400, and the homepage startup label advances to V4.11.4 with seen-state revision 2.4.

V4.11.3 CARD GAME // HEALTH-COST EDITOR REPAIR OPTIONAL PAY HP + STARTUP VERSION SYNC 4.11.3

PAY HP is now genuinely optional in the card metadata editor. Health-cost controls disappear whenever the selected ability cost is anything other than PAY HP, and non-PAY-HP abilities no longer serialize a dormant healthCost object into their metadata. The Worker normalizer applies the same rule server-side so stale client payloads cannot silently restore the old cost.

Migration 0142_health_cost_editor_v4113.sql removes stale primary and secondary health-cost objects from non-PAY-HP cards and explicitly repairs Bowdak, Chivalric Captain (formerly CHARGE!) to a FREE primary cost without changing its trigger, reaction, target, or effect. Existing live matches are closed at the normal release boundary.

The homepage startup sequence now identifies the release as V4.11.3 and advances its session revision so returning clients can receive the corrected intro instead of retaining the older seen-state. Public version/cache advances to 4.11.3 / 4110300.

V4.11.2 CARD GAME // RENDER STABILITY HARDENING KEYED HAND RECONCILIATION + FLICKER CONTROL 4.11.2

The duel renderer no longer destroys and recreates the entire Hand when one card enters or leaves play. Friendly and open-spectator Hands now reconcile by card instance identity, while hidden enemy Hands preserve surviving backs/known cards. Existing cards keep their exact DOM nodes and move directly from their previous fan slots to their new slots; only the genuinely arriving/departing card is inserted or removed, eliminating the old center-stack reset.

Unchanged Field and Persona cards now keep their existing runtime DOM and already-decoded artwork across unrelated state renders. When HP, AC, AIM, DMG, fatigue, Ward, statuses, attachments, utility HP, or Persona readiness actually changes, fresh runtime markup is still committed, but the resident art image is transplanted into the updated card so stat changes do not flash the artwork blank. Generic Field FLIP reflows now have explicit ownership and retarget from the card's current visible rectangle instead of stacking competing transforms.

Local-first authoritative payloads also stop issuing the old server-view render followed by an unconditional Promise-driven local-view render. Once the local engine is resident, one visible state is selected synchronously and painted once. The authoritative moving-card player and its established attack / defense / return choreography are unchanged. Static cache advances to 4110200; migration 0141_card_render_stability_v4112.sql closes pre-update card matches.

V4.11.1 TERMINAL ARCADE // GAME-OVER CONTROL EXPLICIT RESTARTS + CLEAN SNAKE FIELD 4.11.1

The Recovery Arcade now has one authoritative game-over state shared by all seven microgames. A loss or completed run freezes the current frame and ignores gameplay input until the player explicitly chooses RESTART, presses R, or exits. The result panel now includes clickable RESTART and EXIT controls for mouse and touch play.

The hidden result overlay now has an explicit display:none rule, fixing the empty center block that appeared over SNAKE and the result panel that could remain visible after a restart. PONG no longer auto-serves immediately after every point, and BREAKOUT no longer auto-launches the next ball after a lost life; both wait for SPACE. Static cache advances to 4110100; migration 0140_terminal_arcade_gameover_v4111.sql closes pre-update card matches.

V4.10.10 DEPLOY // D1 MIGRATION CHAIN HOTFIX LOCAL PREFLIGHT + DETERMINISTIC ERROR CLASSIFICATION 4.10.10

The deployment blocker in 0137_starbreach_reference_matched_portrait_v4108.sql is repaired. That obsolete release-marker migration referenced a site_content table that does not exist in the PRLX D1 schema; the migration keeps its filename for migration-history compatibility but is now intentionally harmless.

npm run deploy now replays the complete SQL migration chain against an in-memory SQLite database before contacting Cloudflare. A broken migration therefore fails locally with its exact filename instead of reaching the live D1. The setup runner also distinguishes deterministic SQLite/schema errors from genuinely transient Cloudflare 7500 failures, so errors such as no such table stop immediately rather than wasting five retries. Static cache advances to 4101000; migration 0139_d1_migration_preflight_v41010.sql closes pre-update card matches.

V4.10.9 TERMINAL // PRLX RECOVERY ARCADE SEVEN LOCAL MICROGAMES 4.10.9

The recovery terminal now carries a compact local arcade bank beside STARBREACH. /games lists seven instant executables: SNAKE, PONG, BREAKOUT, BLOCKS, INVADERS, ASTEROIDS, and CROSSWAY. Each can also be launched directly with its own slash command.

The arcade uses one lightweight 640×480 local canvas runtime with the terminal's existing phosphor/CRT presentation, keyboard-first controls, responsive touch controls, local scoring, restart/exit handling, and zero server persistence or background network traffic. Static cache advances to 4100900; migration 0138_terminal_recovery_arcade_v4109.sql closes pre-update card matches.

V4.10.8 STARBREACH // PLAYER PORTRAIT REFERENCE PASS REFERENCE-MATCHED WIREFRAME HELMET 4.10.8

The STARBREACH player portrait now models the head much more directly on the supplied retro-futurist reference instead of merely borrowing the vibe. The wireframe operator scan now uses a rounder mannequin cranium, a strong central crest that sweeps over the face, a thicker opaque wraparound visor, a more sculpted jaw/neck transition, a larger side communication module, and a more reference-faithful lower-face mouthpiece structure.

The rendering remains fully in the line-art / scan / wireframe language, so the portrait still feels native to STARBREACH rather than turning into a painted illustration. Static cache advances to 4100800; migration 0137_starbreach_player_portrait_reference_v4108.sql closes pre-update card matches.

V4.10.7 STARBREACH // PEDESTRIAN WIREFRAME POLISH ROAD-ONLY TRAFFIC + SHELF ALIGNMENT + OPERATOR SCAN 4.10.7

STARBREACH city reconstruction now treats the player as a pedestrian. The first-person camera sits on the avenue sidewalk instead of inside a traffic lane; generated cars are solved into road lanes using their actual footprint and curb clearance, and an immediate forward pedestrian corridor rejects vehicle spawns so traffic never appears directly on top of the player. Building footprints are also constrained to the block bounds between neighboring roads.

Shop shelving now uses a strict product grid. Every stock item is centered in a fixed shelf cell and its lower face sits exactly on the shelf plane, removing the floating, crooked, and uneven shelf-item transforms from previous builds.

The player portrait is now a proper wireframe human bust with a domed helmet scan, visible jaw and neck, shoulders/torso mesh, side communication modules, helmet ribs, and a continuous luminous wraparound visor loosely inspired by the supplied retro-futurist reference. The environment visual frame also shrink-wraps the square render port instead of stretching a wider empty display box around it. Static cache advances to 4100700; migration 0136_starbreach_pedestrian_polish_v4107.sql closes pre-update card matches.

V4.10.6 STARBREACH // HIDDEN-LINE WIREFRAME FIDELITY OCCLUSION + STREET MATERIALS + READABLE OBJECTS 4.10.6

STARBREACH reconstruction is no longer an x-ray wireframe. Solid buildings, vehicles, trees, kiosks, counters, shelves, and storefront pieces now mask geometry behind them, while a screen-space occlusion pass skips returns that are fully covered by closer objects. Buildings keep their visible wire edges and facade detail without drawing every hidden rear line through the scene.

Street reconstruction now has an explicit material hierarchy: recessed dark road surfaces, lane/crosswalk markings, raised sidewalk slabs, brighter curb edges, paving joints, then buildings and street furniture. Cars were rebuilt from generic prisms into recognizable vehicle frames with wheel/rim geometry, sloped cabins, windshields, hood and trunk seams, near-side doors, paired lamps, bumpers, and multiple body proportions. Benches, information/transit kiosks, trees, lamps, storefront awnings, signs, doors, and display glass have similarly stronger silhouettes.

Interior shops and related locations now use dedicated first-person room reconstruction with occluding counters, registers, shelving, stocked product shapes, aisle markers, furniture, floor tiles, lighting fixtures, and location signage. Boarded shops receive a close storefront reconstruction with physical filled boards that actually cover the sealed doors and windows. Static cache advances to 4100600; migration 0135_starbreach_hiddenline_fidelity_v4106.sql closes pre-update card matches.

V4.10.5 STARBREACH // STREET-LEVEL CITIES + PROCEDURAL OBJECTIVES FIRST-PERSON URBAN RECON + ENDLESS DISPATCH 4.10.5

STARBREACH city reconstruction now places the camera down inside the street network at first-person eye height. Buildings occupy blocks between roads rather than sharing road centerlines, with converging avenues, crosswalks, cars, windows, balconies, rooftop equipment, trees, lamps, utility structures, shops, markets, and service yards extending around and ahead of the player.

Inhabited procedural worlds now generate seeded city graphs instead of a single generic landing location: a city center, market, shop, service yard, residential quarter, routes, visible objects, and multiple unique local NPCs. /hub always returns to the current settlement center. /contract (also /job or /dispatch) creates repeatable generated objectives that can lead to newly seeded planets, cities, NPCs, shops, markets, and yards through LAND, VISIT, TALK, and INSPECT steps. Generated destination planets persist in the local save.

Live NPC dialogue is hardened with a second Workers AI model fallback (@cf/openai/gpt-oss-20b) behind the primary gpt-oss-120b path. Missing bindings or inference failures now surface an explicit degraded-link notice instead of silently masquerading as responsive AI. Static cache advances to 4100500; migration 0134_starbreach_firstperson_procedural_objectives_v4105.sql closes pre-update card matches.

V4.10.4 STARBREACH // LIVE NPC INTELLIGENCE + CITY MESH WORKER AI DIALOGUE + EXPANSIVE URBAN WIREFRAMES 4.10.4

NPC conversation now prefers a true hosted language model instead of relying on keyword/topic matching. Expedition sends the active NPC identity, temperament, private agenda, current planet/location, observable player state, allowed commands, relationship memory, and recent conversation to a dedicated Workers AI endpoint. The NPC can follow slang, jokes, follow-up references, emotional tone, opinions, unusual questions, and conversational detours while staying in character. The existing local Narrative AI remains a deterministic fallback if the live inference link is unavailable.

Dialogue remains deliberately non-authoritative: the model may talk about or suggest valid slash commands, but it cannot directly change credits, inventory, objectives, purchases, travel, combat, or quest state. The Worker uses Cloudflare's bound @cf/openai/gpt-oss-120b model and keeps replies short enough to feel like an RPG conversation rather than an assistant transcript.

Exterior settlement reconstruction is now a seeded procedural urban mesh. City scenes span multiple blocks with major/minor streets, lane markings, irregular lots, stacked buildings, facade windows, rooftop structures, traffic, crosswalks, trees, utility poles, and denser skylines. Procedural inhabited planets now land into expansive generated settlements instead of one tiny outpost. Static cache advances to 4100400; migration 0133_starbreach_live_narrative_citymesh_v4104.sql closes pre-update card matches.

V4.10.3 STARBREACH // NARRATIVE AI + SHIP EXPEDITION CONVERSATIONAL NPC + 3D WIREFRAME PASS 4.10.3

Expedition Terminal now treats text without a leading slash as spoken dialogue. Every authored NPC and procedural local contact receives a browser-local stateful Narrative AI profile that can infer conversational topics, remember prior discussion, react in-character, and surface jobs or needs they actually own. Slash commands remain deterministic gameplay authority so generated dialogue cannot silently alter credits, inventory, objectives, purchases, travel, or quest completion.

When no NPC link is active, spoken text is answered by a contextual environmental narrator that can draw attention to nearby people, objects, radio noise, machinery, or other location-specific details. /ship now travels to the player's registered ship from anywhere on a planet; /inside boards a dedicated ship interior with cockpit/cargo/radio interactions, and /launch returns to spaceflight.

Planetary structures, ship exteriors, and ship interiors now use perspective 3D wireframe reconstruction consistent with STARBREACH's flight-vector language. Static cache advances to 4100300; migration 0132_starbreach_narrative_ai_ship_v4103.sql closes pre-update card matches.

V4.10.2 STARBREACH // EXPEDITION TERMINAL PLANETARY INTERACTION RENOVATION 4.10.2

Retired STARBREACH's live WASD/tile/collision planetary exploration and replaced landing with the Expedition Terminal: a large three-panel YOU | CONTEXTUAL COMMANDS | ENVIRONMENT/NPC FEED interface with a scrolling command terminal underneath.

Every location now receives a deterministic colored wireframe reconstruction keyed to its planet and location seed. Talking to a person swaps only the right-side feed to that NPC's wireframe portrait while the player remains anchored on the left. Commands are both clickable and typeable, with permanent LOOK, OBJECTIVES, INVENTORY, SHIP, and LEAVE PLANET controls.

Port Meridian, Kestrel Reach, Glasshaven, ships, credits, inventory, COLD CIRCUIT, objective tracking, persistence, planet coordinates, land/launch flow, and endless spaceflight remain intact underneath the new exploration layer. Static cache advances to 4100200; migration 0131_starbreach_expedition_terminal_v4102.sql closes pre-update card matches.

V4.10.1 TCG // MOVING-CARD ANIMATION RESTORATION MOTION LIFECYCLE HOTFIX 4.10.1

Restored the existing moving-card presentation pipeline without recreating its choreography. The authoritative card-motion player now holds the global motion lifecycle lock for the entire async flight, preventing state cleanup from hiding or emptying the moving-card stage a frame after an animation begins.

The established attack sequence—rise, windup, strike, recoil, and return—keeps its original distance-aware timing. The same repair covers cards entering Defense, Defense returning to Field, Defense moving to a pile, Field → Recovery/Buried, Recovery/Buried → Field/Hand, and summon/Hand → Field travel.

V4.10.0 Hand behavior remains unchanged. Card client/Worker/engine cache advances to 4100100; migration 0130_motion_lifecycle_v4101.sql closes pre-update card matches so no active table mixes broken and repaired motion clients.

V4.10.0 TCG // FINAL HAND CONTRACT HAND PRESENTATION FINALIZATION 4.10.0

The resting copy of a friendly Hand card now disappears immediately when that card becomes the hover-focus source, eliminating the doubled card that could remain visible underneath the enlarged hover form.

Hover focus is now exactly 15% larger than the card's current rendered Hand scale, so personal Hand scaling and automatic table scaling preserve the same relative hover size at every setting.

Hand fan animation is now membership-driven instead of render-driven. Initial deal and real add/remove changes may re-spread the Hand; ordinary combat updates, responsive corrections, and incidental DOM rebuilds with unchanged Hand membership resolve directly to the existing anchors without collapsing into a stack first. Static cache advances to 4100000; migration 0129_hand_finalization_v410.sql closes pre-update card matches.

V4.9.9 STARBREACH // PORT MERIDIAN VISUAL HUB PLANETSIDE ART + BUILDING PASS 4.9.9

Port Meridian is rebuilt around the supplied high-detail pixel-art town artwork. The visible Inn, General Store, Equinox, Pad 01, boarded Apothecary, paths, cliffs, water, flora, and town characters now define the live planetside hub instead of programmer-art rectangles.

Fresh saves wake inside the Inn. The Equinox storefront is enterable and contains the starter ship dealer; the General Store is enterable and contains Mara plus the COLD CIRCUIT relay-crate pickup. The Apothecary remains boarded and non-enterable. Existing STARBREACH saves and old objective text normalize forward automatically.

Starter frames now have distinct planetside/flight silhouettes and palettes. Kestrel Reach, Glasshaven, and procedural inhabited worlds also gain sparse grass texture, dirt paths, water regions, and planet-specific flora/water palettes. Static cache advances to 499000; migration 0128_starbreach_reference_hub_v499.sql preserves the normal deploy reset boundary.

V4.9.8 STARBREACH // PLANETSIDE RPG TERMINAL GAME EXPANSION 4.9.8

STARBREACH expands from endless spaceflight into a connected space RPG. New saves begin on Port Meridian with 900 CR and no ship; players can walk the settlement, talk to locals, buy one of three starter ships, and launch from the landing pad into the existing continuous X/Y navigation world.

Planets can now be approached and landed on with E. Port Meridian, Kestrel Reach, and Glasshaven include top-down planetside maps, while additional deterministic planets can appear throughout procedural sectors. Planetside play includes collisions, NPC dialogue, cargo interactions, mobile movement controls, and a shared persistent inventory/economy.

A new Objective Log tracks rewards, steps, inventory, active/completed contracts, and compass tracking. COLD CIRCUIT demonstrates a two-stage fetch/delivery contract from Meridian to Kestrel Reach for 350 CR. Static cache advances to 498000; migration 0127_starbreach_planetside_rpg_v498.sql preserves the normal deploy reset boundary.

V4.9.7 TERMINAL GAMES // STARBREACH ARCADE SYSTEM CHECKPOINT 4.9.7

/terminal gains a local games registry. Type /games to list installed executables or /starbreach to launch STARBREACH directly inside the terminal.

STARBREACH is an endless client-side deep-space run with deterministic procedural sectors, real world X/Y coordinates, an interactive compass/course system, debris collisions, rare hail-able ships, dialogue, and coordinate-ready objective tracking. RELAY-12 can demonstrate a real 500-unit eastward navigation objective.

The game loop is completely local and performs no match/API/D1 traffic while flying. Static release cache advances to 497000. Migration 0126_terminal_starbreach_v497.sql preserves the normal PRLX deploy reset boundary.

V4.9.6 NAT 1 / FOLLOW UP / CARD TRAVEL RESTORATION COMBAT + PRESENTATION HOTFIX 4.9.6

Natural 1 attack rolls now always miss regardless of AIM or target AC. Optional Follow Up windows keep END TURN available; ending the turn implicitly declines the outstanding Follow Up instead of trapping the player in a free/reaction move prompt.

Core zone-to-zone card travel is restored as mandatory gameplay readability. Hand, Field, Recovery, and Buried transfers use a complete fixed-size proxy matching the moving owner's resting Hand-card size for the entire trip.

Static cache advances to 496000. Migration 0125_nat1_followup_motion_v496.sql resets active matches at deployment.

V4.9.5 CLICK FOCUS / FULLSCREEN SEPARATION PRESENTATION CORRECTION 4.9.5

Ordinary click/pin focus is separated from fullscreen presentation. Clicking a card now only makes it slightly larger than hover while leaving the duel background untouched.

When the display is genuinely fullscreen and a card is pinned, the card transitions into the established larger inspection size while the fullscreen backdrop slides in from the right. Leaving fullscreen reverses the backdrop and returns the card to compact click focus without losing the pin.

Static cache advances to 495000. Migration 0124_focus_fullscreen_separation_v495.sql resets active matches at deployment.

V4.9.4 STATE TRANSITION RESTORATION PRESENTATION CHECKPOINT 4.9.4

The V4.9.2 interaction authority remains intact while visual handoffs regain deliberate motion. Persistent Field and Persona cards settle between authoritative states instead of snapping, and completed targeting, dice, damage, motion, focus, placeholder, defense, and source-hide assets are explicitly retired when their owning state ends.

Click/pin card focus keeps the established 4.9.3 geometry. The card grows into its focused size while a fullscreen backdrop slides in from the right; exiting reverses the choreography and removes every fullscreen-only asset. Hover-only focus remains lightweight and does not open the backdrop.

Static cache advances to 494000. Migration 0123_state_transition_cleanup_v494.sql resets active matches at deployment.

V4.9.3 UNIVERSAL UI TORTURE PASS STABILITY CHECKPOINT 4.9.3

The existing duel UI is visually locked as the contract. A restrained continuous physical scale now sits beneath personal Hand, Field, Zone, and Persona scale preferences so common desktop, laptop, ultrawide, resized-browser, and mobile-landscape viewports keep the same composition instead of falling into alternate legacy layouts.

When the table reaches its safe geometry floor or real Field columns/slots begin to collide, PRLX shows EXPAND SCREEN instead of crushing, overlapping, or fundamentally rearranging the board. Responsive recomputation is animation-frame throttled so dragging/resizing a browser window does not create unnecessary CPU churn.

Static cache advances to 493000. Migration 0122_ui_torture_universal_layout_v493.sql resets active matches at deployment.

V4.9.2 INTERACTION AUTHORITY + FIELD OCCUPANTS ARCHITECTURE CHECKPOINT 4.9.2

Live match input now routes through a single Match Interaction Authority for hover, pin, targeting, Fodder, confirmation, cancellation, and motion gating. Historical direct-control variables remain compatibility mirrors only and are explicitly deprecated while the old paths are retired.

The battlefield now uses explicit Field Occupants: a Field Slot contains either a Monster or Utility occupant. Legacy Trojan pseudo-Monster snapshots normalize on load, while Monster-only actions, AI evaluation, defense, Sacrisummon, stat effects, and attachments use Monster-only helpers.

Performance cleanup frame-throttles Hand hover hit-testing, pauses live polling in hidden tabs, slows the old 900ms polling cadence, and adds a version-aware quiet-poll response so unchanged online matches do not rebuild and resend full match/settings snapshots. Local-first AI/PvP batching remains intact.

A static /version.json manifest now powers a non-blocking OUT OF DATE notice directly above Pinny when a newer build is deployed. It does not hard-lock a live match. Public board terminology is now Field Slot; the old monsterZones format key survives only as a deprecated storage compatibility key.

Static cache advances to 492000. Migration 0121_v492_interaction_field_occupant_cleanup.sql closes pre-4.9.2 lobby/live/AI/exhibition matches.

V4.9.1 RESURRECT // GRAVE EXCHANGE CHECKPOINT 4.9.1

RESURRECT's primary ability is now Action — Send this card to the Grave to bring one card back from the Grave. The controller explicitly chooses one card already in their Grave, returns it to Hand, and sends RESURRECT itself to Grave instead of Recovery.

The old Recovery 3 destination is removed while RESURRECT's existing secondary move remains intact. A reusable built-in RESURRECT/RECLAIM preset now carries the same Action, target, retrieval, and Grave-destination metadata.

Static cache advances to 491000. Migration 0120_resurrect_grave_exchange_v491.sql updates both RESURRECT and the alternate RESSURECT title spelling and resets pre-update matches.

V4.8.10 HAND FOCUS LAYERS + TROJAN 1 HP CHECKPOINT 4.8.10

Friendly Hand hover focus is now about 10% larger than rest, while click/pin focus is about 15% larger than hover. Both remain locked to the same 6px viewport-bottom baseline.

Click-focusing a card no longer disables the rest of the Hand. The pinned card stays in the foreground while other Hand cards can still carousel and render a lower-z hover preview behind it.

Trojan Chicken remains a Utility and cannot attack, defend, Sacrisummon, or expose AIM/DMG/AC. While planted it now has exactly 1 HP as its only field durability stat. Static cache advances to 4810000; migration 0119_hand_focus_layers_trojan_hp_v4810.sql resets pre-update matches.

V4.8.9 EXACT HAND LANDINGS + PARALLEL HOVER CHECKPOINT 4.8.9

Cards moving directly from Field/Recovery into Hand now land on the exact destination card slot. The motion system can no longer fall back to the full Hand container rectangle, eliminating the giant Hand-sized return animation seen especially during Sacrisummons.

Friendly Hand hover focus is now about 15% larger than the resting card while retaining the exact 6px viewport-bottom anchor. The focused card's horizontal position is derived from its immutable fan-slot center, so browsing left-to-right or right-to-left settles the card directly parallel above its resting slot.

Static cache advances to 489000. Migration 0118_hand_landing_hover_alignment_v489.sql resets pre-update live/AI/exhibition matches.

V4.8.8 TROJAN CHICKEN // SAME-FIELD DISARM CHECKPOINT 4.8.8

Trojan Chicken's negative payload is clarified and enforced: when it is broken, creatures on the occupied field gain Curse + attack Disadvantage unless Trojan Chicken was destroyed by a Monster on that same field.

A Monster may now spend one of its attacks to clear a Trojan Chicken occupying its own field. That same-field break uses no fake Utility hit/damage math and disarms TROJAN PAYLOAD. Breaking it from the opposing field still triggers the payload normally.

Static cache advances to 488000. Migration 0117_trojan_same_field_disarm_v488.sql updates Trojan Chicken metadata/preset wording and resets pre-update live matches.

V4.8.7 TROJAN CHICKEN // TRUE FIELD UTILITY CHECKPOINT 4.8.7

Trojan Chicken is now a true statless Utility even while occupying an opponent Monster Zone. It exposes no HP, AC, AIM, DMG, Fatigue, attack, defense, Sacrisummon, Fodder, or creature-only effect state.

Using Trojan Chicken now requires explicitly selecting an open enemy field slot and clicking that selected slot again to commit. It can no longer auto-drop into the first open zone. The planted card clearly identifies its original owner versus the player whose slot it is blocking.

A creature attack breaks the inert Utility directly without fake hit/AC or damage rolls, then Trojan Payload applies Curse + Disadvantage and the card returns to its original owner's Buried pile. Static cache advances to 487000; migration 0116_trojan_statless_field_utility_v487.sql resets pre-update matches.

V4.8.6 PERSONA TARGET LOCK + SYMMETRIC HAND CHECKPOINT 4.8.6

Fixed Persona attack confirmation when the first click selected the Persona and spawned its focus clone. The focused clone now retains Persona runtime identity, so clicking the selected Persona a second time commits the attack instead of being swallowed by the attack-focus lock.

Friendly Hand hover focus returns to the subtle larger size established before the V4.8.3 reduction while keeping the exact 6px viewport-bottom anchor. Carousel parting is now perfectly symmetric: every card left of the active card moves left by the same amount and every card right moves right by the same amount.

Static cache advances to 486000. Migration 0115_persona_attack_target_hand_symmetry_v486.sql closes pre-update live/AI/exhibition matches.

V4.8.5 SMALL → MEDIUM FREE SACRISUMMON CHECKPOINT 4.8.5

Free Sacrisummon is now restricted to the first valid Small → Medium Sacrisummon each turn. After that Free use, another Small → Medium Sacrisummon requires an Action.

Medium → Large and Large / 2×Medium → Giant Sacrisummons are Action-only from the start. Using one of those larger Action Sacrisummons does not consume an unused Small → Medium Free allowance.

Static cache advances to 485000. Migration 0114_small_to_medium_free_sacrisummon_v485.sql closes pre-update live/AI/exhibition matches.

V4.8.4 EXACT HAND HOVER VIEWPORT ANCHOR CHECKPOINT 4.8.4

Hand hover-focus now finishes at a true screen-space baseline: the rendered card bottom is exactly 6px above the visible viewport bottom, independent of Hand position, card type, display scaling, browser zoom, or monitor size. Click/pin focus grows in the same anchored area.

Fixed a cross-machine timing bug where the viewport clamp could measure the focus card while its arrival animation was still moving/scaling from the source Hand card. Final rectangle verification now runs after arrival finishes, eliminating refresh-rate-dependent landing heights.

Static cache advances to 484000. Migration 0113_exact_hand_hover_viewport_anchor_v484.sql closes pre-update live/AI/exhibition matches.

V4.8.3 LOW HAND FOCUS BASELINE CHECKPOINT 4.8.3

Hand hover focus now stays physically connected to the resting Hand instead of inflating into a large inspection card. Hover uses the player's actual Hand-card scale as its reference and grows only slightly; clicking/pinning grows one additional step in the same location.

All Hand card types share one focus geometry. Hover and click focus both keep the card bottom exactly 8px above the visible viewport bottom, with rendered-rectangle correction through visualViewport. Width and vertical center animate together so clicking a hovered card enlarges in place rather than jumping upward.

Static cache advances to 483000. Migration 0111_low_hand_focus_baseline_v482.sql closes pre-update live/AI/exhibition matches.

V4.8.1 SACRISUMMON FOCUS ISOLATION CHECKPOINT 4.8.1

Fixed the V4.8 interaction conflict where Sacrisummon Fodder selection could simultaneously trigger ordinary hover focus and the Hand carousel, causing source/Fodder cards to pop between two geometries and become difficult or impossible to click.

Sacrisummon choice is now a focus-dead targeting state: entering it clears and pauses the friendly Hand carousel, suppresses the focus portal, and keeps the summoning source plus eligible/selected Fodder stationary. Click an eligible Fodder once to select it, then click the selected Fodder again to commit when the recipe is complete.

CANCEL SACRISUMMON remains directly attached to the resting source card and is positioned above it for reliable access. Static cache advances to 481000. Migration 0110_sacrisummon_focus_lock_v481.sql closes pre-update live/AI/exhibition matches.

V4.8.0 UNIFIED DESKTOP HAND + STABLE CAROUSEL CHECKPOINT 4.8.0

Fixed a deeper cross-machine Hand split: fine-pointer/hover desktops now keep one authoritative desktop match layout even when Windows display scaling or browser zoom makes the CSS viewport narrower than historical mobile breakpoints. Host/local and guest/opponent boards share the same field-slot and Hand fan-position geometry.

Live gameplay drag/drop has been removed. Friendly Hand browsing now uses immutable static hover anchors while the visible cards smoothly part and lift around the active card, so carousel motion cannot move a new card underneath the pointer and recursively jumble the Hand.

Every card type focused from the Hand uses the same hover-focus size and bottom baseline: 20px above the visible desktop viewport bottom (14px mobile). Existing per-account Hand/Field/Utility-Zone/Persona scale sliders remain available.

Card-game JS/CSS/engine assets now revalidate network-first while online to prevent a guest from quietly retaining an older Hand implementation. Static cache advances to 480000. Migration 0109_hand_carousel_unification_v480.sql closes pre-update live/AI/exhibition matches.

V4.7.9 RESPONSIVE HAND + PERSONAL TABLE SCALE CHECKPOINT 4.7.9

Friendly Hand source geometry was stabilized across browsers, DPI settings, zoom levels, and pointer hardware as an interim defense against recursive hover cascades. V4.8 supersedes the visual freeze with stable-anchor carousel selection.

Hover-focused cards gained visible-viewport clamping and rendered-rectangle correction so focus cards cannot disappear beneath the bottom of the display.

Player Settings added persistent personal scale sliders for Hand cards, Field cards, Utility Zones, and Personas. These alter real local layout dimensions/hitboxes and never alter match state or the opponent's settings.

Static cache advanced to 479000. Migration 0108_responsive_hand_scaling_v479.sql closes pre-update lobby/active matches.

V4.7.8 SACRISUMMON AUTHORITY + NAT 20 TARGET CUE CHECKPOINT 4.7.8

Sacrisummoning is now a strict sequence: the first Sacrisummon performed each player turn is Free, and every later Sacrisummon that turn requires an Action. The engine no longer offers simultaneous Free/Action duplicates before the allowance is spent, and stale/direct commands cannot create a second Free Sacrisummon.

The old bottom/yellow Sacrisummon Fodder panel and unified confirmation step are removed from Sacrisummon resolution. Choose the Sacrisummon option, click legal Fodder once to select it, then click the selected Fodder again to commit when the recipe is complete.

On a natural-20 Persona attack that bypasses a defending creature, the target arrow now stays on the protector through attack and damage dice math, then retargets to the Persona at the attack-motion handoff.

Static cache advances to 478000. Migration 0107_sacrisummon_nat20_presentation_v478.sql closes pre-update lobby/active matches so stale payment and targeting state cannot carry into V4.7.8.

V4.7.7 LIVE PLAY INPUT CLEANUP CHECKPOINT 4.7.7

Restored the intended Sacrisummon economy: each player receives one valid Free Sacrisummon per turn. After that allowance is spent, later valid Sacrisummons may spend an Action; Bonus Actions never pay for Sacrisummons.

Event focus no longer jumps hundreds of pixels away from the Event rail. Hover focus is smaller, shifts only slightly left, remains under the pointer, and leaves the rest of the Event stack exposed for direct browsing.

Target and Fodder locking now uses direct two-click confirmation. Click once to select/highlight, then click the same selected target or Fodder again to commit. The separate LOCK TARGET / LOCK SACRISUMMON buttons are retired from live targeting.

Static cache advances to 477000. Migration 0106_live_play_input_cleanup_v477.sql closes pre-update lobby/active matches so old clients cannot mix confirmation or Sacrisummon rules with V4.7.7.

V4.7.6 INITIATIVE BOOTSTRAP UNBLOCK CHECKPOINT 4.7.6

Fixed the shared startup lock affecting both Private PvP and Play vs AI. Matches were already created in Initiative, but the play page hid and disabled the Initiative controls until every card image finished loading and decoding.

Initiative now appears immediately from authoritative match state and can be rolled while the battlefield remains sealed and card art primes invisibly behind it. If art is still loading after both rolls resolve, only the battlefield waits — not the Initiative command.

Static cache advances to 476000. Migration 0105_initiative_bootstrap_unblock_v476.sql closes pre-update lobby/active matches so old startup state cannot carry into the new client.

V4.7.5 CREATURE AIM BAND REFORMAT CHECKPOINT 4.7.5

Creature AIM now has explicit size bands independent from DMG/P size MOD: Small +3 to +4, Medium +4 to +7, Large +6 to +8, and Giant +7 to +10. Medium +6 is the normal centerline; +7 is reserved for unusually accurate low-damage builds.

Legacy/missing AIM now falls back to +3/+6/+7/+8 by size, the metadata editor enforces the correct band, and the public rules/build contract now use the same authority instead of older size-derived AIM assumptions.

Static cache advances to 475000. Migration 0104_creature_aim_band_reformat.sql normalizes existing playable Monsters while preserving authored AIM already inside the new legal band.

As a gameplay rules release, deployment also closes pre-update active lobbies/matches so legacy AIM snapshots cannot continue against the V4.7.5 engine. Standard and Attrition AI soak both completed 100/100 matches with zero stalls.

V4.7.4 TROJAN CHICKEN + ABILITY PRESETS CHECKPOINT 4.7.4

Trojan Chicken is now a Utility that plants itself into an open enemy Monster Zone as a breakable 1 HP / 10 AC object. It cannot attack or defend; when broken, its triggered payload applies Curse and attack Disadvantage to the opposing field through that player’s next turn.

Added reusable metadata presets for Trojan field placement, Trojan’s triggered payload, and Bastidragon’s threshold transformation. Secondary triggered abilities now resolve through the generic trigger runner.

Static cache advances to 474000. Migration 0103_trojan_chicken_and_bastidragon_presets.sql links the live cards to the new built-in presets.

V4.7.3 LIVE PERSONA READINESS CHECKPOINT 4.7.3

Persona action badges now show the live recovery state during matches: P3 → P2 → P1 → PR, where PR means the Persona Action is ready.

The badge reads the same authoritative cooldown value as the rules engine, while static Persona previews keep the printed base P value for deckbuilding reference.

The AC shield linework has been corrected: its authored structural detail now sits outside the shield perimeter as broken rails and edge ticks. The shield face remains completely empty while retaining the restrained sword-like outer glow.

Static cache advances to 474000. No database migration is required.

V4.6.10 SHIELD STRUCTURAL LINEWORK CHECKPOINT 4.6.10

The AC modifier shield keeps its restrained hollow neon perimeter while gaining authored internal linework: a bright central fuller and angular reinforcement ridges that visually match the sword overlay's constructed detail.

The new internal strokes inherit the same severity color as the shield and use only a tiny line glow—no inner fill or broad wash returns.

Static cache advances to 461000. No database migration is required.

V4.6.9 CONTINUOUS CARD SCALE + SHIELD/AIM POLISH CHECKPOINT 4.6.9

Card transfers now interpolate size and position as one continuous physical motion between Hand, field, Recovery, Buried, defense staging, and other zone-size changes. Focus grow/shrink transitions receive the same treatment.

The AC shield has a thicker sword-like line and restrained neon glow while staying below the title/AIM rail. Printed AIM now matches creature-size number weight and its crosshair reaches the edges of the title box.

Static cache advances to 461000. No database migration is required.

V4.6.7 PRINTED AIM + PERSONA FIELD SCALE CHECKPOINT 4.6.7

AIM is now an independently editable printed Monster/Persona stat. Card title rails mirror creature size on the left with a thin white AIM crosshair and signed live modifier on the right, while existing cards retain their former size-derived AIM until explicitly edited.

Persona P values now sit beside their action-type badge, and Personas plus active defenders match the live Monster-zone card scale instead of the friendly Hand scale.

Static cache advances to 461000. No database migration is required.

V4.6.6 GLOBAL PRESENCE + MUSIC TRANSPORT CONTROLS CHECKPOINT 4.6.6

USERS ONLINE moved beside Pinny and the Card Game music player gained Previous, Play, Pause, Next/Skip, and persistent Loop controls without creating parallel audio instances.

Static cache advanced to 466000. No database migration was required.

V4.6.3 STRATEGIC DUPLICATE DECKBUILDING + LEGACY ABILITY CLEANUP CHECKPOINT 4.6.3

AI deckbuilders now understand duplicate-enabled formats as a real deckbuilding resource. Each current card defaults to up to three copies when a format enables duplicates, and higher difficulties deliberately concentrate on their strongest/core-synergy cards while respecting each card's configured maximum.

Legacy ability copy that still contains the retired CHATGPT card name is cleaned to an unnamed ability, both in live metadata normalization and migration 0101.

Static cache advances to 463000. Migration 0101_ai_duplicate_defaults_and_legacy_ability_cleanup.sql updates current card duplicate defaults and stored legacy ability copy.

V4.6.2 PERSONA + DEFENDER SIZE NORMALIZATION CHECKPOINT 4.6.2

Personas and active defending cards now match the friendly Hand card scale, with defenders measuring the live Hand dimensions so future Hand-size tuning carries through automatically.

No database migration was required.

V4.6.1 HORIZONTAL ACTION TYPE RAIL CHECKPOINT 4.6.1

The compact card action rail is reduced to fixed-size A / BA / R / T indicators in one horizontal row, with duplicate action types collapsed and passive abilities omitted.

No database migration was required.

V4.6.0 IMPOSSIBLE FINISHER MODE + PILE UX + READABLE ACTION LABELS CHECKPOINT 4.6.0

Impossible now treats critical Persona HP as a forcing conversion window. At 4 HP or less, a legal direct Persona hit/damage line outranks buffs, summons, and development; at 5–7 HP it converts aggressively when the available pressure is credible.

Recovery/Buried hover and click menus are easier to scan without changing the board-zone appearance. Recovery sorts by soonest return, Buried shows newest first, and pile cards carry clearer status/inspect affordances.

Card action-type badges now use one fixed readable size across resting and hover-focus cards. A/BA/R/T badges share the same box and preset/common ability names use the exact same text size as the badge.

Static cache advances to 460000. No database migration is required.

V4.5.9 D1 NETWORK RETRY + FIELD QOL CHECKPOINT 4.5.9

Deployment now tolerates transient Wrangler/Cloudflare transport failures such as fetch failed. Safe D1 reads/listing and migration application use bounded network backoff in addition to the existing 7403 authorization and 7500 internal-error recovery paths.

Card Game QoL adds stronger resting AIM crosshair arms, a compact desktop Hand/max/Deck counter, next-ready timing on closed Recovery piles, and a small READY marker on cards with a currently legal move.

Static cache advances to 459000. No database migration is required.

V4.5.8 CARD ACTION READOUT + STREAMING ATTACK CUES CHECKPOINT 4.5.8

Card faces now expose their usable activation types directly beneath the MONSTER / HEX / UTILITY rail. Action, Bonus Action, and Reaction reuse the existing colored ability badges; conditional triggered abilities use a new yellow T badge, while passive abilities remain omitted. Named common/preset abilities include the preset name beside the activation badge.

HEX and UTILITY identity rails are raised to align with MONSTER, ability-copy autoscroll is moderately faster, and attack-target arrows now continuously stream toward the declared target instead of pulsing in place.

Static cache advances to 459000.

V4.5.7 CONTINUOUS EFFECT-TO-PILE HANDOFF CHECKPOINT 4.5.7

Cards that resolve into Recovery or Buried now physically leave the effect screen and travel into the correct pile. The centered effect card crossfades into an identical motion proxy at the exact same size and position before any travel begins.

Recovery/Buried transfers now shrink continuously into the pile target and finish with a short arrival pulse. The authoritative battlefield remains visually deferred until the transfer finishes, preventing the destination pile from updating before the card gets there.

Static cache advances to 457000.

V4.5.6 AI ACTION-HORIZON + LIVE ADAPTATION CHECKPOINT 4.5.6

Nightmare and Impossible no longer spend expiring offensive buffs they cannot use. AI buff value is calculated after paying the ability cost, so a one-turn AIM/DMG/Advantage buff is rejected when no legal attack resource remains before expiration.

Impossible adapts inside the live match again. Its search now maintains a bounded opponent model from observed pressure, removal, summons, useful buffs, reactions, and Hex usage, while remaining independent from Nightmare's persistent global strategy profile.

Nightmare exhibition battles now train Nightmare. Completed AI-v-AI exhibitions involving Nightmare contribute low-weight learning samples (0.16) to the existing persistent profile, while human matches retain greater influence.

Impossible search ordering was strengthened without adding an archetype script. Static cache advances to 456000.

V4.5.5 D1 MIGRATION AUTH RECOVERY CHECKPOINT 4.5.5

Cloudflare authorization recovery now covers D1 migration application itself. A 7403 during wrangler d1 migrations apply is captured, retried safely, and can trigger one Wrangler OAuth refresh before the migration resumes.

Migration retries resume instead of duplicating schema work. D1 migration bookkeeping determines which migration remains unapplied, while a failed migration is rolled back before retry.

The V4.5.4 duplicate-card migration remains unchanged and is applied through the repaired deployment wrapper. Static cache advances to 455000.

V4.5.4 MATCH-SCOPED ART + EXACT FOCUS RETURN CHECKPOINT 4.5.4

Resident card-art loading is now strictly scoped to the current match. The opening gate no longer requests the global playable-art manifest. It decodes only cards already represented by the match plus the authorized deck snapshots for that room; private opponent-only artwork still passes through the mandatory decode gate immediately before first reveal.

Highlighted Hand cards now complete the entire reverse transformation before their resting card returns. The source card remains hidden for the whole focused lifetime, the enlarged clone visibly shrinks/rotates back into its exact Hand rectangle, and the resting card is restored only after that animation has landed. Re-hovering during the return cleanly cancels the reverse transition without flashing a duplicate.

Pause Rolls, full Pause, local-first transport, resident Blob-backed art, and the hard desktop Hand/field boundary remain unchanged. Static cache advances to 454000.

V4.5.2 RESIDENT CARD ART + HARD HAND/FIELD BOUNDARY CHECKPOINT 4.5.2

Card artwork now becomes resident match memory before the table is revealed. The opening cover preloads the public playable art pool plus every currently visible match card, fetches primary art into Blob-backed object URLs, decodes it once, and keeps those URLs alive for the match. Later field cards, Hand cards, focus cards, and motion proxies reuse the resident bitmap instead of reopening a network/decode lifecycle.

Freshly revealed/custom cards cannot animate before their art is ready. Presentation tasks now own and await an art-residency promise before motion begins. Match-page image errors no longer trigger cache-busting retries that can blank an already-visible card.

Desktop friendly Hand and friendly field are now hard-separated. Hand cards are top-anchored below the Monster row; when vertical space is tight the Hand may extend below the viewport, but it can never climb upward across the friendly field. Mobile keeps its existing adaptive Hand drawer.

The compact AIM reticle is easier to read without becoming larger. Its four crosshair arms extend farther toward the existing outer ring while the badge footprint and centered value stay unchanged. Static cache advances to 452000.

V4.4.10 ENEMY HAND LAYERING + UNIFIED TOP CONTROLS CHECKPOINT 4.4.10

Pulled enemy Hand cards now stay above the enemy Monster field. The enemy Hand fan itself becomes the higher stacking context only while hovered, focused, or expanded, so revealed and hidden cards can pull down cleanly without being clipped behind field Monsters.

Match controls now occupy one top-right line. The existing controls are physically ordered MY ACCOUNT → PAUSE → LIVE BATTLE FEED → ↑, preserving the real account drawer and the single authoritative Pause/header-collapse handlers.

AIM number styling now exactly matches Sword/Shield badges. The centered reticle value uses the same circular dimensions, border weight, color-mixed fill, glow, text stroke, and responsive font sizing while retaining the shared severity gradient. Static cache advances to 4410000.

V4.4.9 COMPACT AIM + MATCH CONTROL POLISH CHECKPOINT 4.4.9

AIM is now a compact top-right crosshair badge. The artwork-scale reticle is gone; the signed modifier sits in the center of a small reticle occupying roughly one-eighth of the art footprint.

AIM now uses the exact Sword/Shield severity palette. Both persistent and landing-feedback AIM changes run through the same continuous white → positive lime/green/turquoise/blue and white → negative yellow/orange/red interpolation.

Match chrome is cleaner. Pause and top-bar minimize move away from the account drawer and snap directly beside the collapsed AI-controls expander. The existing MY ACCOUNT drawer is unobstructed again. Static cache advances to 449000.

V4.4.8 MOTION CONTINUITY + DECODED CARD ART CHECKPOINT 4.4.8

Card movement no longer has a geometry-based skip path. If a source or destination is briefly unmeasurable, the client synthesizes a card-sized visual rectangle instead of dropping the animation. Very short transfers also take a visible curved excursion so small distances cannot read as instant movement.

Attackers now return to the exact live Monster-zone position. The destination is re-measured after impact and the motion proxy interpolates into that rectangle before the real card is revealed, removing last-pixel snap-back.

Deck and motion art is predecoded and kept warm. Visible/local Deck cards are included in the initial hidden preload, decoded images remain referenced in memory, and fresh motion/presentation events prewarm immediately. Equipped cards also sit lower, beginning about halfway down their host. Static cache advances to 449000.

V4.4.7 PRESENTATION-SAFE SYNC + FULL MATCH PAUSE CHECKPOINT 4.4.7

Server synchronization can no longer interrupt the visual presentation pipeline. PvP verification, spectator polling, recovery payloads, and checkpoint-fork reconciliation retain the newest authoritative memory but defer battlefield redraws until active dice, card reveals, combat motion, modal overlays, and presentation queues release the screen. Older out-of-order server versions are ignored rather than snapping the display backward.

Pause is now a true full-match freeze. AI scheduling, replay advancement, auto-end, Web/CSS animation progress, dice and reveal clocks, combat travel, phase flashes, and presentation timeout clocks stop while paused. Paused time is excluded from AI watchdog aging, preventing false stall recovery immediately after resume.

The top match HUD can now collapse to a thin rail. A small arrow beside the orange pause control hides the PRLX title, menu/accent controls, and sync strip without recalculating Hand geometry; the preference persists locally. Static cache advances to 449000.

V4.4.6 D1 AUTHORIZATION RECOVERY HOTFIX CHECKPOINT 4.4.6

Deployment now understands Cloudflare D1 authorization code 7403. Safe schema/list reads receive short bounded retries before setup asks Wrangler to refresh its login, so a temporary control-plane account rejection no longer immediately aborts the release.

Persistent authentication failures now identify the real credential problem. Explicit Cloudflare API-token/key overrides are reported directly, while OAuth-based local deployments can reauthenticate once and resume the exact failed schema check. A second authorization rejection produces a targeted active-account/D1-permission diagnostic.

The regression suite now reproduces the exact 7403 → retry → re-login → successful PRAGMA sequence as well as the existing transient D1 7500 recovery. No database migration or Card Game protocol change is required. Static cache advances to 446000.

V4.4.5 UNIVERSAL LOCAL PREDICTION + LOCKED HAND LAYOUT CHECKPOINT 4.4.5

PvP now uses the same local-first philosophy as AI play without exposing hidden cards. Visible human commands are optimistically resolved in the browser with the canonical rules engine and deterministic per-command entropy, while secret Hands, Events, and Deck cards are represented by inert prediction placeholders. Commands are verified upstream in retry-safe batches instead of requiring a D1 write for every click.

PvP batch verification performs one authoritative room write for several moves. Lost responses retry the same batch idempotently. If hidden information changes a predicted line, the server can accept the valid prefix, persist it once, and return an authoritative correction while speculative tail commands are discarded. Standard, Attrition, and saved Custom Formats all inherit the transport behavior through the same room-mode pipeline.

The Hand no longer rebuilds or reflows during unrelated battlefield activity. Unchanged Hand DOM nodes survive board rerenders with their exact transform and scroll state. Local and enemy Hand geometry are recomputed independently, so an opponent draw cannot re-layout your Hand. Generic combat focus, motion, defense, stat updates, reconciliation, and field-card movement no longer write Hand carousel transforms; only direct Hand interaction, real Hand membership changes, and viewport resize may do so.

Migration 0099_close_active_matches_v445.sql closes pre-4.4.5 active rooms so no live match mixes old per-command PvP transport with batched verification. Static cache advances to 445000.

V4.4.4 LOCAL-FIRST GAMEPLAY + AIM VISIBILITY CHECKPOINT 4.4.4

Player-vs-AI and AI-vs-AI combat now run locally in the browser. The deterministic Card Game engine is shipped as a browser module, with a dedicated browser Web Worker running rules/AI computation off the visual thread, so attacks, defense, Initiative, AI decisions, Pass recovery, and human commands in solo AI matches no longer wait for a Cloudflare/D1 round trip before the next gameplay state exists.

Cloudflare is durable memory instead of the combat clock. Local play uploads revision-chained checkpoints in batches (up to eight dirty commands or roughly six seconds, with fast saves at turn/Initiative/completion boundaries). Failed uploads retry the exact same checkpoint idempotently while play continues; stale tabs are prevented from overwriting newer memory. AI-v-AI replay frames are uploaded in the same batches, while history/learning work remains deferred off the response path.

Spectating and replay now benefit from the same batched state model. Spectators continue reading server memory, but the controlling browser can advance many local micro-actions without requiring equivalent server compute. Human-v-human remains server-authoritative because two browsers and hidden Hands still require a neutral referee.

The AIM crosshair is now deliberately readable. It uses the same positive/negative/neutral polarity and strong glow treatment as the sword/shield overlays, keeps its full-art scale with much stronger opacity/stroke, and moves its numeric modifier into a glowing badge outside the upper-right reticle curve so the crosshair itself remains visible.

Migration 0098_close_active_matches_v444.sql closes pre-4.4.4 active rooms so no old per-command AI room survives the transport switch. Static cache advances to 444000.

V4.4.3 AI TRANSPORT + SYNC DEADLOCK HARDENING CHECKPOINT 4.4.3

AI combat no longer depends on optional database reads for every move. Active matches now keep the card-rule snapshot they started with, table-accent reads are cached/best-effort, and transient D1 session/room reads receive bounded retries instead of immediately collapsing the match request.

Lost responses and version races recover from the authoritative state directly. If a command committed but Cloudflare lost the response, the server reconciles the advanced room version and the client adopts that newer state from the retry/race payload without requiring a second sync GET. This prevents the old SYNC RETRY // STATE N failure chain from becoming a permanent stall.

Both Player-vs-AI and AI-vs-AI now have AI-only watchdog recovery. Stalled decisions escalate through Pass Move and Pass Turn, Initiative can be recovered, returning to the tab immediately restarts the AI scheduler, and recovery is forbidden from consuming a human-owned decision or turn. Replay/history/learning writes are best-effort and no longer delay authoritative combat responses.

Migration 0097_close_active_matches_v443.sql closes any pre-4.4.3 active rooms on deploy so an old wedged scheduler cannot survive the update. Static cache advances to 443000.

V4.4.2 TRANSIENT REQUEST + ENEMY HAND HOTFIX CHECKPOINT 4.4.2

Enemy Hands are physically tucked again. The resting fan now anchors to its own card height so 75% remains above the top edge until hover/focus deploys the entire Hand to roughly 75% visible.

Player-vs-AI uses one authoritative request stream again. The extra 4.4.0 stall-assist POST path was removed from normal AI matches, AI advancement cannot overlap a state refresh, and transient 503/timeouts back off before resync instead of creating request pressure.

503 diagnostics are actionable now. When Cloudflare supplies a response body or Ray ID, the Card Game surfaces it instead of only saying “Request failed (503).” No database migration is required. Static cache advances to 442000.

V4.4.0 HAND STABILITY + AI FLOW RECOVERY CHECKPOINT 4.4.0

Hand add/remove layout is deterministic again. The fan now uses each card's untransformed physical width instead of measuring a rotated/scaled transition frame, eliminating recursive reflow jitter when drawing, returning, playing, or Burying cards.

Card names are truly centered inside the title box. Monster title rails now use symmetric internal spacing instead of technically centered text inside an asymmetrically padded box.

AI flow recovery is hardened. Nightmare and Impossible immediately End Turn when that is their only legal main-phase decision, and the authoritative stall watchdog now covers Player-vs-AI as well as AI-vs-AI. AI exhibition controls now provide PASS MOVE and PASS TURN recovery options instead of the old Force AI Roll control.

No database migration is required. Static cache advances to 440000.

V4.3.7 BATTLEFIELD COMPOSITION + HIDDEN HAND REWORK CHECKPOINT 4.3.7

Opponent Hands now behave like a physical ceiling fan. Hidden cards use the PRLX/JayKoh-style card back, previously revealed physical cards stay known, and AI-vs-AI remains open-table. Enemy Hands rest upside-down with roughly one quarter visible, pull down to at least three quarters on hover, and a revealed highlighted card uses the full upright hover-focus presentation without exposing unrevealed cards.

Unfocused battlefield cards are larger and Hands are tighter. The universal battlefield presence increases by roughly 15%, the friendly side receives an additional size increase, the local Hand sits approximately 10–15px from the bottom edge, and Hand positions are measured against actual card/container width so small Hands stay edge-to-edge instead of stretching across the screen.

The battlefield now allocates space around the friendly Hand mathematically. The opponent board shrinks by half the Hand allocation while the local board gains the same amount; after subtracting the Hand row, both Monster fields retain matching usable height. Monster Zones expand across all remaining width and continue supporting 1–5-zone Custom Formats. Static cache advances to 437000. No database migration is required.

V4.3.5 LIVE SPECTATING + MUSIC VOLUME CHECKPOINT 4.3.5

The Game Menu now has a live Spectate browser. Signed-in players can watch active PvP and player-vs-AI matches read-only, while normal hidden-Hand/reveal-memory rules remain enforced so spectating cannot reveal secret cards. Running AI-vs-AI exhibitions remain intentionally open-table.

Spectator authority is isolated from player authority. Spectators receive no legal actions and cannot POST match commands. AI-vs-AI viewers also cannot become extra simulation drivers; pause/force/advance control remains with the exhibition owner.

Card Game music now has a persistent volume slider on menus and in matches, sharing the same saved volume/mute preference while retaining the Beat Tape-backed Menu and Match playlists introduced in V4.3.4. Static cache advances to 435000. No database migration is required.

V4.3.4 OPEN CUSTOMS + HIDDEN HANDS + GAME MUSIC CHECKPOINT 4.3.4

Custom Formats are no longer boxed into arbitrary numeric ceilings. Monster Zones remains capped at five for screen space; deck size, HP, Hand sizes, and draw count are open-ended subject only to logical rules. Minimum Events is now configurable and enforced alongside Maximum Events, including AI deck generation.

Opponent Hands now use remembered hidden information. Normal PvP/AI opponents expose card backs until a physical card is publicly revealed; that specific card stays known if it returns to Hand while new draws remain hidden. AI exhibition spectators and AI replays remain fully open-table. Battlefield and Hand cards are larger, with the enemy Hand tucked mostly above the screen and revealed cards inspected through the upside-down hover fan.

Monster size colors are now unmistakable: Small baby blue, Medium green, Large yellow, Giant red. Menu and in-game soundtracks now default to Beat Tape rotations, with DEV controls for independent multi-track playlists or dedicated uploaded game audio.

Four additional polish changes land here: active-turn spotlighting, numbered/highlighted Monster Zones, a latest-action combat ticker, and Quick Resume in the game-menu top bar. Migration 0093_custom_format_event_floor_and_card_game_music.sql adds the Event floor and soundtrack configuration. Static cache advances to 434000.

V4.3.3 DEFENSE COUNTER CONTINUITY + AIM HUD + DEV FORMATS CHECKPOINT 4.3.3

Counterattacks now originate directly from the staged Defense Zone. The visual defense guard remains on the board through the Natural-1 counter window and only returns to its Monster Zone on the explicit unblock event.

AIM now uses a full-art crosshair HUD. The reticle spans the artwork at roughly 40% opacity behind the sword overlay, with the signed AIM modifier riding its lower-right curve. Small Hands now use an adaptive centered fan instead of jumping to the far edges.

Custom Formats are DEV-only and can configure 1-5 Monster Zones per side. The chosen zone count is authoritative in match state, AI/open-slot logic, live battlefield layout, and AI replay presentation. Turn 1 now explicitly refreshes a full Action + Bonus Action when Initiative resolves.

Migration 0092_card_game_format_monster_zones.sql adds the saved Monster Zone setting. Static cache advances to 433000.

V4.3.2 SECONDARY FOLLOW UP + CARD COLOR LANGUAGE CHECKPOINT 4.3.2

Follow Up can now combo through three distinct Monsters. The first Follow Up still spends Reaction; when a third different unfatigued Monster remains, one free Secondary Follow Up opens. It cannot reuse either earlier attacker and cannot chain again.

Card readability now has a universal color language. HEX is purple, UTILITY cyan, and MONSTER orange-yellow across the shared card renderer. Monster S/M/L/G letters progress from sky blue through teal/emerald to forest green without recoloring the badge itself.

Static cache advances to 432000. No database migration is required.

V4.3.1 DUPLICATE-SAFE COMBAT + GLOBAL FORMAT SWITCHER CHECKPOINT 4.3.1

Mirrored copies no longer cross-wire presentation. Runtime targeting, attack motion, damage/fatigue presentation, defense guards, drag targets, and selected-target focus now resolve cards by player + instance identity instead of instance ID alone, so identical cards on opposing fields stay physically distinct.

Format selection now lives in the persistent game-menu top bar. The selected Format remains changeable while moving between Play, Custom Game, Loadouts, Continue, Rules, and AI Lab, and the same preference carries into the Loadout Builder. Active matches remain locked to the Format snapshot they were created with.

Static cache advances to 431000. No database migration is required.

V4.3.0 GAME MENU OVERHAUL + CUSTOM FORMATS CHECKPOINT 4.3.0

PRLX TCG now opens like a video game instead of a website lobby. The public card-game route is a stripped title screen with Play Game, Loadouts, How To Play, and About Game; Play Game enters a full-screen PRLX command menu with an animated idle battlefield, persistent navigation rail, matchmaking, Continue, Loadouts, rules, and staff AI Lab.

Custom Games now use saved server-side Formats. PRLX staff can create reusable rulesets with LIVE/OFF publication, deck or all-access play, 6-40 card Loadout size, 10-100 Persona base HP, 0-3 Events, opening Hand, max Hand, and 0-3 draws per turn. Active rooms snapshot the selected rules so later format edits cannot mutate a match already in progress.

The Loadout Builder is Format-aware. LIVE Custom Formats appear beside Standard and Attrition and dynamically enforce their exact card target and Event maximum. Migration 0091_card_game_custom_formats.sql adds persistent format storage. Static cache advances to 430000.

V4.2.5 SAFE GALLERY TRASH + DM TOOLKIT EXPANSION CHECKPOINT 4.2.5

Gallery DELETE no longer physically destroys an artwork row that may be referenced by owned cards, internal playtest copies, or order history. Trash now archives the card, disables its public/store/game use, and removes it from Gallery/Admin while preserving historical database references.

DM Tools adds a true Stopwatch and an Important Websites catalogue. Stopwatch supports pause/resume, reset, and lap history; the website catalogue saves searchable names, URLs, categories, and notes with the same portable workspace/export system as every other DM window.

No new D1 migration is required. Static cache advances to 425000.

V4.2.4 INVERTED BACKFILL GUARANTEE CHECKPOINT 4.2.4

Existing Gallery cards now get inverted assets through a resumable per-card checkpoint queue. Each successful inverted artwork + Height/Normal/Roughness set is saved immediately, so one broken legacy source can no longer erase the progress of every card before it.

JayKoh Gallery now has an immediate runtime inversion fallback. If an older card reaches the Gallery before its permanent R2/D1 inverted set is ready, the browser generates a real inverted bitmap and matching PBR locally so INVERT visibly works instead of doing nothing. When a Gallery editor is signed in, missing sets are also uploaded and permanently checkpointed in the background.

Migration 0090_force_gallery_inverted_enabled_v424.sql enables the inverted option for every existing Gallery card. Static cache advances to 424000.

V4.2.3 INVERTED PIPELINE FIX + FIXED FATIGUE CHECKPOINT 4.2.3

The inverted-card rollout is repaired for legacy/current Gallery art. Existing cards that were seeded with a local image URL but no R2 image_key are now included in the automatic normal/inverted PBR repair pass. JayKoh Gallery replaces the separate Holo % and Shine buttons plus per-card Invert control with one compact FX dropdown containing Invert, Holo %, and Shine %.

DEV inventory grants can now mark a Digital Card as Inverted. Inverted owned cards resolve to the generated inverted artwork and its matching Height/Normal/Roughness set in Card Deck, library, and game snapshots. Gallery Admin moves PBR readiness directly above Mood / Category and puts Regenerate Inverted on the same status row.

Fatigue is now fixed by size instead of mirroring printed MOD. Small/Medium/Large receive −2 AIM/DMG/AC while Fatigued; Giant receives −3. Damage dice explicitly show the Fatigue subtraction and the damage popup consumes the same post-Fatigue result.

Latest migration is 0089_owned_card_inverted_v423.sql; static cache advances to 423000.

V4.2.2 INVERTED CARD MEDIA + UNIVERSAL ARTIST NAMES CHECKPOINT 4.2.2

Every Gallery card now has a real paired inverted edition. New uploads generate the normal Height/Normal/Roughness PBR set first, then generate a separate inverted artwork and a matching inverted PBR set. Existing cards are backfilled from their current source art when Gallery Admin opens.

Cards can expose or hide the public INVERT control independently of the generated files. Add Artwork and Card Metadata both include the inverted option, and Gallery Admin adds REGENERATE INVERTED while moving PBR readiness above Mood / Category.

Artist names are now universal display data backed by stable artist slugs. Changing an artist Display Name in DEV keeps the same route identity while updating Gallery credits, public/static labels, navigation, and editor dropdowns.

Latest migration is 0088_inverted_card_assets_and_artist_identity.sql; static cache advances to 422000.

V4.2.1b DAMAGE CURVE + HOUSEKEY IGNITION CHECKPOINT 4.2.1b

Creature base damage is compressed again. Small Monsters now use only 1d4 or 1d6; Medium 1d6 or 1d8; Large 2d4 or 1d10; Giant 2d6 or 1d12. Migration 0086_damage_curve_v421.sql remaps every existing Gallery Monster, while server validation, future-card generation, and combat fallbacks enforce the same four two-die bands going forward.

The Free Sacrisummon is temporarily disabled for playtesting. Small Base Summons still spend Action or Bonus Action, while every Medium/Large/Giant Sacrisummon now spends an Action. The old Free Sacrisummon control remains visible but greyed out as TEMPORARILY DISABLED, and the authoritative server rejects forged zero-cost summon commands.

Housekey autosearch is live. My Account can remember a browser-authorized Housekey folder. Pressing the key on sign-in searches that folder for .housekey files and signs in with the first working key; missing permission, no matching file, or no working key automatically falls back to the manual file picker. Username + password remains fully independent.

Latest migration is 0086_damage_curve_v421.sql; static cache advances to 420102.

V4.2.0 ATTRITION DECK COMPRESSION CHECKPOINT 4.2.0

Attrition is compressed from 35 cards to exactly 25 cards plus the separate Persona. Events are no longer mandatory: a legal Attrition deck may contain 0–3 Events, with three remaining the hard maximum. Chosen Events still stage in the hidden Event Zones before the opening Hand.

The opening Hand remains 7. With the full three Events, 22 non-Events shuffle and the seven-card deal leaves a 15-card starting draw pile; running fewer Events leaves 16–18 cards in the pile instead.

The Attrition Hand cap drops from 12 to 9. Full-Hand draws and Recovery returns keep the existing authoritative keep-or-Bury choice, now against nine held cards. Standard remains unchanged at 12 cards plus its separate Persona.

Generated AI decks now obey the 25-card / 3-Event-maximum format. Nightmare's dedicated Attrition shell is compressed to 15 Monsters / 4 Hexes / 3 Utilities / 3 Events while preserving Giant finisher pressure.

No database migration is required. Latest migration remains 0085_housekeys.sql; static cache advances to 420000.

V4.1.99b HOUSEKEY TEST CHECKPOINT 4.1.99b

HOUSEKEY enters playtest. Username + password remains a complete standalone login path, while users can optionally download an encrypted .housekey credential and later sign in by selecting that file. Housekeys can be revoked individually or all at once from My Account.

D1 stores only each key ID, a hash of its internal credential secret, timestamps, and revocation state. The downloadable credential payload is AES-GCM encrypted under the Worker HOUSEKEY_SECRET; the password is never embedded in the file.

Internal card access also expands from owner-only to every DEV / FOUNDER / ARTIST account. Those accounts automatically receive hidden playtest instances of every Gallery card, while public/member accounts remain ownership-gated. Migration 0085_housekeys.sql is now latest; static cache advances to 419991.

V4.1.99 CREATURE IDENTITY PASS CHECKPOINT 4.1.99

Every playable creature receives a full size/stat and ability pass. Small, Medium, Large, and Giant Monsters now stay inside their new HP, AC, and damage-die bands, with ability counts and impact scaled by creature size.

Rat Queen: Queen of Rats is now Medium and can spend an Action to summon a live 1 HP / 1 DMG / 1 AC Rat token placeholder. Larry Lazer Lizard is now Medium and gains Prefers Jeremy, a Bonus Action that changes its live card name to Jeremy.

The ability generator now enforces the same stat bands for future additions, secondary abilities are correctly exposed to the runtime, and migration 0084_creature_identity_and_size_balance.sql updates the existing Gallery creature pool. Static cache advances to 419900.

V4.1.97 D1 DEPLOY RETRY HARDENING CHECKPOINT 4.1.97

Account setup no longer aborts immediately when Cloudflare D1 returns transient API internal error 7500 during safe schema reads. The deploy preflight now retries read-only PRAGMA/SELECT queries and D1 database-list reads with bounded backoff before failing.

Mutation queries are deliberately not retried automatically, preventing a lost API response from causing an already-applied write to be executed twice. Authentication-expiry handling remains unchanged and still resumes after Wrangler login.

No gameplay or database schema changes were added. Latest migration remains 0083_event_power_pass.sql; static cache advances to 419700.

V4.1.96 ATTRITION FORMAT CHECKPOINT 4.1.96

Captain has been consolidated into Attrition as PRLX's single deck-format alternative to Standard. Standard remains the 12-card all-access Loadout. Attrition is fixed at 35 unique cards plus a separate Persona, requires exactly three Events, stages those three Events before the match, draws a 7-card opening Hand from the remaining 32 cards, and begins with 25 cards left in the hidden draw deck.

Attrition uses a hard 12-card Hand limit and retains Recovery. Draws, Recovery returns, and other incoming cards continue through a full Hand as an authoritative keep-or-Bury decision: either Bury the incoming card or Bury one of the 12 cards already held to make room. The Hand itself never exceeds 12.

Room creators can choose Attrition Base Persona HP at 25, 30, 35, 40, 45, or 50 HP, with 45 marked Recommended. Existing Persona size adjustments remain intact, so the selected value is the Small-Persona base and Medium/Large/Giant continue at base -1/-2/-3. The selected health is stored in authoritative room and match state and survives reconnects, AI play, and replay state.

Old Captain room/replay state is normalized forward to Attrition for compatibility. Legacy 30-card Captain Loadouts are preserved as editable drafts rather than deleted; they must be expanded to 35 cards and contain exactly three Events before they can be used in a new Attrition match.

Validation included 300 Attrition Nightmare mirrors across the complete 25-50 HP selector range (50 games at each health): all 300 completed with zero stalls, zero engine errors, and zero 12-card Hand-limit violations. No migration was added; the chain remains at 83 and static cache advances to 419600.

V4.1.95 AI STABILITY + LOBBY CLOSURE CHECKPOINT 4.1.95

Lobby closure is authoritative again. Host/completed-room close actions are idempotent, the visible lobby CLOSE control now closes the room instead of merely dismissing the panel when the user has close permission, and auxiliary match-history bookkeeping can no longer make an already-closed room appear to fail.

Nightmare keeps the V4.1.94 damage-engine behavior with a bounded live planner. Candidate evaluation now projects one authoritative state per top line instead of recursively multiplying simulations during every Worker request. The spectator watchdog also releases stale presentation locks sooner and requests an authoritative AI step after roughly 1.1 seconds of no progress, so a stranded animation cannot leave AI-vs-AI play waiting for a manual force.

Tactical and Relentless received anti-carousel strategy. Tactical no longer burns a defender on every ordinary chip hit; Relentless is more offense-first; killable blockers gain lethal-gate value; and pathological matches enter a late all-in closing posture after 40 Standard turns or 60 Captain turns. That posture spends Reaction on Follow Up pressure, avoids non-pressure Action utility, and stops endlessly recycling blockers. It changes AI decisions only—no player rule was altered.

Final post-fix validation covered 300 games: 100 Standard Nightmare mirrors, 100 Captain Nightmare mirrors, and 100 Tactical-vs-Relentless exhibitions. Nightmare batches completed without stalls or engine errors; Captain stayed at a hard 10-card Hand with zero violations; and none of the 100 mid-tier exhibitions crossed 100 turns after the anti-carousel fix.

No migration was added; the chain remains at 83 and static cache advances to 419500.

V4.1.94 NIGHTMARE DAMAGE-ENGINE AI CHECKPOINT 4.1.94

Nightmare now builds and pilots decks around maximum damage-per-round instead of rolling into passive control or fortress shells. Standard Nightmare generates an 8-Monster damage core with at least three Giant finishers; Captain expands that engine to 18 Monsters with a deeper Giant package while keeping legal format counts.

The live planner now values projected next-round damage, aggressively converts harvested Fodder upward through free Sacrisummons, prefers cheap board expansion before optional utility, and strongly rewards full-field Advantage, tempo refreshes, and AC breaks when they multiply an established attack board. Three Giants are treated as an ideal damage engine rather than a scripted requirement, so direct lethal and stronger immediate damage lines still take priority.

Fresh validation completed 300/300 Nightmare-vs-Nightmare Captain games with zero stalls, zero engine errors, and zero Hand-limit violations. Average Captain length fell to 7.79 rounds from the prior ~10.46 Nightmare baseline, and 152/300 games produced a three-Giant field. Another 200/200 Standard Nightmare mirrors completed cleanly at ~6.70 rounds versus the prior ~8.19 baseline. Nightmare also defeated Relentless 86-14 in a 100-game Standard sample and 42-8 in a 50-game Captain sample.

No migration was added; the chain remains at 83 and static cache advances to 419400.

V4.1.93 PRIMARY LOBBY GAMEMODE SELECTOR CHECKPOINT 4.1.93

The primary /cards/ Play/Lobby page now visibly renders the existing GAMEMODE: control directly below the top PRLX TCG banner and before the Create Room, Join Room, and Play Against AI controls. V4.1.92 had already wired the authoritative selector logic but only rendered the banner on the secondary /cards/rooms/ page.

Standard, Captain, and staged Attrition remain the three choices. Selecting a format continues to filter all relevant Loadout selectors and match creation through the existing authoritative game-mode state. Captain gameplay is unchanged from the 300-game-validated V4.1.92 ruleset.

No migration was added; the chain remains at 83 and static cache advances to 419300.

V4.1.92 CAPTAIN MODE CHECKPOINT 4.1.92

Captain is now the first long-form PRLX format. The room creator has a persistent GAMEMODE selector for Standard, Captain, and the staged Attrition format. Standard remains the existing 12-card all-access ruleset; Captain uses a 30-card unique Loadout plus a separate Persona, a 7-card opening Hand, a hidden shuffled draw pile, and a hard 10-card Hand limit.

Captain draws one card at the start of every turn and keeps the existing Recovery system. A draw, Recovery return, or other card trying to enter a full Hand waits outside the Hand: the player must either Bury the incoming card or Bury one of the 10 cards already held to make room. The Hand never exceeds 10, future deck identities remain hidden, and the decision is authoritative across multiplayer, reconnects, AI play, and presentation motion.

Captain Personas use a 45-HP base before the existing size adjustment: Small 45, Medium 44, Large 43, Giant 42. Events retain their three pre-staged Event Zones; all non-Events are deterministically shuffled into the Captain draw pile. Generated AI decks are format-legal at 30 unique cards and understand Hand-limit decisions.

The final post-fix Captain validation ran 300 unique AI-vs-AI matches across Tactical, Relentless, and Nightmare: all 300 completed with zero stalls, zero engine errors, and zero Hand-limit violations. A pathological long-game seed found during development was fixed by making the Captain draw continue through a full Hand as a keep-or-Bury decision instead of freezing the deck. No migration was added; the chain remains at 83 and static cache advances to 419200.

V4.1.91 LEGACY LINK + WWW ROUTE RECOVERY CHECKPOINT 4.1.91

Legacy Google results on www.prlxprod.com now permanently return visitors to the canonical PRLX home page instead of falling through to the retired host. The Worker is explicitly routed across the existing www hostname so the redirect can execute before the dead origin.

Any unknown public HTML navigation that reaches a genuine 404 now permanently redirects to /home/. Missing API endpoints, images, scripts, downloads, and other static assets retain real 404 responses so broken technical resources are never hidden by the fallback.

No migration was added; the chain remains at 83 and static cache advances to 419100.

V4.1.9 AI STALL RECOVERY + FATIGUED ATTACK DISADVANTAGE CHECKPOINT 4.1.9

AI-vs-AI spectator mode now avoids redundant live polling while stepped AI requests are already driving the match. A short watchdog performs an automatic authoritative stall-assist after roughly 1.8 seconds without progress once presentation is clear, effectively bringing the existing FORCE AI ROLL recovery forward without requiring the spectator to press it manually.

Silent spectator sync retries now keep the current battlefield mounted instead of repeatedly presenting a full disconnect/reconnect state. Manual FORCE AI ROLL remains available as a fallback.

A Monster that begins an attack already Fatigued now rolls that attack with Disadvantage while continuing to use its reduced live Fatigued AIM and DMG. Attack Advantage cancels that Disadvantage back to a normal roll. No migration was added; static cache advances to 419000.

V4.1.8 INDEPENDENT FREE DEFENSE CHECKPOINT 4.1.8

Free Defense is now a separate once-per-enemy-turn combat resource. One fresh Monster may defend without spending Reaction and without gaining new Fatigue, allowing a legal defensive Reaction Hex, Ward, buff, or ability to resolve during the same Enemy Defense window before the block is committed.

Reaction Defense is now the optional second clean defense: it spends Reaction, avoids new Fatigue, and is the normal route that can unlock one Defensive Follow Up for a different fresh Monster later that enemy turn. Spending Reaction on a card ability therefore sacrifices the Reaction Defense → Defensive Follow Up branch, not the player's basic Free Defense.

AI defense sequencing and search-state fingerprints now understand the separated resources. No migration was added; the chain remains at 82 and static cache advances to 418000.

V4.1.6 COMBAT TIMING + CLEANSE PASS CHECKPOINT 4.1.6

Persona attacks now establish their targeting line before Enemy Defense resolves. The line begins on the Persona, follows a committed protecting Monster into its raised defense position, remains there through the roll-to-hit presentation, and clears only when the attack motion begins. Natural-20 bypasses are revealed by the roll instead of being telegraphed by the targeting cue.

Attack Fatigue no longer commits while Enemy Defense is pending. The attacker uses its pre-Fatigue state through declaration, defense, and the current attack; Fatigue is committed only after the attack resolves and is revealed when the attack animation returns the card to the Field. Endure Fatigue likewise applies only after the protecting Monster completes that defense, so the defense itself always uses the Monster's pre-new-Fatigue AC.

Cleanse now literally removes all negative effects from its target, including Fatigue, Cursed/Hex effects, attack Disadvantage, Snake Eyes, and negative AIM/DMG/AC modifiers. No migration was added; the chain remains at 82 and static cache advances to 416000.

V4.1.4 COMBAT READABILITY + DEFENSIVE FOLLOW UP + AI HEX PASS CHECKPOINT 4.1.4

Attack targeting now appears before the roll-to-hit dice and remains locked on the declared target through the complete hit-roll presentation. The targeting line clears only when the attacking card begins its physical attack motion, making defense commitment, targeting, and roll resolution read as one continuous sequence.

Defensive Follow Up extends the existing Reaction-paid Free Defense instead of adding another resource. After a fresh Monster spends your Reaction to defend without new Fatigue, one different fresh Monster may make one later free no-Fatigue defense during that same enemy turn. The bonus defense cannot use the original protector, cannot chain into another Defensive Follow Up, and expires at the turn transition.

Nightmare AI was retuned against a fresh 600-game high-speed soak, followed by a 100-game Tactical-vs-Relentless regression soak to use Hexes as real tempo/setup tools rather than rare point-value side plays. Hex casting rose by roughly an order of magnitude from the pre-retune baseline while Persona pressure remained the primary win condition; FATIGUE Hexes now appear as setup for later attacks, full-field buff waste remained effectively zero, and all 700 final validation games completed with zero stalls or engine errors. The bounded online strategy profile now also learns a small Hex-usage preference from completed human-involved matches. No migration was added; the chain remains at 82 and static cache advances to 414000.

V4.1.3 FOLLOW UP COMBAT PASS CHECKPOINT 4.1.3

Follow Up is now a universal Reaction combat option. After an Action or Bonus Action attack fully resolves, a player with an unused Reaction may immediately attack with a different unfatigued Monster, or decline and keep the Reaction. Follow Up uses the normal combat pipeline and cannot recursively trigger another Follow Up.

Each Monster now has an explicit two-attack-per-turn ceiling. Its first attack applies Fatigue and its second legal normal attack uses the live Fatigued AIM/DMG values. Extra Actions do not raise that per-Monster ceiling, while non-attack abilities remain independent.

Eligible Field Monsters expose FOLLOW UP through their Reaction controls and drag targeting. AI scoring understands Follow Up as a real Reaction tradeoff rather than a free attack. No migration was added; the chain remains at 82 and static cache advances to 413000.

V4.1.2 TEMP HP + WARD IDENTITY PASS CHECKPOINT 4.1.2

Temp HP and Ward now have sharply different lifetimes. Temp HP never stacks: a lower or equal value cannot add to or replace a higher existing buffer, while a larger value replaces the old Temp HP outright and persists until damage consumes it.

Wards remain separate prevention pools and may stack with one another, but every unused Ward expires at the very next turn transition. A Ward created on your turn disappears when the enemy turn begins; a defensive Ward created during the enemy turn disappears when your turn begins.

Ward effect landing feedback now uses compact +X WARD language with a fitted pill so the callout cannot overflow. No migration was added; the migration chain remains at 82 and the static cache advances to 412000.

V4.1.1 NIGHTMARE AI STRATEGY + LEARNING PASS CHECKPOINT 4.1.1

Nightmare AI was retuned around PRLX's actual win condition rather than generic material-value trading. Persona pressure is now the default attack plan, while Monster removal is preferred only when the kill meaningfully changes the damage race, removes a real threat, or creates a stronger follow-up line.

Generated AI loadouts now enforce a functional Monster size curve so high-level bots cannot deadlock with hands full of Large/Giant Monsters and no usable development path. Buff scoring now accounts for immediate attack opportunity, board fullness, and Action opportunity cost, while prolonged no-Persona-damage states trigger an explicit anti-stagnation pressure response.

Nightmare now carries a bounded global strategy profile in D1. Completed human-involved matches make tiny win/loss-correlated adjustments to Persona pressure, Monster removal, board development, and buff efficiency. Legal rules and card mechanics never self-modify. A new 500-game Nightmare soak completed 500/500 games with zero stalls or engine errors; the longest finished in round 17. Migration 0082 adds the aggregate learning profile and idempotent learned-match ledger. Static cache advances to 411000.

V4.1.0 EFFECT RESOLUTION PRESENTATION MILESTONE CHECKPOINT 4.1.0

Targeted card effects now resolve in a consistent visual sequence: the source card activates, the affected card pulses once as the effect lands, a short stat callout such as +2 DMG, -3 AC, or +1 AIM appears and fades, then the source card travels to its authoritative destination before play resumes.

The same pipeline now applies to Reaction cards used during Defense and to normal targeted effects elsewhere. AC shield modifier values now use the same circular badge language as Sword and Ward counts and sit 4px higher for cleaner spacing above the printed/live AC stat.

Fatigue timing was explicitly re-verified: attack Fatigue clears at the beginning of that Monster controller's next turn, repeated attacks do not extend it, and defense Fatigue clears when the defender's next turn begins. No migration was added; the complete chain remains at 81 migrations and the static cache advances to 410000.

V4.0.12 TEMP HP EDGE PLACEMENT CHECKPOINT 4.0.12

Monster Temp HP now stays fully on top of the physical card instead of clipping through the bottom boundary.

Friendly cards anchor Temp HP inside the bottom edge. Enemy cards anchor it inside the top edge so the enemy Ward count can remain outside the bottom edge without overlap.

The ownership-aware placement also carries into hover focus, click focus, defense cards, and battle-motion copies. No migration was added; the complete chain remains at 81 migrations and the static cache advances to 41200.

V4.0.11 ATTACK FATIGUE HANDOFF REPAIR CHECKPOINT 4.0.11

Attack-created Fatigue no longer appears on the resting field card before the attack presentation. The server still commits Fatigue immediately for rules enforcement, while the visible card keeps its pre-Fatigue attack state through the strike.

When the attack proxy completes and the real Monster returns to its slot, the field card is rehydrated from the latest authoritative runtime state. The Fatigue band, AC, AIM, DMG, and persistent overlays therefore appear at the correct moment and remain after hits, misses, defended Personas, and undefended Personas.

Already-Fatigued Monsters still display their existing Fatigue during a later legal attack. No migration was added; the complete chain remains at 81 migrations and the static cache advances to 41100.

V4.0.10 IMMEDIATE ATTACK FATIGUE RESTORATION CHECKPOINT 4.0.10

Attack-created Fatigue now synchronizes immediately onto the visible battlefield card instead of waiting behind deferred attack, damage, or defense presentation.

The Fatigue band, AC, AIM, DMG modifier, sword/shield/reticle overlays, and live stat values update from the authoritative post-command state without revealing damage or HP changes early.

Small MOD-0 Monsters now visibly show FATIGUE: −0 so every declared attack has an unmistakable Fatigue state. No migration was added; the complete chain remains at 81 migrations and the static cache advances to 41000.

V4.0.9 CRITICAL DAMAGE ADVANTAGE CHECKPOINT 4.0.9

Natural 20 attack rolls now grant Damage Advantage when the attack hits a Monster or an undefended Persona, rolling the full damage dice twice and keeping the higher result.

A natural 20 against a defended Persona keeps its special defense rule: the staged protector is bypassed and the Persona is hit directly, but damage is rolled normally instead of gaining critical Damage Advantage.

Existing Damage Advantage and Damage Disadvantage still cancel normally. No migration was added; the complete chain remains at 81 migrations and the static cache advances to 40900.

V4.0.6 SWORD COUNT BADGES + WARD FOCUS POSITIONING CHECKPOINT 4.0.6

Green, white, and red sword values now render inside circular Ward-style badges centered on their actual sword forms.

Hover-focus and click-focus clones preserve the source card’s side ownership, keeping local Ward counts outside the top edge and enemy Ward counts outside the bottom edge.

No migration was added. The complete chain remains at 81 migrations and the static cache advances to 40600.

V4.0.5 AI SPECTATOR CONTROLS + MOBILE PINNY CLEANUP CHECKPOINT 4.0.5

This complete release merges the V4.0.3 and V4.0.4 overwrite patches into the full V4.0.2 project baseline.

AI-vs-AI spectators can now force one authoritative AI roll or decision step from the top control bar when an exhibition needs a manual push.

The spectator bar collapses into a small right-side tab on desktop and mobile, remembers its state locally, and can reopen without covering the match.

The bottom-right Pinny toggle is removed from in-game phone layouts. No migration was added; the static cache advances to 40500.

V4.0.4 SWORD TIP + MOBILE OVERLAY REPAIR CHECKPOINT 4.0.4

The positive green DMG sword now reaches the top edge of the card artwork, with its signed modifier number placed directly beneath the blade tip.

Neutral gray/white and negative red sword states use the same modifier-number anchor, so the value no longer shifts between sword forms.

Mobile card matches now explicitly composite persistent AC, AIM, DMG, Ward, Temp HP, and status overlays above card artwork, PBR, foil, and glare layers.

No migration was added. The complete chain remains at 81 migrations and the static cache advances to 40400.

V4.0.2 MOBILE REVEAL + DEFENDER MOTION REPAIR CHECKPOINT 4.0.2

The Worker build compiles again after repairing the effect-operation fallback expression that illegally mixed nullish coalescing and logical OR.

Mobile match priming now forces real card images to eager priority and verifies the rendered image plus decode completion before removing the cover. The first live battlefield reveal reuses the already-primed runtime state instead of exposing a progressive card load.

The F11 recommendation is no longer mounted on mobile card matches. Sword modifier numbers now share one top-layer position above Fatigue across green, gray, and red states, and the green sword sits slightly higher.

Defender cleanup now preserves the hidden authoritative field card while its guard proxy exists. The defender follows its curved unblock route and hands off to the real Monster only at exact slot alignment.

No migration was added. The complete chain remains at 81 migrations and the static cache advances to 40200.

V4.0.1 MOBILE LOAD SEAL + DEFENDER RETURN CHECKPOINT 4.0.1

Mobile matches now stay completely covered while card artwork, fonts, compact battlefield geometry, and hand positions finish rendering. Long ability text remains parked at the top and does not begin scrolling until after the loading screen has been removed.

The loading gate is now above every hand, focus, dice, and motion layer. The fullscreen/F11 recommendation is suppressed entirely on mobile card matches while desktop behavior remains unchanged.

The sword modifier number now sits above Fatigue and all card-art treatments. Defending Monsters also return through a visible curved proxy animation, align with their exact Monster slot, then crossfade into the real field card instead of teleporting.

No migration was added. The complete chain remains at 81 migrations and the static cache advances to 40100.

V4.0.0 MOBILE BATTLE REWORK + PRIMED CHECKPOINT 4.0.0

The live battle table has been rebuilt specifically for mobile landscape without changing the desktop layout. Both battle zones remain readable, Persona and pile controls fit into compact side columns, and each hand rests as a top-third card shelf facing the battlefield.

A new HAND control expands the local cards into a readable horizontal selection tray, then collapses them back without shrinking or displacing the battle zone.

ZOOTED! is the only authored card using Third Time's the Harm: after two consecutive misses it becomes Primed, its next successful hit deals double final damage, and the state resets. The ability is also available as one reusable metadata preset.

Ward, Temp HP, AC, AIM, and DMG are now hard-isolated. The old suffix-matching bug that interpreted Ward's PREVENT_DAMAGE as a damage modifier is removed, legacy shared MOD effects migrate to AIM, and only Fatigue changes AIM, DMG, and AC together.

Nightmare no longer builds its candidate tree twice, its search and recovery work are time-bounded, and it recognizes the danger of feeding the Primed card with excessive AIM debuffs. Attack presentations also preserve every unrelated Monster-zone card.

Migration 0081_v400_mobile_primed_and_stat_channel_isolation.sql advances the complete chain to 81 migrations and the static cache to 40000.

V3.9.8 EXPLICIT CHECKS + PERSISTENT TEMP HP CHECKPOINT 3.9.8

Resistance checks are now completely explicit. No effect rolls unless its metadata names VIGOR or SKILL, every checked card prints its passing number such as VIGOR 12+, and friendly Monsters never resist friendly effects.

Monster Temp HP now persists until consumed, absorbs damage before real HP, displays beneath the card in a centered blue tag, and outlines the card in blue. Ward is now strictly a one-round damage pillow, while Personas no longer show the redundant bottom Temp HP tag.

Sacrisummons use a slower ordered animation: the Fodder rises, moves aside, and travels to Recovery before the incoming Monster occupies the opening. Attacking cards preserve their original field-slot footprint so neighboring Monsters never vanish or collapse.

Five cards now showcase stacked dual effects, including friendly-Monster Temp HP and Fever Pitch, which raises the Difficulty of your explicitly checked Hexes by 2 for one round. Long dual-effect text holds, scrolls readably, pauses at the bottom, then fades back to the top.

Migration 0080_explicit_checks_temp_hp_dual_effects.sql advances the complete chain to 80 migrations and the static cache to 39800.

V3.9.7 PERSISTENT EVENTS + PERSONA-BACKED CHECKS CHECKPOINT 3.9.7

Events may now remain revealed and active in their Event Zones for an authored duration, including round-based effects such as all friendly Monsters are Inspired for 4 rounds. Active Events display their remaining rounds and remain valid Field targets.

Events, Hexes, and Utilities may destroy opposing active Events. Destroying one immediately removes every ongoing effect sourced by that Event before moving it to Buried.

Every non-creature VIGOR or SKILL Check now uses its controller Persona: Persona DMG for VIGOR and Persona AIM for SKILL. Persistent Events and attached Utilities may also carry a Reaction that checks an activated non-creature card, then destroys it and negates its effect on failure.

The Card Effects editor adds active-Event and activated-card targets, explicit resistance checks for all card types, and the non-creature activation response trigger. Sword and shield modifier values are restored at a larger top layer. Migration 0079_persistent_events_and_persona_backed_checks.sql advances the static cache to 39700.

V3.9.6 AUTHORITATIVE STAT LIFETIMES + ATTACK VISIBILITY CHECKPOINT 3.9.6

Every temporary AC, AIM, DMG, and universal MOD change is now represented by an authoritative active-effect record. Legacy or missing IMMEDIATE durations default to end of turn, repeated applications from one source refresh instead of multiplying, expired effects are removed on normalization, and stale saved runtime deltas are rebuilt away.

Resting, hover-focus, moving, replay, and spectator cards now derive overlays from the same net modifier channels. A +2 AC effect combined with -3 AC displays red −1 everywhere; exact cancellation retains a visible white 0 shield instead of disappearing.

Attack presentation cleanup now restores hidden source cards in every recovery path, uses a longer animation-speed-aware watchdog, and monitors the moving proxy while a strike is active. An attacking card can no longer vanish mid-wind-up or remain hidden after an interrupted presentation.

Migration 0078_temporary_stat_duration_and_overlay_repair.sql repairs saved card and preset metadata. Static assets and cache advance to 39600.

V3.9.5 SAFE HEALTH COSTS + ATTACK TARGET REPAIR CHECKPOINT 3.9.5

The persistent FATIGUE: −MOD bar is restored across resting, focused, defending, moving, replay, and spectator cards. The sword modifier number is slightly larger and darker while remaining above the Fatigue strip.

Health payment is now limited to once per player per turn. PAY HP cannot power direct damage, drain, destruction, execution, Thorns, or board-wide damage. Forged Figure now pays Persona HP for a temporary +2 MOD buff; Not An Alien! pays its own HP for Ward 4.

Monster attack targets are field-only. A lethal target remains visible through impact and HP loss, then performs its proper Recovery, Hand, or Buried transfer. Zero-distance wind-ups use a stable fallback direction, and the enemy Hand can never become an attack destination.

Migration 0077_health_cost_safety_fatigue_and_attack_targets.sql applies the card and preset repair. Static assets and cache advance to 39500.

V3.9.4 TWO EXPLICIT HEALTH-COST CARDS CHECKPOINT 3.9.4

Forged Figure is restored as the Persona-paid Health-cost example. Hot Rivet displays PERSONA -2 HP and damages the opposing Persona.

Not An Alien! remains the Creature-paid example, displaying CREATURE -2 HP before Probe. The live migrated pool therefore contains exactly two PAY HP cards, one for each supported payer type.

Migration 0076_two_live_health_cost_cards.sql applies the correction. Static assets and cache advance to 39400.

V3.9.3 FULL-CARD SHIELDS + EXPLICIT HEALTH COSTS CHECKPOINT 3.9.3

Persistent AC shields now occupy the complete card footprint in resting, focused, defending, revealed, and moving states while printed bottom stats remain above the overlay.

Health-paid abilities now use a dedicated red resource badge before their rules text: PERSONA -X HP or CREATURE -X HP. Hover-focus controls repeat the exact payer and amount instead of the generic PAY HP label.

Not An Alien! is now the sole current Health-cost card. Forged Figure’s Hot Rivet returns to Bonus Action, while the metadata editor retains both Persona and Creature payer settings for future cards.

Migration 0075_full_card_shield_and_single_health_cost_card.sql applies the card cleanup. Static assets and cache advance to 39300.

V3.9.2 PROTECTED ROLLS + LOSSLESS ATTACK CARDS CHECKPOINT 3.9.2

All authored presentation screens now sit above resting, focused, dragged, and moving cards. Roll-to-hit results—including natural 20s—cannot be covered by an attacking proxy.

The attack handoff now waits for the complete proxy to paint before hiding the source. On return, the authoritative field card is restored immediately and the proxy crossfades over it; cleanup paths also force-release any hidden attacker.

Removed duplicate transient AIM, DMG, AC, and MOD numbers. The persistent reticle, sword, and shield remain authoritative, and sword/shield values gain a thin black readability outline. Static assets and cache advance to 39200.

V3.9.1 HEALTH-COST ABILITIES + EXPLICIT PAYERS CHECKPOINT 3.9.1

Activated abilities may now use PAY HP as their authoritative cost instead of spending an Action, Bonus Action, or Reaction. Metadata explicitly identifies either the controller’s Persona or the source Monster as the payer and stores the exact HP amount.

Health payments consume real HP, bypass Ward and Temp HP, cannot be prevented, and are unavailable when payment would reduce the payer to 0 HP. The UI exposes a dedicated PAY HP control and keeps Action, Bonus, and Reaction resources unchanged.

Forged Figure now demonstrates a Persona-paid move that damages the opposing Persona. Not An Alien! demonstrates a source-Monster-paid move that damages an opposing Monster. Two reusable Health Cost presets were added to the metadata workbench.

Migration 0074_health_cost_effects_and_explicit_payers.sql applies the live examples and presets. Static assets and the service-worker cache advance to 39100.

V3.9.0 UNIVERSAL HEX CHECKS + AI HITCH REPAIR CHECKPOINT 3.9.0

Every Hex that targets a Monster or Persona now invokes a universal resistance roll before its effect resolves. VIGOR Checks use d20 plus the target’s current DMG modifier; SKILL Checks use d20 plus its current AIM. Difficulty is 12, natural 20 always resists, and natural 1 always fails.

A successful check prevents only the effect. The Hex still spends its printed Action, Bonus Action, or Reaction and still follows its normal Recovery or Buried destination. Check metadata remains machine-readable and does not clutter public ability descriptions.

AI scoring now accounts for each target’s actual chance to resist. Relentless and Nightmare target expansion is bounded, Nightmare look-ahead breadth is reduced without collapsing its archetype variety, and client watchdog recovery is tightened to prevent bots from hitching on Hex-heavy turns.

Migration 0073_hex_resistance_checks_and_ai_hitch_repair.sql adds structured VIGOR/SKILL metadata to existing Hexes and ability presets. Static assets and the service-worker cache advance to 39000.

V3.8.9 REACTION DEFENSE + COMPACT COMBAT CONTROLS CHECKPOINT 3.8.9

Every fresh Field Monster now offers a Free Defense while its controller has a Reaction. Free Defense spends that Reaction and prevents the block from applying new Fatigue. The same DEFEND control includes an Endure Fatigue dropdown choice that preserves the Reaction and Fatigues the Monster after defending.

Free Defense and card-based defensive Reaction abilities share one authoritative resource, creating a deliberate choice between a clean block and a Reaction effect. Already-Fatigued Monsters expose only Endure Fatigue, and AI defenders understand both modes.

Hover-focus resource tabs now say BONUS instead of BONUS ACTION. The signed DMG modifier beside the sword is larger, fully solid in its polarity color, and has no glow or badge box.

No migration was added. Static assets and the service-worker cache advance to 38090.

V3.8.8 DEFENDER RETARGET + MODIFIER SAFETY CHECKPOINT 3.8.8

Attack cards now rise into a ready point, transfer the target cue from the Persona to an intercepting defender when necessary, visibly wind up, WHACK the authoritative target, recoil to the exact ready point, and then return home. Every segment remains governed by the Animation Speed slider.

Positive swords are forcibly filled green and cracked negative swords are forcibly filled red at 65% opacity while preserving their established glow. Ward counts now sit on the top Ward line for the local side and the bottom Ward line for the enemy side, always facing the battlefield.

The duplicate transient AC number is removed so only the persistent shield value remains. Repeated temporary stat effects from the same source now refresh instead of multiplying, and saved runaway values such as −30 are repaired from their authoritative active-effect records.

No migration was added. Static assets and the service-worker cache advance to 38080.

V3.8.7 FILLED STAT SWORDS + TEARDROP MOTION CHECKPOINT 3.8.7

Sword overlays now use a 65% interior fill of their live green, red, or neutral white polarity color while preserving the established outer glow. Broken sword halves arc apart cleanly around their center gap.

Signed DMG and AC values are now solid, boxless type with a restrained matching glow. AIM remains unsigned and is larger. Shield values use one stable coordinate and no value animation, preventing the previous skipping behavior.

Attacks use a full fast → slow → fast teardrop velocity profile. One-way movement uses the decelerating half, route times are distance-aware, and Recovery/Buried returns target roughly one second at the default Animation Speed. Every motion segment continues to scale through the Animation Speed slider.

Moving Monsters always use the full card anatomy and a wider bottom stat lane so complete damage notation remains visible. No migration was added; cache advances to 38070.

V3.8.6 ABILITY-BOUND DICE + OVERLAY MOTION POLISH CHECKPOINT 3.8.6

Ability-created dice rolls now display the exact source card and exact primary, secondary, triggered, or Persona ability beside the rolling animation.

The full-width Fatigue/AIM/AC/DMG footer notices are removed. Signed DMG values sit beside the sword at the lower-left of the art, signed AC values sit on the shield above the live AC stat, and the AIM reticle number is larger while remaining unsigned.

Printed and live card stats are forced above every shield and overlay. Historical slash, strike-through, pseudo-sword, and crossout layers are fully suppressed.

Recovery/Buried exits and all major card motions now preserve each prior endpoint through explicit A → B → C segments, removing the subtle transform restart that could make a card snap or teleport between animation beats. No migration was added; cache advances to 38060.

V3.8.5 GENERATED AI DECKS + LOADOUT CLEANUP CHECKPOINT 3.8.5

Unusable saved Loadouts—including missing-card, wrong-sized, duplicate-base, and over-cap decks—are now retired across all accounts without breaking historical rooms or replays. Deleting a visible Loadout always works: any attached lobby or active match closes cleanly instead of making the deck undeletable.

Deck construction no longer requires any Monsters, Events, Hexes, or Utilities inside the 12-card Loadout. The Persona remains separate, base cards remain unique, and Events retain a maximum of three.

Bot Loadout selectors now default to GENERATE RANDOM. Training can produce intentionally bad structures such as 1 Monster / 1 Utility / 1 Event / 9 Hexes or no deck Monsters at all, while higher difficulties increasingly favor stronger and more coherent lists.

Nightmare rotates among scored Aggro, Tempo, Control, Fortress, and Sacrisummon meta families, with varied card selections inside each family. Match-seeded generation preserves exact reconnect and replay state without forcing every new match into the same deck.

Migration 0072_loadout_retirement_and_generated_ai_decks.sql performs the account-wide cleanup. The database chain is now 72 migrations and cache advances to 38050.

V3.8.4 MOD CHANNELS + DYNAMIC FATIGUE CHECKPOINT 3.8.4

Monster offense is split into AIM and DMG while the printed size MOD remains the universal stat source. Universal MOD effects change AIM, DMG, and AC together; card effects may now target AIM, DMG, or AC independently.

Fatigue no longer uses a fixed −2. It subtracts each Monster’s own printed MOD from all three channels, flattening Small through Giant correctly without granting a separate hit bonus against the defender. The card band displays the dynamic penalty.

AIM now uses a compact reticle square with an unsigned corner amount. Positive effects are green, negative effects are red, and exact cancellation remains visible in white; neutral DMG uses a white sword angled bottom-left to top-right. Ward lines move outside the card, and AC shields are smaller and approximately 15% lighter while stats remain above every overlay.

Migration 0071_aim_damage_ac_modifier_channels.sql adds canonical MOD/AIM/DMG/AC preset variety and converts FAR OUT! to AIM-only. The database chain is now 71 migrations and cache advances to 38040.

V3.8.3 DIRECTIONAL SWORD IDENTIFIERS CHECKPOINT 3.8.3

Positive attack modifiers now show a green upright sword along the left side of the card artwork. Negative attack modifiers and Fatigue show a flat red sword broken into two separated halves immediately above the Fatigue band.

Every legacy modifier crossout pseudo-layer is disabled, Fatigue keeps one compact label, and printed/live stats remain above all stat identifiers. No migration was added; cache advances to 38030.

V3.8.2 SMOOTH DEFENSE COMBAT + FULL FATIGUE CHECKPOINT 3.8.2

Attack movement is now split into a guaranteed-painted outbound strike and a separate smooth return, preventing attacks against Persona defenders from collapsing into an instant final frame. Block, unblock, summon, Hand, Recovery, and Buried motion proxies are also frame-primed before travel.

Fatigue now applies a visible red sword and red shield together, reducing both attack/damage modifier and AC by 2 while leaving HP unchanged. The card band reads only Fatigue: -2, and card stats are locked above every persistent overlay. No migration was added; cache advances to 38020.

V3.8.1 DIRECT PRESENTATION HANDOFFS + FATIGUE AC CHECKPOINT 3.8.1

With Card Presentations enabled, presented cards now continue directly from center stage into their authoritative attack, summon, attachment, Recovery, Buried, Hand, or Field motion. They no longer snap back to an unpresented position between the two animations.

Friendly and enemy Recovery/Buried exits now resolve an exact owner-specific pile anchor, eliminating intermittent center-field origins. Fatigued Monsters also lose 2 actual AC and display a persistent red shield in addition to the existing +2 enemy hit bonus. No migration was added; cache advances to 38010.

V3.7.8 CLEAN STAT EXPIRY + ATTACK ALIGNMENT CHECKPOINT 3.7.8

Finished AC, attack-modifier, and Temp HP overlays now fade away from their active state instead of spawning a crossed-out negative identifier. Persistent sword lines are crisper while their surrounding glow is reduced.

Attack proxies now restore the exact in-play source card on the frame they return to its resting rectangle, independently of any damage popup still finishing. No migration was added; cache advances to 37080.

V3.7.7 UNIVERSAL RECOVERY-ORIGIN RETURNS CHECKPOINT 3.7.7

Every card leaving Recovery now carries its full animation snapshot and visibly begins at the correct owning Recovery pile before travelling to its authoritative Hand or Field destination. This includes timed, effect-driven, immediate, friendly, enemy, and spectator-visible returns.

Recovery/Buried pile anchors remain visible during the emergence, open drawers cannot redirect the source, and Recovery-to-Field cards settle into the exact final slot. No migration was added; cache advances to 37070.

V3.7.6 STAT POLARITY + AI DEADLOCK RECOVERY CHECKPOINT 3.7.6

Persistent positive AC shields are now explicitly green and negative AC shields explicitly red. Sword identifiers sit slightly lower and use thicker full-opacity outer strokes while retaining their transparent center break.

AI turns now recover from stale target/confirmation overlays, overdue presentation UI, and legal commands that produce no authoritative state change. Twelve repeated randomized full-game runs completed without an AI-vs-AI stall. No migration was added; cache advances to 37060.

V3.7.5 HOLLOW STAT EDGES + ANIMATION CONTROL CHECKPOINT 3.7.5

Persistent shield identifiers now use a full-opacity doubled perimeter with a completely clear card center and a gradual edge-only wash. Sword strokes remain solid at their outside ends but dissolve into a transparent break through the crossing point so artwork stays visible.

Recovery and Buried transfers are slightly slower in both directions. A saved 50–110% Animation Speed slider now controls gameplay choreography while leaving the selected Presentation Timer exact and independent. Focused ability text is one to two visual steps larger with minimal internal padding. No migration was added; cache advances to 37050.

V3.7.4 ENEMY RECOVERY ACCENT CHECKPOINT 3.7.4

When the opposing player returns a card from Recovery or Buried to Hand, the moving card now displays RECOVERED using the enemy table accent.

The enemy accent controls the badge text, border, glow, and subtle background tint while friendly returns retain the existing green RECOVERED! treatment. No migration was added; the chain remains at 70 and cache advances to 37040.

V3.7.3 EDGE-WEIGHTED STAT IDENTIFIERS CHECKPOINT 3.7.3

The persistent sword is slightly lighter while the shield keeps its V3.7.2 strength. Sword strokes now emphasize their exterior and fade toward a transparent center instead of reading as a solid stamp.

Shield and Temp HP treatments now preserve a strong outer silhouette while their interior fades clear toward the center. Crossout hierarchy and effect lifetime are unchanged; cache advances to 37030.

V3.7.2 NEGATIVE STAT ICON READABILITY CHECKPOINT 3.7.2

Persistent sword and shield silhouettes are now 20% more opaque, making the underlying status symbol easier to read over card artwork.

The diagonal crossout on negative attack and AC versions is 30% lighter, so it communicates the debuff without overpowering the sword or shield. No migration was added; the chain remains at 70 and cache advances to 37020.

V3.7.1 STRONGER PERSISTENT STAT OVERLAYS CHECKPOINT 3.7.1

Persistent sword, shield, and Temp HP treatments now use stronger outer and inner opacity levels, increasing their effective visibility without changing their duration or gameplay meaning.

A 50%-opacity dark contrast edge now follows each status silhouette so the indicators remain readable over bright or visually busy card artwork. No migration was added; the chain remains at 70 and cache advances to 37010.

V3.7.0 NIGHTMARE SEQUENCE PLANNER + NUMBERLESS D20 CHECKPOINT 3.7.0

Nightmare AI now plans short legal action sequences, evaluates every valid Fodder combination, preserves buffed or equipped Monsters, attacks with future Fodder before converting it, and values Base Summons against Sacrisummons using the actual board state instead of a flat tribute penalty.

Combat scoring now accounts for attack and damage roll polarity, Fatigued accuracy and Persona spill, fresh blockers, lethal routes, exact revealed defense rolls, maximum incoming damage, attachments, active effects, and follow-up resources. The attack Advantage/Disadvantage side d20 is now shape-only with no numeric 20. No migration was added; the chain remains at 70 and cache advances to 37000.

V3.6.9 SINGLE-COLOR D20 GEOMETRY CHECKPOINT 3.6.9

The attack Advantage/Disadvantage d20 now uses one continuous polarity color for its complete geometric linework. The outer frame and all internal facet lines inherit the status color instead of drawing the center triangulation in white.

Disadvantage therefore renders as an all-red d20 and Advantage as an all-green d20, while the centered white 20 remains readable. No migration was added; the chain remains at 70 and cache advances to 36090.

V3.6.8 AUTHORITATIVE ROLL INDICATORS + EXACT TYPE LABEL PARITY CHECKPOINT 3.6.8

Attack Advantage and Disadvantage now remain visible at the source card during their actual roll presentation, even when a one-use effect is consumed by the authoritative engine before the resting battlefield rerenders. Attack rolls use green/red d20 markers; Inspired and Cursed damage rolls use green/red sword markers with explicit positive/negative polarity classes.

HEX now correctly displays both of its live consequences: a red attack-Disadvantage d20 and a red Cursed-damage sword. Resting MONSTER, HEX, and UTILITY labels now use the same absolute responsive font size, preventing HEX and UTILITY from inheriting an older parent-level size multiplier. No migration was added; the chain remains at 70 and cache advances to 36080.

V3.6.7 PERSISTENT STAT OVERLAYS + TARGET FOCUS CLEAR CHECKPOINT 3.6.7

Locking a card target now collapses every hover, click-focus, and target-focus clone before the authoritative move is submitted. The affected resting card is visible again before card movement, shield, sword, Ward, damage, or dice presentation begins.

AC, attack-modifier, and Temp HP borders now resolve into persistent overlays backed by the live runtime values. They remain on the affected card through rest, focus, and movement, then disappear only when that modifier or protection ends. Resting MONSTER, HEX, and UTILITY labels now share the same tuned size. No migration was added; the chain remains at 70 and cache advances to 36070.

V3.6.6 ANIMATION SHOWCASE CARD METADATA CHECKPOINT 3.6.6

Added published gameplay metadata for SET SAIL!, FAR OUT!, ROCK OF AGES!, INSANITY!, and IN THE AREA!. Their single abilities deliberately cover attack modifier gain, attack modifier loss, AC gain, AC loss, and Ward creation so the current sword, shield, attachment, Recovery, and numbered protection animations can be tested from one Loadout.

The cards use Hand-facing Spell and Item types rather than consuming all three Event slots. Title matching accepts the final exclamation point or its absence. Migration 0070_animation_showcase_cards.sql advances the chain to 70; cache advances to 36060.

V3.6.5NATURAL-1 COUNTERS + PERSONA PACE TUNINGCHECKPOINT 3.6.5

A natural 1 against a Monster now opens a free Counter Window. The defending Monster may Counterattack or decline; accepting creates a completely separate roll to hit and damage roll, spends no Reaction, and cannot recursively create another Counter Window. Persona blocks return to their original slot after the choice resolves.

A 300-match Tactical AI sweep compared the current Persona profile and nearby durability candidates. The proposed 30 HP / 12 AC base more than doubled median match length, so it was rejected. The new 26 HP / 12 AC base produced the intended modest extension while retaining the size rule: Small 26/12, Medium 25/13, Large 24/14, Giant 23/15. No migration was added; cache advances to 36050.

V3.6.4WARD RUNTIME + LIVE STATUS FEEDBACKCHECKPOINT 3.6.4

Wards now show their remaining protection value on a horizontal shield treatment and ordinarily expire at the start of their controller’s next turn. Advantage, Disadvantage, Inspired, and Cursed receive persistent card-edge indicators sourced from the active match state; gameplay effect uses of Hex/Hexed are permanently presented as Cursed while the card type remains HEX.

Damage from attacks and card effects now starts the red pulse, subtraction number, and visible HP update on the same frame. AC, Temp HP, and attack-modifier changes use reliable shield, heart, and sword visuals after the source card completes its movement, with the affected stat glowing green or red. Player-vs-AI now honors the selected Presentation Timer. Migration 0069_ward_rounds_and_cursed_language.sql advances the chain to 69; cache advances to 36040.

V3.6.2ACTION SACRISUMMONS + REPEAT ATTACKSCHECKPOINT 3.6.2

Every valid size-ladder Sacrisummon can use the once-per-turn Free Sacrisummon or spend an Action. Medium Monsters can Sac Small Monsters, Large can Sac Medium, and Giant recipes continue through the same ladder. Action Sacrisummons preserve the Free allowance, while Bonus Actions remain invalid payment.

The same Monster may attack multiple times whenever another Action, Bonus Action, or granted extra Action remains. Attacking still applies Fatigue and attacks against that Monster still gain +2 to hit. Resting MONSTER, HEX, and UTILITY rows fit color-coded A, BA, R, and Re markers beside the type label. No migration was added; the chain remained at 68 and cache advanced to 36020.

V3.5.8LOADOUT SEARCH + FULLSCREEN GUIDANCECHECKPOINT 3.5.8

Loadout Builder now pages Persona candidates in exactly two visible rows, adds independent Persona and Collection search fields, and provides an optional persistent Global Tilt switch for the visible card pools.

Advantage and Disadvantage dice presentations now use the concise labels ADVANTAGE, DISADVANTAGE, DAMAGE ADVANTAGE, and DAMAGE DISADVANTAGE. Card-game menus and matches also show a bottom-right Fullscreen (F11) Recommended reminder that automatically disappears in fullscreen and moves above the developer Users Online indicator when present.

No database migration was added; the chain remains at 68 and cache revision is 36040.

V3.5.7ANIMATED CARD GEOMETRY REPAIRCHECKPOINT 3.5.7

Fixed the intermittent animated-state half-card. The moving wrapper was sometimes measured from a short transitional Field or Hand rectangle, while paint containment cropped the complete card child to that temporary height.

Motion proxies now use a canonical full-card aspect ratio, Field landing width is measured from stable slot geometry, and paint containment remains only on the complete card itself. The fix applies to both players and every motion type. No migration was added; cache revision is 35070.

V3.5.1FULL-CARD MOTION + ENEMY STAT FITCHECKPOINT 3.5.1

Battlefield animations now always use the canonical complete card face. Titles, type rails, ability text, and stats remain on screen for every card movement on either side of the field.

Resting opponent cards now compact only their center damage readout, preserving readable HP and AC symbols beside longer damage combinations.

No database migration was added; the chain remains at 68 and cache revision is 35070.

V3.5SEAMLESS RECOVERY + HAND LANDINGCHECKPOINT 3.5

Every in-match motion proxy now builds from one complete, full-card presentation rather than borrowing a compact source surface. Animated cards therefore keep their title, artwork, type rail, ability text, and stats throughout movement instead of intermittently collapsing into an art-only card.

Cards returning to Hand now reserve their authoritative sorted landing slot, immediately make room for the Hand around them, then crossfade from the moving proxy into the live card in that exact position. The card no longer vanishes before its real Hand card appears.

Completed Recovery now receives its own green RECOVERY! reveal beside the Recovery pile before the card continues into Hand. No database migration was added; the chain remains at 68 and the public cache advances to 35070.

V3.5CARD PRELOAD + EXACT HAND FLOWCHECKPOINT 3.5

Matches now preload every card asset available to the current client behind a visible LOADING CARDS progress gate. Initiative and automatic AI advancement remain locked until art, signatures, and available material maps finish loading or safely fall back, preventing the first turn from beginning on an incomplete table.

Hands now behave as one live layout. Playing or summoning a card immediately removes its original and redistributes every remaining card. Cards returning from Recovery or Buried reserve their exact final sorted slot first, move the existing Hand out of the way, and land directly where the authoritative redraw will place them.

Ability presentation no longer uses an opaque full-screen takeover. The acting card rises near center but toward its player's side, retains its colored glow, displays the exact ability text, and sends a short repeated-arrow line to the highlighted target while still obeying presentation timing. No database migration was added; the chain remains at 68 and cache advances to 35070.

V3.4.5SACRISUMMON IDENTITY + ANIMATION OPTIMIZATIONCHECKPOINT 3.4.5

Sacrisummon movement is now split into one linked but identity-safe sequence: each old Fodder Monster travels only from the Field to Recovery or Hand, then the incoming Monster travels only from Hand to its selected Field slot.

Motion events now carry frozen card snapshots plus explicit tribute and summoned roles. The client uses strict source-zone matching, so a stale redraw can no longer substitute the same card from its new zone or display the incoming Monster on a tribute path.

Presentation load was reduced without removing the readable action cues. Duplicate infinite filter pulses were replaced by one short outline signal, arrow paths use fewer elements and stop after two pulses, scrolling foil pauses inside temporary proxies, and target aura duration was shortened. No database migration was added; the chain remains at 67 migrations and cache advances to 34500.

V3.4.4AUTHORITATIVE ACTION CHOREOGRAPHY + PASSIVE BATTLE FEEDCHECKPOINT 3.4.4

Loadout requirements now use the current Monster, Event, Hex, and Utility terminology everywhere players see validation or counts. Card artwork IDs are rebuilt from the first three letters of the credited creator while preserving edition and serial identity.

The battle log is now a compact passive scroller in the upper-right corner, with chronological turn, player, time, and event styling. It can expand for review without blocking normal card interaction.

Every played card now leaves its source position immediately, travels to center, identifies the exact ability being resolved, and points to a highlighted target with a repeating arrow path and resolution aura. Hand cards, Events, Sacrisummon Fodder, Recovery returns, and Buried retrievals animate from their true zones without duplicate originals. Attack movement is now a punchy immediate strike-and-return. No database migration was added; the chain remains at 67 migrations and cache advances to 34400.

V3.4.3SNAKE EYES ABILITY PRESETCHECKPOINT 3.4.3

The Card Effects / Game Data editor now includes a protected SNAKE EYES ability preset and executable SNAKE_EYES operation.

Snake Eyes targets the opposing player. On that player’s next attack, every selected damage die is forced to 1. Each selected die whose original result exceeded 1 adds +1 Re to the Snake Eyes card; the preset begins at Re[1]. A missed next attack still consumes the effect but adds no Recovery.

Damage presentation and replay events preserve the original dice, forced dice, and exact Recovery increase. Migration 0067_snake_eyes_ability_preset.sql advances the chain to 67 migrations and cache advances to 34300.

V3.4.2PICK BY VIBE 5×5 ART WALLCHECKPOINT 3.4.2

JayKoh Gallery’s artwork-only Pick by Vibe mode now uses a tighter, more readable five-column by five-row desktop wall instead of the previous eight-by-eight density.

Each page contains up to 25 artworks. Tilt, PBR depth, glare, holographic foil, and the complete fullscreen card inspector remain intact, while the ordinary Gallery continues using six complete cards per page.

No migration was added; all 66 migrations remain intact and cache advances to 34200.

V3.4.1PICK BY VIBE 8×8 ART WALLCHECKPOINT 3.4.1

JayKoh Gallery’s Pick by Vibe mode is restored as an artwork-only wall: no card frame, title, rules, metadata, purchase controls, or other copy appears inside the grid.

Desktop pages now show up to 64 artworks in a tight eight-column by eight-row layout. Each artwork keeps the Gallery’s live pointer/touch tilt, PBR depth, shine, and selected holographic foil, and clicking an artwork still opens its complete fullscreen card preview.

This patch preserves the V3.4.0 Deep Card Mechanics + Ability Preset Workbench, its 96-design library, and all 66 migrations. No migration was added; cache advances to 34100.

V3.4.0DEEP CARD MECHANICS + ABILITY PRESET WORKBENCHCHECKPOINT 3.4.0

The card engine now authoritatively resolves Advantage, Disadvantage, Inspire, Curse, Hex, Wards, Thorns, Rebound, Drain, Execute, Fatigue, Cleanse, Reaction refresh, displacement, and Recovery delay. Reactive equipment can trigger from its attached Monster, and a Monster may always complete its normal Persona defense even when its Thorns Reaction is unavailable.

All current Gallery cards receive a deliberately differentiated mechanical identity from a 96-design library spanning Monsters, Hexes, Utilities, and Events. The pass uses 28 executable operations, shared keywords, card-specific public rules, and selective secondary moves instead of forcing two abilities onto every card. Large pools remain collision-free through executable Signature Reserve fallbacks, while overflow Events keep one unique Resonance ability and never gain a second move.

The Card Effects / Game Data editor now includes reusable ability presets. Built-in keyword presets are protected; custom presets can be saved, applied to either ability slot, and deleted without altering cards that already copied them.

Migrations 0065_ability_presets_and_keywords.sql and 0066_deep_card_ability_diversity.sql advance the database chain to 66 migrations. Cache advances to 34000.

V3.3.9AUTHORITATIVE PERSONA SPILL + UNIQUE ABILITY COMPLETIONCHECKPOINT 3.3.9

Fatigued-protector spill damage now validates and persists the exact Persona vitality loss across Temp HP and real HP. Persona damage events carry authoritative remaining HP, Temp HP, max HP, absorbed damage, and health damage, and the visible Persona meter updates during the popup instead of waiting for a later battlefield render.

The exact 12/6 case is covered both without Temp HP and with four Temp HP, where the six-damage spill consumes all four Temp HP and then two Persona HP.

Every Gallery card lacking usable effect metadata now receives one card-specific primary ability. Existing usable abilities remain untouched, generated cards receive no secondary ability, and future blank Gallery submissions are completed by the same deterministic ability builder.

Migration 0064_unique_missing_card_abilities.sql advances the database chain to 64 migrations. Cache advances to 33900.

V3.3.8LITERAL AI GAME REPLAY + OPEN SPECTATOR TABLECHECKPOINT 3.3.8

Completed developer/founder AI-vs-AI exhibitions now replay directly on the real duel battlefield. The replay reconstructs each authoritative before/after state and runs the same card, dice, summon, defense, attack, movement, damage, Fatigue, and phase presentations used during the live match.

The compact replay HUD retains first/previous/play/next/last and speed controls. The V3.3.7 diagnostic damage audit remains available behind SHOW AUDIT for exact primary/spill roles, resolution IDs, and HP verification.

Live exhibition spectators and replay viewers can now see both AI Hands and every Event slot face-up while remaining read-only. Replay storage uses one setup-frame card catalog plus compact instance-ID snapshots, so full card definitions are not duplicated into every command frame.

No migration was added; the database remains at 63 migrations and cache advances to 33800.

V3.3.7AI EXHIBITION REPLAY + SPLIT-DAMAGE AUDITCHECKPOINT 3.3.7

Completed developer/founder AI-vs-AI exhibitions now include WATCH REPLAY on the winner screen. The viewer can step backward and forward or auto-play every authoritative AI command while inspecting both Personas, Field Monster HP/AC/Fatigue, zone counts, dice, damage, and log events.

Fatigued-protector split damage now carries one shared resolution ID with separate primary defender and spill Persona roles. The defending Monster is damaged exactly once; duplicate resolution/target applications are rejected, exact duplicate popups are suppressed, and popup-time HP synchronization prevents the later field redraw from resembling a second hit.

Each replay combat step includes an automatic damage-audit PASS or WARNING line plus short resolution IDs, making a suspicious split easy to inspect against the before/after HP deltas.

Migration 0063_ai_exhibition_replay.sql stores replay frames. The database chain is now 63 migrations and cache advances to 33700.

V3.3.6ATTACK + DEFENSE FATIGUE RESTORATIONCHECKPOINT 3.3.6

Every Monster now becomes Fatigued whenever it attacks or is selected to defend a Persona. Attack Fatigue appears immediately—even on a miss or during pending Enemy Defense—and blocks a second attack with the remaining Action or Bonus Action.

A ready protector still uses full AC and completely protects the Persona for its current defense, then becomes Fatigued after the defense resolves. A protector that was already Fatigued before defending continues to use reduced AC and the V3.3.5 half-damage spill rule.

Fatigue state is preserved for AI-vs-AI spectators so the visible FATIGUED band matches authoritative gameplay. No migration was added; the database remains at 62 migrations and cache advances to 33600.

V3.3.5FATIGUED PROTECTOR DAMAGE SPILLCHECKPOINT 3.3.5

Ready Monsters still fully protect their Persona: they take the attack's full damage and prevent all Persona damage even when the attack total exceeds their AC.

A Fatigued protector now creates a risk. When the attack total is strictly higher than its reduced AC, the protector takes full damage and half of that damage, rounded down, also spills through to the Persona. An equal roll hits only the protector.

Split damage now publishes separate Monster and Persona damage events, respects Persona Temp HP, and preserves the existing natural-20 bypass rule. No migration was added; the database remains at 62 migrations and cache advances to 33500.

V3.3.4EVENT READABILITY + AI RELIABILITYCHECKPOINT 3.3.4

In-match Event hover and click focus now render the complete card with readable deterministic rules typography instead of collapsing to a name-only or microscopic view.

Suspended's Reaction now correctly targets another friendly Monster. Effect targeting reads the selected primary or secondary ability, excludes the source when the rules say “another,” and rejects forged self-target commands.

AI now evaluates and uses activated Monster abilities and defensive Reactions, recovers from stale or invalid commands, and retries interrupted long-running matches. The artificial 40-card JayKoh Gallery limit is removed, with large D1 updates written in safe chunks. No migration was added; the database remains at 62 migrations and cache advances to 33400.

V3.3.3COMPACT RECOVERY + LOADOUT PAGINGCHECKPOINT 3.3.3

Recovery text on card faces is now reduced to the orange Re[X] token, without writing “round” or “rounds” inside the ability box.

Loadout Builder Collection cards are larger, render five across, and page exactly ten cards at a time in two rows. Filters reset to page one while selected cards remain selected across pages; the Persona picker keeps the matching roomier five-across layout.

JayKoh Gallery replaces the clipped heart mask with a complete centered SVG neon outline modeled on the in-game heart, aligning the transparent center and white HP value. No migration was added; the database remains at 62 migrations and cache advances to 33300.

V3.3.2GALLERY SEARCH + VITAL ALIGNMENTCHECKPOINT 3.3.2

JayKoh Gallery now includes explicit Monster, Hex, Utility, and Event filtering. Its search index includes card titles, artist and mood data, old and new type terminology, stats, complete ability text, and structured gameplay metadata, so searches such as deal 1d8 return every matching card.

The shared neon heart geometry has been redrawn inside its viewBox to eliminate the offset cutout. HP, damage, and AC rails now sit approximately five pixels above the bottom edge across Gallery, My Deck, Loadout Builder, fullscreen, and live-match cards.

In-game Action, Bonus Action, and Reaction effect explanations now render above focused cards and menus instead of following the cursor behind them. No migration was added; the database remains at 62 migrations and cache advances to 33200.

V3.3.1HEX / UTILITY + AI SPECTATOR CONTROLSCHECKPOINT 3.3.1

Loadout Builder Monster cards now show both distinct abilities instead of letting the designated Persona move replace the normal Monster move. The red P marker remains attached only to the configured Persona ability.

Player-facing Spell terminology is now Hex / Hex Cards with an H badge, while Item terminology is now Utility / Utility Cards with a U badge. Recovery counts render as compact orange labels such as Re[3 rounds]. In-match Persona cards retain the ordered PERSONA and fixed timing rails beneath their artwork.

Developer/founder AI-vs-AI exhibitions now wait for a dedicated ROLL BOTH INITIATIVE command and include spectator PAUSE MATCH / RESUME MATCH controls. Automatic play pauses when the spectator leaves or hides the page and remains paused on return. No new migration was added; the database remains at 62 migrations and cache advances to 33100.

V3.2.8UNIVERSAL CARD FRAME + TARGET LOCK REPAIRCHECKPOINT 3.2.8

Every non-match collectible-card view now follows the same Gallery-format anatomy: paired title rail, complete square artwork, card type directly below the art, a bordered ability body using larger deterministic typography, and bottom-anchored Monster stats. My Card Deck, JayKoh Gallery, fullscreen previews, and Loadout Builder share the same placement rules.

Spell and Item type/rules rails are forced visible and receive additional metadata fallbacks so their available text cannot disappear into empty card space. Non-match hearts receive a modest visual increase without changing shield geometry.

Attack selection once again opens the selected enemy target in the confirmation portal and restores the clickable LOCK TARGET control, while ordinary attack-mode hover focus remains disabled. No database migration was added. The public cache advances to 32800.

V3.2.7DECK PARITY & STATIC RULES PASSCHECKPOINT 3.2.7

My Card Deck now uses the same JayKoh Gallery card anatomy, borders, title rail, square art, type rail, ability box, bottom stat rail, Holo/Flip controls, and preview eye.

All in-game rule measurement code has been removed. Rule sizes are assigned deterministically when the card is rendered, preventing live static/dynamic switching. Resting Persona cards show only their fixed Action, Bonus Action, or Reaction timing band, and in-match hearts are enlarged to visually match shields.

No database migration was added. The public cache advances to 32700.

V3.2.6GALLERY CARD PARITY PASSCHECKPOINT 3.2.6

JayKoh Gallery preview and fullscreen cards now use one identical card face that only changes scale. HP is anchored over the bottom-left heart, damage is one centered dice-and-modifier line, and AC is anchored over a fixed-proportion bottom-right shield.

The unstable Gallery ability measurement runtime has been removed. Each card now receives one deterministic card-relative text size based on its complete rules length, eliminating dynamic/static switching while keeping rules inside the card.

The compact Holo and Flip controls return, along with a dedicated eye button for fullscreen preview. Holographic state and material selection carry into the enlarged preview. No database migration was added. The public cache advances to 32600.

V3.2.5GALLERY STAT RAIL HOTFIXCHECKPOINT 3.2.5

JayKoh Gallery ability fitting no longer measures on the visible card or observes its own resizing text box. A hidden off-screen probe calculates the final font size and applies it once, eliminating the rapid font-size feedback loop and visible flicker.

Monster stats return to the game-card format: HP overlays the heart, damage is one unbroken dice-and-modifier line such as 1d6[+0], and AC overlays a fixed-proportion shield that cannot stretch with the stat cell.

No database migration was added. The public cache advances to 32500.

V3.2.4GALLERY STAT RAIL + CONTROLLED FOIL MOTIONCHECKPOINT 3.2.4

JayKoh Gallery cards now use the same dependable lower anatomy as game cards: the type rail sits above a dynamically fitted ability box, while HP, damage dice, attack modifier, and AC remain attached to the bottom edge. HOLO and FLIP controls are approximately 2.35× larger without covering the card.

Foils are static by default and now track opposite the pointer or card tilt instead of drifting continuously. Individual presets can opt into deliberate scrolling with speed and 0–360° angle controls; Glitch keeps intentional TV-static movement by default while every other foil remains still unless enabled.

Holographic strength expands to 0–250% across Gallery, owned-card views, Effects Lab, and Dev account grants. Zero disables the foil, 100% is stronger than the former maximum, and 250% nearly blankets the card. Ability copy now capitalizes its first alphabetic character globally. No database migration was added; the public cache advances to 32400.

V3.2.3PERSONA FRAME + EVENT ROUND LOCKCHECKPOINT 3.2.3

Persona cards now use the complete Monster card anatomy in Loadout and live play: square art, PERSONA type rail, dynamically fitted designated ability, and HP / size modifier / AC anchored to the bottom. Hearts were enlarged globally to visually match shields, while Item, Spell, and Event cards receive I, S, and E heading badges and use the full Monster-sized rules body.

Only the exact ability line represented by an Action, Bonus Action, or Reaction control receives the matching green, blue, or purple highlight. Event click focus remains left of the Event rail so neighboring cards stay visible.

Each player may activate only one Event per round. Stable action identities now replace index-only card controls, preventing a stale Reaction button—such as Snob Goblin’s AC Reaction—from ever resolving a different legal action such as an Event. No database migration was added; the public cache advances to 32300.

V3.2.2STATIC CARD TITLESCHECKPOINT 3.2.2

Every collectible-card title now renders as one static text node in Gallery, Loadout Builder, live play, hover focus, click focus, fullscreen inspection, animation proxies, and owned-card presentation. The duplicate title tracks, overflow measurement, requestAnimationFrame title loop, hover wakeups, resize observers, separators, offsets, and marquee CSS were removed rather than hidden.

Card names remain centered inside the established title rail and clip safely with an ellipsis only if a future name exceeds the available width. This permanently removes the repeated-name and infinite-loop failure mode without changing the current card-name font size.

No database migration was added; the chain remains at 61 migrations. The public cache advances to 32200.

V3.2.1STABLE RULE FIT + FULL MOTION CARDSCHECKPOINT 3.2.1

Ability text fitting now belongs to one revision per card surface. Hover, pin, fullscreen, resize, font-load, and cloned-card callbacks discard stale measurements, while every new surface receives a safe immediate size before its first paint. This removes the oversized duplicate-looking text state that could persist until hovering away and back.

JayKoh Gallery and PRLX Play now share the race-free fitting behavior. Summon, Sacrisummon Fodder, Recovery, and Grave animations build a fresh complete unfocused card and refit its rules against the animation proxy, so enemy cards show their artwork, type, full ability, and stats throughout movement instead of displaying only the name.

No database migration was added; the chain remains at 61 migrations. The public cache advances to 32100.

V3.2.0CANONICAL CARD PRESENTATIONCHECKPOINT 3.2.0

JayKoh Gallery cards now use the same reliable title, full-square artwork, type, rules, and bottom-stat anatomy as PRLX Play while retaining the Gallery’s beige and holographic border identity. Every Gallery and fullscreen card dynamically measures its actual rules rail, preserves fallback ability copy, and renders one stable title before enabling a measured overflow ticker.

Ability presentation is now canonical across Gallery, Loadout, live play, focus, fullscreen, and owned-card views: green A, blue BA, purple R, and red Persona P. Legacy duplicate timing words and decorative ability names are removed at display time, while Events remain resource-free and never receive Action, Bonus Action, or Reaction badges.

The game now includes direct HOME navigation, target/cancel attack mode blocks hover focus without blocking target clicks, hearts match shield scale, and the Persona modifier equation is three times larger. Migration 0061_v32_card_presentation_cleanup.sql advances the complete chain to 61 migrations and normalizes Event metadata.

V3.1.42FULL CARD READABILITY + ARTIST IDSCHECKPOINT 3.1.42

Every full card now reserves a true 1:1 artwork square before laying out its rules and stats. Loadout cards keep as much public effect text visible as possible and add an ellipsis only when the resting preview cannot fit the complete copy; focus restores the full text.

Monster HP and AC values now sit directly over their heart and shield, damage dice and stat rails are larger and anchored to the card bottom, and Persona stats expand across Loadout and in-game focus surfaces. Unique IDs now appear in a narrow 50%-opacity box over the lower-left artwork and use the first three letters of the credited artist while preserving edition and number.

Redundant ability timing and ability-name prefixes are normalized, Monster/Item/Spell composition maximums are removed while Events remain limited to 1–3, and resting Loadout titles no longer inherit hover ticker remnants. Migration 0060_artist_card_ids_and_open_loadout_caps.sql advances the complete chain to 60 migrations.

V3.1.41DEFENSE REVEAL + EXACT CARD IMPACTCHECKPOINT 3.1.41

Persona defenders now commit a Monster block and/or Reaction before the attack roll is revealed. A staged protector moves beside the Persona first; only then does the d20 presentation reveal whether the attack misses, hits, or bypasses the protector with a natural 20.

Attack movement begins only after every required roll calculation. The exact damage value—or MISS—appears over the target the instant the attacking card begins its return movement and remains for exactly 0.88 seconds. Every movement proxy now copies the live card’s exact rendered surface, replaces its source globally, and reveals a summoned destination card precisely on arrival.

Events now contain one resource-free primary ability and spend no Action, Bonus Action, or Reaction. Card rules dynamically fit their fixed text rail without moving artwork or type labels, and title overflow measurement/tickers were hardened in gameplay, Loadout focus, and Gallery focus. Migration 0059_event_single_free_ability.sql advances the complete chain to 59 migrations.

V3.1.40CARD IDENTITY REBALANCE + LOADOUT ART REPAIRCHECKPOINT 3.1.40

Twenty named Monsters, Spells, Items, and Events received a relevance-focused ability pass tied more closely to their titles and intended art identities. The final definitions were sampled through 24,000 same-band Monster duels, 20,000 direct-damage rolls, and the randomized engine suite before being written by migration 0058_named_card_ability_rebalance.sql.

Persona cards now make their size trade visible as Persona HP, a red minus, white modifier, green plus, and Persona AC. Ordinary Monster cards retain their normal HP, damage die, and AC display.

The Loadout Builder now loads list-mode artwork directly, uses the same tall 3:4.45 card silhouette as live play, removes the duplicated second title strip, and replaces FOCUS + TILT with a compact eye inspector. Title measurement now evaluates one plain name: fitting names render once, resting overflow ellipsizes, and only genuine focused overflow scrolls as NAME - NAME -. The complete database chain now contains 58 migrations.

V3.1.39UNIFIED CARD HEADERS + RELIABLE TITLESCHECKPOINT 3.1.39

Every card now uses one compact top header rail: Monster size and the centered card name share aligned adjoining boxes, and the artwork is always the first surface directly beneath that rail across Loadout, Gallery, Persona selection, Hand, Field, hover focus, and click focus.

Title overflow is measured against the card’s real rendered width. Names that fit remain centered and motionless; resting overflow stays safely inside the border with an ellipsis. Focused overflow uses a continuous NAME - NAME - loop driven by the same requestAnimationFrame strategy as the repaired PRLX Signal ticker, including cloned focus portals and Edge/Chromium layouts.

Fullscreen retains its established larger title treatment. No database migration was added; all 57 migrations remain intact.

V3.1.38PERSONA DEFENSE + CARD BALANCECHECKPOINT 3.1.38

Persona Initiative is now a flat d20. Size instead changes the Persona's defensive profile from a 25 HP / 12 AC base: Small 25/12, Medium 24/13, Large 23/14, and Giant 22/15. Existing rooms preserve damage already taken while adapting to the new maximum.

Monster combat stats received their first complete normalization pass: Small 6/12/1d6, Medium 10/13/1d8, Large 15/14/2d6, and Giant 20/15/2d8 before intentional card-specific identities. Quick simulations and randomized engine matches favored the 25/12 Persona base over the slower 28/13 and 30/14 candidates.

TITAN’S CHALLENGE, SUSPENDED, FORGED FIGURE, LAST KNIGHT, and TEMP PLAYTEST PERSONA were explicitly adjusted. FORGED FIGURE now deals 1 direct Persona damage instead of 2. Migration 0057_persona_stat_and_card_balance.sql advances the complete chain to 57 migrations.

V3.1.37DESIGNATED PERSONA ACTIONSCHECKPOINT 3.1.37

Every Monster now designates its Primary or Secondary ability as its sole Persona Action. Loadout Builder, Gallery, Persona selection, and Persona cards mark that move with a blue P and yellow size-derived recovery value: Small P0, Medium P1, Large P2, or Giant P3.

Persona form hides and rejects the Monster’s other ability while preserving the selected move’s real Action, Bonus Action, Reaction, or Free cost. Friendly Persona cards show readiness and remaining recovery rounds; selected legacy automatic effects become deliberate Action moves instead of firing automatically.

Card names remain centered and motionless when they fit. True overflow loops only in focused states with a clean - separator, including the Gallery’s new top-border title rail. Migration 0056_persona_actions.sql advances the complete chain to 56 migrations.

V3.1.36FAST LOADOUT CARDS + CENTERED TITLESCHECKPOINT 3.1.36

The Loadout Builder now renders lightweight static collection cards instead of initializing tilt, signatures, PBR maps, and full foil-material assets for every owned card at once. Opening FOCUS + TILT mounts the complete enlarged animated card only when requested.

Artwork loads through a bounded near-viewport queue with retries and explicit failure feedback. Selecting or reordering cards no longer rebuilds the entire collection grid, and revisioned private card assets now use immutable browser caching with ETags so decoded artwork stays visible instead of repeatedly downloading or disappearing.

Gameplay-card names are centered at the top of every border. Long names remain still and ellipsized at rest, then scroll continuously during hover focus, click/pinned focus, played-card focus, and fullscreen inspection. No database migration was added; all 55 migrations remain intact.

V3.1.35REACTION RAIL + MATCH CONTROLSCHECKPOINT 3.1.35

Reaction is now presented as the persistent resource it actually is rather than another sequential turn phase. Each player’s green/red Reaction status occupies the tall right-side lane beside Action, Bonus Action, and Enemy Defense.

On desktop, Log moved into the top match header beside Settings, with a new Leave button that exits to PRLX Cards while keeping an active room reconnectable. The shared Battle Log state remains synchronized across every available toggle.

Landscape mobile preserves its header-free duel canvas: the compact last/current/next phase window sits beside the dedicated Reaction lane, and Settings, Log, and Leave remain grouped directly below. No database migration was added; all 55 migrations remain intact.

V3.1.34REACTION SYSTEM + COMBAT ADVANTAGECHECKPOINT 3.1.34

Reactions are now a separate once-per-cycle resource available on either player’s turn and during ENEMY DEFENSE. Flash remains an independent Hand-use permission, every card type can define a Reaction, and a defender may use a Reaction and still choose a Monster to block. Natural 20 Persona attacks bypass blocking entirely.

Attack Advantage/Disadvantage and non-d20 Inspired/Cursed rolls now present both roll sets and keep the correct result. Temp HP has an explicit non-stacking operation, hit movement waits until attack and damage calculations finish, Events focus with readable left-offset previews, unavailable controls are grey, and legal hovered controls pulse.

WINDBLADE, HORNED RELIC, DARK SUN, and SUSPENDED were updated to exercise the new systems. Player-facing Grave terminology is now BURIED, mobile card loading and offscreen rendering were optimized, and migration 0055_reactions_advantage_and_buried.sql advances the complete chain to 55 migrations.

V3.1.33SEAMLESS CARD MOTIONCHECKPOINT 3.1.33

Battlefield movement proxies now begin exactly aligned over the card they replace, matching the live card’s center, width, and height. The source card disappears at the same instant the animation proxy appears, eliminating doubled cards during attacks, summons, blocks, returns, and pile transfers.

The previous battlefield remains mounted until movement finishes, so a card’s new Field, Hand, Recovery, or Grave position cannot appear early. Non-attack transfers also begin at full size and opacity, creating one continuous source-to-destination movement on desktop and landscape mobile.

No database migration was added; the complete 54-migration chain remains intact.

V3.1.32PERSONA BLOCK STAGINGCHECKPOINT 3.1.32

When a Persona attack is blocked, the protecting Monster now visibly leaves its Monster slot and stages beside the Persona before the attack roll and strike resolve. The attacking card and damage number target that staged blocker, making the interception visually clear to both players.

A surviving protector returns to its original field slot after the complete combat sequence. If it is defeated, it travels from beside the Persona into Hand or Recovery only after damage calculation and card-bound damage feedback have finished. The same synchronized behavior applies on desktop and landscape mobile.

No database migration was added; the complete 54-migration chain remains intact.

V3.1.31PENDING CARD-USE CANCELLATIONCHECKPOINT 3.1.31

Pending Sacrisummons, Spells, and Items now mirror the attack-cancel flow with a dedicated red cancel button directly beneath the card being used. The control remains available while choosing Fodder or targets and during final confirmation, including no-target Spell and Item confirmations.

Cancelling clears all selected targets, Fodder, locks, highlighting, and confirmation state without submitting a command, spending an Action or Bonus Action, moving the card, starting Recovery, or consuming the once-per-turn Sacrisummon allowance. The shared behavior and responsive placement apply on desktop and landscape mobile.

No database migration was added; the complete 54-migration chain remains intact.

V3.1.30RECOVERY MOTION + SACRISUMMON LIMITCHECKPOINT 3.1.30

Cards that finish Recovery now visibly travel from the owning player’s RECOVERY control on the right-side utility hub into Hand, rather than appearing to originate from the center of the board. The shared movement path applies on desktop and landscape mobile.

Each player may now Sacrisummon only once per turn. The authoritative engine rejects a second attempt, and all additional Sacrisummon choices disappear after the first resolves while normal Action/Bonus summons remain separate.

A compact SACRISUMMON label sits beneath the local Persona: green while the allowance is ready on your active turn and red while unavailable or already spent. No database migration was added; the complete 54-migration chain remains intact.

V3.1.29HAND ORDER + FREE SUMMON CLARITYCHECKPOINT 3.1.29

The local Hand now automatically places every Monster on the left, ordered from Small to Medium to Large to Giant. Cards of the same size retain their existing order, while Spells, Items, and Events remain to the right without being reshuffled against one another.

When a legal Free Sacrisummon is available, the dedicated Summon control now presents one clear FREE cost state instead of also showing redundant Action or Bonus Action summon choices. Multiple valid Free Fodder recipes remain selectable inside that one Free Summon menu.

The shared match client applies both changes identically on desktop and landscape mobile. No database migration was added; the complete 54-migration chain remains intact.

V3.1.28INITIATIVE FLOW CLEANUPCHECKPOINT 3.1.28

The simultaneous paired Initiative reveal remains unchanged, including both dice, modifiers, totals, ties, and the winning player.

Individual rolled-Initiative and waiting-for-the-other-player lines remain available in the Battle Log, but they no longer create redundant fullscreen TURN FLOW / GAME FLOW cards. The later flow presentation announcing who won Initiative and takes the first turn remains visible.

The shared presentation filter applies identically on desktop and mobile. No database migration was added; the complete 54-migration chain remains intact.

V3.1.27DAMAGE FEEDBACK + READABLE CONTROLSCHECKPOINT 3.1.27

Damage now resolves directly on the battlefield: every Monster or Persona that takes damage displays the exact negative value over its own card for half a second. This covers attacks, direct card effects, and field-wide Monster damage. Damage remains recorded in the Battle Log, but the redundant fullscreen IMPACT presentation is removed.

Summon, Action, Bonus Action, and Free dropdowns now expand to the complete focused-card width on desktop and mobile, with violet, green, blue, and yellow outlines matching their buttons. LOCK SACRISUMMON sits directly beneath the FODDER / SACC'ING stamp so it stays reachable in resting and focused selection states.

The presentation timer now reaches 0.25 seconds and then OFF. OFF skips optional presentation overlays while retaining card-bound damage numbers, match results, and separately enabled card/combat movement. No database migration was added; the complete 54-migration chain remains intact.

V3.1.26DEDICATED SUMMON CONTROLSCHECKPOINT 3.1.26

Every local Monster in Hand now exposes a distinct SUMMON control in desktop and mobile hover focus, click focus, and fullscreen inspection. Its menu combines every legal Base Summon and Sacrisummon variant while stating the exact Action, Bonus Action, or Free cost for each option.

Generic Action, Bonus Action, and Free dropdowns now exclude Summon commands, so free Sacrisummons no longer appear as redundant resource moves and Base Summons are not duplicated across multiple controls. Attacks, Flash abilities, Spells, Items, Events, and other genuine resource moves remain in their proper menus.

Landscape-phone focus sizing now reserves clearance for the dedicated Summon row, preserving the complete card and controls without changing drag-to-summon, Fodder locking, confirmations, field-slot selection, or the authoritative V3.1.25 summon economy. No database migration was added.

V3.1.25FREE SACRISUMMONS + FATIGUE ATTACK LOCKCHECKPOINT 3.1.25

Small Monsters still spend either an Action or Bonus Action for a Base Summon, and Medium Monsters retain their no-Fodder Action summon. Valid Medium, Large, and Giant Sacrisummons are now Free: their required Fodder is the payment, so neither turn resource is consumed.

The server now strictly distinguishes Base Summons from Sacrisummons. A Base Summon cannot omit its listed resource cost, and a Sacrisummon cannot be submitted as an Action or Bonus Action. Existing Fodder recipes, specific requirements, open-slot checks, Recovery movement, and summon triggers remain authoritative.

Fatigue now fully governs repeat attacks. Once a Monster attacks and becomes Fatigued, it exposes no Action or Bonus Action attack option and forged direct commands are rejected. Fatigued Monsters may still defend a Persona and use otherwise legal abilities while retaining their existing size-based AC penalty until their next-turn refresh.

V3.1.24COMBAT VERDICT + DEATH STAGINGCHECKPOINT 3.1.24

Attack-roll presentations now begin neutrally as ATTACK ROLL. HIT or MISS appears only after the die, modifier, total, and AC comparison animation has completed instead of spoiling the result at the beginning.

Defeated Monsters remain visibly on the Field through the strike and full damage calculation. Recovery, Grave, or immediate-Hand transfer motion now runs afterward, and the authoritative resting battlefield does not redraw into the destination state until that movement finishes.

A pending attack now places CANCEL ATTACK directly beneath the attacking Monster. Cancelling clears target and confirmation state without submitting the command or spending a turn resource. Summon and Sacrisummon costs remain unchanged while the proposed economy revision stays under design review.

V3.1.23FREE EVENTS + SACRISUMMON REACHCHECKPOINT 3.1.23

Events now support four clear timing classes: Action, Bonus Action, Free, and Triggered. Free Events are deliberately activated without spending either turn resource, while Triggered Events remain hidden and resolve automatically on their exact configured condition. One generated Playtest Event now reads Free — Second Opening: gain 1 additional Action this turn. Additional Actions are tracked separately, so playing it before the normal Action truly allows two Action-cost commands that turn.

The three Event cards nearly fill their vertical rail, and hover previews shift left while covering only about half of the hovered card so neighboring Events remain easy to reach. Opponent cards no longer expose Action, Bonus Action, or Free controls in any focus or fullscreen state.

Sacrisummon selection now preserves FODDER/SACC'ING labels in click focus, keeps focus on selected Fodder, offers reachable lock controls on the source and selected Fodder, and accepts a second click on fully selected Fodder as the lock. Migration 0054 advances the database chain to 54 migrations.

V3.1.22FLASH TIMING + TACTICAL DEFENSECHECKPOINT 3.1.22

Monster activated abilities are now field-only unless their exact metadata effect is marked Flash. The metadata editor exposes Flash controls for primary and secondary moves, and marked abilities display an italic Flash descriptor before their public rules text.

Level 3 TACTICAL AI now uses legal Monster defenders against credible Persona pressure instead of routinely allowing the hit. Revealed Event cards are also slightly larger and use the same framed compact layout as resting Spells and Items.

Legacy metadata safely defaults Flash to off, so this release keeps the complete 53-migration chain with no database reset.

V3.1.21FOCUS + COMBAT STAGINGCHECKPOINT 3.1.21

Desktop click focus is now intentionally larger than hover focus but smaller than the fullscreen inspector. ALLOW PERSONA HIT is attached to the field-facing edge of the friendly Persona on desktop and moves onto the opponent half in landscape-phone matches.

The battlefield now preserves its pre-hit state through attack dice, strike motion, and damage calculation. A defeated Monster moves to Recovery or Grave only after the damage presentation has completed.

Mobile enemy Persona hand-count copy is removed, and Hand, field, and Persona cards now share the same compact one-line title height and name font.

V3.1.20MOBILE MATCH DENSITY + MOTION FOCUS LOCKCHECKPOINT 3.1.20

Landscape-phone matches now keep only the right-edge account ribbon, with authorized USERS ONLINE presence inside its opened panel. Compact cards use one-line titles, Monsters place vitals and ACTION / BONUS ACTION / DYNAMIC above the square artwork, utility cards move that action class directly below their names, and the friendly Persona follows the same compact top treatment.

Mobile turn, identity, Persona-name, Event, Recovery, Grave, and Monster Slot typography now shares the available field more evenly. Desktop Persona titles align left, turn markers are quieter, and hover focus releases quickly while its Action and Bonus controls remain safely interactive.

Attack and card-transfer motion now clears and locks card focus until animation completion on desktop and mobile. FATIGUED is rendered as a readable full-width band over the bottom of Monster artwork directly above the type line.

V3.1.19COMPACT CARD VITALSCHECKPOINT 3.1.19

Desktop out-of-focus Monsters now place their creature-size badge at the upper-left immediately before the card name, while hover focus and fullscreen inspection retain their existing layouts.

Landscape-phone compact Monsters now place HP, damage, and AC directly below the name and above the square artwork. The damage-die line is reduced to fit cleanly between the heart and shield.

The developer users-online badge is hidden throughout the mobile match account drawer so the phone interface remains clear.

V3.1.18MOBILE MATCH REBUILDCHECKPOINT 3.1.18

Out-of-focus Monsters now keep their square artwork untouched and place ACTION, BONUS ACTION, or DYNAMIC directly above HP, damage, and AC. The friendly Hand rests slightly higher, and hover focus once again spreads neighboring cards aside.

Desktop phase stacks resize cleanly to their available rail height. Landscape phones now show only the previous, current, and next phase for the active player, with Settings directly below, while the PRLX match header, Pinny button, and version marker stay hidden.

Mobile click focus is constrained to the full phone viewport. Choosing Action or Bonus Action filters the focused rules area to only that selected move, without changing desktop hover focus or fullscreen card inspection.

V3.1.17MATCH COMPLETION + DIRECT DRAGCHECKPOINT 3.1.17

Persona HP reaching zero now ends the duel with an explicit YOU WIN or YOU LOSE presentation. The result screen can close the completed lobby, and either participant may close a finished match without weakening Host control over active rooms.

Friendly Initiative remains on the left and enemy Initiative on the right throughout ready-up and simultaneous reveal. Monster drag controls are restored specifically for summoning into an empty friendly slot and attacking an enemy Monster or Persona directly.

Out-of-focus cards now hide effect prose and show compact ACTION, BONUS ACTION, or DYNAMIC labels while preserving full hover and inspector detail. The battlefield and Hand fit were tightened, /cards/ was compacted, and direct Inbox messages can be cleared in bulk without removing Stickynote threads.

V3.1.16INITIATIVE + TURN FLOWCHECKPOINT 3.1.16

Initiative is now a simultaneous two-player reveal: each player clicks ready/roll, hidden results appear side by side only after both are locked, and AI turns wait behind the complete presentation queue.

Hover-focus Action and Bonus menus are clickable again. Card vitals, phase boxes, Monster-slot and zone labels are larger, creature size moved to the upper-right, and HP/AC now sit directly over red heart and blue shield symbols.

Major presentations can auto-advance after a configurable delay or pause until the player clicks. The PRLX TCG room creator now lives directly at /cards/, and the Games portal order and TTRPG EXPANSIONS label were streamlined.

V3.1.16EXACT COSTS + LIVE CARD RULESCHECKPOINT 3.1.16

Action and Bonus Action costs are now authoritative at both menu generation and command execution. A card configured for one resource cannot silently use the other, and a spent Action can no longer cast another Action spell.

Monsters now use one shared combat modifier for both hit and damage. The new EITHER/BOTH metadata model supports one move or independent Action and Bonus Action moves, with expanded attachment, field-wide, Grave, and Recovery operations plus selectable Resurrect targets.

Gallery card names, artwork, PBR maps, stats, and effect metadata refresh globally into owned inventories and active matches. Migration 0053 applies the new generated-card defaults while preserving valid custom Published definitions.

V3.1.14REACTION + EXACT FIELD PLACEMENTCHECKPOINT 3.1.14

Summon and Recovery animations now land in the exact selected Monster slot instead of defaulting to the middle. The destination slot receives a readable landing pulse.

Defense is presented as REACTION. Legal protecting Monsters expose one direct REACT control with no dropdown, hover-focus controls remain clickable, and focused Reaction cards layer above ALLOW PERSONA HIT.

Card and UI font scales are now separate per-account settings, phase labels size themselves to their boxes, accent controls sit beside Settings, the in-game Dev Tools panel drops below the account row, and the centered enemy Hand and hidden Events share one matching card-back design.

V3.1.13BULK CARD OWNERSHIPCHECKPOINT 3.1.13

Dev Tools account management now supports selecting and granting multiple JayKoh Gallery cards in one operation, with shared edition, material, crop, and private-note settings.

Owned Digital Cards now include selection boxes plus Select All, Clear, and guarded Remove Selected controls. Existing copies of the chosen edition are skipped safely during bulk grants.

Individual grants, revocation, crop editing, and Holographic design assignment remain intact. Bulk removal revokes account ownership without deleting the source Gallery artwork.

V3.1.12READABILITY + CARD VARIETYCHECKPOINT 3.1.12

Medium Monsters now Summon normally with an Action and Sacrisummon with one Small only when using a Bonus Action. AI matches advance one command at a time after Initiative and every presentation overlay has cleared.

In-game cards are larger, use uncropped square artwork, readable full rules, heart HP and shield AC symbols, and hide collector details outside fullscreen. Enemy Hands now appear as upside-down card backs.

The metadata engine supports an optional second activated move and new attachment, field-wide attack, field-wide healing, and field-wide damage operations. Generated Gallery cards receive a substantially more varied playtest pool.

V3.1.11THE GAME ANIMATION UPDATECHECKPOINT 3.1.11

Every match presentation now runs through one serialized, visibility-aware queue, preventing dice, damage, and card animations from being cut short by device refresh rate, background throttling, or operating-system motion preferences.

Actions, Bonus Actions, phase changes, summons, activations, Recovery, Grave movement, health, Temp HP, AC, targeting, and enemy decisions receive distinct animated treatment. Combat math reveals the raw roll, modifier, total, AC comparison, and result in sequence, with acting-player accent colors.

Monsters can attack with either Action or Bonus Action, contextual menus show Attack/Ability/Summon availability, equipment peels beside its host, both phase rails stay visible, selected targets remain full-opacity with LOCK TARGET attached, Monster zones are narrower, and boosted AC displays green.

V3.1.10MOBILE + FULLSCREEN POLISHCHECKPOINT 3.1.10

Landscape phones now use the account pop-out menu, mobile card inspectors scroll cleanly, and fullscreen tilt is restored across the Gallery, Card Deck, and game inspectors.

The permanent bottom fallback control bar is removed now that direct targeting and universal confirmation are authoritative. Card artwork loading and mobile interaction layers receive a cache and decoding pass.

V3.1.9PLAYABLE EFFECT REPAIRCHECKPOINT 3.1.9

migration 0051 repairs Gallery cards that displayed Playtest and a card type but still contained a blank or NONE structured effect—the exact condition that made the new cards look configured without giving the match engine an ability to execute.

Every current Gallery card is enabled for Playtest, receives real machine-readable effect metadata when missing, and keeps any existing valid custom effect unchanged. Published cards remain Published.

Jay Gallery Edit now shows PLAYABLE or EFFECT MISSING and displays the public effect directly in each collapsed row, making broken metadata visible before opening the full editor.

V3.1.8ALL GALLERY CARDS PLAYABLECHECKPOINT 3.1.8

Every artwork currently stored in the JayKoh Gallery is now game-enabled and placed into Playtest status. Existing valid custom card definitions are preserved exactly.

Gallery artworks without usable structured rules receive an editable rotating mix of Monsters, Spells, Items, and Events, including static Monster HP, AC, damage dice, costs, targeting, Recovery behavior, and machine-readable effects.

migration 0050 is D1-safe and idempotent, and synchronizes public card text, legacy rulings fields, and the authoritative structured metadata used by Loadouts and matches.

V3.1.7TRUE FOCUS + DIRECT DEFENSECHECKPOINT 3.1.7

Focused cards now render as fresh full-resolution surfaces at an explicit larger width rather than inheriting Hand or zone constraints. Action and Bonus Action controls stay docked flush to the card.

Persona attacks now display a centered ALLOW PERSONA HIT choice while preserving every legal defense option and the fallback action panel.

Self-target Monster abilities such as Forged Figure confirm normally and resolve on their own source card, even when older generated metadata contains a generic Monster target.

V3.1.7SHARP TWO-STAGE CARD FOCUSCHECKPOINT 3.1.7

The connected-match field renderer now initializes its focus portal key correctly, eliminating the focusPortalKey display crash.

Hover creates a sharp preview at roughly twice the source card size with Action and Bonus Action controls visible. First click locks a persistent focus about 1.5 times larger than hover, and second click opens fullscreen.

END TURN now sits directly beneath RESOLVE in the left phase rail instead of appearing in the bottom control strip. Smooth Hand animation remains unchanged.

V3.1.5FLUID HAND + RULES HARDENINGCHECKPOINT 3.1.5

Hand movement is fluid again, while the PBR performance limiter is isolated to the JayKoh Gallery fullscreen inspector. Repeated child hover events no longer rebuild focused card portals.

Self-target Monster effects resolve on their own source, LOCK SACRISUMMON persists through pointer movement, and Fatigue expires exactly at the beginning of the Monster controller’s next turn.

Monster HP is now a static integer throughout the editor, API, migration chain, and engine. Dice remain for hit rolls and damage.

V3.1.4ATTACHMENTS + TEMP HP + CARD EXPANSIONCHECKPOINT 3.1.4

Attached Items now flank their host Monster inside the unused Monster-zone space. Persona healing is capped at 20 HP; overflow becomes non-stacking Temp HP that absorbs damage first.

Defeated Small Monsters return immediately, but their next Summon must use an Action and enters Fatigued. Newly uploaded unconfigured Gallery cards receive a varied editable playtest mix of Monsters, Spells, Items, and Events through migration 0048.

Combat dice remain visible for at least 1.5 seconds, attacks follow a curved punch motion, Hand movement is smoother, open enemy piles rise above local Events, Jay Gallery Edit gains search and 12-card compact pages, and AI matches can use Mirror, Random, or any valid saved Loadout.

V3.1.3RECOVERY + COMBAT PRESENTATIONCHECKPOINT 3.1.3

Hover and click focus are separated again: hover creates a sharp medium preview while click creates the larger persistent card focus. Gallery art replacement now automatically regenerates PBR maps and the public Gallery renders six cards per page with lower-cost idle previews.

Monster movement now follows size by default: Small returns immediately, Medium uses Recovery 1, Large Recovery 2, and Giant Recovery 3. Sacrisummon recipes are 1 Small for Medium, 1 Medium for Large, and either 1 Large or 2 Medium for Giant.

Combat presents attack dice, card motion, damage dice, and red impact in sequence. Directly clicking a blue enemy target moves LOCK TARGET to it, phase blocks are larger, Settings sits beside PRLX PLAY, and right-edge pile drawers open inward.

V3.1.1FOCUS + CARD SURFACE HARDENINGCHECKPOINT 3.1.1

Card focus now uses a dedicated top-layer portal while the original card remains fixed in its Hand, Field, or Event slot. This removes the rapid snap between the source position and the enlarged preview, keeps Action and Bonus controls stable, and restores the complete bordered card frame instead of reducing desktop cards to artwork-only tiles. Unchanged match polls no longer rebuild the field, and moving between child elements inside one card no longer recreates the focus layer.

Local Events now overlap as a vertical carousel with persistent slivers for switching cards, focused and fullscreen rules text is substantially larger, and regenerated artwork/PBR assets receive unique revision tokens with no-store Gallery metadata so replacing an image cannot leave the previous relief maps behind.

V3.1.0THE NO-SCROLL NEEDED UPDATECHECKPOINT 3.1.0

The complete duel now fits inside one responsive viewport: Initiative is a fixed overlay, turn order runs vertically beside the left-side Battle Log, the opponent utility zones form a compact 2×2 hub, the local Events form a vertical 1×3 row, Recovery and Grave open in directional three-card drawers, and the local Hand becomes a layered physical fan with no horizontal or vertical scroller.

Focused cards are promoted above the entire table as sharp fixed layers with a protected hover bridge, fullscreen card choices now return to confirmation, and every Monster’s Action control can offer Attack or Ability. Attacking applies size-based Fatigue until that controller’s next turn, reducing current AC by S −1 / M −2 / L −3 / G −4 without disabling defense. Initiative and damage now share the global size modifier S +0 / M +1 / L +2 / G +3, duplicate external Monster and Persona stat rows are removed, and turn/defense phases receive centered low-cost flashes.

V3.0.9UI PERFORMANCE + MIRRORED FIELD COMPLETIONCHECKPOINT 3.0.9

Card tilt and lighting now update at most once per animation frame, while Gallery PBR preparation waits until previews approach the viewport and automatically reduces expensive work on lower-power devices. Hovered, focused, or pinned cards elevate their entire slot so attached Action, Bonus Action, and effect explanations stay above every Monster zone.

The duel table is finalized as one responsive mirrored field with both public sides always visible, no decorative center divider, and only a private opponent Hand count. Lands now display publicly as Events without changing internal database identifiers, edge tooltips flip back into view, the Battle Log returns to the left, the white top strip is removed, and undersized windows receive a translucent PLEASE ENLARGE SCREEN gate before the layout can break.

V3.0.8DUEL FIELD + SNAP CARD INTERACTIONSCHECKPOINT 3.0.8

Private matches now wait for each player to manually click Initiative. The first d20 result remains live for both seats until the second player rolls, and ties keep both results visible while each player receives a clickable tiebreak roll. Hovering or tapping enlarges cards on the table, while a second click opens the same card fullscreen with attached green Action and blue Bonus Action controls. Unavailable costs stay gray; hovering a ready cost highlights and explains the matching card text.

Pointer and touch drags now snap cards to legal field/target positions or smoothly home when invalid, and saved Loadout order supports the same interaction. Mobile play uses an art-first landscape field with a portrait rotation gate, both public sides remain visible, HP/AC are larger, attacks use bounded card-to-target motion, every Monster displays S/M/L/G size, and Small creatures may summon with either Action or Bonus Action without changing any other mechanic. The creature-size migration now uses a D1-safe ranked update with no temporary table, preserving valid editor choices.

V3.0.6INITIATIVE + CARD-FIRST TABLECHECKPOINT 3.0.6

The match table now uses the PRLX/DM Tools workspace language with a browser-persistent local accent, clickable card-based Action and Bonus Action menus, visible Fodder/Sacc'ing selection, light card motion, and local drag offsets. Both public fields stay visible while opponent Hands remain server-private.

Every match now begins with authoritative d20 initiative plus the Persona's editable Initiative Bonus. Personas use universal AC 10 and may heal above their starting 20 HP. Initiative, attacks, damage, and dice-valued abilities all publish low-cost wireframe dice with explicit HIT or MISS feedback. Public terminology uses Sacc'ing and Sacrisummon; Bird Fountain is a Land and Forged Figure is restricted to opposing Monsters.

V3.0.5MATCH RENDER + BATTLELOG RECOVERYCHECKPOINT 3.0.5

Private matches no longer become stuck on RECONNECTING after a successful start. The browser now distinguishes a real connection failure from a display failure, and visible Hand cards render through the correct raw-card path instead of crashing on battlefield-only Monster data.

Both public Monster Fields and both Personas now finish drawing together, with opponent Hands reduced to a compact hidden count. Field cards are size-bounded so the two-sided board remains readable, and the Battlelog now closes reliably with its × button or Escape while keeping its accessibility state synchronized.

V3.0.4MULTIPLAYER CONNECTION + SHARED-FIELD HARDENINGCHECKPOINT 3.0.4

Private-room codes now tolerate pasted spaces and dashes, joining validates two different authenticated accounts and both saved Loadouts, and every match request revalidates its authoritative seats before accepting a move. The two-account route test now covers room creation, joining, readying, starting, reconnecting, playing a real card, artwork authorization, and Host closure.

Both players can now see both public battlefields while opponent Hands and unrevealed Lands remain server-redacted. Every visible match card hydrates its exact authorized artwork, Hosts can close abandoned rooms, Guests can leave waiting rooms, and used Spells or Items briefly reveal their exact card before remaining readable from Grave, Recovery, or an attached Monster slot.

V3.0.3MONSTER PERSONAS + CARD-SURFACE HARDENINGCHECKPOINT 3.0.3

Every gameplay-ready Monster is now automatically eligible for the separate Persona slot. A selected Persona always enters a match at 20 HP and 15 AC, while its editable normal Monster HP and AC remain untouched. The starter repair migration restores missing abilities and stats for existing Gallery rows, so already-owned copies inherit the configured gameplay data without losing unique IDs, art, editions, foils, crops, signatures, PBR, or material settings.

Dev Controls can grant Standard and Holographic digital cards again after repairing its SQL placeholder mismatch. Card information is now static, larger, wrapped, and fitted across Gallery and Pick by Vibe tiles, Card Deck previews and fullscreens, Dev previews, Loadouts, battlefield cards, and match inspectors; artwork and premium material effects remain interactive.

V3.0.2FIVE-LEVEL PLAY AGAINST AICHECKPOINT 3.0.2

PRLX Cards now supports immediate solo matches against Training, Rookie, Tactical, Relentless, or Nightmare AI. Each level makes meaningfully different server-side choices for passing, board development, targeting, healing, protection, Tribute value, threat removal, and lethal pressure while obeying the same legal actions, costs, dice, effects, Recovery, Grave, and victory rules as human play.

The AI mirrors the player's valid Persona plus twelve-card Loadout with separate AI-only runtime and visible card IDs. Every mirrored card retains the selected copy's artwork, artist credit, Standard or Holographic edition, foil design and intensity, crop, custom art, signature, PBR, material settings, and gameplay metadata; hidden AI Hand and Land assets remain locked until revealed. Private two-player rooms remain available and unchanged.

V3.0.1STARTER PLAYTEST + ARTIST CREDITCHECKPOINT 3.0.1

The first twelve Gallery cards now receive a varied, fully editable playtest configuration: 4 Monsters, 2 Lands, 3 Spells, and 3 Items covering summons, tribute summons, direct and dice damage, healing, temporary stats, equipment, action recovery, card Recovery, and destruction. The core format remains one separate Persona plus exactly twelve unique Loadout cards; a non-store temporary Persona is available only for grants to private test accounts.

Every Gallery piece now has an editable Artist Credit beneath its preview. The saved credit follows that artwork through public card previews, owned Card Deck copies, account files, Dev previews, Loadouts, and exact-instance match snapshots. Automated coverage now exercises every starter operation and completes three full mirror matches.

V3.0.0PRLX CARD GAME — FIRST PLAYABLECHECKPOINT 3.0.0

PRLX Cards is now playable as a lean browser-first private 1v1 game. Signed-in collectors can build a validated Persona plus 12-card Loadout, create or join a six-character room, ready up, reconnect after a refresh, and play through a server-authoritative match with hidden Hands and Lands, turn resources, summons, tributes, attacks, defense, dice, Recovery, Grave movement, and victory.

Every match snapshots the exact owned card instance—not only its artwork—so its permanent unique ID, Standard or Holographic edition, assigned foil design and intensity, crop, custom art, signature, PBR maps, material settings, and approved gameplay metadata stay attached to that copy in Loadouts and live games. Card visuals remain client-rendered for a small browser payload while D1 validates ownership, commands, targets, version races, and results.

V2.9.31CARD METADATA ENGINE + ARTWORK-ONLY PREVIEW CONTROLCHECKPOINT 2.9.31

JayKoh Gallery pieces now open a dedicated full-screen Card Metadata Editor with optional Core, Monster, Land, Spell, Item, and controlled machine-readable effect fields. The Worker validates and stores the structured effect object instead of interpreting the public English effect text. Existing nonblank V2.9.30 rulings migrate into Playtest automatically.

Every full-screen card surface now zooms and pans only the artwork layer, leaving all card-border text and signatures untouched. Public Gallery, owned Card Deck, Add Foils, and Dev Card Effects Lab previews each include zoom controls and a local TILT ON/OFF switch.

V2.9.30PLAYABLE CARD RULINGS + FOIL LIBRARY REFLOWCHECKPOINT 2.9.30

JayKoh cards now support fully optional Card Type, Ability, HP, AC, and Damage Dice rulings. Each Gallery Piece has an EDIT RULINGS control that expands directly beneath that item, and blank fields leave the card border unchanged.

Saved rulings render inside the lower card border in the public Gallery, Add Foils preview, owned Card Deck, Dev preview, metadata, certificates, and generated card files. The saved foil preview list now fills the former blue dead space inside the left Add Foils workbench.

V2.9.29LIVE CUSTOM FOIL SAMPLES + CLEANER GALLERY EDITORCHECKPOINT 2.9.29

Every saved custom foil now has a deliberate PUT LIVE IN GALLERY / REMOVE FROM GALLERY control. New custom foils remain private until published, while existing foil assignments and owned collector cards keep working independently. The public JayKoh Gallery only loads custom finishes marked as live samples.

Add Foils now uses the empty space beneath its live preview for the image-pattern and automatic-relief controls. Gallery Pieces place REPLACE IMAGE between the up and down arrows in one compact row, allowing the full piece editor and action rail to stay narrower and cleaner.

V2.9.28DEEP FOIL PATTERNS + PHYSICAL HOLO DISCLOSURE + TAPEDECK ROTATORSCHECKPOINT 2.9.28

The Foil Editor adds a Pattern Depth slider that makes dark pattern regions visibly deeper over bright card art. Physical holographic card checkout now requires an “I UNDERSTAND” acknowledgement that custom digital foils cannot be manufactured and the printing company chooses the physical foil at random. TapeDeck now frames album art with one skinny geometric rotator on each side, including edge overlays on mobile.

POST-3.0 ROADMAP: explore turning the collectible cards into a playable game.

V2.9.27PBR-ONLY FOIL SOURCE MAPSCHECKPOINT 2.9.27

Uploaded repeating tiles and full-size foil maps are now treated strictly as automatic Height, Normal, and Roughness sources. Their original RGB pixels are never composited onto the holographic color layer in the Foil Editor, public Gallery, fullscreen previews, Card Effects Lab, Digital Library, Card Deck, Dev previews, or newly generated card SVG files. Source-specific zoom, density, stretch, and offset continue to control the generated relief placement.

V2.9.26GLOBAL FOIL PROPAGATION + FULLSCREEN FINISH PREVIEWCHECKPOINT 2.9.26

Built-in and custom foil overrides now publish through one versioned live catalog used by the public JayKoh Gallery, Card Effects Lab, account library, wallet/card files, and My Card Deck. Open pages detect foil revisions and refresh their rendered material instead of remaining on an older preset. Clicking the Add Foils live card now opens a fullscreen interactive preview, and Open Public Gallery uses white text by default with black text on highlight.

V2.9.25COMPACT JAY GALLERY CONTROL + SOURCE ZOOMCHECKPOINT 2.9.25

Jay Gallery Edit now uses collapsible Gallery Pieces, Foil Editor, and Card Requests sections with a polished public-gallery action and persistent bottom save controls. Pieces Available use true 1:1 previews, vertical reorder controls, wider Replace Image actions, per-piece Regenerate PBR troubleshooting, and compact PBR status placement. Repeating Tile and Full Map foil uploads now each have their own live, saved Size / Zoom slider directly above their clear action.

V2.9.24FOIL MOTION REPAIR + AUTOMATIC PATTERN PBRCHECKPOINT 2.9.24

Uploaded Tile and Full Map foil textures now travel opposite card tilt across Add Foils, JayKoh Gallery previews and fullscreen inspection, Card Effects Lab, and owned Card Deck copies, restoring the moving material response instead of displaying a flat pasted-on image. Uploading a foil pattern automatically generates its high-contrast Height, Normal, and Roughness maps using the artwork PBR pipeline, while switching active sources rebuilds relief from the selected retained image. Manual foil-map upload slots and gray workbench gutters were removed; relief controls and square Pieces Available thumbnails remain.

V2.9.23ADVANCED FOIL MATERIAL MAPS + SQUARE ADMIN PREVIEWSCHECKPOINT 2.9.23

Add Foils now provides pattern size and density plus stretch, offset, softness, contrast, motion, and distortion controls for every built-in or custom finish. Each foil can retain both a repeating square tile and a full-size square texture while a mutually exclusive source switch chooses which one renders. Height, Normal, and Roughness maps can be uploaded—or generated from the active texture—to give the holographic layer its own independent PBR relief. Jay Gallery Edit’s Pieces Available thumbnails are now square crops.

V2.9.22BUILT-IN FOIL OVERWRITE EDITINGCHECKPOINT 2.9.22

STICKYNOTE → Jay Gallery Edit → Add Foils can now load, edit, and overwrite the official built-in holographic presets such as PRISM SHIFT, ACID STATIC, and the other default foil types. The workbench dropdown now includes both built-in and custom finishes, built-in overwrite mode saves a persistent override without changing the foil ID, and COSMIC / GLITCH pattern editing is exposed directly in the pattern selector so official specialty foils can be tuned visually from the same live preview editor.

V2.9.21CUSTOM FOIL LOAD + OVERWRITE WORKFLOWCHECKPOINT 2.9.21

STICKYNOTE → Jay Gallery Edit → Add Foils now places a Create or Overwrite dropdown directly between the workbench title and foil fields. Choosing a saved custom foil loads its name, colors, pattern, blend mode, angle, and strength into the existing live editor; the action changes to OVERWRITE FOIL and updates the same reusable foil ID everywhere it is assigned. New Foil mode returns the workbench to clean defaults, while the existing preview-art and preview-foil selectors remain live.

V2.9.20PERSONAL CARD LIGHT CONTROLSCHECKPOINT 2.9.20

Every visitor can now tune White Light Glare as a personal browser preference shared between the JayKoh Gallery and My Card Deck. A compact sun control sits beside the gallery holo-percentage button and in the Card Deck toolbar, while the fullscreen gallery inspector mirrors both the holo-percentage and sun controls live. Card Effects Lab White Light now supplies the starting default rather than forcibly overriding an individual viewer’s chosen glare level.

V2.9.19OWNED CARD MATERIAL SNAPSHOTSCHECKPOINT 2.9.19

Card Effects Lab global saves now control the JayKoh gallery and the material template copied into newly added cards rather than retroactively changing cards already owned. Existing collector copies snapshot their PBR and holographic response during migration, while WHITE LIGHT GLARE remains the single live global value. New holographic cards receive a random active foil design and a permanent randomized 85–200% intensity, and Card Effects Lab can tune that intensity on an individual account card.

V2.9.18FULLSCREEN GALLERY CARD INSPECTORCHECKPOINT 2.9.18

Clicking any JayKoh gallery card body now opens that same tilt-reactive card in a full-viewport inspector rather than a flat artwork modal. The inspector preserves HOLO, FLIP, PBR relief, and reflected-light behavior while adding pointer-centered mouse-wheel zoom, two-finger pinch zoom, double-click quick zoom, and dedicated minus/reset/plus controls from 45% through 350%. Product options remain available in the side panel while the enlarged card can be inspected independently.

V2.9.17GLOBAL GALLERY HOLO + CLEANER STORE CARDSCHECKPOINT 2.9.17

JayKoh Gallery now places a GLOBAL HOLO toggle directly between TILT + LIGHT and the Holo Preview selector. It turns the selected holographic material on or off across every card at once while preserving each card’s individual HOLO button; mixed per-card states are shown clearly on the global control. The repeated artwork heading above each gallery card’s price controls has also been removed because the real title already appears inside the deck-style preview.

V2.9.16DECK-STYLE GALLERY MOCKUPS + INDIVIDUAL CARD PRICESCHECKPOINT 2.9.16

JayKoh Gallery previews now mirror the owned Card Deck face more closely with the real artwork title, edition line, collector line, serial line, and PRLX mark, while ownership-specific fields remain neutral preview placeholders. Dev Control’s Sticky Storefront now lets staff choose one artwork and independently override its Digital Standard, Digital Holographic, Physical Plain, and Physical Holographic prices; blank fields inherit the storefront-wide defaults, and the effective artwork price flows through public buttons, Stripe Checkout, reservations, and order records.

V2.9.15GALLERY IMITATION FRAME + HOLO AMOUNTCHECKPOINT 2.9.15

JayKoh gallery cards now use a restrained imitation of the owned Card Deck border, carrying the same double-frame language and holo-colored edge accents without presenting a public preview as the collector’s actual copy. A compact % control sits directly beside the Holo Preview selector and opens a vertical 0–200% intensity slider that updates every visible gallery foil live while remaining a browser-local preview setting.

V2.9.14LIVE CARD PREVIEW CONTROL SURFACESCHECKPOINT 2.9.14

JayKoh Gallery now places a combined tilt-and-light switch plus a selectable holographic preview material beside Pick by Vibe. Card Effects Lab gained a fullscreen preview, immediate response to every material and foil control, and a global-mode artwork selector that locks to the chosen owned card whenever an account is selected. STICKYNOTE’s Add Foils workbench now renders a tilt-reactive live card where staff can swap gallery artwork and compare the unsaved foil form against built-in and saved custom finishes before publishing.

V2.9.13INTERACTIVE GALLERY CARD PREVIEWSCHECKPOINT 2.9.13

Every JayKoh gallery tile now behaves like a live PRLX card preview. Pointer hover and touch-drag tilt the card while the reflected light, automatic PBR relief, and optional holographic layer respond from the opposite point. Compact HOLO and FLIP controls sit near the bottom of each preview, allowing visitors to compare Standard and Holographic treatments and inspect the card back without leaving the gallery. Pick by Vibe keeps the same interaction in its denser layout, and the gallery now uses stored PBR maps publicly with automatic browser generation as a fallback.

V2.9.12ACCOUNT CARD EDITING INSIDE CARD EFFECTS LABCHECKPOINT 2.9.12

The existing Card Effects Lab now includes an Account dropdown and an Owned Card dropdown, allowing PRLX staff to target one specific collector copy without opening an individual account editor. Selected copies can receive unique replacement artwork, an independently positioned transparent Jaron signature, a private note, crop and holographic-design changes, regenerated high-contrast PBR maps, and optional per-card material overrides. One UPDATE CARD button publishes the selected copy while EDIT GLOBAL DEFAULTS returns the lab to its original site-wide controls.

V2.9.10CARD EFFECTS LAB + GLOBAL MATERIAL CONTROLCHECKPOINT 2.9.10

Dev Control gained a live Card Effects Lab for the JayKoh Card Deck. PRLX staff can globally tune generated texture pop, relief depth, holographic resting and active opacity, foil color saturation, foil brightness, foil travel depth, and white-light glare without editing code. Values persist in D1 and load into every Card Deck session. The automatic high-contrast PBR generator also produces slightly stronger normals for newly added or replaced artwork while existing stored maps respond immediately to the runtime controls.

V2.9.9AUTOMATIC CARD RELIEF + IMAGE DETERRENCECHECKPOINT 2.9.9

JayKoh gallery uploads now automatically create persistent Height, Normal, and Roughness textures from a resized near-binary black-and-white source, giving Card Deck artwork consistent tactile relief that follows pointer, touch, and mobile-sensor tilt. Existing cards can generate the same material locally until their stored maps are created. Holographic strength has been raised slightly between the V2.9.7 and V2.9.8 treatments, and JayKoh public gallery/commission imagery now deters ordinary browser saving through disabled dragging, selection, touch callout, context menus, and page-save shortcuts.

V2.9.8HARDENED CARD MOTION + MOBILE SENSOR TILTCHECKPOINT 2.9.8

The Card Deck motion engine was rebuilt around deterministic requestAnimationFrame transforms with inline priority, removing the reduced-motion rule that could silently disable tilt. Full-screen inspection now requests native browser fullscreen during the original click while retaining the viewport-overlay fallback, front/back controls, pointer tilt, and opposite-point reflective lighting. Mobile cards support DeviceOrientation gyroscope control with an iOS permission button plus touch-drag fallback, recentering, screen-orientation calibration, and full-screen motion.

V2.9.7FULL-SCREEN DECK + CUSTOM FOIL LABCHECKPOINT 2.9.7

Clicking a Digital Card now opens that same live card in a full-viewport inspection mode while retaining pointer tilt, holographic lighting, keyboard controls, and front/back flipping. Foil strength is reduced for a cleaner finish. STICKYNOTE → JAY GALLERY EDIT gains an ADD FOILS lab for reusable procedural custom finishes, and the foil schema reserves texture, normal, height, and roughness map slots for a future PBR relief pass.

V2.9.6SQUARE CARD CROP + FLIP MOTIONCHECKPOINT 2.9.6

Digital Cards use a square artwork window with independent per-owned-card X/Y crop and zoom controls in Dev account management. The Card Deck includes pointer/touch tilt, WebKit and standard transforms, responsive holographic lighting, and a clean FLIP control that reveals a back carrying the artwork title and unique card ID. Generated portrait, square, back, certificate, and manifest assets preserve the saved crop.

V2.9.5CARD ART + 3D DECK REPAIRCHECKPOINT 2.9.5

Digital Cards now render their real JayKoh artwork inside the approved PRLX frame instead of relying on browser-fragile nested SVG image requests. The Card Deck uses direct artwork layers with requestAnimationFrame-driven WebKit and standard transforms, mouse, pointer, keyboard, and touch fallbacks, plus downloadable SVG cards with embedded artwork. My Digital Library is now a responsive two-column owned-content grid, and Dev Control shows live front and back previews beneath the account card-grant controls.

V2.9.4ACCOUNT CARD GRANTS + UNIQUE HOLO DESIGNSCHECKPOINT 2.9.4

Dev Control account management can now grant Standard or Holographic JayKoh Digital Cards directly to any account, revoke them, and assign one of eight per-card holographic treatments. Each Holographic card preserves its own design across the interactive Card Deck, My Digital Library, generated portrait and square card assets, certificate, and metadata package. Manual grants issue a unique card ID and notify the collector through their PRLX Inbox.

V2.9.3CARD DECK + FOUR-WAY STICKY STORECHECKPOINT 2.9.3

JayKoh artwork now supports configurable Standard and Holographic Digital Cards plus direct Plain and Holographic physical playing-card checkout. Digital editions deliver a multi-format account folder and appear in each collector’s interactive Card Deck with pointer-driven tilt and holographic treatment. Dev Control keeps Beat and Sticky storefronts independent while exposing compact prices, availability, tax, terms, confirmations, and holographic stock controls.

IN DEVELOPMENT / PROJECT 05

PRLX WEBSITE
CHANGELOG.

The living build record for PRLX Productions—from the first black-and-white framework through the current V2.9.27 release.

V2.9.2 — V2.6.2STOREFRONT CONTROL + PRIVATE DELIVERY29 VERSION ENTRIES
V3.1.7TRUE FOCUS + DIRECT DEFENSEFOCUS PORTAL, DOCKED CONTROLS, SELF TARGETS
  • Hover and pinned focus now use explicitly sized full-card surfaces.
  • Action and Bonus Action controls are physically docked to the focused card.
  • Persona attacks expose a centered ALLOW PERSONA HIT choice without removing defense options.
  • “This Monster” effects resolve on their own source card after confirmation.
V3.1.5FLUID HAND + RULES HARDENINGSELF TARGET, FATIGUE, STATIC HP
  • Restored smooth Hand motion and isolated fullscreen Gallery PBR throttling.
  • Self-target Monster abilities no longer ask for another creature.
  • Sacrisummon locks persist and Fatigue expires after one round.
  • Monster HP is static and migration 0049 repairs legacy dice HP.
V3.1.4ATTACHMENTS + TEMP HP + CARD EXPANSIONATTACHMENTS, VARIETY, AI LOADOUTS
  • Attached cards flank their host Monster without consuming additional Monster slots.
  • Overflow healing is non-stacking Temp HP, while Persona HP remains capped at 20.
  • Defeated Small Monsters return immediately but resummon with an Action and Fatigue.
  • Migration 0048 safely configures newly uploaded unconfigured artwork into a varied playable pool.
  • Jay Gallery Edit now searches current names and pages compact expandable editors 12 at a time.
  • AI deck choice supports Mirror, Random, or a selected valid saved Loadout.
V3.1.3RECOVERY + COMBAT PRESENTATIONFOCUS, PBR, PAGINATION, SACRISUMMON
  • Sharp half-size hover previews now remain distinct from clicked card focus.
  • Monster Recovery timing is size-based: Small immediate, Medium one round, Large two, Giant three.
  • Sacrisummon recipes now use 1 Small for Medium, 1 Medium for Large, and either 1 Large or 2 Medium for Giant.
  • The Gallery now renders six cards per page with lower-cost PBR compositing.
  • Combat now presents hit dice, attack movement, damage dice, and a red damage impact in sequence.
V2.9.2DEDICATED BEAT + STICKY STOREFRONT DASHBOARDCHECKPOINT 2.9.2
  • Dev Control Dashboard is rebuilt around two independent dropdowns: BEAT STOREFRONT and JayKoh’s STICKY STOREFRONT.
  • Each storefront has its own LIVE/OFFLINE indicator, one simple saved switch, direct store shortcut, and compact connection diagnostics.
  • The former generic LIVE MODE NEEDS ATTENTION card is removed; Stripe Public Details Terms detection is advisory because working signed-webhook checkout remains the source of truth.
  • Beat checkout and JayKoh Digital Card checkout are independently pausable while sharing the secured Stripe infrastructure and automatic account delivery.
V2.9.1JAY GALLERY STORE + LIVE STATUS FIXCHECKPOINT 2.9.1
  • JayKoh Digital Card buttons now clearly expose their saved price and open secure Stripe Checkout directly from the public gallery when the store is enabled.
  • Public physical-card controls now read BUY THE DIGITAL FOR MORE OPTIONS; normal and foil custom orders remain owner-only inside My Digital Library.
  • Dev Control gains one simple JAY GALLERY STORE switch without affecting delivered cards or existing physical-card requests.
  • Live readiness now recognizes fulfilled webhook payments and equivalent www/apex webhook URLs, preventing a working live store from being mislabeled as needing attention.
V2.9.0DIGITAL CARDS + CUSTOM PHYSICAL ORDERSCHECKPOINT 2.9.0
  • JayKoh Gallery keeps account-linked MINT AS DIGITAL CARD Checkout, square previews, one-of-one reservation, signed-webhook delivery, and private collector folders in My Digital Library.
  • Only the Digital Card owner can request a Normal or Foil real card from the purchased card's library folder, where the current displayed cost and optional custom-order note are shown before submission.
  • STICKYNOTE → JAY GALLERY EDIT now controls Digital Card pricing, Normal/Foil display prices, owner request availability, and a private custom-order queue that notifies JayKoh and Bowdak.
  • READY + SEND STRIPE LINK lets staff set the final custom price, creates a fresh hosted Stripe Checkout link, and delivers it to the collector's PRLX Inbox and library. Signed webhooks mark payment received before staff move the card through PREPARING and COMPLETE.
V2.8.7JAYKOH GALLERY MARKETCHECKPOINT 2.8.7
  • The Arts portal now places JayKoh Gallery in the former Book Art Talent position, moves Digital Products to the former booking position, and renames the final tile ABOUT/GET CUSTOMS.
  • A dedicated Beat-Leasing-inspired JayKoh Gallery presents seven original works with consistent collecting cards, full artwork previews, print placeholders, and one-of-one collecting controls.
  • PICK BY VIBE converts the page into a shuffled dense artwork wall; opening any image restores the title and collecting controls inside a focused dialog.
  • The gallery foundation identifies the selected artwork and preserves all existing account, Stripe, beat leasing, delivery, and database behavior for later account-bound collecting.
V2.8.6BOLO CREDIT + YELLOW ROOM ROUTINGCHECKPOINT 2.8.6
  • Every visible development credit on About PRLX Gaming now identifies Bolo instead of Jose.
  • The hero Yellow Room panel, the community call-to-action, and the START SOMEWHERE Yellow Room card all open the internal PRLX Community page.
  • The existing game-design, development, community, DM Tools, TableTopZ, Original Worlds, Projects, and Game Inquiries content remains unchanged.
  • No account, Stripe, checkout, licensing, delivery, DM Tools, or database behavior changed.
V2.8.5PRLX GAMING IDENTITY PAGECHECKPOINT 2.8.5
  • ABOUT PRLX GAMING now opens a dedicated yellow-branch page instead of the general About page.
  • The new page introduces Bowdak's game-design, systems-writing, worldbuilding, and creative-direction role alongside Bolo's video-game development and implementation work.
  • It defines PRLX Gaming as a community-first meeting point for players, developers, artists, writers, voice actors, game masters, modders, playtesters, and active projects.
  • Direct paths connect the page to DM Tools, TableTopZ, Original Worlds, the gaming community, Projects, and Game Inquiries without changing account, Stripe, checkout, licensing, delivery, or database behavior.
V2.8.4AUDIO PORTAL TERMINOLOGYCHECKPOINT 2.8.4
  • The homepage pink department diamond now reads AUDIO while retaining the existing pink portal styling, routes, department state, and audio-focused destinations.
  • Inside that portal, BOOK MUSIC TALENT is renamed BOOK VOCAL TALENT and ABOUT / CONTACT is renamed CONTACT / BOOK PERFORMANCE.
  • The underlying routes remain Booking and About, and no account, Stripe, checkout, product, project, DM Tools, or database behavior changed.
V2.8.3COMPACT SIX-PROJECT DASHBOARDCHECKPOINT 2.8.3
  • The Projects catalog is rebuilt as a compact six-card desktop grid so nearly the complete project lineup is visible in the opening viewport instead of stretching down the page as oversized rows.
  • PRLX Releases now opens Digital Releases, Original Worlds now opens Digital Products, and a new PRLX Beat Tape card opens Beat Leasing.
  • The grid collapses to two columns on tablets and one column on phones while preserving the installation hub, project descriptions, and existing destinations.
  • No account, Stripe, checkout, product-delivery, DM Tools, or database behavior changed.
V2.8.2BOOKING INTRO + ACTION ROWCHECKPOINT 2.8.2
  • The Booking introduction now sits flush-left beneath BOOK PRLX, removing the empty lower-left field beneath the title.
  • EMAIL PRLX, SUBMIT REQUEST, and SEND A MESSAGE are grouped to the right of the introduction on desktop.
  • Tablet and mobile layouts stack the same content cleanly, and no booking route, request form, account, Stripe, product, or database behavior changed.
V2.8.1COMPACT RELEASES + BALANCED BOOKING LOCKUPCHECKPOINT 2.8.1
  • Digital Releases now keeps its page title on one line and removes the oversized opening space that previously pushed the actual release below the first viewport.
  • The PINNED feature is rebuilt as one compact artwork-and-information card with a restrained title, concise description, and direct four-platform action row.
  • Booking now places “BRING THE LABEL TO YOUR PROJECT” directly beside “BOOK PRLX,” using a smaller three-line scale whose top and bottom align with the two-line BOOK PRLX lockup.
  • Mobile layouts continue to stack cleanly, and no account, Stripe, checkout, product, booking-request, or database behavior changed.
V2.8.0OFFICIAL V2.8 RELEASE + DM TOOLS SHORTCUT CLEANUPCHECKPOINT 2.8.0
  • The homepage Music portal now places Digital Releases before Beat Leasing while preserving both destinations and their existing supporting copy.
  • DM Tools no longer shows its keyboard-shortcuts dropdown on phones, where those desktop keyboard commands cannot be used.
  • On desktop, the SHORTCUTS label and down arrow now sit directly together without the previous gap.
  • V2.8.0 is the official V2.8 baseline and retains all V2.7.9 checkout, leasing, account, private-delivery, policy, scroll-cue, and responsive-layout behavior.
V2.7.9BEAT LEASING SCROLL CUE FADECHECKPOINT 2.7.9
  • Beat Leasing keeps the centered down-arrow cue visible at its focused landing position even when internal navigation has already shifted the page below absolute scroll zero.
  • The cue records that landing position after the automatic focus adjustment, then fades away after the visitor scrolls farther down or activates the arrow.
  • Other pages retain the existing top-only scroll cue behavior, and Beat Leasing layout, checkout, pricing, ownership, agreements, and delivery remain unchanged.
V2.7.8EYEBROW-HEIGHT LEASING FOCUS ADJUSTMENTCHECKPOINT 2.7.8
  • Internal navigation to Beat Leasing now lifts the previous focus position by the rendered height of the “PRLX PRODUCTIONS // ORIGINAL INSTRUMENTALS” eyebrow.
  • The adjustment is measured from the live element instead of using a fixed pixel guess, keeping the small upward margin consistent across browsers and zoom levels.
  • Beat-card layout, account controls, Stripe checkout, pricing, ownership, agreements, and private file delivery remain unchanged.
V2.7.7EXACT LEASING FOCUS + COMPACT OWNED BADGECHECKPOINT 2.7.7
  • Internal navigation to Beat Leasing now places “PRLX PRODUCTIONS // ORIGINAL INSTRUMENTALS” directly at the top of the viewport instead of reserving the fixed Dev Tools area.
  • The desktop leasing shell no longer keeps unnecessary top padding beneath the off-screen contextual header.
  • Owned playback badges now size themselves only to their two-line content and display the purchased tier without the trailing “Lease” or “License” suffix.
  • Stripe checkout, pricing, upgrade calculations, ownership records, and private file delivery remain unchanged.
V2.7.6LEASING MICROCOPY + UPGRADE-NOTE PLACEMENTCHECKPOINT 2.7.6
  • The remaining small Beat Leasing interface text is raised slightly across assurance descriptions, metadata, BPM and key tags, playback labels and times, ownership status, filters, and lease controls.
  • Owned preview status now contains only “Owned //” and the purchased lease type.
  • “UPGRADES CHARGE DIFFERENCE” now sits beneath each available upgrade-button label, keeping that explanation beside the action it describes.
  • Desktop and mobile card alignment, Stripe amounts, upgrade calculations, ownership, and private delivery remain unchanged.
V2.7.5NARROWER ASSURANCE STRIP + READABILITY PASSCHECKPOINT 2.7.5
  • The connected desktop assurance strip is capped at 560 pixels and begins after the final G in LEASING instead of covering the title.
  • Account Verified is the narrowest attached panel, Digital Sales Policy receives the middle width, and Secure Stripe Checkout receives the widest panel.
  • The smallest Beat Leasing interface copy is slightly larger across assurance details, metadata, BPM and key tags, playback labels and times, ownership copy, filters, and lease controls.
  • Mobile assurance layout, Stripe behavior, pricing, ownership, and delivery logic are unchanged.
V2.7.4SLIMMER DESKTOP ASSURANCE STRIPCHECKPOINT 2.7.4
  • The connected Account Verified, Digital Sales Policy, and Secure Stripe Checkout panels are shorter on desktop while retaining their existing text, links, colors, and three-column structure.
  • Typography and internal spacing were tightened proportionally so the strip remains readable without competing with the Beat Leasing title.
  • Mobile layout, checkout behavior, pricing, ownership, and delivery logic are unchanged.
V2.7.3COMPACT LEASING HEADER + CONNECTED CARD CONTROLSCHECKPOINT 2.7.3
  • Beat Leasing now uses one compact title line with a slimmer desktop account, final-sale, and secure-checkout strip.
  • Genre and producer remain at the left of one metadata row while BPM and musical key pin directly to the right edge of each card.
  • Titles shrink from the established maximum and horizontally scroll on hover, focus, or mobile tap only when they still exceed the one-line viewport.
  • Owned status is integrated into the fixed-height preview player, and playback now connects directly to the gapless Basic, Premium, Unlimited, and Exclusive control stack.
  • Final-sale notices now use a softer pink accent instead of red, with no Stripe, pricing, database, ownership, or delivery changes.
V2.7.2ATTACHED DESKTOP CHECKOUT ASSURANCE STRIPCHECKPOINT 2.7.2
  • Desktop Beat Leasing now places account status, the final-sale policy, and Secure Stripe Checkout inside one connected three-panel strip beside the page title.
  • The account panel updates from the active PRLX session and exposes a sign-in route when checkout is not yet account-linked.
  • Mobile retains the existing stacked account gate and final-sale disclosure, and no Stripe or database changes are required.
V2.7.1BEAT CARD ALIGNMENT + ROTATING LONG TITLESCHECKPOINT 2.7.1
  • Desktop and mobile beat cards now share fixed media and license-button geometry so Basic, Premium, Unlimited, and Exclusive controls line up cleanly across every row.
  • Beat titles retain the existing maximum size, shrink into a two-line title area, and vertically rotate hidden overflow on hover, keyboard focus, or mobile tap when an extreme title still cannot fit.
  • Owned mobile cards now use the compact two-line message “Owned//(lease type)” and “Upgrade Charges Difference,” while BPM metadata sits directly against the owned notice or unowned player without a blank placeholder above it.
  • Font-ready refitting, ResizeObserver updates, translate3d/WebKit animation safeguards, and reduced-motion handling are pre-applied for consistent browser behavior.
V2.7.0OFFICIAL V2.7 RELEASECHECKPOINT 2.7.0
  • PRLX is promoted to the official V2.7 release baseline with the complete live checkout, private lease delivery, mobile account, and width-consistency work retained.
  • The mobile Projects supporting line remains centered in the entire button while equal horizontal inset protects it from the left-side DOWNLOAD OUR APP! tab.
  • No database migration, Stripe setting, or new secret is required for this release.
V2.6.9COMPACT LEASING HERO + DESKTOP WIDTH STANDARDCHECKPOINT 2.6.9
  • Beat Leasing now opens with a substantially smaller desktop title and tighter status, policy, and filter spacing so the catalog artwork is visible in the first viewport.
  • Pages that previously exceeded the PRLX News desktop frame are capped to the same 1180-pixel content width, while pages already at or below that width remain unchanged.
  • The mobile Projects homepage tile now reserves space for its left-side Download Our App tab so the secondary description stays readable and is never clipped or covered.
V2.6.8AGREEMENT-ACCURATE LEASE DOCUMENTSCHECKPOINT 2.6.8
  • Each purchased beat license now exposes only the exact agreement assigned to that license instead of falling back to every document archived under the beat.
  • The private library listing and direct download route share the same document-ownership guard, preventing guessed or copied file URLs from opening another tier's or customer's agreement.
  • Legacy recovery is limited to an exact agreement ID, while only non-personalized templates explicitly matching the purchased tier may be used as a fallback.
  • New Stripe and Wizard agreements store their tier ID alongside the unique agreement and account metadata for safer future auditing.
V2.6.7TIER-ACCURATE LEASE DELIVERY + ALIGNED BEAT CARDSCHECKPOINT 2.6.7
  • My Digital Library now lists only the files actually supplied and permitted by the purchased lease tier instead of displaying empty higher-tier folders.
  • Owned lease previews and Stripe Checkout now show the beat artwork whenever attached.
  • Every beat card includes a price-free Exclusive Lease inquiry button, reserves two title lines, automatically fits title type, and keeps every license control aligned across the grid.
V2.6.6FINAL-SALE DIGITAL CHECKOUT + MOBILE ACCOUNT TABCHECKPOINT 2.6.6
  • Reframed the customer policy as a Digital Sales & Refund Policy with an explicit all-digital-sales-final rule after payment and access.
  • Limited payment corrections to verified duplicate charges, wrong or unavailable delivery that cannot be corrected, checkout or pricing errors, unauthorized transactions, and rights required by law.
  • Added visible final-sale disclosures to Beat Leasing, Digital Products, My Account, and Stripe Checkout beside the payment button while preserving required Terms consent.
  • Kept Stripe refund and dispute webhooks active so an owner-approved correction, payment reversal, or chargeback still revokes the related files and license safely.
  • Replaced the large mobile account-button block with a compact right-edge ACCOUNT tab that expands left to reveal account, Inbox, staff, Wizard, Dev, and logout controls.
V2.6.5PRICE-SAFE STRIPE CHECKOUT ROUTINGCHECKPOINT 2.6.5
  • Changing any beat-license price now forces Stripe Checkout to use the current amount instead of reopening a recent Session created at the former price.
  • Reusable Sessions must match the current beat title, producer, tier name, target price, upgrade credit, and final amount due.
  • Superseded open Sessions are expired through Stripe before a replacement URL is returned, preventing an older browser tab from completing at stale pricing.
  • SOLARVEX and Wizard price edits were verified to share the same backend edit route, while the storefront and Checkout independently read the same current R2 metadata.
  • Dynamic Stripe price_data remains authoritative, so no manual Stripe Product or Price maintenance is required.
V2.6.4PERSISTENT PUBLIC CHECKOUT SWITCHCHECKPOINT 2.6.4
  • PUBLIC LIVE CHECKOUT is now stored independently instead of being inferred from empty private-pilot fields.
  • Unchecking the control and saving now remains off after refresh, reopening Dev Control, or returning from another page.
  • With public checkout off and no pilot values entered, all live customer checkout is safely paused.
  • Optional pilot beat and account restrictions can still preserve a private live test path while public purchases remain closed.
  • The live-readiness display now distinguishes a configured system from a deliberately paused public storefront.
V2.6.3PUBLIC LEGAL PAGES + STRIPE TERMS COMPLETIONCHECKPOINT 2.6.3
  • Published directly accessible Terms of Service, Privacy Policy, and Refund Policy pages using the established PRLX visual system.
  • Added visible customer-policy navigation across product, account, booking, commission, About, and legal surfaces.
  • The Terms now explain account-linked delivery, digital products, Stripe payments, beat-license control, prohibited use, and product-specific agreements.
  • The Refund Policy matches the live fulfillment system: approved refunds revoke payment-backed access, upgrade refunds can restore the previous eligible tier, and disputes can suspend access while reviewed.
  • Stripe launch diagnostics now verify the actual public Terms URL stored in the Stripe business profile instead of treating the local consent toggle as sufficient.
  • Deployment instructions provide the exact public URLs to enter in Stripe Public details so the required Checkout consent box can load successfully.
V2.6.2PUBLIC LIVE CHECKOUT + KEY RECOVERYCHECKPOINT 2.6.2
  • The production package now deploys with STRIPE_MODE set to live while the encrypted sk_live_ server key remains exclusively in Cloudflare secrets.
  • Stripe secret handling trims accidental surrounding whitespace and can fall back to a correctly matched legacy server secret instead of allowing a stale opposite-mode value to silently take priority.
  • Mode-mismatch errors now identify the exact Cloudflare secret name and expected key prefix without exposing any secret value.
  • Dev Control reports whether the selected secret is being read as LIVE, TEST, UNKNOWN, or UNCONFIGURED.
  • A dedicated PUBLIC LIVE CHECKOUT control clears and disables both pilot restrictions so every signed-in PRLX account can buy every leasable beat.
  • The mandatory account purchase gate remains active, preserving automatic library delivery, agreements, upgrades, refunds, and account ownership.
V2.6.1MANDATORY ACCOUNT PURCHASE GATE1 VERSION ENTRY
V2.6.1MANDATORY ACCOUNT PURCHASE GATECHECKPOINT 2.6.1
  • Signed-out visitors can still browse every beat, preview audio, compare tiers, and see prices, but purchase controls now become SIGN IN / CREATE ACCOUNT actions.
  • A dedicated account-status panel explains exactly where the license, agreement, upgrades, and private files will be delivered before Checkout begins.
  • After sign-in or account creation, PRLX returns the customer to the same Beat Leasing route and restores normal purchase or upgrade controls.
  • The storefront preflight reads a private no-store account session and explicitly includes the secure same-origin account cookie when requesting Checkout.
  • The Worker remains the final authority: anonymous, expired, suspended, or invalid sessions receive ACCOUNT_REQUIRED before an order is reserved or Stripe is contacted.
  • Every paid order therefore has a guaranteed PRLX user ID and permanent My Digital Library destination before Stripe Checkout exists.
V2.6.0LIVE PAYMENT READINESS1 VERSION ENTRY
V2.6.0LIVE PAYMENT READINESSCHECKPOINT 2.6.0
  • Stripe now keeps separate test and live API/webhook credentials behind an explicit STRIPE_MODE switch that defaults safely to test.
  • Dev Control adds an emergency sales shutoff, explicit live arming, private pilot beat/account restrictions, tax/payment-mode selection, editable audio-license tax codes, and a launch-readiness checklist.
  • Checkout reserves the PRLX order before contacting Stripe, uses a deterministic idempotency key for matching concurrent attempts, reuses an already-open Session, and expires each Session after 31 minutes.
  • Dynamic beat products support Standard Checkout, Stripe Automatic Tax, or eligible Managed Payments without requiring a manually maintained Stripe Product catalog.
  • Test and live webhook signatures are checked independently, and each event must match the mode stored on the reserved PRLX order.
  • Dispute-created events suspend the affected license and descendant upgrades; a won dispute restores prior access, while a lost dispute keeps the payment-backed license revoked and restores an eligible prior upgrade tier.
  • The live diagnostic panel checks charge readiness, account details, statement descriptor, customer support contact, exact webhook URL, and every required purchase/refund/dispute event without exposing secrets.
  • Migration 0020 adds runtime payment controls, order reservations, mode tracking, dispute state, and restoration snapshots while preserving existing test purchases and upgrade history.
V2.5.99STRIPE LEASE LEVELS + UPGRADES1 VERSION ENTRY
V2.5.99STRIPE LEASE LEVELS + UPGRADESCHECKPOINT 2.5.99
  • Basic, Premium, and Unlimited checkout work from the same dynamic per-beat Stripe flow without manually creating separate Stripe Products.
  • Signed-in owners see their current tier as OWNED, lower tiers as INCLUDED, and higher tiers as UPGRADE with only the price difference due.
  • The Worker independently resolves the active license, ranks tiers, calculates the stored-license credit, and binds the upgrade record to signed Checkout metadata.
  • Successful upgrades generate a new higher-tier TXT agreement, activate one current library license, revoke the superseded tier, and send a BEAT LEASE UPGRADED Inbox message.
  • MY DIGITAL LIBRARY includes a direct VIEW / UPGRADE LICENSE route back to the matching beat.
  • Private package files follow the active level: Basic receives MP3/WAV/artwork/agreement, Premium adds stems, and Unlimited opens the complete uploaded project package.
  • Upgrade refunds restore the previous eligible license, while refunds of underlying purchases invalidate descendant upgrades that depended on that payment.
V2.5.98STRIPE CHECKOUT TAX COMPATIBILITY1 VERSION ENTRY
V2.5.98STRIPE CHECKOUT TAX COMPATIBILITYCHECKPOINT 2.5.98
  • Beat-lease test Checkout now explicitly disables Stripe Managed Payments for each Session.
  • Stripe accounts with Managed Payments enabled by default can now create the dynamic inline Basic, Premium, or Unlimited lease item without first requiring an eligible product tax code.
  • The signed webhook, pending-order reservation, account-linked license grant, TXT agreement, private package delivery, and Inbox fulfillment remain unchanged.
  • This is a test-mode compatibility choice; PRLX must select its live tax and merchant-of-record strategy before live charging is unlocked.
V2.5.97STRIPE TEST CHECKOUT + AUTO FULFILLMENT1 VERSION ENTRY
V2.5.97STRIPE TEST CHECKOUT + AUTO FULFILLMENTCHECKPOINT 2.5.97
  • Beat leasing now creates dynamic USD Stripe Checkout pricing directly from each PRLX lease tier, so separate Stripe Price IDs are no longer required for testing.
  • Checkout requires a signed-in PRLX account and stores a private pending order before redirecting to Stripe.
  • A signed Stripe webhook verifies the raw payload, rejects mismatched amounts or metadata, and processes completed, failed, expired, and refunded payment states idempotently.
  • Successful payment automatically generates the correct Basic, Premium, or Unlimited plain-text agreement, grants the beat license, unlocks the private package, and sends an Inbox confirmation.
  • The success page polls the account-linked order and can reconcile a paid Checkout Session directly with Stripe if webhook delivery is delayed.
  • Dev Control now reports Stripe mode, secret readiness, migration readiness, and recent fulfillment totals without exposing secret values.
V2.5.96DIRECT DDB PDF FIELD IMPORT1 VERSION ENTRY
V2.5.96DIRECT DDB PDF FIELD IMPORTCHECKPOINT 2.5.96
  • D&D Beyond PDFs are now read directly from their embedded widget field names and values before PDF.js is attempted.
  • PDF.js receives an independent byte copy, and cleanup failures can no longer discard successfully extracted sheet data or detach the fallback buffer.
  • The importer maps D&D Beyond names such as CLASS LEVEL, Passive1, Init, ProfBonus, MaxHP, spellSaveDC0, and spellAtkBonus0 into the correct Player fields.
  • Players now preserve player name, background, initiative, proficiency bonus, spell save DC, spell attack, defenses, senses, weapons, actions, traits, and spellcasting summary.
  • Imported initiative is carried into the Initiative tracker instead of always being reset to zero.
V2.5.95LOCAL PDF ENGINE RECOVERY1 VERSION ENTRY
V2.5.95LOCAL PDF ENGINE RECOVERYCHECKPOINT 2.5.95
  • D&D Beyond PDFs now load through a same-origin PRLX PDF.js bridge with jsDelivr and unpkg backup sources instead of depending on one direct browser import.
  • The DM Tools service worker precaches the PDF library and worker so installed-app imports keep working after the first successful load.
  • A built-in AcroForm and compressed-object fallback extracts character-sheet values even when the full PDF.js engine cannot initialize.
  • Invalid, encrypted, or mislabeled files now return specific recovery guidance rather than a generic unreadable-PDF message.
V2.5.94COMPACT TOOL PICKER + DDB EXPORT GUARD1 VERSION ENTRY
V2.5.94COMPACT TOOL PICKER + DDB EXPORT GUARDCHECKPOINT 2.5.94
  • The Add Tools picker now uses shorter starter-pack and tool buttons with four desktop columns, three compact mobile columns, and a short-screen mode that removes descriptions before scrolling is needed.
  • D&D Beyond import now accepts PDF, HTML, TXT, and JSON export files from the same local file control.
  • Saved HTML sheets are cleaned of navigation, scripts, styles, SVGs, and footer content before stat detection so generic D&D Beyond page text can no longer become fake player data.
  • Exports containing only the empty D&D Beyond character-app shell are rejected with a specific PDF-export instruction instead of importing the page title as a character.
  • Rendered HTML form values, embedded JSON data attributes, copied sheet text, and the existing editable review screen remain supported.
V2.5.93VERTICAL PROJECTS APP TAB1 VERSION ENTRY
V2.5.93VERTICAL PROJECTS APP TABCHECKPOINT 2.5.93
  • The Download our App promotion is now a compact vertical tab attached to the left edge of the Projects tile.
  • The sideways copy is split into DOWNLOAD and OUR APP! as one rotated two-line unit.
  • PROJECTS remains on the higher visual layer during normal, hover, focus, and enlarged states.
V2.5.92PDF-FIRST D&D BEYOND IMPORT1 VERSION ENTRY
V2.5.92PDF-FIRST D&D BEYOND IMPORTCHECKPOINT 2.5.92
  • D&D Beyond import now begins with the official exported character-sheet PDF rather than requiring unofficial JSON.
  • PDF text and form-field values are extracted locally in the browser, then mapped into Players or Creature Archives.
  • An editable review screen shows every detected identity, combat, ability, and notes field before anything is added to the workspace.
  • Copied sheet text, monster stat-block text, advanced JSON, and public links remain available as fallback methods.
  • Player portraits remain assignable from the Players widget after import.
V2.5.91PROJECTS APP TAB RECOVERY1 VERSION ENTRY
V2.5.91PROJECTS APP TAB RECOVERYCHECKPOINT 2.5.91
  • The diagonal Download our App ribbon is replaced with a clean horizontal tab spanning the top edge of the Projects tile.
  • PROJECTS stays on a higher visual layer than the tab during normal, hover, focus, and enlarged label states.
  • The same stable tab geometry is used on desktop and mobile without diagonal clipping or overlap masks.
V2.5.9PINNY EASTER EGG + DM PARTY IMPORT1 VERSION ENTRY
V2.5.9PINNY EASTER EGG + DM PARTY IMPORTCHECKPOINT 2.5.9
  • The Download our App ribbon now spans the full Projects tile; on mobile it sits higher behind PROJECTS with a 50% dark overlap treatment for legibility.
  • Pinny and the hidden /terminal pop are available on every page. Rapidly clicking Pinny triggers the secret at a randomized threshold from 10 through 18 clicks, never before 10 or after 18.
  • Creature archive folders retain rename controls and now also support double-click renaming directly from the archive tree.
  • DM Tools can import public D&D Beyond character or monster links on a best-effort basis, plus exported JSON or copied sheet text when direct access is blocked.
  • A new Players widget stores party portraits, class and level, race, combat values, ability scores, notes, and initiative handoff.
V2.5.8PROJECTS RIBBON TRUE CENTER1 VERSION ENTRY
V2.5.8PROJECTS RIBBON TRUE CENTERCHECKPOINT 2.5.8
  • The diagonal Projects ribbon now ends at its actual visible top-edge exit instead of continuing invisibly beyond the tile.
  • The complete phrase DOWNLOAD OUR APP! is centered as one unit inside the visible band, rather than visually centering only the first word.
  • The desktop and mobile ribbon bands retain the approved lower-left to upper-left-third angle while no longer clipping their diagonal edges.
V2.5.7LEASE DETAIL EXPANSION + HOMEPAGE RELIABILITY1 VERSION ENTRY
V2.5.7LEASE DETAIL EXPANSION + HOMEPAGE RELIABILITYCHECKPOINT 2.5.7
  • Lease owner names in the compact LEASED TO card now expand inline to display their plain-text agreement or a structured lease summary when no readable text document is attached.
  • New Wizard-generated TXT agreements place the machine-readable PRLX metadata block at the bottom so the human-readable contract begins immediately.
  • The DND TOOLS pulse now runs through the same requestAnimationFrame approach used to stabilize PRLX News motion, keeping the arrow stationary while making animation reliable across cached and installed app contexts.
  • Download our App copy is centered inside the approved steep Projects ribbon without changing its path or covering the Projects label.
V2.5.6HOMEPAGE SIGNAL + RIBBON POLISH1 VERSION ENTRY
V2.5.6HOMEPAGE SIGNAL + RIBBON POLISHCHECKPOINT 2.5.6
  • DND TOOLS now uses a subtle medium-rate pulse that animates only the lettering and leaves its short arrow anchored in place.
  • The DM Tools SHORTCUTS trigger is narrower and shorter while preserving the full dropdown and keyboard guidance.
  • The Projects app ribbon now begins around the lower-middle of the left edge and rises steeply to exit through the first third of the tile’s top edge, matching the approved marked reference without covering PROJECTS.
V2.5.5DND TOOLS ARROW POSITION1 VERSION ENTRY
V2.5.5DND TOOLS ARROW POSITIONCHECKPOINT 2.5.5
  • The short DND TOOLS arrow was shifted left from between the O letters to the N in DND.
  • The label, arrow angle, arrow size, GAME diamond, Projects ribbon, and DM Tools behavior remain unchanged.
V2.5.4PROJECTS RIBBON + DM WINDOW GROUPS1 VERSION ENTRY
V2.5.4PROJECTS RIBBON + DM WINDOW GROUPSCHECKPOINT 2.5.4
  • The Download our App ribbon begins with its D on the Projects tile’s left edge and uses the largest clean band and lettering that remain clear of PROJECTS.
  • DM Tools window corners use wider attraction zones and stronger corner priority for easier docking.
  • Holding Shift while grabbing an attached window moves the full connected edge-or-corner group while preserving the layout.
  • A SHORTCUTS dropdown now sits immediately to the right of the DM TOOLS mark with Full Screen, Move Group, Undo, Save Space, and close/focus guidance.
  • Ctrl+Z, Ctrl+S, and Escape now perform the listed workspace actions outside editable fields.
V2.5.3COMPACT DND TOOLS POINTER1 VERSION ENTRY
V2.5.3COMPACT DND TOOLS POINTERCHECKPOINT 2.5.3
  • DND TOOLS now matches the GAME portal label size on desktop and mobile.
  • The label sits directly above and slightly overlaps the yellow GAME diamond.
  • The arrow is reduced to a short pointer from the TOOLS lettering into the middle of the diamond’s upper-right edge.
  • The treatment remains native HTML, CSS, and SVG with no generated image asset.
V2.5.2HOMEPAGE PROMOTION ALIGNMENT1 VERSION ENTRY
V2.5.2HOMEPAGE PROMOTION ALIGNMENTCHECKPOINT 2.5.2
  • The GAME portal promotion now reads DND TOOLS and uses a drawn arrow whose point physically meets the top point of the yellow diamond.
  • The Projects app ribbon now rises from beyond the left edge and exits through the middle of the tile’s top edge, keeping PROJECTS unobstructed on desktop and mobile.
  • Ribbon ends remain clipped outside the Projects tile so no boxed corners or end caps are visible.
V2.5.1LEASE ARCHIVE + TXT AGREEMENTS1 VERSION ENTRY
V2.5.1LEASE ARCHIVE + TXT AGREEMENTSCHECKPOINT 2.5.1
  • The Wizard Lease Document archive remains at the bottom of every beat package and now opens and closes as one collapsible window.
  • A compact LEASED TO card sits directly beside ATTACHED ARTWORK and shows the active or pending licensed names and account usernames without crowding the package archive.
  • Generated agreements are now portable plain-text .txt documents with embedded PRLX metadata instead of HTML files.
  • Lease document R2 metadata is reduced to the fields required for assignment and display, avoiding oversized metadata failures.
  • Lease generation now returns specific storage, schema, and duplicate-assignment errors instead of collapsing into an unexplained internal server error.
  • The detailed lease-assignment roster and revocation controls remain inside the collapsible archive.
V2.5.0DM TOOLS HOMEPAGE SIGNAL + SITEWIDE DENSITY1 VERSION ENTRY
V2.5.0DM TOOLS HOMEPAGE SIGNAL + SITEWIDE DENSITYCHECKPOINT 2.5.0
  • The homepage now advertises DM Tools through a compact yellow CHECK OUT DM TOOLS signal attached to the GAME portal, with a direct route into the workspace and no Tapedeck split.
  • The blue department portal label now reads ARTS while retaining the existing Art department route and visual identity.
  • Shared interior page shells, headings, profiles, commerce sections, community sections, changelog rows, and product transitions use a tighter deliberate rhythm with redundant top and bottom padding removed.
  • Wizard, Dev Control, TAPES, SOLARVEX, TapeDeck, My Account, and Inbox received matching density passes while Terminal and the functional DM Tools canvas retain their purpose-built geometry.
  • Desktop and mobile breakpoints keep clear separation between the new DM Tools signal, department portals, homepage tiles, fixed controls, and safe areas.
V2.4.9LEASE GENERATOR + ACCOUNT ROSTERS1 VERSION ENTRY
V2.4.9LEASE GENERATOR + ACCOUNT ROSTERSCHECKPOINT 2.4.9
  • Wizard now generates a unique branded lease document from the selected beat, PRLX account, licensed name, tier, price, dates, usage rights, ownership model, credit, and negotiated terms.
  • Generated documents receive a permanent agreement ID, download immediately, attach to the beat package, and grant the selected account access in one action.
  • Uploaded PRLX-generated documents are read for embedded agreement metadata, while ADD LEASE allows any document to be assigned manually to an active account.
  • Each beat now shows a LEASED TO roster with account usernames, licensed names, agreement IDs, dates, tiers, and guarded revocation controls.
  • Account lease downloads are scoped to the exact license record so one lessee cannot receive another lessee’s unique agreement.
  • The homepage app ribbon remains full-bleed but sits above PROJECTS without overlap, and the Projects page title now touches the installation section without the old gap.
V2.4.8CANONICAL ATTACHED ARTWORK1 VERSION ENTRY
V2.4.8CANONICAL ATTACHED ARTWORKCHECKPOINT 2.4.8
  • The Wizard now treats the artwork already attached to a beat in the Beat Archive as that package’s single canonical ATTACHED ARTWORK.
  • Replacing artwork from the Wizard updates the beat’s main PRLX artwork everywhere instead of creating a disconnected package-only duplicate.
  • Folder imports use the first detected artwork file as the beat’s attached artwork and skip extra artwork files rather than creating conflicting copies.
  • Licensed users receive the current attached beat artwork in their private lease contents automatically, even when no separate artwork file was uploaded to the package.
V2.4.7LEASE PACKAGE DELIVERY1 VERSION ENTRY
V2.4.7LEASE PACKAGE DELIVERYCHECKPOINT 2.4.7
  • The diagonal Download our App ribbon now bleeds completely across the Projects tile on desktop and mobile, with its ends clipped outside the tile so no boxed corners remain visible.
  • Wizard beat packages now include a sixth LEASE DOCUMENT category for license terms, permitted use, ownership details, producer rights, buyer rights, signatures, and negotiated conditions.
  • The downloadable beat-package template now includes a Lease Document folder and updated preparation instructions.
  • Members with active or pending beat licenses can open their private lease package from My Account and download attached WAV, MP3, stems, FL Studio files, artwork, and lease documents individually.
  • Lease-package files are protected by account ownership checks and cannot be opened by accounts without a matching active or pending beat license.
V2.4.6INBOX DELETE CONTROLS1 VERSION ENTRY
V2.4.6INBOX DELETE CONTROLSCHECKPOINT 2.4.6
  • The account page title now reads INBOX as one continuous word.
  • Direct and promotional account messages can be deleted from the active reader with confirmation.
  • Sent Stickynotes and response threads can be removed from the account Inbox without deleting the underlying staff request record.
  • Deleted messages no longer count toward unread totals, while PRLX staff retain the records needed to manage active requests.
V2.4.5STACKED SOUND EFFECTS + CREATURE ARCHIVES1 VERSION ENTRY
V2.4.5STACKED SOUND EFFECTS + CREATURE ARCHIVESCHECKPOINT 2.4.5
  • Sound effects now use the same single vertical, reorderable stack as ambience tracks while preserving simultaneous overlapping playback and full-stack stopping.
  • Stat Block Maker now organizes separately saved creatures inside expandable archive folders instead of one flat tab strip.
  • Each creature can be downloaded by itself, each archive can be saved as a portable foldered library, and the complete archive collection can be exported together.
  • Creatures can be duplicated, moved between existing or newly created archives, imported from legacy flat card files, and restored without losing previous workspace data.
  • Assigned workspace folders now auto-save Stat Blocks as Archive Folder / Creature files so the on-disk library matches the DM Tools archive tree.
V2.4.4INSTALL ROUTING + PWA RECOVERY1 VERSION ENTRY
V2.4.4INSTALL ROUTING + PWA RECOVERYCHECKPOINT 2.4.4
  • The Windows launcher now opens the exact canonical DM Tools URL through the user’s normal Edge or Chrome profile, removing the malformed route behavior and slow empty-profile startup.
  • The PRLX iPhone and iPad install control now shows PRLX-specific Add to Home Screen instructions instead of incorrectly displaying DM Tools instructions.
  • The Projects page keeps the separate DM Tools mobile install available inside the installed PRLX app while hiding only the already-installed PRLX offer.
  • PRLX and DM Tools service-worker installation is resilient to an unavailable optional cache file, with explicit manifest and worker headers.
  • Standalone DM Tools runtime ReferenceErrors were repaired while the collapsible notes folder tree remains intact.
V2.4.2RELEASE SET 121 VERSION ENTRY
V2.4.2ROOT DOMAIN + INDEPENDENT DM TOOLS RECOVERYCHECKPOINT 2.4.2
  • Rebuilt from the last stable V2.3.8 checkpoint instead of stacking changes onto the failed deployment branch.
  • Normal site navigation is canonicalized to prlxprod.com; the dmtools subdomain now exists only for the separate mobile DM Tools install identity, and stray HTML navigation is redirected back to the main site.
  • The independent DM Tools install is available inside browser-side DM Tools on desktop and mobile, plus Projects on mobile, while remaining hidden inside installed PRLX and DM Tools app windows.
  • DM Tools folders now expand and collapse in the left rail with their notes nested directly beneath them.
  • The Windows download is rebuilt as a minimal live-page launcher with no PowerShell, encoded commands, execution-policy bypass, self-installation, registry changes, or bundled scripts.
V2.3.8 — V2.3RELEASE SET 119 VERSION ENTRIES
V2.3.8TRUSTED DM MOBILE INSTALL + ACCOUNT SAFE AREACHECKPOINT 2.3.8
  • The broken dmtools subdomain handoff has been removed from public install controls; phones and tablets now install directly from the canonical `/dmtools/` page.
  • DM Tools uses its own manifest identity, yellow DM icons, nested service worker, and dedicated start marker so installed launches open directly into the workspace without an APK or unknown-source warning.
  • When Android suppresses the second automatic prompt because the full PRLX app is already installed, the install guide provides the browser-menu Add to Home Screen / Create Shortcut fallback instead of sending users to an unconfigured host.
  • Every page that mounts the fixed mobile account controls now receives an extra bottom safe area so the final content can scroll fully above the buttons.
V2.3.7WINDOWS X64 ICON REPAIRCHECKPOINT 2.3.7
  • The PRLX DM Tools launcher and installer now embed a complete multi-resolution Windows icon resource instead of relying on a generic executable icon.
  • The installer includes a dedicated ICO fallback and explicitly assigns it to both Desktop and Start Menu shortcuts.
  • Rerunning Extract and Install replaces older generic shortcuts and refreshes the Windows icon cache automatically.
  • The x64 shell remains live-synced to the deployed DM Tools page and still requires rebuilding only when the launcher itself changes.
V2.3.6LIVE-SYNC X64 RESTORATIONCHECKPOINT 2.3.6
  • The Windows x64 DM Tools shell is restored as a permanent downloadable option in Projects and DM Tools About / Help.
  • The shell is treated correctly as a live-page launcher: routine DM Tools website releases update inside it automatically and do not require a newly rebuilt x64 package.
  • Desktop visitors receive the x64 Extract and Install option, while mobile visitors retain the independent DM Tools app origin.
  • The new inline Save Space / Load Space system and independent mobile app work from V2.3.5 remain intact.
V2.3.5SAVE SPACES + INDEPENDENT MOBILE APPCHECKPOINT 2.3.5
  • DM Tools now exposes SAVE SPACE and LOAD SPACE as an inline page library rather than hiding named sessions behind file dialogs.
  • Named saves automatically source from the assigned Workspaces folder when available and retain an app-storage fallback for browsers without directory access.
  • The retired x64 wrapper and its download promotion were removed; the website is now the single maintained DM Tools codebase.
  • A dedicated dmtools.prlxprod.com app origin, manifest, service worker, and Worker host routing now allow DM Tools to install independently beside the full PRLX app.
  • The standalone DM Tools origin keeps account login, blocks routes back into PRLX Home, and restores its last local desk automatically.
V2.3.4COMPLETE SESSION PORTABILITY + AUDIO TRIMCHECKPOINT 2.3.4
  • Notes libraries now preserve multiple notes inside every folder and imported note files replace matching folder/title records instead of scattering duplicate windows.
  • Named workspace exports now restore the complete session, including initiative players, notes, stat-card sources, activity, audio links, portable uploaded audio, queues, soundboards, and trim ranges.
  • Assigned folders now organize automatic source copies into Stat Blocks, Players, Notes, Audio/Ambience, Audio/Soundboards, and Workspaces, then reopen those sources in their matching widgets.
  • Ambience tracks and sound effects now support per-item start and end trims for uploaded audio, direct links, and YouTube sources.
  • Account, Inbox, logout, and developer controls now inherit the red PRLX terminal treatment on /terminal.
V2.3.3STANDALONE DM DESKTOP + AUTOMATIC LOCAL WORKSPACECHECKPOINT 2.3.3
  • Projects now offers a Windows x64 DM Tools package with an explicit Extract and Install action.
  • The dedicated shell has no PRLX Home route, retains account login, and runs with a separate local app profile.
  • Assigned folders now receive automatic latest-workspace saves, timestamped exports, and organized note files; Import Workspace opens in Workspaces when supported.
  • PICK PRESET is visible from the main desk and empty state, while Notes now support folders and multiple note tabs.
V2.3.2ACCOUNT COMFORT + TRUSTED WEB APP INSTALLSCHECKPOINT 2.3.2
  • My Account now expands into a full-width dashboard with ownership totals, recovery status, shortcuts, universal password changes, and the Stripe payment-storage advisory.
  • TableTopZ library artwork now uses the deployed WebP asset and includes a migration plus front-end fallback.
  • Failed APK and launcher promotion has been removed in favor of separate browser-installed PRLX and DM Tools webpage apps.
  • Contextual back controls now return to and label the actual prior page, including login flows opened from DM Tools.
  • Mobile pages receive a fit-to-screen containment pass and larger button typography, while the desktop Projects ribbon is larger and correctly positioned.
V2.3.1HONEST APP DOWNLOADS + DEDICATED DM DESKTOP LAUNCHERCHECKPOINT 2.3.1
  • DM Tools no longer advertises a redundant Save Space webpage installation; Android receives the dedicated APK and Windows receives a separate x64 desktop launcher package.
  • The new Windows package contains a portable app launcher plus optional Desktop and Start Menu shortcut installation, opening DM Tools in its own no-address-bar window and local profile.
  • APK download feedback now distinguishes downloading from installing and directs Android users to Downloads while explaining required source approval.
  • Installed Android and desktop app modes hide all app-download surfaces, while the complete PRLX website retains its existing PWA installation option.
  • The Back to Projects control has been removed from the DM Tools header; PRLX Home remains its single left-side route.
V2.3DUAL APP DISTRIBUTION + GROWING DM DESKCHECKPOINT 2.3
  • Projects separated the complete PRLX platform from PRLX DM Tools, with mobile Android packages and desktop installation choices.
  • Two development-signed fullscreen Android packages were introduced: PRLX Productions opens the complete platform and PRLX DM Tools opens the canonical workspace without browser chrome.
  • Installed app modes hide download prompts automatically, Focus Mode hides the account/developer stack, and the mobile desk grows downward continuously as windows are added or moved.
  • The desktop homepage Projects ribbon was geometrically centered from the middle of the left edge to the middle of the top edge.
V2.2.9 — V2.2RELEASE SET 1010 VERSION ENTRIES
V2.2.9WHOLE-SITE INSTALLATION MODECHECKPOINT 2.2.9
  • The complete PRLX website is now configured as an installable progressive web app for supported phones and desktop browsers, with a standalone app shell, full-site scope, shortcuts, maskable icons, and a safe offline fallback.
  • Installation stays out of the homepage foreground: Projects contains the real install control, while the homepage Projects tile carries only a thin diagonal Download Our App banner.
  • DM Tools now lives at the canonical /dmtools/ route, old DM URLs redirect safely, and a compact About / Help dialog contains the product explanation and secondary install action.
  • A service worker avoids caching sensitive authenticated routes while preserving public navigation and static assets for more reliable installed use.
  • Robots, sitemap, canonical metadata, and WebApplication structured data give DM Tools a stronger standalone search identity.
V2.2.8DM SESSION POLISH + STARTER PACKSCHECKPOINT 2.2.8
  • DM Tools now keeps a browser-local recovery snapshot, offers Restore Last Workspace, and maintains a bounded Undo history across desk, editing, card, and initiative changes.
  • A global Master Audio strip controls ambience and effects independently, with Mute All and Stop All Audio applying across every open player.
  • Import Workspace now opens a review surface that summarizes files and warns about empty content, duplicate stat-card names, invalid JSON, and notes fallbacks before changing the desk.
  • Initiative gains previous/next navigation, automatic round wrapping, delay, defeated-state skipping, combatant duplication, and a stronger current-turn display.
  • Four official starter layouts are included: DND Combat, DND Exploration, DND Boss Fight, and TTZ Horde Control.
V2.2.7STABLE DM HEADER IDENTITYCHECKPOINT 2.2.7
  • The PRLX Home logo-style route returns to the left side of the DM Tools header while Import — DM — Export — Repeat occupies the space between home and the workspace identity.
  • The PRLX Gaming / DM Tools mark is centered again and is now a non-interactive identity element, preventing accidental page reloads and workspace resets.
  • The Projects route, Focus Mode, account offset, and compact mobile hierarchy remain available without changing the DM desk itself.
V2.2.6DM WORKSPACE FLOW + PERSISTENT LOCAL FOLDERCHECKPOINT 2.2.6
  • The DM command strip now groups desk controls, pairs Import Workspace directly with Export Workspace, and separates local-folder, NPC-template, and Workflow actions.
  • Assign Workspace Folder replaces the three experimental folder controls, creates a structured PRLX-DM-WORKSPACE directory, remembers the chosen handle when browser permissions allow, and rereads it on later visits.
  • Workspace export still downloads a portable text file and also updates the assigned folder’s latest workspace snapshot when local write access remains available.
  • The DM header now carries Import — DM — Export — Repeat, the new Workflow window explains the recommended routine, and the desktop account stack shifts left on this page so Focus Mode stays visible.
V2.2.5LINKED SOUND RELIABILITY + MOBILE COPY CLEANUPCHECKPOINT 2.2.5
  • DM Tools now normalizes pasted sound links and supports direct audio, YouTube, Google Drive shares, Dropbox shares, and common GitHub-hosted audio sources.
  • Sound Effects buttons can play hosted links and YouTube clips, while STOP ALL clears native playback and linked embeds together.
  • Invalid, blocked, or non-audio links now produce visible status feedback instead of silently doing nothing.
  • The Commissions flavor line remains on desktop but is completely removed from the mobile layout.
V2.2.4COMPACT PAGES + SHARED WINDOW RESIZINGCHECKPOINT 2.2.4
  • Digital Products now uses near-edge-to-edge spacing on desktop and mobile, with its account/library promise reduced to a thin banner above the page heading.
  • Clicking an already-active Art, Music, or GAME portal returns the homepage to the normal all-PRLX menu, while Community now pairs its introduction with Choose Your Room and Commissions surfaces its first artist cards sooner.
  • Community and Commissions retain their existing content while removing excess page, section, and card rhythm; the commission flavor line remains present at a much smaller scale.
  • Docked DM windows now expose shared edge dividers, allowing the boundary between connected windows to resize both sides together without breaking the docked arrangement.
V2.2.3AUDIO QUEUES + SMOOTH EDGE DOCKINGCHECKPOINT 2.2.3
  • The yellow homepage portal now reads GAME while retaining the focused Gaming department menu and yellow branch accent.
  • DM ambience windows now hold multi-track link/upload queues with transport controls, queue looping, direct-audio auto-advance, and master volume.
  • A separate Sound Effects board turns multiple uploaded or linked effects into simple one-click buttons with shared volume and overlapping playback.
  • Window dragging stays smooth and only applies edge, corner, or screen docking after release, preventing movement from being pulled around mid-drag.
V2.2.2PORTAL CLARITY + DM DESK DOCKINGCHECKPOINT 2.2.2
  • Department labels now sit directly over their diamonds with matching blue, pink, and yellow glow treatments.
  • Art, Music, and Gaming modes recolor the homepage tile outlines while the desktop account and Dev Tools stack occupies roughly half its prior width.
  • DM windows now magnetically dock across touching outer edges, aligned edges, and nearby corners, and the empty-state message appears only on a genuinely empty desk.
  • Stat Block Maker now holds a tabbed card library with card creation, duplication, deletion, import, active-card export, and full-library export.
V2.2.1DESKTOP DEV TOOLS + ACCENT CLARITYCHECKPOINT 2.2.1
  • Desktop signed-in navigation now keeps My Account, Inbox, and Log Out visible while a single expandable tools drawer organizes the remaining management destinations.
  • The expanded desktop tools are grouped into two clean rows, while the established mobile account layout remains unchanged.
  • The live users-online control now uses a stronger full-width status presentation on desktop and mobile.
  • Polmar now carries a clearer red identity accent and Ms.Resin a warmer yellow-orange accent across their highlighted surfaces.
V2.2DEPARTMENT PORTALS + DM TOOLSCHECKPOINT 2.2
  • The existing PRLX homepage now includes compact blue Art, pink Music, and yellow Gaming diamond portals between the logo and a slimmer navigation grid.
  • Each portal retunes the homepage accent and replaces the main routes with a focused department menu while the PRLX logo restores the complete company menu.
  • Projects and the Gaming portal now launch a map-free, local-first Game Master workspace built from draggable, resizable, minimizable, duplicable, lockable, and snapping tool windows.
  • The first DM Tools desk includes initiative and round tracking, multiple uploadable or linkable sound players, stat and ability cards, creature groups, dice history, conditions, notes, timers, counters, random tables, checklists, session logging, Focus Mode, and portable text/folder import and export.
V2.1.2 — V2.1RELEASE SET 093 VERSION ENTRIES
V2.1.2TERMINAL DOCKING + RESIN ORANGECHECKPOINT 2.1.2
  • The Terminal HOME control now attaches directly to the left edge of the viewport on desktop and mobile while retaining the light-red PRLX recovery-terminal presentation.
  • On phones, the live Terminal viewport now ends above the PINNED tile and global account/staff controls, keeping the command entry line visible above every bottom navigation row.
  • The mobile Terminal recalculates its available height when account controls, browser chrome, orientation, or the visual viewport changes while output remains independently scrollable.
  • Ms.Resin’s assigned highlight color is now orange across artist cards, profile states, FRACTURE, gallery controls, placeholders, and related resin surfaces.
V2.1.1MOBILE HERO HIGHLIGHT REPAIRCHECKPOINT 2.1.1
  • Artist hero cards now keep their original assigned highlight colors fully active on mobile across PRLX News, the Artist Desk, and the Artists roster.
  • The mobile state now matches the exact desktop hover-highlight strength instead of applying an effectively invisible fraction of that overlay.
  • Static per-artist accent assignments keep the colors reliable even before account and presence scripts finish loading.
  • Desktop hover, focus, grayscale, and image behavior remain unchanged.
V2.1MOBILE READING PASSCHECKPOINT 2.1
  • PRLX News now keeps its assigned artist color cues visible on phones and stacks the latest YouTube and SoundCloud desks vertically for a cleaner reading order.
  • Artist profiles gain compact NAVIGATE and OTHER PLATFORMS menus on mobile, while Bowdak’s Music section adds the PINNED cover and a tighter release presentation.
  • Beat Leasing, Digital Products, Digital Releases, Commissions, Community, and request workspaces now reduce mobile padding and surface their primary controls and content sooner.
  • Expansion artwork remains colored with top-focused crops on phones, Beat Leasing types scroll horizontally, and commission portfolios can receive their own independently arranged imagery.
V2.0.3 — V2.0RELEASE SET 084 VERSION ENTRIES
V2.0.3MACHINE-SAFE MANUAL STARTUPCHECKPOINT 2.0.3
  • Rebuilt the homepage intro as a direct frame-rendered sequence instead of CSS animations, preventing Windows motion settings, extension styles, or zero-duration animation overrides from making the intro disappear instantly in Edge, Opera, or other browsers.
  • The split logo, title, status, homepage-button reveal, and overlay exit are now driven by inline transforms and opacity values with both requestAnimationFrame and timer scheduling.
  • Added a seven-second head-level emergency release, a six-second runtime release, and no-animation static fallbacks so a startup failure can never trap visitors behind a blank overlay.
  • The debug route now reports the manual engine, reduced-motion preference, image readiness, frame counts, elapsed time, visibility state, storage access, and replay controls while /home/?intro=1 remains the full replay route.
V2.0.2UNIVERSAL STARTUP + DESKTOP DIAGNOSTICSCHECKPOINT 2.0.2
  • The V2.0 homepage intro now runs independently of account sign-in state, so desktop staff and members receive the same startup path as signed-out visitors.
  • Moved the critical startup boot and runtime inline and moved its animation rules into the shared stylesheet, preventing a blocked or cached dedicated startup asset from silently suppressing the sequence.
  • Added a CSS-only completion and homepage reveal path that still works when the runtime script is blocked, while session memory is written only after a real CSS animation is confirmed.
  • Reduced-motion visitors receive a short static-logo transition, full motion can be forced with /home/?intro=1, and /home/?intro=debug displays live desktop diagnostics.
V2.0.1STARTUP RELIABILITY PASSCHECKPOINT 2.0.1
  • Replaced the split Web Animations API and fallback behavior with one deterministic CSS-driven startup sequence for Edge, Chromium, Safari, Firefox, and mobile browsers.
  • The intro is now marked as seen only after it visibly completes, preventing one failed render attempt from suppressing every refresh in the same tab.
  • Added two-frame render commits, GPU-safe transforms, image readiness safeguards, background-tab handling, and a whole-logo fallback when polygon clipping is unavailable.
  • Signed-in and reduced-motion visitors still skip the public intro, while /home/?intro=1 and /home/#replay-intro provide explicit cross-browser replay testing.
V2.0THE MOBILE REWORK — COLOR FOUNDATIONCHECKPOINT 2.0
  • Every image across the public site now displays in full color on mobile screens, including hero highlights, artist imagery, products, projects, players, galleries, and standard Beat Leasing cards.
  • Desktop preserves the existing black-and-white-to-color hover, focus, playback, and highlight behavior.
  • The approved PRLX logo assembly now marks the V2.0 conversion for signed-out homepage visitors, while signed-in visitors skip it automatically and reduced-motion preferences remain respected.
  • This establishes the visual foundation for the broader mobile realignment and readability pass.
V1.99.9 — V1.99.6RELEASE SET 074 VERSION ENTRIES
V1.99.9MOBILE BEAT COLOR + GALLERY LINK TITLESCHECKPOINT 99.9
  • Normal Beat Leasing artwork now remains full color at rest only on mobile screens.
  • Desktop normal beat cards preserve their grayscale-to-color hover and keyboard-focus highlight behavior.
  • FRACTURE Gallery Edit now supports a separate public title for every assigned artwork link, including custom calls such as VIEW MORE, BUY NOW, or 3 LEFT!
  • Existing gallery links without a custom title continue using the standard VIEW ASSIGNED LINK label.
V1.99.8SELECTIVE PERMANENT COLORCHECKPOINT 99.8
  • Ms.Resin’s public gallery now displays every artwork in full color at rest instead of waiting for hover or keyboard focus.
  • Pick by Vibe artwork remains full color in both its randomized cover grid and expanded beat view.
  • These are the only permanent-color exceptions; all other approved grayscale-to-color interactions remain unchanged.
V1.99.7COMMUNITY NAV + RESIN PROFILE CLEANUPCHECKPOINT 99.7
  • The final PRLX News destination button now reads Community and remains contained within the aligned masthead grid at every breakpoint.
  • Ms.Resin’s public profile no longer includes the resin video navigation item or embedded video section.
V1.99.6NEWS HEADER + FRACTURE WORKSPACECHECKPOINT 99.6
  • The PRLX newsroom masthead now reads PRLX NEWS on one line and aligns all six destination buttons into one compact, equal-height row.
  • Extra vertical space around the newsroom title lockup has been removed for a tighter header.
  • Ms.Resin’s public profile no longer exposes a FRACTURE button.
  • FRACTURE now uses separate Stickynotes and Gallery Edit tabs, with its title presented as one uninterrupted word.
  • Changelog release-set numbering now runs forward from the oldest set to the newest set.
V1.99.5 — V1.95RELEASE SET 0610 VERSION ENTRIES
V1.99.5NESTED CHANGELOG + MS.RESIN GALLERYCHECKPOINT 99.5
  • Compressed the public build history into release-range dropdowns containing ten version entries each, with individual versions expandable inside every range.
  • FRACTURE now includes a dedicated Ms.Resin gallery manager for uploads, descriptions, crop focus, ordering, deletion, and optional assigned links.
  • Ms.Resin’s public profile now presents an infinitely looping, manually scrollable artwork carousel.
  • Selecting any gallery piece opens a comfortably near-full-screen viewer and exposes its assigned external destination when one has been supplied.
V1.99.4PRODUCTION CLEANUP + PERFORMANCECHECKPOINT 99.4
  • Removed redundant legacy artwork and duplicate media so every shipped visual asset is actively used.
  • Project-cover artwork now uses lossless WebP delivery, preserving the original appearance while reducing page and archive weight.
  • Redirect routes and non-audio pages now avoid downloading application layers they do not use.
  • Consolidated overlapping player and discovery styling into cleaner shared rules without changing the approved interface.
V1.99.3ARTWORK-ONLY VIBE + CONTACT LOCKUPCHECKPOINT 99.3
  • Pick by Vibe now presents a pure artwork wall with no visible beat name, producer, category, or BPM competing with the covers.
  • Selecting an artwork still expands into the complete beat preview, metadata, licensing, and checkout interface.
  • The About / Contact hero now reads ABOUT/ CONTACT/ BOOK, with its three primary actions aligned beside the BOOK line on wide screens.
  • Responsive rules keep the repaired contact header and its actions balanced across smaller screens.
V1.99.2MESSAGING ENTRY + WELCOME INBOXCHECKPOINT 99.2
  • About / Contact now separates Book Us, Submit Request, and Send a Message so casual questions have a clear, inviting entry point.
  • Send a Message opens the existing request form with Question / Message already selected, while Submit Request remains open to every available request type.
  • Every new PRLX account now receives a Welcome to PRLX message with a direct invitation into the community Discord.
  • Signed-in members may submit without an email or phone and receive follow-up inside their Inbox; signed-out visitors must provide a valid email address or phone number.
V1.99.1FILTERED PLAYBACK + VIBE DISCOVERYCHECKPOINT 99.1
  • About / Contact now places a general Submit Request option beside booking so visitors can ask a question, send a message, or simply say hello.
  • TapeDeck filters now define the active playback pool by artist, tag, album, feed, or search—even while a track is playing.
  • Beat Leasing gained a randomized Pick by Vibe artwork grid that opens any selected beat into its complete preview and license options.
  • Account navigation now places Inbox first, authorized studio accounts can send one announcement to all active members, and the homepage startup sequence is reserved for the 2.0 conversion.
V1.99ACCOUNT CONTROL + MEMBER INBOXCHECKPOINT 99
  • Expanded account tools now manage profiles, access status, passwords, sessions, owned digital products, and music licenses from one control surface.
  • A new member Inbox organizes studio messages, submitted requests, and threaded responses while preserving the original request above each reply.
  • Request workspaces now support bulk selection, status updates, categorization, deletion, and direct account replies.
  • The logged-out entrance was rebuilt around a cache-independent logo sequence and staggered homepage reveal, while the Products landing page received a tighter compact layout.
V1.98ACCOUNT DIRECTORY + TALENT REPRESENTATIONCHECKPOINT 98
  • A searchable staff account directory now organizes registered members, access roles, account activity, and user-supplied contact details.
  • The PRLX logo now assembles through a guest-only startup sequence before revealing the homepage, with reduced-motion and skip support.
  • Bowdak, JayKoh, and DanMan are now presented as represented on-camera actors in addition to their existing music, voice, and creative work.
  • Casting calls and creator collaborations now route into the PRLX Discord while direct talent hiring remains in Booking.
  • The roster now distinguishes Bowdak as Founder & Talent and JayKoh, DanMan, B4GZ, and Bolo Yung as Co-Founder & Talent.
V1.97ARTIST DESK ACCENT HIGHLIGHTSCHECKPOINT 97
  • The Artist Desk now carries the same restrained artist-specific color highlights used by the main roster cards.
  • Each card reveals its assigned accent on hover or keyboard focus while preserving the existing black-and-white to full-color image transition.
  • The shared treatment also supports managed roster photos and profile placeholders as artist content changes.
V1.96LEASE PACKAGE PREP SHORTCUTCHECKPOINT 96
  • Beat-management cards now include a Leasing Prep action directly beside the leasing-status control.
  • The shortcut opens the purchase-content builder with the matching beat already selected instead of requiring a second search.
  • The chosen beat remains attached to the destination even when account sign-in is required first.
  • The new control follows the existing compact desktop and mobile action layout.
V1.95LOCKED SOUNDCLOUD PLAYER GEOMETRYCHECKPOINT 95
  • Artist-profile SoundCloud players now keep one fixed 16:7 outer frame regardless of track-title length.
  • The artwork column now matches the player height as a true square, giving every cover equal inset spacing and symmetrical outer edges.
  • Track titles use a slightly smaller responsive size and a three-line limit so controls, artwork, and borders stay aligned across every artist profile.
  • The centered crop, inset black artwork frame, paused grayscale, and active-play color behavior remain unchanged.
V1.94 — V1.85RELEASE SET 0510 VERSION ENTRIES
V1.94UNIVERSAL SQUARE SOUNDCLOUD ARTCHECKPOINT 94
  • Every custom SoundCloud cover is now forced into a consistent 1:1 square frame across artist profiles and the main latest feed.
  • Artwork is center-cropped with a visible inset black border so mismatched source dimensions can no longer stretch or shift the player layout.
  • The artwork remains black and white while paused and returns to full color only during active playback.
  • A project-root GPT BUILDING GUIDLINES.txt file now records the standing rules that must carry into every future checkpoint.
V1.93RELEASE VERSION + CHANGELOG SYNCCHECKPOINT 93
  • The website release marker, Projects card, health response, and package metadata now all report V1.93.
  • Shared page assets now use the V93 cache key so updated styling and scripts load as the current release.
  • The public changelog has been brought fully current and release verification now checks that version surfaces stay synchronized.
V1.92INSET SOUNDCLOUD ARTWORK FRAMECHECKPOINT 92
  • SoundCloud cover art now sits slightly inset from its player panel instead of filling the entire artwork column.
  • A thicker square black frame and subtle outer outline separate every cover from the surrounding player while keeping it centered.
  • The active-play color treatment and paused black-and-white treatment remain unchanged.
V1.91REACTIVE SOUNDCLOUD ARTWORKCHECKPOINT 91
  • SoundCloud cover art now shifts from black and white to full color only while its track is actively playing.
  • Pausing, finishing, changing tracks, or falling back to the native player restores the black-and-white artwork state.
  • Every custom SoundCloud artwork image now sits centered inside a clearly bordered frame without cropping.
V1.90CONNECTED ARTIST MENUSCHECKPOINT 90
  • Artist profile section buttons now sit directly against the managed platform links, forming one cohesive two-row menu.
  • The shared treatment applies across artist profiles with connected social or website destinations while preserving the existing spacing when no link row is available.
V1.89ARTIST PLAYER SPACING FIXCHECKPOINT 89
  • Removed the empty grid space between square SoundCloud artwork and the playback controls on artist profiles.
  • The full artwork remains visible and the player continues matching the neighboring YouTube panel on desktop and mobile.
V1.88ARTIST AUDIO LAYOUT PASSCHECKPOINT 88
  • SoundCloud artwork on every artist profile now sits inside a true square frame and displays the complete cover without cropping.
  • Artist-page SoundCloud players now match the height of the neighboring YouTube panel instead of expanding beyond it.
  • The compact mobile layout preserves the square artwork and essential playback controls inside the same media-card height.
V1.87SOUNDCLOUD PLAYBACK RECOVERYCHECKPOINT 87
  • SoundCloud controls now bind before the source frame finishes loading so the player cannot miss its ready signal and remain stuck indefinitely.
  • Managed artist-track changes now pass through one shared playback controller instead of causing overlapping iframe reloads.
  • First-click activation is retained, with a timed native-player fallback whenever SoundCloud cannot establish custom control.
V1.86ARTIST AUDIO RELIABILITY + STORE ROUTESCHECKPOINT 86
  • Artist-page SoundCloud players now rebuild their playback engine after managed links load, avoiding the dynamic iframe race that could leave controls responsive without audible playback.
  • The first SoundCloud play action now activates the track directly inside the listener’s click, while the underlying source frame remains full-sized behind the PRLX interface for broader desktop-browser compatibility.
  • The Merchandise and View Full Store actions now open the current PRLX Printify storefront.
V1.85PLAYBACK RELIABILITY + COMPACT PREVIEWSCHECKPOINT 85
  • Custom SoundCloud playback now starts directly from the listener’s click, avoiding desktop browser autoplay restrictions.
  • Connected SoundCloud cards no longer retain their empty profile placeholder above the active player.
  • Beat Leasing now uses a compact PRLX-styled preview control with play, pause, replay, elapsed time, duration, and seeking.
V1.84 — V1.75RELEASE SET 0410 VERSION ENTRIES
V1.84CUSTOM AUDIO + RESIN VIDEOCHECKPOINT 84
  • SoundCloud tracks now play through a PRLX-designed interface while SoundCloud remains the official audio source.
  • The custom player includes artwork, track and artist details, play and pause, a seek timeline, remembered volume, and direct source attribution.
  • Ms.Resin’s profile now includes a dedicated resin-art video section with a direct Facebook fallback link.
V1.83KENNYKILLR LIVE ROLECHECKPOINT 83
  • KennyKillr’s artist page now introduces him as PRLX Productions’ on-stage DJ.
  • The profile now highlights live transitions, set pacing, artist support, and the developing identity of a PRLX stage show.
  • A new DJ-focused hero image and live-role section give the page a complete presentation while managed carousel photos continue to take priority.
V1.82MANAGED LIBRARY SEARCHCHECKPOINT 82
  • Each managed audio tab now has its own filtering search bar with live result totals.
  • Beat and song searches match titles, creators, projects, tags, descriptions, filenames, and relevant audio metadata.
  • The combined feed can search both libraries at once, and bulk selection can target the currently visible results.
V1.81MANAGED PREVIEW + MOBILE FORM PASSCHECKPOINT 81
  • Desktop homepage tiles now keep their primary labels centered and reveal supporting copy only on hover or keyboard focus.
  • Managed beat and song previews now include TapeDeck-style playback timelines with elapsed and total time while the public leasing player remains unchanged.
  • Mobile commission forms now stay contained inside their cards without fields, uploads, or controls overlapping the page edge.
V1.80TAPES AUDIO CONTROLCHECKPOINT 80
  • Every beat and song in TAPES now has an authenticated play, pause, resume, and replay preview control.
  • Song editors now show the currently attached audio file and can replace it without changing the title, artwork, project, feed status, or play order.
  • Replacement files receive a new version marker so TapeDeck immediately loads the updated audio instead of a cached copy.
V1.79BULK LIBRARY CONTROLSCHECKPOINT 79
  • Managed audio lists now include selection boxes for handling multiple tracks at once.
  • Selected tracks can move together to the top, bottom, up, or down while preserving their internal order.
  • Bulk feed changes and guarded multi-item deletion reduce repetitive archive cleanup.
V1.78MULTI-TRACK RELEASE INTAKECHECKPOINT 78
  • Release tools can now accept multiple audio files under one shared artist, album or project, and cover image.
  • Selected file names become editable track titles before publishing, with clear per-file progress throughout the batch.
  • Individual beats and songs retain editable title, artist, project, tags, description, and artwork controls after upload.
V1.77CONTEXTUAL PAGE NAVIGATIONCHECKPOINT 77
  • Previous-page controls now sit directly beside the PRLX mark instead of competing with account and management controls on the opposite side.
  • Every main public, artist, product, project, playback, account, and management page now includes a clear route back to its parent destination.
  • The shared navigation treatment stays compact on mobile and preserves each page’s existing right-side status and account tools.
V1.76MANAGED ARTIST CAROUSELSCHECKPOINT 76
  • Every artist profile can now build its hero carousel directly from its managed photo collection, including profiles that originally used a placeholder.
  • Reordering, replacing, adding, or removing managed photos now updates the actual profile carousel as well as artist cards and hero imagery.
  • The profile-photo carousel is now explicitly separated from commission and artwork carousels so the correct gallery is always updated.
V1.75PLAYBACK FEED NAMINGCHECKPOINT 75
  • TapeDeck and its management views now use consistent public-facing Beat Archive terminology.
  • Playback, upload, and artist navigation labels were cleaned up without changing the protected archive experience.
V1.74 — V1.65RELEASE SET 0310 VERSION ENTRIES
V1.74MOBILE PRESENCE POSITIONCHECKPOINT 74
  • The authorized users-online readout now sits in the top-right corner on phones.
  • Desktop placement remains unchanged in the bottom-right corner.
V1.73HOMEPAGE FINISHING PASSCHECKPOINT 73
  • About / Contact / Booking now spans the full width beneath Commissions and Community.
  • The authorized users-online readout now stays tucked into the bottom-right corner.
  • Mobile homepage labels are larger and the supporting copy is easier to read while desktop typography remains unchanged.
V1.72HOMEPAGE ORDER + LIVE PRESENCECHECKPOINT 72
  • The homepage now follows a clearer paired route order, with a direct Beat Leasing destination and centered About / Contact / Booking access.
  • Authorized management views now include a live users-online total while visitor identities remain anonymous.
  • The counter tracks open site sessions without requiring clicks, typing, or other activity.
V1.71HOMEPAGE TILE TYPOGRAPHYCHECKPOINT 71
  • Primary homepage labels are larger and more immediate.
  • Supporting descriptions are smaller, softer, and tucked closer to their labels for a cleaner hierarchy.
  • The tighter spacing carries through desktop and the two-wide mobile grid.
V1.70HOMEPAGE NAVIGATION DETAILSCHECKPOINT 70
  • Homepage navigation labels now use slightly larger typography for faster scanning.
  • Every primary destination now includes a softer supporting line that explains what visitors will find inside.
  • The expanded tile copy remains compact and two-wide on mobile.
V1.69COMMUNITY NETWORK + MERCH FRAMECHECKPOINT 69
  • The PRLX Community Hub now introduces dedicated Art, Music, and Gaming rooms with distinct visual identities and creative focus.
  • Shared spaces now put Artist Hub, Share + Flip, Show Your Work, Opportunities, Events, and Hang Out at the center of the community experience.
  • Merchandise previews now use crisp black-and-white print-style framing instead of fading into the page.
V1.68NEWSROOM ALIGNMENTCHECKPOINT 68
  • The newsroom identification and Latest Edition label now align across the same horizontal top line.
  • The space between the PRLX Signal and the newsroom has been reduced by half for a tighter opening composition.
V1.67FOCUSED NAVIGATION + COMMUNITY CTACHECKPOINT 67
  • Internal page changes now open directly beneath the PRLX masthead for a cleaner first view while keeping the home mark one upward scroll away.
  • The Community call-to-action now invites visitors to step into the kitchen and get cookin’ inside the PRLX Discord.
  • Account and management navigation received another reliability and access pass.
V1.66COMPACT LAYOUT + PINNY GESTURECHECKPOINT 66
  • Public pages now begin directly beneath their headers with compact top spacing while Latest keeps its dedicated newsroom rhythm.
  • The TapeDeck archive choices use smaller Beats, Songs, and Mixer titles across desktop and mobile.
  • Pinny’s Easter egg now responds to eight page clicks in Interactive Mode followed by a brief pause.
V1.65MIXER + MOTION RELIABILITYCHECKPOINT 65
  • TapeDeck now includes a Mixer that interleaves the published beat and full-song feeds into one continuous archive.
  • The cassette reels now use resilient playback-driven motion for consistent spinning across browsers.
  • The Latest newsroom begins closer to the Signal strip for a tighter editorial layout.
V1.64 — V1.51RELEASE SET 0210 VERSION ENTRIES
V1.64VERTICAL ROSTER + TRACK PICKERCHECKPOINT 64
  • The Latest cover now presents artist cards as a seamless two-wide vertical reel using each artist’s first managed carousel image.
  • An optional custom lead image safely covers the live reel only after the replacement image loads successfully.
  • TapeDeck now includes an expandable, scrollable track list with instant title, artist, album, and tag filtering.
  • Listeners can jump directly to any available beat or song without interrupting the existing continuous-play, shuffle, loop, and volume controls.
V1.63LIVE ROSTER + ARCHIVE SYNCCHECKPOINT 63
  • The Latest cover now uses a continuously moving roster collage built from each artist’s first managed profile photo.
  • Added breathing room between the home mark and the PRLX Signal strip for a cleaner newsroom header.
  • Playback order controls now accept repeated moves without requiring a page refresh.
  • Replacement beat audio now propagates immediately to public playback and leasing previews through versioned file links.
V1.62NEWSROOM + ARCHIVE REFINEMENTCHECKPOINT 62
  • Centered the PRLX Signal within the newsroom frame and aligned the current edition with the newsroom dateline.
  • Turned the masthead desk labels into six direct navigation links, including Booking and Artists.
  • Made booking immediately visible beside the About content with a prominent Book Us action.
  • Added current-file visibility, save-a-copy downloads, and safe audio replacement inside beat management.
  • Upgraded TapeDeck shuffle with a fair cooldown rotation that avoids recently played tracks.
  • Strengthened square merchandise fades, fixed View Item contrast, and synchronized roster cards to each artist’s first managed carousel photo.
V1.61PLAYBACK + PROFILE CONTROLCHECKPOINT 61
  • TapeDeck now includes shuffle, volume control, square artwork framing, and artist-defined playback order.
  • Artist profile carousels now support managed photo replacements, crop focus, and custom ordering.
  • Merchandise cards keep their item actions aligned, and the PRLX Signal received a cross-browser motion fallback.
  • The website changelog now has a dedicated destination linked from Projects and the global version marker.
V1.60FEEDS + MERCH POLISHCHECKPOINT 60
  • Audio archive controls now separate beat and song feeds cleanly, with an optional combined view.
  • The Community landing page received tighter responsive spacing and clearer opportunity language.
  • Merchandise previews now dissolve into the page background, with redesigned item buttons for a cleaner storefront.
V1.59COMMUNITY + TAPEDECKCHECKPOINT 59
  • A dedicated Community page now introduces the PRLX Discord, collaboration spaces, opportunities, events, feedback, and project building.
  • TapeDeck adds continuous public playback for artist-selected beats or full songs, with archive looping enabled by default.
  • Products, About / Contact, Latest, and homepage navigation now use denser two-column mobile layouts.
  • The PRLX Signal ticker was rebuilt for reliable continuous motion, and the footer version now opens this changelog directly.
V1.58PRLX LATEST NEWSROOMCHECKPOINT 58
  • Latest now reads like a dedicated PRLX artist newsroom with cover stories, media, roster reporting, and studio briefs.
  • The PRLX Signal ticker provides a continuous strip for releases, artist updates, commissions, projects, opportunities, and events.
  • The lead headline and ticker can be updated from the existing public content controls.
V1.57MOBILE CATALOG DENSITYCHECKPOINT 57
  • Artist and Beat Leasing catalogs remain two tiles wide on mobile screens.
  • Responsive spacing, typography, controls, and pagination were tightened for smaller cards.
V1.52PROFILE + PLAYBACK POLISHCHECKPOINT 52
  • Artist profile destinations now support consistent YouTube, SoundCloud, Spotify, Instagram, Twitch, and website links.
  • Official PRLX channels, merchandise destinations, and public contact details stay synchronized across their pages.
  • Beat leasing artwork, playback controls, and responsive card behavior received another usability pass.
V1.51BEAT STOREFRONT ARTWORKCHECKPOINT 51
  • Custom beat artwork now replaces the default PRLX placeholder throughout the public leasing catalog.
  • Beat cards retain responsive artwork, audio previews, licensing tiers, and direct exclusive-rights inquiries.
  • Project history was condensed to public-facing features only.
V1.50 — V1.00–1.19RELEASE SET 017 VERSION ENTRIES
V1.50MILESTONE EDITIONCHECKPOINT 50
  • Guest-only PRLX parallax startup sequence.
  • Subtle individual artist accent colors that appear only on hover or focus.
  • Large PRLX preview cards for Discord, X, Facebook, and messaging apps.
  • Custom lost-Pinny 404 page and refined recovery navigation.
  • Full Projects changelog and responsive navigation refinements.
V1.46–1.48PINNY INTERACTIVECHECKPOINTS 46–48
  • Global Interactive Mode with randomized Pinny sounds on page clicks.
  • Compact monochrome-to-color Pinny control with persistent session behavior.
  • Transparent PRLX browser, mobile, and search icon set.
  • Transparent Pinny artwork and refined commission-card alignment.
V1.41–1.45ROSTER + COMMISSION POLISHCHECKPOINTS 41–45
  • Two-by-two commission showcase layout with artist-specific carousels.
  • Expandable “What [Artist] Offers” service panels and bottom-aligned request actions.
  • Edge-to-edge artist frames with specialty labels built into the border.
  • Voice Work sections and sample-ready spaces added to artist profiles.
  • Consistent profile navigation placement, scroll cues, roster ordering, and responsive cleanup.
V1.40REQUEST NETWORKCHECKPOINT 40
  • Eight-artist desktop roster with Ms.Resin and KennyKillr profiles.
  • Bowdak, JayKoh, BoloYung, and Ms.Resin commission destinations.
  • Label Booking flow with business contact requirements.
  • Artist-specific request categories, attachment support, and responsive form improvements.
V1.30–1.39ACCOUNTS + PRODUCTSCHECKPOINTS 30–39
  • Username-and-password accounts, protected downloads, and returning product access.
  • TableTopZ account delivery and product-version support.
  • Beat leasing preparation with storefront metadata, previews, and tiered licensing.
  • More reliable account access and returning product availability.
V1.20–1.29PRODUCT SYSTEMSCHECKPOINTS 20–29
  • Digital Products, Digital Releases, merchandise, and project routing.
  • Latest release feeds and artist-specific upload areas.
  • Expandable artist galleries, music sections, and deeper site navigation.
V1.00–1.19FOUNDATIONTHE FIRST BUILDS
  • PRLX’s black-and-white visual system, homepage navigation, and responsive page shell.
  • Artist roster, profile pages, carousels, Latest, Products, Projects, About, and Contact.
  • PRLX brand typography, image treatment, media links, and foundational routing.