Web-first alpha · v0.0.0-edge.e59c9fcbd5be
GoblinsvsThe World
The rift is open. Build your hand, call your horde, and make the other side regret showing up.
Play in browserNo install. Latest build.Keyboard and mouse · 1280×720 recommended
e59c9fcbd5be
Protocol 1 · supports 1+
Release receipt ↗
Native alpha
Take the rift with you
Native builds run outside the browser and keep the full game close at hand. Pick your platform; checksums live in release.json.
Windows and macOS builds are not publisher-signed yet. Windows may show SmartScreen; choose More info → Run anyway. On macOS, Control-click the app and choose Open. Public-launch certificates come later—the build and checksum are the release truth today.
Released 2026-07-15T21:29:31Z
What's through the rift
Changes
- Merge pull request 'Fix Mac artifact route and pin live server rollout' (#76) from kian/release-p0-hotfix into main (
e59c9fc) - Merge pull request 'Automate coordinated GVW multi-platform releases' (#75) from kian/release-pipeline-v2 into main (
934bbfb) - MERGE: duel protocol version band + prod repoint + gates tell the truth (validator/mission-check drift) (
07dd68f) - MERGE: MP-8 the lobby is the townhall + finish-rig hygiene (
efb0829) - MERGE: MP-6 grand acceptance — the full online dream proven end to end (
3639862) - add mac runner export lane (
16899ac) - add four-target distribution workflow and play page (
b90edba) - MERGE: lockstep desync killed — ghost-corpse aiming (24/24 clean soak) (
bb59207) - MERGE: heroassettier + Rackjack SKU recast + store mosaic + hygiene (Cassian rulings + verify fix) (
e364286) - MERGE: THE REAL XP — lockstep full shared reality for online duels (
7ffdf85) - MERGE: MULTIPLAYER — presence client, cloud brokering, RIFT DUEL ONLINE (two clients one fight), corpse-anchor fix, web budget restored, THE NET FRAMEWORK extracted (
0f27735) - MERGE: restore Living Lobby reachable rim contract (
e0f6618) - L5: fix currency-mismatch cost model, correct CPX classification (Rowan's gate) (
f30b449) - gvw-lobby DESIGN.md: shard_directory.label needs UNIQUE, not just NOT NULL (
28fa42e) - GVW Lobby: fix housesoneactiveperowner predicate (Rowan's L2 gate) (
02dfa2b) - MERGE: hybrid locked UI + chase tracker (
d18021f) - MERGE: lobby rim law (
0b472f4) - MERGE: lobby ground round 2 (
67d0f91) - MERGE: lobby depth fix + hybrid unlock corrected (win tower with all chars) + mushroom tuning (
628fd33) - MERGE: the meaningful-law mega-train — 61 real powers, Hybrid unlock, G1+ growth, living lobby towns, unified HUD, docs audit (Brian-gated live all day) (
9c667f1) - GVW Lobby: DESIGN.md — add matchmaking_v1 (H4/L4), L5 cost re-verification, L3 spike spec (
d0ac302) - GVW Lobby: DESIGN.md v1 — frozen presence/wire protocol + DB schema (P-gvw-L1/L2) (
a5158de) - Merge pull request 'Absorb Council-approved player tutorial into GVW' (#71) from cassian/p2-tutorial-absorb into main (
4586264) - design: fix living-lobby buildspec per Rowan's gate (attempt 1/3) (
4173f12) - design: fold in August's §6 profiling spike result (100 avatars clear render on M1) (
206886f) - design: Living Lobby build spec for august (Phase A deliverable) (
b64b422) - Merge pull request 'ci: credential-free Forgejo paths for QA/deploy/release' (#72) from kian/qa-workspace-ssh into main (
1c2c060) - Merge pull request 'DLC manifests: preserve item-level generated copy' (#70) from cassian/dlc-item-descriptions into main (
429ab62) - tower: regression test for the REAL player path (browser opens, ENTER RIFT forges, 5 rungs climb) (
3661b09) - design: surface the render node's METAL proof of the skin-fix onto main (
f2c152f) - design: software-render corroboration of the skin-fix + tower climb (b0426fd) (
5019043) - tower: headless FULL-ROUND test — 5 rungs to the boss, WITH a skin equipped (
b0426fd) - loadout P0: fix the equipped-skin render collapse (render node native-Metal crash) (
4334672) - tower: executed proof through the TOWER SCREEN (the surface the player clicks) — 3rd P0 report (
173e0d2) - tower: executed proof of the rung-1 forge + climb-progression (Brian's P0 reproduced-then-disproven-in-code) (
2786761) - tower: prove playable end-to-end (executed boot + climb tests) + fix stale-restore hero guard (
c21739c) - Merge pull request 'Loadout: faction scene art and richer previews' (#69) from cassian/loadout-art into main (
acc1733) - sticker album: the post-run sticker-rip reveal — the payoff moment (
deba341) - sticker album: fold in review nits (menu overlap, font ladder, hook timing, test coupling) (
8a35f16) - sticker album: player-facing — Collection Locker, reveal, completion title, cross-mode discovery (
0d44357) - sticker album: commit runtime registry for the completion title (was omitted from 5fe04fc) (
7f5696e) - sticker album: completion-reward title 'Saw Everything, Punched It Anyway' (
e5d419e) - sticker album: bestiary substrate — registry canon + discovery/mastery ledger (
5203fc0) - wvg maps: parity — 3 new world biomes (Pine Barrens, Dead Mall, Route 66) (
b50f7f5) - design: WVG map parity draft — 3 new world maps to match the goblins (submitted to Luma) (
553e82f) - loadout P1: slot key cue gets a dark backing pill + top padding (tutorial gate) (
6143148) - P0 fix: Tower is playable — loadout forges, climb advances (Brian, via Han) (
c690d42) - br remediation: reward_grants survives reload (Rowan P1 on 831a2fb) (
5fb6d9f) - Merge pull request 'Make flavor render QA native on macOS' (#68) from render/macos-qa-flavor into main (
300d575) - design: sticker album (bestiary discovery) v1 — submitted to Luma's gate (
27b7790) - qa: make qa_flavor bash-3.2 portable (macOS render node) — assoc array -> case function (
17fec7f) - br: LAST ONE PUNCHING — first-win title, wired through the economy gate (
831a2fb) - br: the circle wall is a RIFT wall — BREACH palette per the approved draft (
e86f48a) - loadout L7: keyboard belongs to the search box (
a2f6b02) - qa: render-gate kill switch (GVWNORENDER / ~/.gvw-no-render) — no GPU hardware, skip renders, code checks only (
035e91b) - release tooling: read Forgejo token from ops env, drop hardcoded PAT (
6c1a643) - vault: masterlist marked 6-greenlit per Brian's manufacture decision (
174e137) - loadout redo: powers-grid legibility + visible skin-picker (
b9e2c0c) - tower ESC back-path: ESC in the rung-1 loadout and mid-fight returns to the climb (
1489ffb) - tower v2: RIFT ASCENT — poster route over the bespoke backdrops (
a1c5476) - Use dedicated tower backgrounds (
2b04c0f) - Add faction tower rift backdrops (
da7013b) - vault: archive AAA round-1/2 judge verdicts + punch-lists (gate receipts) (
222ef7c) - loadout minors ④⑤: tower rung chip on header + 2-line world hero names in HAND (
270e670) - store punch-list ①②③: copy stragglers + legend + empty state + prints (
730f83c) - Merge pull request 'Add loadout details panel' (#66) from kian/loadout-details into main (
b0ce521) - copy: fiction-voiced item descriptions — dev provenance retired (39 items) (
a38c23e) - Merge pull request 'Make entitlement saves atomic' (#65) from kian/atomic-entitlement-save into main (
0ff2423) - Merge pull request 'Wire online alpha seams' (#64) from kian/online-seams into main (
ae29d37) - store: Cassian's gate fix-shape completed — full mouse interaction model (
c8f212d) - Merge pull request 'Bind online leaderboard to match records' (#62) from kian/live-leaderboard into main (
1aa9fee) - store redo: readable cards + click->detail (Brian; the loadout medicine) (
5feef39) - Merge pull request 'Boot player builds to main menu' (#61) from kian/boot-main-menu-contract into main (
eb19eb4) - punch-list F1b/F4/F5/F6: store equips ANY owned kind; SOON labels; honest confirm; dev-gated board rows (
afd3c6c) - Merge pull request 'Merge Campaign Tower, BR rework, and loadout polish' (#63) from august/campaign-tower into main (
c1d196c) - Merge pull request 'GVW systems remediation: Lineman, boot, online status' (#59) from kian/gvw-remediation-systems into main (
dffb525) - design: tower/BR draft v2 — revised to Luma's gate criteria (
85edab1) - online: RIFT ONLINE lobby BUILT — house bar over the untouched net core (
441d787) - Merge pull request 'remediation: loadout browser and menu cleanup' (#60) from august/remediation-loadout-menu into main (
63dbf8f) - design: DLC theme master list — 10 packs, paper concepts only (zero credits) (
05b6c64) - design: RIFT ONLINE hub — the online UI/UX refactor design pass (
684fed1) - design: Campaign-tower + BR-rework drafts — HALTED for Brian (
d8b6241) - Merge pull request 'item-economy: fix Founders Rift grant pack preview' (#58) from kian/dlc-case-glitch-fix into main (
8a90a0a) - Merge pull request 'economy: expose loadout entity pools in registry query' (#57) from kian/loadout-entity-query into main (
c2054cc) - menu v4: Brian's iterate — compact modes bottom-left, +PRACTICE, plain labels (
7b7ff0f) - menu v3: Brian's decided structure — CAMPAIGN + ONLINE, perspective-flipped builds (
68f6dca) - menu v2.1: Brian's corrections — ONLINE = the existing setup; WVG = THE WORLD vs GOBLINS (
a66322e) - menu v2: Brian's steer — corner nav, mode names de-cringed, ONLINE surfaced (
9b378a4) - Merge pull request 'economy: persist starter store choice' (#56) from kian/p33-starter-choice-entitlement into main (
1b6b963) - Merge pull request 'economy: expose starter store data models' (#55) from kian/p33-starter-store-data into main (
dd0838d) - Merge pull request 'garden: add build config validation' (#54) from kian/garden-build-check-config into main (
c2748b5) - economy: route runtime entitlements through autoload (
f1f079c) - Merge remote-tracking branch 'origin/kian/garden-build-loadout-data' (
5612ed6) - items: wire wiki autosync drift gate (
9735505) - loadout: collection-browser DESIGN PASS + resolver .gdignore fix (
b2d73c3) - menu: Brian's redo — rift-duel only + STORE; one menu, two build flavors (
98af853) - items: release founders starter packs (
d4c387e) - design: checkpoint-2 contact sheets — Founders Rift (14) + The Home Front (30) (
5cb411d) - store: locker refinement — TYPE-first groups, full grids, shared-surface hook (
4fcf0e1) - store: Brian's UI steer — grouped visual LOCKER + storefront SHOP (
16a4c58) - fix(phase3): de-duplicate ownership_store equip/unequip after the parallel-work rebase (
4f47aed) - phase3: THE STORE — production surface (Brian's bar; registry-rendered, featured hook, live EQUIP) (
b151079) - Merge pull request 'Phase 3: entitlement runtime and cosmetic wiring' (#50) from kian/phase3-p32-entitlements-runtime into main (
8cee4f6) - phase3(P3.3): production pass — onboarding + store in the HOUSE UI language (Brian's quality bar) (
74efb59) - phase3(P3.3): first-launch choose-one-free onboarding + store v0 — RENDERING (
7824b9e) - Merge pull request 'Item economy: release Founders catalog collections' (#49) from kian/founders-release-catalog-status into main (
ae459e6) - proof(phase3): clean before/after of the slice for Brian — vault/design/phase3-slice-proof.png (
bb9623c) - phase3(P3.1): THE VERTICAL SLICE — an owned portrait equips and renders on the roster card (
2a5ef9b) - Merge pull request #47 from rowan/phase3-notpay2win-ci (
3fe4823) - Merge pull request #46 from kian/phase3-build-ready-prep (
c1a61b8) - design(phase3): August's half BUILD-READY — resolver spec, pick/store designs, seam verified airtight (
713b3ac) - Merge pull request #45 from kian/founders-release-mark (
df7a26e) - Merge pull request #44 from kian/factory-phase2-gates (
dd22762) - Merge pull request #43 from kian/wiki-sync-gate (
77a121b) - art(factory): checkpoint-2 contact sheets regenerated WITH the exclusive enemy cards (
ceb8782) - Merge pull request #42 from kian/enemy-item-line (
6b0c943) - design: base-game access proposal (Q1-Q3) + the 2x2 exclusive enemy cards (
460d195) - Merge pull request #41 from kian/item-economy-export-ignore (
7ece6c2) - Merge pull request #40 from kian/thresholds-spine (
d028c05) - art(factory): Brian checkpoint-2 contact sheets for both Founders packs (
eeaf935) - Merge pull request #39 from kian/p3-gate-metadata-fix (
9f1baa8) - Merge pull request #38 from kian/dlc-factory-p1-metadata (
16d3fd5) - factory: home-front manifest explicitly marked DRAFT / Brian-co-plan-pending (
83bc48e) - art(factory): finish-delta — full 5-tier contract ladder live, both packs regenerated (
44e2e4e) - factory: DLC manifest authoring — TEMPLATE + base/founders + retrofit manifests for both packs (
3d675f5) - Merge pull request #37 from kian/gvw-dlc-image-factory-v2 (
88646c7) - Merge pull request #36 from kian/gvw-dlc-image-factory-production (
85e3f99) - art(factory): BOTH Founders DLCs fully imaged + all 61 power icons (production v2) (
1abf65e) - Merge pull request 'item-economy: port compositor to cardsmith slice' (#35) from kian/gvw-cardsmith-compositor-port into main (
e560af5) - Merge pull request 'item-economy: add preview image factory slice' (#34) from kian/gvw-dlc-image-factory into main (
6c90c9d) - design: DLC image factory VISUAL SYSTEM + vertical slice for Brian's eyeball (
aa6ac46) - Merge pull request 'item-economy: link wiki catalog from home nav' (#33) from kian/gvw-wiki-catalog-nav into main (
800ab5b) - Merge pull request 'item-economy: generated wiki catalog sync' (#32) from kian/gvw-wiki-catalog-sync into main (
fbb93e8) - Merge pull request 'item-economy: initial DLC purchase grants' (#31) from kian/gvw-founders-grant-model into main (
f07749e) - design: The Home Front — World-side founders pack DRAFT (HALTED for Brian) (
1159b50) - art(pass2): final 9 heroes' combat pose atlases — FULL 18-HERO ROSTER ANIMATED (
9fb553b) - art(pass2): goblin3/5/6 combat pose atlases — ALL SIX GOBLINS animated (roster wave A) (
ec46438) - art(pass2): goblin2 + striker combat pose atlases — priority six COMPLETE (
085c45d) - Merge pull request #30: feat: add GVW item economy phase 1 metadata rails (
65cf9b4) - art(pass2): fireman + human_main combat pose atlases — default matchup animated BOTH sides (
c81127c) - art(pass2): goblin4 combat pose atlases + Contract-A batch-1 capture receipt (
b873b88) - art(pass2): goblin1 REAL combat pose atlases — jab/cross/kick/hurt/ko (Contract A batch 1) (
9414aaa) - design: Founders Rift collection direction + initial-DLC draft (HALTED for Brian) (
dbe397a) - Make Garden the native front door (
8cd6ee5) - Merge aaa/br-richness-2: round-2 minor — BR richer without busy (verified) (
8c7ea67) - Merge aaa/survivors-defoam-2: round-2 minor — central FX scalpel (verified + peak restored) (
841ecaf) - docs(aaa): round-2 SHOWCASE evidence bundle + exact-SHA receipt (d17610c) (
7266acd) - fix: remove conflict markers pushed in the P5 merge — union resolution now real (
d17610c) - Merge branch 'aaa/p5-enemy-scale' (
fa56c45) - Merge aaa/p2-rift-marquee: P2 — the marquee reads (verified FAIL->fixed->green) (
f932d5b) - Merge aaa/p3b-survivors-dressing: P3b — survivors maps read authored (verified) (
0aa95ab) - Merge aaa/p4-hud-premium: P4 — the HUD is a premium layer (verified) (
d1dae61) - Merge aaa/p3a-br-arena: P3a — BR is a crafted arena (verified) (
5eb4139) - fix(web): prepare sprite LODs before export (
c8f82b5) - Merge aaa/pass2-consumer-prototype: poses + enemy states live behind fallbacks (verified + hazard-fixed) (
f4e6c70) - docs(aaa): Pass-2 generation contracts — hero combat frames + enemy states (authored ahead of the punch-list) (
4da5b9e) - docs(aaa): round-1 AFTER captures + exact-SHA receipt (a8865ec) — judge-call evidence, all 4 modes played (
7fb70d4) - Merge aaa/br-dc-grounds: Pass-1.5 — DC is a city, BR is an arena (verified). PASS 1 COMPLETE 7/7 (
a8865ec) - Merge aaa/density-law: Pass-1.4 — one density per camera (verified + gate-fix) (
08b4166) - Merge aaa/rift-defoam-2: Pass-1.2 — the flagship field is de-foamed (verified) (
2f2cdf7) - Merge aaa/survivors-hud-chrome: Pass-1.3 — the survivors HUD reads shipped (verified) (
56b374d) - Merge aaa/broken-sheet-triage: Pass-1.7 — lilspook re-sliced, pirateparrot cleared (verified) (
b3c63d6) - Merge aaa/warboss-stage: Pass-1.6 — the void is dressed (verified) (
2123461) - Merge aaa/survivors-fx-language: Pass-1.1 — the FX language de-prototyped (verified) (
81afc4c) - Merge polish/apex-signatures: THE APEX LAW DELIVERED — 12 bespoke signatures + 5 real fallback branches (verified) (
a2e7d6a) - docs(aaa): single baseline home + .gdignore it (
730b192) - docs(aaa): durable round-0 BEFORE baselines in-repo (judge-loop delivery contract) (
fdc1108) - docs(aaa): preserve native baseline receipts (
eddf49d) - docs(aaa): the AAA+ transformation plan — diagnosis, laws, 3 passes (August owns) (
4a2adf8) - Merge polish/rift-hud: the flagship HUD reads honest (verified) (
4366288) - Merge polish/enemy-perf: shared rim materials + count cache (verified) (
f41f8c4) - fix(web): boot garden with imported fonts (
d7b6406) - Merge polish/gate-runner-cold-safe: runner self-warms cold checkouts (Rowan closeout notes) (
c0dd012) - Merge polish/gate-runner-exec-hardening: Rowan F2 fixed (exec timeouts + windowed-rig parse gates) (
90b93c8) - polish(rift): readability — ring-foam fade, death shard bursts, damage aggregation + big-hit rule, impact-word lanes (
4bd7f8e) - docs(garden): finalize four-mode garden after oracle removal (
4770e80) - Merge polish/ui-small-fry: menu consistency + honest surfaces (verified) (
d2ef28f) - Merge august/remove-oracle-run: Oracle Run fully reverted per Brian (4-mode garden green) (
1ebd45f) - Merge polish/rift-juice-core: the flagship FEELS it now (verified) (
c7df3b6) - Merge polish/br-presentable: Battle Royale made public-menu presentable (verified) (
bc4df17) - Merge polish/survivors-readability: dark-map readability (verified + finding fixed) (
3306462) - Merge polish/weapons-script-hoist: perf — script compilation out of hit paths (verified) (
b9fc39c) - fix: Rowan two-modes gate findings — all three non-blocking items (
a30b876) - docs(garden): register oracle manifest metadata (
8d57261) - feat(warboss): slice 5 — budget drift-guard wired into the validator (
65344f5) - feat(warboss): slice 4 — send-decision breadcrumbs (deserved loss, inverted) (
829ce35) - feat(warboss): slice 3 — the AI hero + REAL horde bodies (fight is live) (
d22f1b4) - feat(warboss): slice 2 — the send deck is LIVE on the bank economy (
b10b68f) - docs(garden): clarify optional manifest metadata (
539ad5e) - fix: Rowan phase-8 gate findings — stale DESIGN.md roster path + cold-checkout warm (
d9db748) - Merge pull request #29: tighten Oracle Run Garden metadata (
b142d90) - feat(warboss): slice 1 — package skeleton, 5th citizen registered (two-modes mission) (
f5cdb21) - Merge origin/main (mode package index) into oracle-run integration (
351c63f) - Merge vesper/oracle-run (PR #29): Oracle Run — first cross-provider citizen (
0e59aad) - docs(warboss): WARBOSS mode design — the inverted rift (two-modes mission, citizen #5) (
06f01f8) - Merge august/thegarden-p8-promotion: PHASE 8 promotion per Brian's rulings (gated green) (
2f97fcb) - docs(garden): update goblins preview asset path (
add46d0) - Merge august/thegarden-menu-parity: garden menu feature-parity (gated green) (
ff76937) - Merge august/thegarden-p7-assets: TheGarden phase 7 asset reorg (gated green) (
8a11ff5) - Merge august/thegarden-services: TheGarden engine services + mode_card (gated green) (
7d10753) - Merge august/thegarden-p5-p6: TheGarden phases 5-6 (gated green) (
1a6daf5) - Merge august/thegarden-p1-p4: TheGarden platform phases 1-4 (gated green) (
f2563f9) - docs: add TheGarden platform plan (
71328bd) - fix(rift): gate wrong-side burn to rift side (
1062dfe) - fix(rift): add Gate 7 decision breadcrumbs (
afbad2e) - Merge pull request 'Specify Gate 7 decision breadcrumbs' (#28) from kian/gvw-gate7-decision-breadcrumb-spec into main (
daea310) - Merge GVW P4 runtime docs and validator sync (
802e9d0) - feat(rift): wire runtime balance budgets (
071a527) - feat(rift): add draft economy decisions (
bb43666) - Merge GVW Pillar 4 economy constants (
2a939c8) - Merge GVW send causality docs (
fcf05a9) - fix(rift): sync send multipliers with spec (
4ddc1ae) - fix(rift): close tactical send role gate (
1352971) - Merge GVW Gate 3 re-audit docs (
6f6ec3f) - Merge GVW send role sync and validator (
5fdea4d) - feat(rift): add tactical send economy (
f1f6577) - Merge GVW Pillar 3 send-role contract (
165fbb0) - Merge GVW Pillar 4-5 scarcity and budget bands (
9a1b0db) - Merge GVW concrete send draft and budget specs (
6657b8e) - Merge GVW redesign docs and balance validator (
7f670cc) - feat(rift): add build lane bonuses (
3cda6fa) - fix(rift): cover all power engine triggers (
11af928) - feat(rift): add readable gameplay engines (
7af4330) - fix(rift): make side burn faction-based (
408b93c) - feat(rift): clarify dev combat reports (
7ee4b80) - feat(rift): add dev combat log and fps toggle (
ac6345d) - fix(rift): make enemy power FX readable (
81a5c28) - test(rift): verify enemy FX for every bot action (
6132fc3) - fix(rift): remove player pull and show enemy FX (
0a7011c) - fix(rift): polish bottom command HUD readability (
01f2740) - fix(rift): make owned auto HUD readable (
0ccc488) - fix(rift): clarify command HUD slot badges (
1141abe) - feat(rift): add power symbols to HUD cards (
8346364) - fix(rift): show player contact damage numbers (
21342d5) - fix(tools): make legacy render captures exit cleanly (
ccfab5b) - test(rift): add idle punish capture check (
c392036) - fix(rift): surface HUD power levels (
684e1f0) - feat(survivors): add dodge clarity lane (
c68b046) - feat(survivors): add hero health halo (
96fc6af) - feat(survivors): add enemy intent telegraphs (
c82fe2e) - style(audio): tune combat mix clarity (
55a238a) - style(ui): unify loading transitions (
8ea3df6) - feat(combat): tune hitstop and screen shake (
bc9220d) - style(survivors): polish player ko overlay (
e3f372c) - style(survivors): polish level-up draft modal (
ad0f6c1) - feat(survivors): juice pickup and level-up feedback (
4e1b070) - style(ui): polish match result screen (
eb20642) - feat(audio): add AAA polish cues (
bd4d3bf) - style(ui): polish menu transitions and pause overlay (
33f0109) - style(survivors): improve swarm readability (
4726653) - test(godot): wait for battle royale scene readiness (
776ab73) - feat(survivors): add combat feel impact cues (
8fd5093) - feat(survivors): add breach map-layer resonance (
4e15dfc) - feat(survivors): add faction-distinct enemy behaviors (
46aac51) - style(survivors): align polish feedback with palette (
79cabed) - feat(survivors): add deep polish feedback cues (
c406845) - feat(survivors): show damage numbers on every hit (
f901a98) - feat(rift): show auto power states (
df0bf15) - fix(rift): compact deep review hud (
1de2adf) - docs: consolidate GVW power canon (
2f776a3) - docs: fill bard power bible pages (
b22efc3) - fix(rift): slim top hud strip (
ce52959) - docs: fill junker power bible pages (
8fda80c) - docs: fill technician power bible pages (
5809743) - docs: fill blood mage power bible pages (
47e9523) - docs: fill mycomancer power bible pages (
cff7f43) - docs: fill pyromancer power bible pages (
bfcb042) - docs: scaffold GVW power design bible (
95f246e) - fix(rift): make apex fx signatures distinct (
f87191d) - feat(rift): add cinematic power fx director (
7163d71) - feat(rift): dock command console to bottom hud (
9410b90) - docs(gvw): map powers to runtime fx (
133e23d) - fix(rift): clean up reference hud overlaps (
09a169c) - feat(ui): align menus with neon reference style (
a12420e) - feat(rift): sharpen reference hud command cards (
093fec3) - feat(rift): match hud to neon ui reference (
1b21a8b) - fix(rift): bind idle fx to active power layers (
f1d87b5) - fix(ui): lift dev fps overlay above command rail (
00a3077) - feat(rift): stabilize power fps and surface levels (
8f294c7) - Revert "fix(ui): keep dev fps overlay out of gameplay hud" (
1f98385) - fix(ui): keep dev fps overlay out of gameplay hud (
c19e7bf) - feat(rift): tune power fx performance (
51cceca) - feat(rift): make auto power fx power based (
794835d) - feat(ui): polish menu and selection screens (
f7bb94e) - merge: land AAA centered combat FX (
c3dc9e2) - fix(rift): restore starter auto power fx identity (
b85b4e5) - feat(ui): highlight playable heroes (
b428089) - merge: land AAA gravity-off pass (
cb6e3ea) - feat(ui): finish font and roster polish (
343be58) - feat(ui): improve roster readability (
cfc285e) - fix(rift): gate starter power auras by weapon (
75af363) - feat(rift): replace live popup with command bar (
454e04f) - feat(rift): bind power fx to weapons and add shrooms (
4ec3ee2) - feat(rift): add painted duel map plate (
b2b5213) - feat(rift): ramp effects and deepen duel map (
b4c45c5) - feat(rift): improve duel ui readability (
819d8a3) - feat(rift): refactor menu and spell polish (
aa4319c) - feat(rift): deepen visual polish pass (
4bb4d7a) - feat(rift): polish duel art and live hud (
0a97609) - feat(rift): polish duel presentation and menu (
e940a6e) - feat(rift): add bespoke enemy horde art (
85ed082) - feat(rift): intensify duel waves and horde roster (
9ba75b9) - feat(rift): restore faction power arsenals (
a6e26f9) - feat(rift): make duel choices live (
e41e797) - feat(rift): amplify hordes and power effects (
fe3179b) - feat(rift): add authored rift art asset (
dcb2765) - feat(rift): expand deck and player camera (
32fef48) - feat(rift): extend duel pacing and clean ux (
7504827) - feat(rift): correct gvw wvg loadout loop (
f998476) - chore(rift): lock final feel gate (
828c7ee) - fix(rift): cap transient effects (
f524d5f) - feat(rift): clarify fork progression (
0c8d126) - feat(rift): polish duel actor states (
88b8672) - feat(rift): diversify horde card behavior (
f5ca2a2) - feat(rift): clarify duel HUD flow (
f8bcc05) - feat(rift): add duel audio and juice cues (
dbd2049) - feat(rift): sharpen melee strategy (
e1bf2af) - feat(rift): make horde sends hit harder (
6410efd) - feat(rift): polish first impression (
7e7450f) - feat(rift): build squad deck duel loop (
010bce3) - feat(rift): make Fireman answer hordes (
b6a8230) - feat(rift): add character decks and visible hordes (
b1bb339) - feat(rift): tighten duel arena pacing (
8e76c31) - feat(rift): give Fireman an active duel attack (
2a10a59) - feat(rift): make duel visually legible (
a8bc64a) - Merge gg3/smoker-power: The Smoker's SMOKE SCREEN (5th World power, gates green) (
d52c4c7) - Merge gg3/striker-power: The Striker's POWER SHOT (4th World power, gates green) (
f99b7b1) - Merge pull request 'ci: token-clone workflow checkouts (1 fixed)' (#18) from han/ci-token-clone-sweep into main (
b7e01a7) - fix(wvg): Slender lurk gets a dodge-fairness wind-up (Malu's d39a11c flag) (
031c73a) - Merge pull request 'ci(qa): token-clone the flavor-gate checkout (was failing tokenless on the private repo)' (#17) from rowan/qa-gate-token-clone into main (
107db09) - ci(qa): leveling behavior-canary in the gate — catch parse-clean/behavior-dead breaks (
b82eae2) - feat(wvg): restore cryptid combat behaviors — Slender lurks, the Alien shimmers (
d39a11c) - feat(gvw): name the goblin spellbooks on the roster — every kit now legible (
6193e97) - feat(wvg): World-hero LIFE-ON-KILL — sustain to weather the density (Malu's top lever) (
37ac05a) - feat(wvg): name the cryptid attacks on the roster — faction-distinct enemies legible (
38cb4a1) - tune(wvg): extend opening-ease fade 90s -> ~3:00 (Malu's snowball-window rec) (
40b238b) - feat(wvg): in-game HUD power-name label — the named kit reads during combat (
13797a8) - fix(wvg): ease opening spawn RATE not just the cap (Malu's measured correction) (
e220e31) - feat(wvg): named powers — each World hero's signature power, named on the roster (
b657cd5) - fix(wvg): ease early spawn pressure — the confirmed contact-VOLUME wall (Malu n=5) (
0850a8d) - feat(ui): The Roster screen — the whole mirror cast, one source, two factions (
572b613) - fix(CRITICAL): restore the level-up block — my _wdmg edit orphaned it (main-breaker) (
763bee8) - Merge pull request 'deploy: token-clone for base + deploy-wvg (makes :7227/:7198 auto-export actually run)' (#13) from han/deploy-clone-token into main (
c6c1ddc) - fix(wvg): World-hero CLEAR-RATE boost — the right lever for the survival wall (
0d10705) - fix(wvg): World-hero XP boost — lift the mid-game snowball floor (Malu finding) (
a240b96) - ci(deploy): auto-build the WvG-flavor web export (close the manual-rebuild gap) (
be6a26c) - fix(wvg): clear the mid-game death wall — tier-3 Loch Ness was boss-tanky regular (
52e89f2) - fix(wvg): soften the cryptid OPENING so World heroes survive it (Malu finding) (
99f2058) - Merge pull request 'ci(qa): warm shared Godot import cache — kill the flavor-gate cold-import' (#12) from rowan/ci-warm-import-cache into main (
cb54a43) - ci(qa): correct the render-cap rationale per Jones's repro (
137f4d9) - fix(balance): recover the stranded T0 retention fix (XP ramp + late-tier contact) (
4f14d74) - design: salvage alpha-bar + t0-retention-balance specs from design-world-arsenal branch (pre-prune) (
d56aad4) - ci(qa): cap render-gate timeout 150->60 + salvage Fireman/Doctor arsenal specs (
3935711) - fix(audit): address Rowan's 3 findings on the World-kit batch (
f1fac7d) - fix(wvg): Mothman dive gets a wind-up tell (Malu dodge-fairness FAIL) (
acfb5bc) - fix(wvg): make the Witch hex VISIBLE on the player (Malu feel-gate FAIL) (
88da69e) - content(wvg): lock the title — THE WORLD vs THE UNKNOWN (
d316738) - feat(wvg): The Fireman — foam-field control zone (3rd distinct World identity) (
8ce5cb0) - refactor(power): migrate Doctor deployable + General stratagem onto the roster (
7667405) - Merge pull request 'feat(p2c): General Airstrike stratagem + charge_max 40 (rebased onto main)' (#11) from gg3/land-p2c-stratagem into main (
ae4cd24) - Merge pull request 'feat(p2b): Doctor Triage Field — deployable (rebased onto main)' (#10) from gg3/land-p2b-deployable into main (
1799b9a) - feat(wvg): Bloody Mary life_drain — TRUE drain + tether (last cryptid attack) (#8) (
92f98df) - brief: GvW vs WvG faction identity — the canonical 'what makes the two sides distinct' reference (
9588137) - feat(wvg): Witch hex_bolt — slow ranged curse projectile (#7) (
f2d173a) - feat(wvg): Loch Ness surge-slam — telegraphed AoE (reuses rift telegraph, zero new entities) (#5) (
51edeef) - feat(wvg): Mothman dive — weave + timed lunge (zero new entities) (#3) (
e5e2b22) - tune(p2a): nail_gun lockout 48->24 (Malu downtime sweet spot) (#2) (
d4641c5) - deploy: relabel thumper-web- -> gvw-web- (stale naming pointer, Jones flagged) (
fdb76f7) - roster.faction_view() — one bundle per brand (select/waves/framing single source) (#1) (
ff53d25) - design: fold Malu's ~58% downtime flag into P2b feel-gate bar + spec P2c (General airstrike stratagem, queued) (
e518d7d) - design: P2b spec — Doctor's Triage Field deployable (the World PLACES tech; matched A/B vs a goblin follow-aura) (
bd38d67) - design: faction-distinct combat Layer 2 spec — how each side ATTACKS (cryptid abilities + deployable/stratagem powers) (
0867797) - factionconfig: drop orphaned surrender* copies (superseded by story.gd) (
74241ec) - feat(framing): faction-distinct surrender/countdown strings via story.gd (
b6ffe20) - feat(p2a): Tier-1 reload cue — depleting steel-blue ammo bar (World heroes) (
60639dd) - feat(p2a): minimal reload HUD cue — World heroes show 'WEAPON n/cap' / RELOADING (
40dfff5) - feat(p2a): managed-resource layer on World-hero weapons (gear runs out) (
c7b651d) - feat(wvg): cryptid behaviors (Half-A) — move unlike GvW's marching humans (
5917377) - feat(wvg): Phase 1a (corrected) — cryptid framing + branded export, no enemy rewiring (
93a3ae6) - design: spec roster.faction_view() — one call per brand (GvW+WvG faction-views) (
17830db) - Merge gg3/malu-doc-reconcile: reconcile mirror doc to cryptid-pivot reality (doc-only) (
86e196c) - qa gate: emit per-flavor commit statuses (qa/<flavor>) for the gvwci panel (
6e6863c) - design: reconcile mirror doc with cryptid direction — add the WvG lore (cryptids = goblin-realm denizens, rifts bled through; title stays 'vs the Goblins') (
0d09e72) - design: faction-views slice spec — framing derives from the roster (GvW+WvG read right) (
264ae12) - feat(roster): add the 10 cryptids — roster.gd is now the TRUE single source (
f8581c3) - design: Phase 2 spec — faction-distinct power systems (goblins GROW / the World DEPLOYS & MANAGES) (
10d910d) - design: correct mirror doc + Phase 1 spec to the CRYPTID direction (Brian confirmed) (
28d0bc0) - design: Phase 1 spec — WvG mirror via BRAND valve + faction view (off the unified roster) (
83ab5d3) - feat(roster): FULL unified roster + GvW derives from it — Phase 0 complete (
eca5b5c) - refactor(enemy): data-driven 'behavior' flag, drop hardcoded tier==7/8 (
719331b) - feat(roster): unified combatant registry — Phase 0 spine of the GvW<->WvG mirror (
22d095f) - qa gate: bump goblin roster EXPECT 17->18 / 8->9 (Alchemist landed) (
6525897) - qa gate: per-branch clone isolation (stop the hot-swap August flagged) (
c2a5dbc) - deploy: smoke-probe localhost, not the dead 192.168.1.214 (false-failure) (
f277ca9) - qa gate: SHA-pin the gvw checkout (immune to push/force-push churn) (
785a0c9) - harness: project label thumper-web -> gvw (
07ce213) - harness: coderepo thumper-web -> gvw, forgejoorg dmalicia -> theia (
522171d) - fix(fireman): Fire Axe v1.1 — legible axe silhouette (feel-gate reshape) (
b24a3ed) - feat(fireman): Fire Axe v1 — signature arc-cleave (drawn-shape, on the cadence rail) (
d80ecb8) - reconcile: restore theia/gvw full history + add Rift Duel v0 (+ bloodtide/scrap_tempest files, dormant) (
23337b4) - design: fix Bloodtide recipe to live weapons; flag Sanguine/Banshee blocked (
3ac7f2b) - design: lock Bloodtide recipe (Bat Swarm x2 + Leech Lash x2) (
3631db6) - design: recover Bloodtide evo + Glowgut=spirit from retired build threads (
b0baa58) - design: lock bloodtide spec + evo ship queue (five-tribe coverage) (
8e1948f) - design: cross-map evidence for threat-legibility (volcano is the failure case) (
5477cbb) - design: file swarm threat-legibility issue (acceptance gate) (
a64960a) - design: Alchemist spellbook (map now complete) + goblin-select faction-seam issue (
a37cde9) - design(powers): add Hybrid + Professor spellbooks; Gate-1 evo work order (
f4ed7fd) - Merge pull request 'goblins_dc: province props, 4 minor landmarks, 6 easter eggs (Aug #1782162673)' (#17) from gg3/gvw-dc-content-aug-1782162673 into main (
f572f65) - Psychedelic FX pass + mushroom chaos system + fun-pass balance (
f2eccdf) - wire goblins_dc into the faction map pool (goblin faction, untagged) (
7f9a626) - Merge remote-tracking branch 'origin/main' into feat/goblin-spellbooks (
015dbd3) - The Alchemist + arena focus/glow visual pass + goblins_dc map (
5e4fe55) - goblin spellbooks + viewport-aware select screens (
932d46f)
Built from e59c9fcbd5be9ef3c401478f13c5896a63c5d044.
Know the terrain
The player's manual ships with the game.
Controls, loadouts, campaign, Survive, Battle Royale, and the live Rift Online alpha—maintained against the real build.