# Project history — snapshot retained 11 October 2026 This is the complete pre-refinement project plan, preserved as historical evidence and decision context. Its status, instructions and next steps describe the snapshot, not current policy. Read [the current brief](PROJECT_PLAN.md) first; use [the current workflow](AGENT_WORKFLOW.md) for future review selection. Historical proposals, failed attempts, acceptance gaps and revision/build limits remain intact. This snapshot stays frozen; record later chronology in dated task/evidence records linked from the current plan. Relative links remain valid because this file stays in the original Docs directory. Original SHA-256: `7085a4867cce33815445063f8397beb9931adebb5850388681345e5bec8d2347`. # Indie FPS Roguelike — Project Plan Last updated: 11 October 2026. This is the durable project brief and roadmap for future chats working in this repository. Read it alongside `AGENTS.md` before substantial work. It records the user's requirements, proposed milestones, current state, and unresolved decisions. A roadmap item is not evidence of implementation. ## Current State and Next Step - **11 October test-suite and agent guidance implemented:** safer exact fixture selection, serialized request ownership/reload handling, immutable source/compiled-identity reports, explicit costly arena categories/timings, additive launcher sidecars and cleanup-before-common-regression scheduling are delivered. Concise [agent guidance](../AGENTS.md), [testing procedure](TESTING.md) and complete [150-fixture catalogue](TEST_CATALOGUE.md) are linked through setup/wiki/future pack guidance. Full EditMode1298passes; full PlayMode193passes/one retained traversal failure exposed fixture side-occlusion and isolated bootstrap-restoration defects. A bounded test-only repair passes all9arena leaves with real ramp sight/motion and cleanup;194original PlayMode leaves remain accounted for, with no claim of a single fresh full-suite GREEN. Helper23/23, documentation30/30 and wiki integrity/link checks pass; real two/four-player arena cohorts each11reports/3lifecycle checks and owner2seven phases pass with no cleanup errors. Three final perspectives approve. Original terrain, pins, product work and Editor settings are preserved; changes left uncommitted, no push. Optional campaign early-stop is deferred because useful surplus qualification is unproved; no new attempts and Task5/human/hardware/separate-network acceptance remain open. See [exact evidence and limits](TEST_REFINEMENT_EXECUTION.md). Next game work remains the existing manual/natural acceptance and roster roadmap, selected using the new risk-based procedure. - **10 October test-suite refinement implementation in progress:** user authorized execution of the [test-suite and agent-guidance plan](superpowers/plans/2026-10-10-test-suite-and-agent-guidance.md). Three independent design perspectives approve the bounded Editor runner/selection and launcher evidence/cleanup slices. Canonical [testing procedure](TESTING.md), [complete catalogue](TEST_CATALOGUE.md) and concise agent policy are drafted; shared helper has twenty controlled passing contracts, with missing-build failures retained. Editor runner/native and real cohort acceptance are still in progress; this is not a completion claim. Preserve all preexisting gameplay/terrain work and pins. Campaign early-stop is deferred because retained incomplete coverage shows no useful surplus qualification; no new attempts. See [execution record](TEST_REFINEMENT_EXECUTION.md). - **10 October test-suite refinement and agent guidance — planning only:** added the [Test Suite Refinement and Agent Guidance plan](superpowers/plans/2026-10-10-test-suite-and-agent-guidance.md) following the read-only timing/workflow audit. Proposes a complete fixture/harness catalogue, risk-based focused versus integrated checks, serialized discovery/result ownership, explicit expensive arena selection, phase timing and cleanup before common multiplayer regressions. Includes a concise `AGENTS.md` redesign linked to complete testing documentation, preservation of existing authority/lifecycle/review rules, and bounded compatible evidence reuse. Campaign early-stop is secondary and conditional on measured value; no additional random rerolls or acceptance claims are introduced. Only planning documentation changed; no tests, builds, Editor actions, implementation, reviewer dispatches, commits or pushes in this pass. Review before execution. - **10 October Task5 production repairs verified; natural coverage remains incomplete:** formation goals now obtain bounded static terrain support before unchanged native path/spacing checks; canonical centre publication follows its paid supported prefix. Recorded ordinary-brain stair regressions fail before the goal repair and pass for Normal and Large afterward, with all three members travelling over7m and descending. Fresh1,277EditMode/194PlayMode, three zero-error builds/release exclusion,10menu phases,10four-player arena gameplay reports plus intentional failure proof/three lifecycle checks, and23two/four-player full-stage phases pass with clean cleanup. Reader/setup tooling now passes106integrity/19qualification cases. New linked campaign0c36bf7bd7e04562adbd215f27e7bc2d retains15attempts/34captures under the original caps: zero sustained-stall warnings, maximum unheld stationary4.909s, peak11active actors and at most8movement path queries/frame. Four-player clustered meets five-cohort Normal/Large coverage; the other four cells remain incomplete, and two moving-actor contact-deadline warnings are retained. Selected actual stair/combat HUD views were independently reviewed, with full visual/human acceptance still open. Preserve the user-confirmed Cylinder removal/current rebaked NavMeshes; no map rebake or speed/perception/grace tuning was applied. Eight map hashes, ProBuilder settings and original Editor state remain preserved; no owned players remain. Task5 remains open for the missing coverage, naturally observed16 pressure and remaining visual/human checks. Following the user request for automated evidence before manual testing, one recorded fourth attempt per incomplete case was completed (maximum180active seconds each within original720cumulative). Those four natural-life-ended runs add10reviewed captures, zero sustained-stall/mechanical failures and no Large selection; four gaps remain open. The repaired parent now retains19attempts/44captures, all inspected for visible content/limits. Automated-first work is ready for manual playtesting; no further random rerolls are planned. See [current measured evidence](PACK_ARRIVAL_VALIDATION.md). - **10 October preceding Task5 campaign runtime (superseded above):** bounded owner view/fire/actions, visible-only sensing, scoped receipts and immutable actual-camera captures were implemented from accepted5B commit c912796. Terrain-centre, expected owner-life and render failures were repaired with independent review. That runtime passed1264EditMode/192PlayMode and matching builds/network gates, but its retained13-attempt campaign exposed46s/87s stationary failures; its39captures and coverage labels do not validate the newer repair. Earlier failed attempts and the arena rejoin timeout remain retained. Required five-second assets are persisted with unchanged effective projectile defaults and preserved GUIDs. See [historical evidence and current replacement results](PACK_ARRIVAL_VALIDATION.md). - **10 October Task5B owner input — accepted foundation:** development-only exact-scoped short owner motor leases, manual precedence, lifecycle clearing and truthful local/host reports are implemented. Real delayed peer failures exposed discarded movement funding; a bounded host-funded path ledger preserves unspent credit across partial updates without reminting packet tolerance. Fresh-only delivery validation preserves committed idle poses. RED→GREEN clock/ledger/native regressions and clean full **1,238 EditMode / 184 PlayMode** pass. Normal/debug/release builds have zero errors (647/640/785 warnings); input markers are excluded from release. Matching strict two/four-owner checks pass seven/eleven phases with no corrections, actual HUD captures and clean cleanup; two/four warp checks pass five cases each. Four-player default-off arena passes eleven reports and disconnect/rehost; normal two/four stage progression passes23phases with rewards/travel/results retention and clean fresh rehost. Three independent final perspectives approve the bounded source and evidence. Failed and invalid attempts are retained. The separate five-cell Natural-arrival campaign, Task5 and roster6–11 remain open; wall-facing HUD captures do not prove arrival readability. No speed/allowance/RPC/protocol/pin/map/asset changes; manual Verdant and original Editor settings remain clean. See [5B decisions and evidence](PACK_ARRIVAL_VALIDATION.md). - **10 October Task 5A2 passive arrival observer — accepted foundation:** added opt-in development evidence for progress, contact, control, formation and query budgets, with scoped assistance, immutable capture ownership and schema 3 circle exports. Three independent final reviews approve the implementation. Fresh **1,160 EditMode / 155 PlayMode** tests pass, including 49 observer rules and 27 native cases. Normal/debug/release builds have zero errors (635/640/773 retained warnings); observer code is excluded from release. A normal-menu Verdant trace records eight Natural receipts, two personal witnesses, two fully admitted contact cohorts and three actual player/HUD captures with matching circle geometry. It correctly remains incomplete because its newest member lacks a route/native-path sample at stop; wall-facing captures do not prove arrival readability. Four-player default-off arena checks pass 11 reports, and stage progression passes 12 phases at 75/15/1 with cleanup and rehost. Manual terrain, GUIDs, pins, protocol 11, jump0 and the unrelated ProBuilder edit are preserved. Next: 5B scoped owner motor input, then the solo/two/four-player clustered/split campaign. Task 5, roster tasks 6–11 and human/network/hardware acceptance remain open. See [validation](PACK_ARRIVAL_VALIDATION.md). - **9 October Task5A1 passive admission receipts — accepted foundation:** development-only bounded immutable receipts distinguish private Natural scheduler, Debug scheduler and public Explicit admission. Existing production visibility supplies exact owner pose/forward proof; deferred member/type and full64-bit scope identities are fenced. Active capture is required; diagnostic failures mark missing proof without changing selection/registration, and post-success recording cannot roll back actors. Group exports separate actual full admission from observed/missing receipt coverage. Fresh26storage/9native and full1111 EditMode/128 PlayMode pass; normal/debug/release builds0errors (624/640/883warnings), release evidence symbols excluded. Three independent final reviewers approve the corrected foundation. Matching four-player default-off arena11reports and normal full-stage12phases pass with cleanup/rehost. The bounded receipt foundation is accepted within these automated/Editor/network boundaries.5A2 passive arrival observation and5B owner motor input, then five-cell natural acceptance, remain pending; no positive Natural arrival/contact/player-HUD claim follows from these staged receipt tests. See `Docs/PACK_ARRIVAL_VALIDATION.md`. - **9 October corrected tracer TaskT — terrain collision restored:** the user revoked pass-through. Ordinary enemy tracers now stop at the nearest solid terrain/obstacle or scoped living player; cover absorbs paid flights with zero damage behind it. Base6/normal4.2/elite9, bounded120Hz wave and protocol11 remain. A measured stale-NGO-clock rejection and pre-render particle aging defect are repaired with bounded post-clock client messages and local post-birth sparks. Fresh1085 EditMode/119 PlayMode pass; normal/debug/release builds0errors (603/640/841warnings). All10matching75/15/1 tracer phases,0/75real1.25s client hitches, warm closer normal/elite repeats and correlated16-flight latejoin pass with cleanup. Independent technical/gameplay/actual-rendered reviews approve the scoped change. New128 all-solid host section mean.291574ms/max4.4155ms is this-machine simulation evidence; pressure client diagnostic gaps prevent exhaustive128RPC claims. Matching two/four arena regressions pass11reports each, menu10phases and full-stage23phases with clean cleanup/rehost. TaskT is accepted within these automated/Editor/network boundaries and committed locally as `bb780c1`. Task5A1 continuation is recorded above;5A2 passive arrival observer and5B opt-in owner motor input precede the five-cell natural-arrival campaign. Task5/roster6–11 remain pending. See `Docs/TRACER_REVISION_VALIDATION.md` and `Docs/PACK_ARRIVAL_VALIDATION.md`. Human readability/HUD/representative hardware/separate-network play remain unverified. Manual terrain/GUIDs/pins/jump0 and unrelated ProBuilder settings are preserved. - **9 October Task4 integrated continuation:** actual scheduled whole-pack sight reporting now precedes formation/native motion, and ordinary default brains use Advance/Engage/CoverGrace with independent member grace. Native holds clear both roles' paths and publish stop last; windup/bolt/shell/moving-lunge cancellation preserves paid cooldowns and launched effects. Scoped1s/8m/4s fallback intent is read-neutral; baseline/boss/custom compatibility and owner/lifetime cleanup are proved. A real second-owner regression exposed recent-hit priority suppressing an in-reach stationary strike; the narrow grace-only selector now passes before the unchanged2s contact commitment expires, with no approach/lunge. F8 shows actual sampled sight and grace, and labelled observer views prove cue cancellation/mixed motion/reacquisition. Fresh suites1057 EditMode /65 PlayMode; normal/debug/release builds0errors (561/640/698 warnings). Real delayed/lossy peer, two/four-player arena (11 reports each), ten-phase normal-menu and23-phase two/four full-stage checks pass with clean cleanup. Task4 acceptance is complete within those automated/Editor/network boundaries. See `Docs/PACK_ACTIONS_VALIDATION.md`. Task3/protocol local commits are5a7d350/0c3d03f. Next after acceptance: tracer TaskT, then Task5 checkpoint and primitive roster6–11. Natural ordinary arrivals/variety, final D, human balance/performance and separate-network acceptance remain open. Terrain/GUID/pins/jump0 and unrelated ProBuilder settings are preserved. - **9 October resumed pack audit / Task4 continuation:** the prior status missed completed reports. Task3's actual manual four-player clustered/split direct-navigation fixture passes all mandatory clustered/split gates (`pack-manual-four-d87e155889ee4f2bae963aec9141c32f`), latest matching two/four debug cohorts pass, normal menu passes ten phases and full-stage passes 23 at75/15/1 with clean cleanup. The mixed Editor/build join blocker was a stale MainMenu protocol9 override; narrow native repair restores source10 and a shared build guard prevents recurrence, without prefab identity changes or matching relaxation. Fresh continuation baselines:1053 EditMode /47 PlayMode passes. Task3 native formation acceptance is closed; natural selector arrivals/variety remain Task0/5. Three independent Task4 reviews agree on scheduled real contact sampling before coordinator navigation and actor motion/special attacks, all-role grace stops, independent fallback episodes, explicit baseline/boss/custom compatibility and narrow preparation-cue cancellation. RED native tests are next, then runtime integration. Terrain/GUID/pins/jump0 and unrelated ProBuilder settings remain preserved. Tracer/roster are still pending; human/performance/separate-network gates remain distinct. - **9 October moving formation build/network gate:** task3 now has stable admission slots, supported canonical/typed routes, individual goals, bounded lag episodes, safe denied-work retention and progressing tactical retries. Deferred publication obeys current speed/current elapsed and retains unused native proof without new queries; twelve native cases pass, including actual unformed/reused-cache type/mask proof. Fresh full suites are **1043 EditMode / 47 PlayMode**. Manual-stage both-size inventory, actual occupied-pad/world-blocker proof,16-actor typed motion, Snare/peer progress, lag bypass3.002s and≤8queries/frame pass with preserved terrain/GUID/surfaces/jump0. Bounded distance/ULP observation checks separate sub-micrometre rounding from material overspeed without changing production motion. Final dense/selected F8 captures and neutral reads pass; temporary offscreen colour clearing fixes stale pixels. Windows normal/debug/release builds succeed **0 errors / 558/640/697 warnings**, release excludes the lab. Matching two/four arena **11 reports each** and normal-menu **10 phases** pass at75/15/1. Full-stage and actual manual four-player clustered/split pressure are running/pending; task3 commit waits these gates. Last completed local slice is `bf94b53`; exact-origin push approval remains pending. Next: finish task3 acceptance, then task4 actual contact/FSM/attack grace, tracer and roster. See `Docs/PACK_ADVANCE_VALIDATION.md`. - **9 October pack intent and initial ingress checkpoint:** implemented separate actual visual contact, legacy imported evidence and quantized navigation guidance. Each member captures its own validated five-second-default cover grace; zero, mixed durations, joining, tuning, stale lifetimes and neutral snapshot reads are proved. Host guidance validates every represented native type/filter within the shared eight-query cap, defers budget denial, and fences deferred cohort changes. Native regressions drove supported-centre initialization and filter/lifetime stamps. Initial unseen ranged paths now use phase-based coordination permission independently of combat reposition leases; denied replanning retains only a complete currently spacing-safe route. Actual NPC FSM/contact reporting and attack grace remain task4. Fresh **1001 EditMode / 35 PlayMode**, zero-error normal/debug/release builds (555/640/693 warnings), two/four arena **11 reports each**, menu **10 phases**, full-stage **23 phases** at75/15/1 all pass. Evidence in `Docs/DEBUG_TEST_ARENA.md`. Current local movement commit is `ec5ed06`; exact-origin push approval remains pending. Next: task3 moving soft circle/typed routes, then task4 actions, tracer and roster. Manual scene/terrain, GUIDs, pins and jump-across prohibition are preserved. - **9 October movement/normal-run acceptance complete:** repaired the reproduced small-teleport race with matching correction identity, owner native teleport publication and received legal position; full-float positions are reconstructed from received axes rather than interpolation. Pending spatial actions/pickups/revive/portal evidence are gated, while paid effects and real passive events survive nonlethal correction. Immediate jumps queue once; dash completion uses accepted travel, excluding teleport displacement. Downing revokes the alive proof and reanchors with a new stationary correction. Finite host-authorized speed gains affect only future recovery credit; original deadlines, one allowance and dash budget remain bounded. Prefab identities/settings are preserved; protocol is 10. Slice proof: **966 EditMode / 25 PlayMode**, normal/debug/release builds **0 errors** (555/640/693 retained warnings), release excludes debug assets. Final two/four native warp cohorts pass five cases including movement, immediate jump and actual downing; final arena cohorts pass all seven scenarios and lifecycle/reset checks; normal menu passes ten phases. Two-player normal progression passed eleven phases in the retained combined run; four-player geometry-ordered replay passes twelve phases through stage three/results/rehost. See `Docs/DEBUG_TEST_ARENA.md` for exact evidence and fixture failures. Local admission commit is `0104eb2`; push remains blocked pending exact-origin approval. Next: isolated native ingress RED, then contact/member grace, permission correction, formation/actions/tracer and roster. New pack specs are pending and excluded from the completed movement slice's counts. - **9 October admission checkpoint / warp repair in progress:** the preserved manual first stage now uses map-owned 20 m exclusive minimum / 60 m inclusive maximum / 6 m disks. Separate seeded sampling, current-player visibility/geometry/mesh/route checks and progressive registration preserve the original clock/caps. The seventh debug scenario exercises ordinary admission; F8 shows reservation circles and actorless failures. Native failures drove occupied-pad preservation, retained uniform preflight samples, deferred member-route progress and truthful distance-rejection counts. Spawn cases **68/68**, full current rules **914/914** (including **44 next-slice pure warp tests**), PlayMode **18/18**. Same-seed four-player admission passed eight admissions/124 assertions in 47.2 s under the original 90 s deadline; final two/four arena replays also verify a non-default replicated controller epoch before client commands. Normal-menu/full-stage four-player acceptance exposed a separate small-warp race, confirmed by one issued 3.162 m teleport being replaced by the old pose under the same continuity/lifetime; the larger comparison and cleanup passed. Checked warp sequencing is tested but player/prefab integration is pending. No terrain, package, distance, cover, movement allowance or deadline relaxation. Task 0 final normal-run acceptance remains open; ingress/contact/formation/actions/tracer/roster remain pending. Local slices `655afe6` and `d1155dc` are committed. Automatic push review requires explicit approval of the configured GitHub destination before upload. - **8 October setup acceptance complete:** ported full-stage regression fixtures to bounded host-only current-map ground/navigation/capsule/route selection and portal-local separated slots. Actions revalidate scene/run/stage/cohort and actual accepted/replicated XYZ; one-shot drops refuse banking, clients are refused and stale work after travel grants no rewards. Corrected an observed probe-constructor NavMeshPath regression with lazy main-thread allocation and a reproduced command-acknowledgement race with exact completion fencing. Fresh **781 implemented EditMode passes**, **18 PlayMode passes**, **29 future Task0 cases explicitly pending/skipped** (original RED 770/29 preserved), both PowerShell command regressions passed, prototype **0 errors/543 warnings**. Matching-build manual-first-stage two/four-player full runs passed **23 phases** at 75 ms endpoint delay/15 ms jitter/1% loss, including physical core removal, support/revive, portal readiness reversal/forfeiture, mandatory rewards/travel, 82 unique kills per cohort, results and clean rehost (`encounter-polish-7b46369be4644468b6e81e93e9bab51e`). S is accepted; next: activate Task0 red specifications and implement dynamic-circle admission, then ingress/contact/navigation/actions/tracer and roster. Human/performance/separate-network acceptance remains outstanding. - **8 October continuation foundation checkpoint:** audited existing uncommitted S/initial-D work, preserved the manual scene/GUID, retired obsolete level tooling/assets/boards, and retained two required materials with their GUIDs under shared map materials. Setup now validates player combat/camera/data, group tuning/regions and disabled jump-across; failed setup preserves prior authored Undo edits and project build references. Saved F8 observations are bound in the stage and debug arena, default-off and read-only; expired evidence cannot fabricate a combat target and F7/F8 cursor ownership resolves against current blockers. Fresh **770 EditMode / 18 PlayMode** passes, all-category rendered viewport/scroll/reset/exit checks, normal build **0 errors/543 warnings**, debug build **0/640**, release exclusion **0/716** with no packed debug scene/scenario assets. Matching-build normal menu **10 phases** and debug arena two/four-player **18 reports each** passed at 75 ms endpoint delay, 15 ms jitter, 1% loss, including resets/disconnect/rehost and zero cleanup failures. Full-stage testing exposed an unsupported scripted core-drop position: rewards correctly banked rather than creating a ground core. Port that fixture and portal positions to host-validated current-map layouts before marking all S acceptance complete or advancing the core pack runtime. Dynamic spawning/Advance/grace/tracer/new roster remain unimplemented; Task0 tests are authored separately and await RED/implementation. - **8 October scope reduction:** user removed jump-across navigation from the pack implementation plan. Automatic gap-link generation is disabled, both agents' jump-across distances are zero, and the new manual traversal implementation and gap-only fixtures are removed. Both navigation surfaces were rebaked; terrain fingerprints matched and normal spawn-to-portal/boss routes remain valid. The refreshed Windows prototype built with zero errors (543 warnings). Ordinary grounded navigation, stage infrastructure, terrain and AI diagnostics are retained. Remaining implementation order starts S → initial D → dynamic spawning. - **8 October debug arena implementation checkpoint:** added the separate development-only DebugTestArena, four greybox stations, explicit scenario/player markers, host-owned fixture contracts/reset and local/online entry, F7 UI Toolkit controls, six real gameplay scenarios, versioned reports and dedicated development/release-exclusion builds. Fresh **729 EditMode / 18 PlayMode** passes; built offline six scenarios plus ten in-flight reset repeats and expected-failure cleanup passed. Rendered local flow/resolution/panel-scale checks passed. First debug build zero errors/540 warnings; release zero errors/676 warnings and no debug packed assets. Matching rebuilt two- and four-player cohorts passed outside the sandbox with 75 ms endpoint delay, 15 ms jitter and 1% loss, including real combat, client refusal, local cleanup, target disconnect, host-loss menu return and same-process rehost/rejoin. The first failed rehost exposed scene-owned diagnostics; one persistent session-root probe now preserves the reader through that lifecycle. See [arena guide and evidence](DEBUG_TEST_ARENA.md). Preserve the amended pack plan and manual terrain; its setup S is the prerequisite for fresh normal Verdant regression. No pack behavior/roster implementation yet. - **8 October hand-authored stage and tracer requirements:** use setup-only infrastructure on the user-authored first stage. The current scene has one spatial context/group coordinator, two scoped navigation surfaces, four measured supported pads and the persistent application-root bootstrap. Initial F8 read-only development diagnostics are integrated; pack/tracer/roster runtime remains pending. Tracer scope remains base damage 10→6, bounded wavy steering and postlaunch terrain pass-through, preserving initial sight/clearance and separate Lancer/shell/player collision rules. - **8 October expanded pack AI/roster plan — planning only:** user selected Tether Keeper, Lancer, Bulwark and Splinterbeast and requested primitive first-pass enemies like the crawler. Renamed the current plan to [Pack AI and Enemy Roster Expansion](superpowers/plans/2026-10-08-pack-ai-and-enemy-roster.md), preserving all dynamic spawn-circle/Advance/Engage/per-enemy cover-grace requirements and adding unchecked tasks 6–11 to its combined to-do log. It specifies bounded support protection, committed precision shots, shield-generator/flanking counterplay, finite population-safe splitting and explicit child reward credit. Generated reference-matched Hollow Knights, Riftborn and Scrap Seraph boards show concept targets and primitive recipes; the user's clarification requested faction boards rather than three separate Hollow Knights studies. See [design packet and prompts](Design/Enemies/2026-10-08/ROSTER_DESIGNS.md). Four shared gameplay roles use faction visual variants; no production models, paid assets, scene changes or gameplay implementation in this planning pass. New enemy numerical defaults remain proposals; existing 8 m/s / 60 degrees/s full-flight ordinary bolts and previous validation evidence are preserved. Required independent reviews occur at implementation gates, not during planning. - **8 October debug test arena — planning only:** user requested an implementation plan for easier manual debugging and automated testing with laid-out enemies and obstacles. The [debug test arena plan](superpowers/plans/2026-10-08-debug-test-arena.md) proposes a separate development-only scene with target, cover, traversal and group stations; shared host-owned scenario setup/reset; local/online entry; UI Toolkit debug controls; six repeatable scenarios; and development-build two/four-player validation. Reuses existing probes, navigation diagnostics, gameplay prefabs and spatial contracts, with explicit cleanup/authority/release-exclusion gates. Proposed layout and defaults remain unmeasured. Preserve existing arena/manual edits and the separately planned pack AI changes. No gameplay/scene/assets/packages changed, reviewers dispatched, Editor operations, tests or builds in this planning pass. Next: review the plan before implementation. - **8 October enemy-roster research — proposals only:** user requested Destiny/Risk of Rain 2 research for additional enemies. Current roster already covers crawler melee/lunge, tracking ranged, elite bombardment and Pulse/Siege bosses. Recommend next a tether-support enemy (Servitor role), telegraphed precision shooter (Wire Rifle Vandal / Stone Golem role), and directional shield bruiser (Phalanx role); later consider low-hover ranged enemies (Grim), an explosive crawler (Exploder Shank), and a bounded one-generation splitter (Gup). Original names/visuals and mechanics remain proposals, not selected scope. Prefer visible bounded non-stacking support protection, a vulnerable support source, avoid shield cycles; sniper windup/final aim commitment and limited simultaneous shots; shield weak points/flanking and explicit Scan/control/pierce rules. Flyers require their own bounded movement rather than ground navigation. Split descendants must consume population capacity and have explicit kill/reward/proc ownership, with no spawning at stage cleanup. Start with support plus sniper in mixed encounters before expanding the roster. Sources: [Destiny Fallen guide](https://primagames.com/eguides/destiny-2-eguide/the-bestiary/fallen), [Servitor](https://www.destinypedia.com/Servitors), [Bungie Dread reveal](https://www.bungie.net/7/en/News/article/d2_intothelight_tfs_recap), [Stone Golem](https://riskofrain2.fandom.com/wiki/Stone_Golem), [Gup](https://riskofrain2.wiki.gg/wiki/Gup), [Phalanx Grimoire](https://www.ishtar-collective.net/cards/phalanx). First-party descriptions and community gameplay documentation support archetype references; proposed tuning/implementation is our design judgment. No gameplay/assets/tests/builds changed in this research pass. - **8 October user-selected Fallen-inspired bolts — implemented:** user explicitly selected **8 m/s and 60 degrees/s**, retaining the proposed new effects. Normal defaults and the saved Ranged Drone definition now resolve to these values; full-flight tracking, three-shot burst, damage, cooldown, radius, three-second lifetime, elite mechanics and bombardier simulation are preserved. Bolt presentation adds a bright cyan-white core, pooled 0.18 s curved/tapered transparent trail and six short-lived impact particles; shared runtime material clones preserve orange shell assets and are destroyed with the service. No per-bolt lights, package changes or RPC changes; client correction smoothing remains deferred. Three independent preimplementation/final perspectives accepted the bounded scope. EditMode **688/688** and PlayMode **7/7** passed after the expected red tuning regression. A temporary actual solo-host fixture admitted 128 of 130 launches, cleared cancellation/reuse histories, rendered the core/trail, and observed six impact particles followed by zero and inactive expiry. See `TestResults/projectile-eight-sixty-live.txt`, [flight render](../TestResults/projectile-eight-sixty-flight-centered.png) and [impact render](../TestResults/projectile-eight-sixty-impact.png). The controlled dark-sky fixture does not establish terrain/sky/dense-combat or remote readability; the impact image captures a compact birth cue rather than separated sparks. Temporary fixture setup/reload/shutdown produced warnings/errors before correcting its authority setup; no clean-console gameplay claim is made. Three seconds now allows at most 24 m of path, so curved far-range shots can expire early. Windows build succeeded with **zero errors / 525 warnings** (see `Builds/Prototype/build-result.txt`); original hand-authored Editor scene restored without saving scene changes. Multiplayer acceptance and human dodge/balance remain unverified for this revision. - **8 October Fallen projectile research — recommendation only:** user requested research into Destiny 2 Fallen ranged fire and its implementation. The closest reference is the Shock Rifle: Bungie's [archived Grimoire description](https://www.ishtar-collective.net/cards/shock-rifle) establishes slow target-seeking Arc projectiles; this is Destiny-era lore, not disclosure of Destiny 2 simulation constants. The Shock Pistol fires Arc bolts, while the Wire Rifle is a high-velocity alternative. Current ordinary ranged defaults already resolve to three bolts at 0.12 s spacing, 14.4 m/s, 40 degrees/s full-flight tracking, 3 s lifetime and 0.08 m collision radius. Current presentation is an orange sphere with a straight two-point 0.7 m tail; clients extrapolate between 0.1 s host corrections. Recommend first preserving these mechanics and improving energy-core silhouette, a curved fading trail, small impact sparks and smooth authoritative visual corrections. Keep host damage/collision, full-flight tracking, pooling and distinct elite/shell behavior. Proposed testing: movement/dodge/cover at 6/12/24 m, frame-rate and hitch consistency, delayed co-op, target loss, slot reuse and 128-bolt load. Exact Destiny speed, turn rate, burst timing and acquisition rules remain unverified; no gameplay code/assets or new Unity/test/build evidence in this research pass. - **8 October dynamic group-spawning plan amendment — planning only:** extended the [pack AI plan](superpowers/plans/2026-10-08-pack-ai-and-enemy-roster.md) with fresh dynamic spawn circles instead of predefined ordinary encounter regions, random valid member positions inside each disk, and map-owned minimum/maximum distances. User confirmed every spawn must be outside the minimum from every living player and within the maximum of at least one. Proposed Verdant starting values are 20/60 m and 6 m circle radius, subject to tuning. Per-member visibility, capsule, spacing, correct mesh, disk containment and legal approach checks remain required; existing spawn cadence/caps and authored boss entries are preserved. Includes region-contract migration, bounded failure/retry and build/network/lifecycle evidence. No scene/gameplay changes or new test results. - **8 October pack Advance and cover-grace plan — planning only:** recorded the user's merged Explore/Search → Advance direction, continuously refreshed player-area guidance, moving soft gathering circle, shared actual sightings → Engage, and simultaneous ranged ingress. Cover grace is now **per enemy definition**, default **five seconds**, after the last group member loses sight; future impatient/patient archetypes can author different durations. Members expire independently: an advancing member is not blocked by a holding peer, and cohesion never drags holding members forward. The [implementation plan](superpowers/plans/2026-10-08-pack-ai-and-enemy-roster.md) separates navigation hints from personal firing permission, addresses the traced spawn-idle permission conflict, defines bounded terrain/lag recovery and stable co-op targets, and includes special-runtime, authority, lifecycle, mixed-duration, Editor/build/network and human acceptance checks. Circle/guidance speeds/radii are proposed editable defaults; existing homogeneous cohorts and combat tuning stay in scope, without creating future berserker/sniper assets. No gameplay changes or new test/build results; three-perspective reviews are execution gates, not planning work. - **8 October ranged spawn-idle investigation — no gameplay changes:** traced the current host state machine and found an exploration/permission conflict: `FindTarget` releases reposition permission when no perceived target exists, while `AIExplore` can retain a path and return before reacquiring; the next-frame ranged movement guard clears that path. Actual authored Verdant group-rule execution confirmed cancellation and peer handoff delay. This supports interrupted exploration/excess idle time, not a proven permanent deadlock or reproduction of the user's live cohort. Grouped two-candidate tactical selection/current-position fallback is another unverified arrival risk. Saved [current action graph](Design/Enemies/current-enemy-state-machine.mmd), [ranged movement graph](Design/Enemies/current-ranged-movement.mmd), and `TestResults/ranged-idle-investigation.txt`. Connected Editor was MainMenu outside Play Mode; no gameplay fix, full test/build/network run or live cohort reproduction. Next: instrument/reproduce unseen grouped ingress before a bounded correction; preserve intentional firing holds and all-player spacing. - **8 October combat balance and enemy AI baseline:** full-flight bolts, shared consumable Scan weak points, control durations/cues, integer hit numbers, stage-owned spatial validation, 128 hostile bolt slots and host-owned small-group tactics remain implemented. The current hand-authored first stage uses its own measured infrastructure. Prior level-specific traversal results do not validate subsequent manual terrain edits. - **7 October combat readability implementation complete:** all ten approved slices are integrated: shared target profiles, ability/enhancement/core-condition reuse, resolved overkill numbers and 1.5x headshots, cooperative three-body-spot Scan, Nova stun/ability tuning, smaller faster crawlers and 180-HP ranged enemies, persistent search/hit alerts, bounded tracking bursts, typed source buff HUD/menu icons, native effects/filter toggles/numerical copy. Three independent perspectives and fresh integrated reviews accept the result. Fresh proof: **625 EditMode / 7 PlayMode passes**,142 actual host checks including56 orbit precision shots,97 visual artifacts across four aspect ratios / 100–125%,Windowsbuild **zero errors / 521 retained warnings**, and **109 matching-build multiplayer phases** at 75 ms per endpoint / 15 ms jitter / 1% loss across two/four players, including stage/reward/travel/results/rehost. Sixteen ranged enemies over 8 seconds of headless pressure: 206 launches, 39/64 peak, zero saturation. See [validation and explicit limits](COMBAT_READABILITY_VALIDATION.md) and [ledger](COMBAT_READABILITY_PROGRESS.md). Human readability/dodge/contact/balance, separate-network human play and representative rendering hardware remain; some individual-family physical/latejoin measurements are narrower. Package pins and manual arena/menu work preserved; no commit/push. - **7 October generic attack-enhancement definition — planning only:** user requested a reusable definition for attack enhancements and a separate empty on-hit section for future effects such as explosive bullets, then explicitly chose adding it to the [implementation plan](superpowers/plans/2026-10-07-combat-readability-and-enemy-tuning.md) rather than immediate C# implementation. Reuse slice A now specifies `AttackEnhancementDefinition`/immutable tuning snapshots with duration/trigger limits, shot damage/piercing settings and an empty `OnHitEffects` array. Focus/Rail reference separate assets with current values. No concrete on-hit effects, dispatcher, explosion behavior or migration of existing core procs is included. Source identity, per-player counters/expiry and ultimate provenance stay separate from shared configuration; ten deliverables remain. Documentation only. - **7 October definition-reuse plan addition — planning only:** user explicitly added **ability tuning, core conditions and buff identity** to the [combat readability plan](superpowers/plans/2026-10-07-combat-readability-and-enemy-tuning.md). Two prerequisite slices make each ability's runtime/validation/UI consume its owning definition and each core condition consume its existing resolver; typed source identity is required within the buff-HUD slice from grant through removal/replication/display. The audit found actual Slipstream inspection unit drift (20 m shown vs 6 m movement) and tuning ignored by several runtime paths. Focus/Rail retain separate 3/5 s/+20% and 6/8 s/+40%/50% pierce settings with independent runtime windows; shared structure does not merge their values. Ten deliverables now include resistance, ability/core reuse and seven existing slices. Encounter/perception profiles and unrelated cleanup remain outside this addition. Documentation only; implementation and gameplay validation remain pending. - **7 October shared enemy profile follow-up — planning only:** added confirmed normal/elite/boss profiles to the [combat readability plan](superpowers/plans/2026-10-07-combat-readability-and-enemy-tuning.md). Normal resistance is neutral. Elites reduce slow strength/root duration/stun duration by 30%, push/pull displacement by 50%, and incoming damage by 10%; bosses reduce slow strength by 80%, reject roots/stuns/push/pull, and reduce incoming damage by 20%. The same elite profile holds the existing **3× base-health / 1.5× outgoing-damage** multipliers; boss/normal profile stat multipliers stay 1× over authored base values. These rules supersede draft elite caps: Nova's 1 s base stun becomes 0.7 s on elites, and Repulse's 4 m base push becomes 2 m. Eight deliverables now include the profile foundation, migration and exact matrix/accounting tests. No gameplay implementation or Unity tests/builds occurred in this follow-up. - **7 October combat readability and enemy tuning — planning only:** prepared the [implementation plan](superpowers/plans/2026-10-07-combat-readability-and-enemy-tuning.md) for uncapped hit numbers, 1.5× base headshots, shared Scan exposure with three glowing body weak spots, doubled Repulsor pushback, Nova 10 m/1 s stun (elites affected, bosses immune), Arc Anchor 20/s, Starfall 150 per fall, smaller/faster 30-HP crawlers, 180-HP ranged enemies and three-shot tracking bursts. The user confirmed twice-current pushback, 1 s stun, 0.12 s burst spacing, three body spots accessible from all sides, and a temporary/conditional-only source-icon buff HUD. Plan also covers menu icon reuse, Rupture-style spherical effects, toggle-off library filters, persistent search/hit alerts and all 27 ability descriptions with percentage chance wording. Preserve host authority, actual-health accounting, ranged spacing and existing passive/proc limits. Three independent reviews occur at implementation gates, not during this planning request. No gameplay code/assets, builds or tests changed/run; next step is user review of the plan, then bounded implementation and actual Unity/network/feel checks. Proposed tracking/control defaults remain explicitly separate from confirmed requirements. - **7 October core-selection preview follow-up:** the user requested a closer match to the original core mockup. Rewards now use a fullscreen dark surface, compact rank-first cards, native mint outlines, structured numerical effect facts, visible restrictions/recipient tags and a footer immediately below context/inspection. Whole-card pointer/keyboard selection preserves separate Confirm, recipient identity and awaiting locks. Actual category, exhausted, receipt and waiting states remain distinct; aggregate/local team status stays truthful. Three independent integrated reviews accept the production result. Fresh proof: **535 EditMode / five PlayMode passes**, 84 renders across three aspect ratios at 100%/125%, six corrected exhausted replacements, 36 comparison combinations, Windows build zero errors/532 retained warnings. Matching-build delayed/lossy stage acceptance passed all 23 phases across two/four players, including rewards, receipts, travel, results and clean rehost, with zero cleanup errors. Two pinned NGO shutdown exceptions from leaving the Editor visual fixture are recorded separately. See [validation](CORE_MENU_VISUAL_VALIDATION.md), [core side-by-side](Design/AbilityMenu/core-preview-vs-unity.png) and [interactive comparison](Design/AbilityMenu/preview-vs-unity.html). No tuning, reward rules, authority, schemas or shared scaling changes; human feel/separate-network checks remain. - **7 October ability-menu preview fidelity:** the user requested the original icons, wording and closer visual matching, including aspect-ratio adaptation and side-by-side comparison. Slot library now uses native mint pictograms, compact two-column rows, visible type tabs/role chips, short mockup copy, live fact cells, context, pinned comparison/Equip and compact footer actions. Guided builds use three inspectable selectors and one explicit seven-slot recipe preview; Core rewards share the palette and bind accurate specific/category/receipt/waiting hints through the live coordinator. Gameplay tuning, saved schema and network contracts remain unchanged. Three independent preimplementation/integrated reviews accept the bounded result. Fresh proof: **530 EditMode / four PlayMode passes**, 66 ability/42 core renders across three aspect ratios at 100%/125%, 36 comparison selector combinations, Windows build zero errors/532 retained warnings. Matching-build delayed/lossy menu acceptance passed all ten phases across two/four players, with zero cleanup errors and original saved preferences restored. See [visual validation](ABILITY_MENU_VISUAL_VALIDATION.md), [side-by-side](Design/AbilityMenu/preview-vs-unity.png) and [interactive comparison](Design/AbilityMenu/preview-vs-unity.html). Human onboarding/feel and separate-network play remain acceptance checks. - **7 October ability-menu implementation:** the approved Slot library, Guided builds and Core rewards are implemented in the main menu and mandatory stage rewards. The 27-ability roster, seven-slot rules, tuning, saved-loadout schema, host acceptance and common-specific/higher-rarity-category rewards are preserved. Draft swaps/search/roles, three editable examples, combined Apply/Discard, read-only reward inspection and a pure host completion aggregate are integrated. Three independent preimplementation/final reviews accept the scope. Latest proof: 523 EditMode and 3 PlayMode passes; 36 ability/42 core production-control captures across three aspect ratios at 100%/125%; Windows development build 0 errors/532 warnings; matching-build delayed/lossy menu acceptance 10 phases across two/four players, including real controls, exact acknowledgement, host-loss recovery and typed preference restoration. Full-stage reward/travel acceptance passed 23 phases across two/four players at the same delay/loss settings; receipts, duplicate category rejection, travel and completion resets passed. See [validation and remaining human checks](ABILITY_MENU_VALIDATION.md) and the [execution packet](Design/AbilityMenu/IMPLEMENTATION.md). Connected C: checkout/Editor 6000.6.4f1; installed CLI is available at the Hub resources path despite being absent from PATH. - **7 October proc/elite follow-up:** Death Blast and bleed-cascade blasts now show brief expanding orange rings; Chain Rounds shows cyan links for accepted secondary hits on all observers. Native geometry is pooled and capped at 32 active cues, with run/stage/sequence/expiry guards and cleanup. Elite chance now uses unique normal kills since the last successful elite spawn: five-kill warmup, **4% base**, **1.25× per additional kill**, **50% cap**, then reset and a fresh ramp. Failed/normal/boss spawns do not reset it; total kills and boss progress remain intact. The user confirmed increasing elite chance only. Both authored arenas use 4%. Fresh verification: **488 EditMode tests passed**, **six two-player acceptance phases passed** at 75 ms per-endpoint delay/15 ms jitter/1% loss, native URP previews inspected, and Windows build **zero errors/520 retained warnings**. See the follow-up evidence in [validation](FEEDBACK_CORES_MENU_VALIDATION.md). GitHub origin is `rylan-person/ProjectI`, branch `prototype-foundation`; the user authorized committing and pushing this follow-up. - **7 October implementation complete:** the authorized [feedback, cores, build variety, and main menu plan](superpowers/plans/2026-10-07-feedback-cores-builds-menu.md) delivers adjustable edge damage feedback, teammate extra-jump cues, primary/saved/explicit monitor selection with revert, 45 cores and category awards/receipts, eight new normal abilities/two ultimates/two passives, bounded authoritative effects, numerical reporting and a separate ready/loadout-controlled MainMenu. Verification: **477 EditMode tests**, **one actual PlayMode lifecycle test**, **36 live host checks**, **32 foundation /17 combat /8 feedback /23 stage-reward /9 menu phases**, and **four real dual-monitor startup checks** passed. Menu/core renders were reviewed at three aspect ratios and 100%/125% scale. Final Windows development build: **zero errors, 22 retained warnings**. [The validation report](FEEDBACK_CORES_MENU_VALIDATION.md) maps build cohorts and retained evidence. Next: human balance/feel, keyboard-only submenu navigation, separate-network play, physical primary-change/unplug/reorder and dense representative-hardware profiling. Initial tuning is not human-approved; permanent unlock progression remains pending. - Approved player-feedback follow-up: fresh host-validated landing contacts address the client quick-rejump race; grounded corrections preserve later jumping; reliable-delivery tolerance is separate from capped movement allowance; Local Settings adds default-on VSync and an optional FPS limit; confirmed owner-only damage now produces a 0.3-second red pulse. All 24 new rule cases pass; full suite **383 passed, 1 pre-existing enemy-bar projection failure**. Seven live damage checks and a rendered HUD capture passed; matching Windows build **0 errors/509 retained warnings** and **7 automated two/four-player phases passed** at 75 ms per-endpoint delay, 15 ms jitter and 1% loss, including 24 immediate landing re-jumps and owner-only damage feedback. Separate-network human movement feel and physical-monitor tearing remain acceptance checks. See [evidence and remaining checks](PLAYER_FEEDBACK_PROGRESS.md). - Temporary project label: **Indie FPS Roguelike**; final title undecided. - The Unity project contains the greybox multiplayer arena, private join-code sessions, networked first-person movement, five primary weapons, seven-slot classless builds, six effect passives, confirmed damage/headshots, player health/downing/revives, and UI Toolkit interfaces. Host-controlled melee/ranged enemies, larger elites and Pulse/Siege bosses are implemented. Run upgrades, stage completion/travel and cached defeat results are implemented; saved permanent-unlock progression remains pending. - Editor **6000.6.4f1** and package pins are preserved. Unity CLI **1.0.0-beta.12** is now available; target this checkout explicitly with `--project-path E:\IndieGameProject\ProjectI` when multiple Editors are open. See [setup instructions](SETUP.md). - Editor/packages/active PC URP configuration were verified. Existing Editor **6000.6.4f1**, URP **17.6.0**, Input System **1.20.0**, and Test Framework **1.8.0** pins were preserved. Windows baseline and arena development builds succeeded; warnings remain documented. - Selected the already installed NGO **2.13.3**, Multiplayer Services **2.3.3**, and Transport **6.6.0**. Player-hosted private join codes; four total players; pre-run joining; host loss returns clients to menu. User confirmed free tier and no paid billing. See [networking decision](NETWORKING_DECISION.md). - Local Git and Git LFS are configured on `prototype-foundation`, with Unity cache/build ignores and GitHub origin `rylan-person/ProjectI`. The prior completed batch is tracked in `522f2e2`; new follow-up changes are scoped separately. - User confirmed the foundation recovery fix works, including across multiple networks; participant counts were not specified. Four local clients were verified automatically; four independently controlled human players remain an acceptance check. Earlier foundation evidence is in [validation](PROTOTYPE_VALIDATION.md). - User subsequently authorized initial-plan **steps 4–7**, selected teammate revives, and requested expandable generic weapon/ability bases. The [combat plan](superpowers/plans/2026-10-05-combat-sandbox.md) is implemented and locally validated; scope stops before enemies and a complete stage. - Prior encounter-polish baseline: **220 passed, 0 failed**. Ranged enemies prefer immediate4–7s firing holds with brief0.4–0.9s repositioning; complete routes and actual server navigation steps cannot approach inside6 horizontal units of any living player. Player-caused proximity preserves holding and permits only nonapproaching enemy movement. Early-stage rate scaling, repeating pressure beats,40-kill waves, retained boss adds, core removal, mandatory choices and portal travel remain implemented. That encounter-polish Windows build succeeded with zero errors/520 retained warnings. Matching rebuilt acceptance passed **15 full-run phases** across two/four players with75ms per-endpoint delay,15ms jitter and1% loss (82 unique kills per two-stage run). Live host stationary fire/spacing/cover reacquisition passed. See [encounter validation](ENCOUNTER_POLISH_VALIDATION.md); human balance/animation feel, remote AI visual feel, separate-network runs and representative hardware profiling remain pending. - Windows expansion builds succeed with zero errors; retained template/debug-shader, optional Pipeline runtime and development-symbol warnings are recorded in validation. HP/revive clipping and host moving-shot misses were reproduced and corrected. Periodic host movement validation runs on the existing **30 Hz network tick**, with immediate action-position validation retained. - Expansion design/plans approved for inline execution: circular picker, six effect passives, split damage, input-directed dodge, confirmed feedback and enemy encounters. Enemy actions use an extensible host state machine. User confirmed exponential elite spawning: 2% after five normal kills, multiplied by 1.25 per additional normal kill and accelerated by an authored difficulty factor, capped at 50%; elite kills do not raise chance. Independent review finding resolved. See the [approved design](superpowers/specs/2026-10-05-builds-feedback-enemies-design.md) and [execution ledger](EXPANSION_PROGRESS.md). - The [combat flow, vitals, abilities and HUD plan](superpowers/plans/2026-10-06-combat-flow-vitals-abilities-hud.md) is implemented after user authorization and four independent reviews. Boss clear now permits collection before reversible all-player portal entry, reward selection and travel. Added player-only 50/50 HP/shield before modifiers, capped overshield grants, automatic reload, smaller normal-lunging melee, the bombardier ranged elite, three normal actives plus an ultimate, four new abilities and the revised HUD. A reproduced same-process rehost pickup failure was fixed by resetting scene-local deadlines on the new server clock. Fresh verification: **278 EditMode tests passed**, Windows build **0 errors/521 warnings**, **23 accepted phases across two/four-player runs** at 75 ms per-endpoint delay, 15 ms jitter and 1% loss, **8 live host ability checks**, and six rendered HUD aspect/scale captures. See [implementation and evidence](COMBAT_FLOW_PROGRESS.md). Next: human playtest both layouts on separate networks, measure support/ultimate/revive balance, remote enemy visual feel and capped-combat performance. Permanent ability unlock persistence remains pending. - UI follow-up: repaired mixed source encodings that corrupted weapon/upgrade/result punctuation. Enemy label/bar projection now runs after movement every frame, retaining 20 Hz visibility checks. Latest suite: **282 passed, 0 failed**; final incremental Windows build **0 errors/10 warnings**. See the follow-up evidence in [combat flow progress](COMBAT_FLOW_PROGRESS.md). - Latest ranged follow-up: removed the bombardier cannon orb that inherited 120× muzzle-bone scale, preserving localized charge glow and the world-space blast warning. Ranged enemies now select exposed torso/chest/head points and retain that height during bolt tracking, with projectile-size muzzle/cover checks. Full cover still blocks shots; melee/spacing/fire holds remain intact. Latest validation: **291 EditMode tests passed**, Windows build **0 errors/521 warnings**; new low-cover behavior was verified with real Physics fixtures. See [evidence and remaining acceptance](COMBAT_FLOW_PROGRESS.md). - Core rarity HUD: four original low-poly/faceted green, blue, purple and gold icons now display **unspent core counts by rarity** in the top-right corner. Counters include an opened choice until confirmation and exclude already applied upgrades. Stage/wave/portal status remains. Native previews inspected; latest suite **295 passed, 0 failed**, Windows build **0 errors/521 warnings**. See [implementation evidence](COMBAT_FLOW_PROGRESS.md). - Authorized [Tab inspection and infinite core stacking](superpowers/plans/2026-10-06-tab-inspection-infinite-core-stacking.md) implementation: effective stats/source details, installed upgrade grid, 25 original native icons, long uncapped ranks and shared linear/logarithmic/exponential formulas are implemented. Latest checkpoint: 360 EditMode tests passed, native compact hover cards inspected in 16:9/16:10/ultrawide, nine live 30/60/144 FPS-limit firing boundaries plus real Tab cancellation passed, and Windows build succeeded with 0 errors/521 retained warnings. Matching delayed/lossy co-op verification passed 23 phases across two/four-player full runs (75ms delay per endpoint, 15ms jitter, 1% loss), including clean rehost. See [implementation evidence](CORE_INSPECTION_PROGRESS.md). Unspent rarity counters remain separate; human balance and extreme-load profiling remain acceptance work. - Implemented authorized combined batch: the full encounter-polish plan (crawler silhouette, head health bars, impact feedback, moving ranged fire, slightly tracking travelling bolts, elite palettes, courtyard, death dissolve and perception/memory/flanking) plus random tiered run-upgrade choices, a broader weapon roster, stage travel/toughness scaling, an all-down run summary/menu return, and local FOV/sensitivity settings. The [combined encounter and run plan](ENCOUNTER_POLISH_PLAN.md) includes a proposed 25-upgrade catalogue and staged implementation checkpoints. All requested systems and the 25-upgrade/five-weapon/two-layout scope are implemented and locally verified. Initial tuning values remain balance starting points. ## Vision and Scope Build an original stylised low-poly, space-fantasy first-person shooter roguelike with online co-op for up to four players. Target PC initially; other platforms remain undecided. Use Unity 6, Universal Render Pipeline (URP), and C#; use Blender, Git/GitHub, Git LFS, and ChatGPT/Codex for development. Combine responsive aiming and shooting inspired by Destiny 2 with escalating enemy pressure, stacking bonuses, and replayable runs inspired by Risk of Rain 2. These are player-experience references: do not copy assets, characters, names, lore, or distinctive presentation. The setting combines futuristic weapons and technology with mysterious powers, ancient ruins, strange ecosystems, and otherworldly landscapes. Aim for isolation, discovery, beauty, and escalating danger. Give stages distinct atmospheres while preserving a coherent universe. Priorities, in order: playable multiplayer combat; maintainable architecture; simple systems; modular components; performance; Editor iteration; reusable prefabs/ScriptableObjects; minimal dependencies; consistent low-poly art. Use placeholders to prove gameplay before production artwork. ## Gameplay Requirements ### Runs and Encounters - Initially target roughly 20-minute runs across four stages of roughly five minutes each. These are playtesting targets, not rigid timing rules. - Start with handcrafted levels. Decide final layout/generation approaches later. - User's level direction: open, medium-sized floating islands, similar in feel to Risk of Rain. Handcrafted levels preserve an original space-fantasy world; exact biomes, dimensions and topology remain subject to authoring and playtesting. - Each stage needs a distinct visual, atmospheric, and encounter identity; horde combat; tactical elite enemies; and a boss near its end that must be defeated. - Support both single-target and area-damage builds without one consistently dominating every encounter. - Prove one stage before expanding to a full run. ### Weapons and Abilities - Equip two weapons simultaneously and allow switching. Begin with two distinct combat roles. - Planned categories include sniper rifles, hand cannons/pistols, automatic rifles, and semi-automatic rifles. Add categories only when gameplay justifies them. - User requested a refined roster including a heavy hand-cannon pistol and shotgun. The combined plan proposes carbine, hand cannon, shotgun, SMG and marksman roles first, with sniper/launcher options later; two weapons remain equipped. Proposed damage/rate/reload values require measured balance tests. - Prioritise responsive firing, clear hits, satisfying recoil/recovery, distinct handling, and readable audiovisual feedback. Expand after the foundation feels good. - Current classless builds have seven slots: two distinct passives, three distinct normal actives (Q/F/C), one ultimate (Z), and separate melee (V). Loadout validation, serialization, charges/refunds, upgrade eligibility, input and picker/HUD use explicit slot identities. Arc Lance and Shield Pulse join the normal choices; Starfall and Aegis Surge are the first ultimate choices. - Equipped abilities supply effects and contribute to base stats. Make mobility, survivability, and damage trade-offs explicit; an all-movement build should sacrifice survivability and damage potential. - Keep balance values configurable and stat calculations inspectable. Introduce additional stats only for clear gameplay needs. - Use expandable `WeaponDefinition` and `AbilityDefinition` bases with shared damage/rate/ammo/handling and cooldown/effect/stat fields. Concrete subclasses resolve validated host actions; mutable runtime state stays separate from shared assets. - Requested expansion: six passives with gameplay effects and related stat contributions; examples include double jump plus movement speed and a gun-only 20% bonus for five seconds after using an active. Separate attack damage (guns) from ability damage; dodge follows current movement input. Picker groups follow the user's circular P/A1/A2 sketch and describe choices on hover/focus. - Prototype death policy: teammates can revive a downed player by holding E within 3 m and line of sight for 3 seconds, restoring 30% health. Downing clears temporary effects; no bleedout timer in this pass. Host practice reset supports solo/all-downed testing. ### Progression and State Boundaries Players choose core weapons and abilities before a run. In-run bonuses strengthen or modify that build through stats, effects, and synergies; they must not replace equipped core abilities. Implemented run scope: enemy kills have a random chance to drop tiered upgrade choices, with common base-stat improvements and less common effects such as independently stacking shot-damage-scaled bleed, extra on-hit projectiles and additional active-ability charges. The combined plan recommends personal choices from shared co-op drop events, host-owned rewards/stats, uncapped authored upgrade ranks with finite numerical representation and restrictions preventing recursive damage effects. Proposed loot/rarity rates were adopted as initial tuning defaults. Add synchronized stage advancement, an upper-corner completed-stage count and stage-dependent enemy toughness. Preserve run upgrades between stages. The proposed downed/revive policy retains run upgrades while any teammate can revive the player; final team defeat snapshots a summary (kills, damage, upgrades, stages and other run statistics) before clearing run state and returning to menu. This distinguishes temporary downing from final death. Checkpoint recovery and stage-scaling defaults are implemented; balance acceptance remains pending. Permanent progression unlocks abilities that expand future choices. Death removes run bonuses and temporary stat increases/effects while retaining ability unlocks. Do not assume persistent currency, permanent stat upgrades, retained loot, or weapon progression without a new request. Keep permanent unlocks, equipped loadouts, base stats, and temporary run modifiers distinct. Use ScriptableObjects for shared authoring definitions where appropriate; mutable player/run state must not live in shared asset definitions. ## Multiplayer Architecture Multiplayer is foundational: the first playable prototype must support online co-op, rather than retrofitting networking after a complete single-player game. Before choosing a stack, compare suitable options using current official documentation. Explain hosting, authority, service dependencies, operating costs, and practical limitations. Record the decision and rationale. The foundation selected the existing Unity NGO/Multiplayer Services stack after comparison with Mirror and Photon Fusion; rationale, versions, licenses, costs, and limitations are in `Docs/NETWORKING_DECISION.md`. The server or authoritative host owns shared gameplay outcomes: damage, enemy state, spawning, stage progression, and run rewards. Clients supply input and responsive local presentation. Validate requests at the authoritative boundary and avoid conflicting copies of shared state. Preserve responsive aiming, movement, and shooting. Introduce prediction, interpolation, reconciliation, or lag compensation only where the chosen stack and gameplay require them. Validate session joining/leaving, two-player and four-player play, movement, weapons, damage, abilities, enemy spawning/death, boss/stage progression, latency, and disconnects early. Decide disconnect and host-loss behaviour explicitly rather than assuming host migration. ## Proposed Development Milestones These milestones sequence the agreed scope; they are not commitments to dates or an approved networking implementation. Prepare a short, scoped implementation plan for each substantial feature after inspecting the actual project. ### 1. Project and Network Foundation — In progress - Inspect installed/connected tools and relevant Unity skills; confirm project, Editor version, and play-mode state when available. - Choose and pin the Editor/packages, record the networking decision, and configure the URP project, Git ignores, and appropriate LFS patterns. - Establish a greybox arena, player spawn, online session flow, and basic networked first-person movement. - Record reproducible setup, test, and build steps. **Completion evidence:** clean project opening and a PC build; actual two-player and four-player join, movement, leave, and disconnect checks, with limitations recorded. ### 2. Responsive Combat and Classless Builds — Implemented; human acceptance pending - Implement aiming, firing, switching, two distinct weapons, hit feedback, and authoritative damage. - Implement all seven ability slots using a small representative ability set. - Make build stat contributions and trade-offs visible and configurable. - Add the minimal combat HUD and co-op player information. **Completion evidence:** players can equip builds and use weapons/abilities together; shared damage stays consistent; local responsiveness and latency behaviour are checked in play. ### 3. One Complete Playable Stage — Stage loop implemented; permanent progression pending - Add bounded horde spawning, a basic enemy, an elite, and an end-of-stage boss. - Add a small set of temporary bonuses, stage completion, and a basic transition. - Implement basic permanent ability-unlock persistence and the specified death/reset boundaries. **Completion evidence:** a co-op group can complete the stage; elite/boss outcomes and rewards agree across peers; death removes temporary bonuses while unlocks survive reload. Include single-target and area-damage builds in playtests. ### 4. Validate and Refine the Foundation — Pending - Implement the proposed [debug test arena](superpowers/plans/2026-10-08-debug-test-arena.md) after plan review: repeatable manual scenarios and automated regressions supplement full-stage/multiplayer acceptance, with dedicated development-only entry and proven cleanup. - Tune movement, weapon feel, encounter pressure, ability trade-offs, and initial pacing from playtests. - Exercise latency, disconnects, joining/leaving, and progression boundaries. - Profile representative four-player horde combat; address measured bottlenecks. - Confirm HUD legibility across resolutions/aspect ratios and establish the reusable visual/asset workflow. **Completion evidence:** a playable PC prototype with recorded multiplayer checks, profiling observations, remaining defects, and known limitations. Set concrete performance budgets from the chosen target hardware rather than inventing them now. ### 5. Expand Toward a Four-Stage Run — Pending - Build three additional stages with distinct atmosphere, encounters, and bosses using the proven systems. - Expand weapons, abilities, enemies, and bonus synergies only where they add meaningful choices. - Evaluate level-generation options, additional platforms, and production art after foundation validation. **Completion evidence:** a complete replayable run with temporary-state reset, permanent unlock persistence, balanced encounter variety, and four-player validation. Revisit the 20-minute pacing target using playtest results. ## Art and Asset Pipeline The first enemy faction is the ivory/purple/amber Hollow Knights concept, with the upright **Ivory Wraith Cannon** selected for the ordinary ranged enemy and its elite variant. The crawling melee design and alternate crystal/biomechanical stage factions remain art directions for later work. The ranged Wraith uses imported idle/walk/run clips, arm-excluding head/body reactions, and host-cued procedural cannon aiming/recoil. Body/head damage volumes are authored separately from the mesh and skeleton. See [Ivory Wraith setup and validation](IVORY_WRAITH_SETUP.md); remote animation acceptance remains pending. Maintain low polygon counts, clear silhouettes, large readable shapes, stylised proportions, simple geometry/materials, flat colours or gradients, restrained texture detail, and a coherent palette. Distinguish stages through colour, lighting, silhouettes, and composition. Enemies, projectiles, hazards, pickups, and interactables must remain readable during crowded first-person combat. Avoid photorealistic PBR assets unless intentionally converted to the style. Search existing project assets and reputable libraries first when practical: Kenney, Unity Asset Store, Fab, Poly Haven, and suitable alternatives. Verify licences before recommending/importing. Record source, creator, licence, attribution requirements, and modifications. Do not purchase assets or begin paid generation without explicit authorisation. For generated 2D art, prefer ChatGPT Image Generation. For 3D, prefer Meshy, consider Tripo where appropriate, and clean up in Blender. Preserve editable sources and generation provenance where available. Before production use, inspect generated meshes for topology, polygon count, scale, pivot, normals, UVs, materials, hidden geometry, collision, LODs, rigging, and animation needs. Minimise geometry without damaging silhouettes; avoid unnecessary subdivisions and invisible detail. Prefer one material and shared palettes when practical. Use 1 Unity unit = 1 metre, apply Blender transforms before export, and choose FBX/GLB according to the supported import workflow. Use URP-compatible materials with simple colours, restrained roughness/specular variation, shared palettes, or vertex colours. Avoid oversized textures, unique 4K textures on small props, excessive material slots, and complex Shader Graphs without a clear benefit. ## UI and Performance Default to UI Toolkit unless another system has a specific benefit. Use clean shapes, simple icons, a limited palette, clear typography/hierarchy, and minimal noise. Never bake text into generated images. Support different resolutions/aspect ratios. Requested settings foundation: an expandable local menu for field of view and mouse sensitivity, accessible from menu and in-run UI, with persistence and correct ADS/camera-recreation behaviour. Settings must not globally pause co-op gameplay or leak gameplay input through open panels. See the combined plan for proposed ranges/defaults. The combat HUD should communicate health/defensive resources, weapons/ammunition, active ability availability/cooldowns, objectives/boss state, and relevant co-op information. Add elements only when they support decisions. Avoid unnecessary Update loops, allocations, runtime searches, material instances, high-poly meshes, excessive physics objects, unbounded spawning, and unnecessary network messages. Do not replicate safely derivable client data. Use bounded spawning and pooling where appropriate for enemies, projectiles, and effects. Optimise using measurements from representative four-player horde combat. ## Development and Validation Workflow Development documentation: the user selected a development-reference wiki, authorized implementation without game-source changes or game/Editor execution, then requested a Fandom-style design. The [local wiki](Wiki/index.md) now covers 91 catalogue entries and the game's systems, with dark icon/effect/scaling tables for cores and abilities, individual infoboxes, search, source links and refreshable static snapshots. See the [plan and adaptation](superpowers/plans/2026-10-10-development-wiki.md), [wiki tooling guide](../Tools/Wiki/README.md) and [documentation validation](Wiki/development/wiki-validation.md). The Editor exporter and public hosting remain outside this implementation; game acceptance status is unchanged. Before significant work, inspect architecture and related systems, write a short plan, change the minimum necessary files, preserve conventions, run relevant tests/build checks, and review for regressions. Do not silently change major architecture or perform unrelated refactors. Prefer Unity CLI and connected Unity MCP tools for Editor inspection/operations. Before Editor changes, verify installed tools/connections, active project, Editor version, play-mode state, relevant skills, and tool documentation. Use supported Editor operations for scenes, GameObjects, components, prefabs, asset settings, scripts, tests, builds, and console inspection. Use normal file editing for C#, UXML, USS, documentation, and configuration. Preserve GUIDs, references, and `.meta` files; avoid fragile serialized asset edits. Verify through the Editor and relevant console output. A successful tool call or compilation does not prove gameplay. If tooling is unavailable, report the limitation, continue independent work, and provide concrete setup/manual validation steps. Separate automated checks, Editor checks, and actual gameplay validation in reports. Explain why new third-party packages are needed, whether existing Unity systems suffice, and maintenance/compatibility/licensing implications. Pin versions and do not upgrade silently. Research current Unity/networking APIs, packages, assets/licences, tools, and platform requirements using official/primary sources. Distinguish verified facts from assumptions and recommendations. ## Agent Roles and Model Policy Act as lead developer, technical architect, game-design assistant, art-direction assistant, and asset-pipeline assistant. Use concise plain-language updates; make sensible decisions from context and ask about choices that materially affect scope, gameplay, cost, or architecture. - Preferred primary agent: `gpt-6.1-sol`, high reasoning; owns architecture, integration, major debugging, coordination, and final review. - Complex/uncertain subagent tasks: `gpt-6.1-sol`, medium reasoning. This supersedes the earlier `gpt-6-sol` default. - Simple isolated tasks: `gpt-6-luna`, high reasoning. Few changed lines do not guarantee low complexity. - Set both model and reasoning explicitly. Report unavailable requested models and proposed fallbacks before substituting. - Delegate independent work only when the benefit justifies coordination; handle trivial work directly. - Give narrow objectives, context, constraints, acceptance criteria, file ownership, validation, and concise reporting requirements. Avoid concurrent edits to the same files without coordination. Review all work and validate integration. ## Open Decisions Final title; production hosting/service scale and budgets; eventual movement prediction/authority refinement; later stage death/re-entry rules; enemy designs; target hardware/performance budgets; save storage/schema; production asset selection; final level-generation approach; additional platforms. Foundation versions, stack, player hosting, pre-run joining, host loss, initial weapon/ability choices, and prototype teammate revives are recorded decisions. Resolve remaining choices only when needed and record the rationale. ## Keeping This Plan Useful Across Chats Future agents must read this file before substantial work and update it when requirements, decisions, milestone status, or validation evidence change. Keep user requirements distinct from proposals. Mark completion only with evidence; include date, checks performed, limitations, and the next concrete step. Add dated decision entries below rather than silently rewriting the rationale. This file persists in the repository; it is not automatic memory in chats that cannot access this checkout. In a separate checkout, commit/sync the documentation first or explicitly provide the file. ### Decision and Progress Log - **10 October 2026 — development wiki implemented and redesigned:** user authorized maximum documentation work with game source/assets/configuration read-only and no game/Unity execution, then supplied a Fandom item-table reference. Added repository Markdown, static Python collection, safe YAML/GUID/fileID reconciliation, hashed freshness and transactional output rollback, pinned standalone MkDocs tooling, 91 entry pages, system guides and source/evidence links. The Fandom-style dark shell includes original source-derived SVG icons, core rank-scaling tables, ability resource tables, filters/sorting and infoboxes. Independent technical/gameplay/design perspectives reviewed source and rendered evidence; material findings were fixed with focused regressions. Documentation-only suite **30/30** passes; strict static build and all built link/anchor/asset targets across **122 HTML pages** pass. Browser filtering, sorting, empty/reset states, global typed search, entry links, mobile rows and drawer navigation were inspected. Existing gameplay edits were preserved; no Unity/C#, game tests/builds, players or online services were run. Public deployment, runtime-resolved tuning and new gameplay evidence remain outside scope. See [wiki validation](Wiki/development/wiki-validation.md). - **10 October 2026 — development wiki planning:** user requested a wiki-like docs reference for all game information and confirmed a development audience. Inspected the existing brief, catalogue/loadout declarations, roster/sequence assets, report generator and enemy proposals. Saved the [wiki implementation plan](superpowers/plans/2026-10-10-development-wiki.md), covering information architecture, entry templates, source precedence, a proposed local MkDocs site, refreshable tuning snapshots, implementation order and acceptance checks. Planning only; no gameplay, assets, dependencies, Editor tests/builds or hosting changed. Next documentation step: review the proposal, then reconcile the inventory and create representative wiki pages. - **8 October 2026 — asset, AI-source and tracking follow-ups:** User requires normal ranged projectile tracking throughout travel; replaced the short tracking window with full-flight steering, finite lifetime/collision/target-loss rules, client correction coverage and 128-slot traffic tests. Researched Bungie's Destiny 2 Scene Editor talk, Nexon's pursuit/cover developer note, and official Risk of Rain 2 director-cost/pathfinding/telegraph notes. User explicitly prioritizes these three games; earlier references now fill identified gaps only, and a God of War-style permit layer is conditional on measured need. Documentation-only revision; no runtime/asset changes or new gameplay validation. - **7 October 2026 — attack-enhancement plan revision:** user confirmed a standalone generic enhancement definition in the plan, with current shot modifiers and an empty on-hit extension. Replaced the prior embedded gun-trigger tuning proposal with referenced Focus/Rail enhancement assets, immutable runtime snapshots and tests for empty/no-op on-hit lists, limit semantics, source removal, per-player state and configuration/UI agreement. Existing core on-hit/kill effects remain in their current service. No C# classes, Unity assets or gameplay effects were created in this documentation task. - **7 October 2026 — definition-reuse plan revision:** after a read-only duplication audit, user explicitly requested ability tuning, core conditions and buff identity in the combat plan, and an explanation of Focus/Rail configuration. Added two prerequisite implementation slices with exact parameter/condition agreement tests and a typed grant-to-display source registry within Slice 6. Reuse existing definitions first; preserve current unrelated tuning, ranks, proc gates, overlap and ultimate provenance. Focus/Rail's common mechanism retains distinct owning ability settings and per-player remaining-trigger/expiry state. No gameplay code/assets or tests/builds changed/run in this plan revision. - **7 October 2026 — shared profile plan revision:** user specified elite slow/root/stun reductions 30%, push/pull reduction 50%, incoming damage reduction 10%; boss slow reduction 80%, root/stun/push/pull immunity and incoming damage reduction 20%; normal defaults neutral. User also requested existing elite health/damage multipliers in the shared definition; verified **3× health / 1.5× outgoing damage** in all five current authored enemy definitions. Updated the plan's target-side profile/migration contracts, Nova/Repulse/Gravity Snare/Collapse outcomes, damage display and exact tests. Shared immutable configuration and per-enemy runtime timers remain separate; boss profile takes precedence over elite. The new matrix supersedes prior draft tier caps. Documentation only; implementation and acceptance remain pending. - **7 October 2026 — planning only:** user requested the combat/ability/enemy/HUD/description batch recorded in the [combat readability plan](superpowers/plans/2026-10-07-combat-readability-and-enemy-tuning.md). Confirmed three shared body weak spots per scanned enemy, double the headshot bonus (2× base under the new 1.5× standard), temporary/conditional-only buff icons, doubled pushback, 1 s Nova stun and 0.12 s ranged burst spacing. Inspected current damage clamping, ability/status paths, enemy memory/attacks, authored tuning and menu/HUD icon/copy sources. Seven implementation slices and focused proof/review gates are documented. No gameplay implementation, Unity authoring, builds, tests or subagent reviews occurred in this planning task. - **7 October 2026 — feedback/build/menu expansion plan:** inspected damage overlay/settings, host-validated jump requests, the 25-core catalogue, shared non-linear stacking, reward locking, ability contracts, and session entry points. Researched the requested Risk of Rain item reference plus official Bungie, Warframe, Ubisoft, and Unity sources; recorded source-access limits. Saved the [design and phased implementation plan](superpowers/plans/2026-10-07-feedback-cores-builds-menu.md), including function boundaries, host authority, category eligibility/idempotence, status resistance, original content candidates, initial balance calculations, menu lifecycle, and future three-perspective subagent checks. Confirmed category-to-random-core behavior; other specific designs and values await review. The reported second-monitor issue remains unreproduced. Documentation only; existing validation evidence is unchanged. - **6 October 2026 — new combat/HUD plan (planning only):** inspected current run/reward/pickup rules, player defenses, reload state, ability slots, enemy definitions/projectiles and UI Toolkit HUD. User confirmed three normal actives plus an ultimate with separate melee, and all-player portal entry before buff selection. Recorded requested features, source findings, reusable-method opportunities, proposed tuning/ability options, phased implementation and validation in the [combat flow, vitals, abilities and HUD plan](superpowers/plans/2026-10-06-combat-flow-vitals-abilities-hud.md). New flow supersedes the earlier choices-before-portal design when implemented. The intermittent pickup report remains unreproduced; collection-phase coverage and spatial/movement checks are investigation targets. No gameplay, authored assets, packages or scenes changed; no new Unity test/build evidence. Next: review this plan and its proposed balance/loot/recovery defaults before implementation. - **5 October 2026:** recorded the supplied game brief and proposed milestone sequence. No networking stack selected or Unity gameplay implemented. Next: tooling/setup inspection and networking comparison. - **5 October 2026:** planning inspection found an existing Unity template project and the versions recorded above; corrected the earlier no-project status. Added the initial prototype sequence with multiplayer, combat, complete-stage, and acceptance checkpoints. No Editor, gameplay, tests, or builds were executed during this documentation task; all development milestones remain pending. - **5 October 2026:** user authorized initial prototype steps 1–3, selected player hosting with join codes and no paid spending, and accepted four players, pre-run joining, and menu recovery on host loss. Verified the connected Editor and existing packages; initialized local Git/LFS; built baseline and arena Windows players; created the arena/player/session UI through Editor APIs. Focused suite passes 17 tests after expected red runs and lifecycle recovery fixes. Private cloud hosting and local multi-process connections were exercised; external-network/human gameplay acceptance remains pending. Details and remaining checks are in `Docs/PROTOTYPE_VALIDATION.md`. - **5 October 2026:** user reported joining/leaving works but subsequent hosting can fail. Reproduced terminal cleanup after normal remote-host deletion (`SessionNotFound`); fixed application cleanup to retire absent games/membership while retaining genuine retryable failures, and adopted SDK default per-connection keys to avoid stale registration collisions. Regression suite passes **24 tests**; rebuilt-player suite passes **32 phases**, including repeated recovery and another player joining the recovered host. Windows rebuild succeeded with zero errors and two known warnings. Original networking/version/hosting policies remain unchanged; user scene/material edits preserved. - **5 October 2026:** user confirmed recovery and multiple-network operation, then authorized steps 4–7 with teammate revives and expandable weapon/ability bases. Added two weapons, nine representative ability choices, five-slot builds, shared targets/hazard, health/downing/revive/reset, audiovisual feedback, and combat/build UI. Combined suite passes **91 tests**; built-player combat passes **14 phases**. Delayed Editor/built-player shot agreement and normal-host-deletion recovery passed. A repeated service stress suite encountered `RateLimitExceeded`; it is recorded separately from the passing slower recovery check. Corrected HP fill clipping and centered revive text. Latest build succeeds with zero errors and 512 retained template/build warnings. Human feel and external combat acceptance remain pending; later stage features were not started. - **5 October 2026:** reproduced user-reported host strafing shots missing while the camera/tracer ray crossed a target. Replaced stale sampled action origins with current server-observed positions validated against the existing movement anchor, preserving travel budgets and teleport handling. Moving-shot regression **9/9 passed** after observed red failures; existing rules **91/91 passed**; rebuilt two/four-player combat **14 phases passed**. Latest build succeeds with zero errors and 513 warnings. Added an Editor regression menu. Remote movement/aim timing still lacks full prediction/rewind; user strafing/feel retest remains valuable. - **5 October 2026:** user requested periodic host validation run at the existing 30 Hz network tick. Added server-only tick subscriptions with despawn/destruction cleanup, preserving immediate action checks, warp grace and frame-driven local movement. Actual-tick fixture **29/29 matched** across 30 ticks after expected red failure; rules **91/91**, moving-shot checks **9/9**, rebuilt co-op **14 phases** passed. Windows build zero errors/two known warnings. A failed stability test and concurrent-write fixture exposed incomplete diagnostic report reads; bounded retries apply only to invalid/null reports, and real state assertions remain intact. Original movement tolerance is unchanged; no stronger anti-cheat or prediction claim. - **5 October 2026:** user requested ability-picker/passive/stat changes, directional dodge, confirmed damage/headshot feedback and distinct sounds, plus random melee/ranged enemy spawning, elites and configurable boss effects. Confirmed six passive choices/two equipped, active-triggered gun-only 20% bonus for five seconds, and Start Run spawning capped at 16 with elites and a boss after kills. Prepared the linked design for user review, preserving the supplied sketch. Existing UI Toolkit and AI Navigation 2.0.14 are installed; the inspected scene contains no navigation components yet. No gameplay implementation or completion evidence for this expansion exists yet. - **6 October 2026:** connected `Assets/ToMove/Idle.fbx` to the Ivory Wraith Cannon model and its existing PrototypeArena instance. Created a looping `Animations/IvoryWraith_Idle.anim` copy with the model's `Armature/` binding prefix, an idle-default `IvoryWraith.controller`, and an `Ivory Wraith Cannon.prefab` variant beside the source FBX. Original FBXs preserved; Animator root motion disabled; scene saved. Isolated Editor controller playback verified all 95 curve bindings, 16 moving transforms, 2.38 loop cycles, stationary object root, and finite skinned vertices. Actual gameplay/visual acceptance remains pending. - **6 October 2026:** integrated the Ivory Wraith model into the existing ranged network prefab, including elites. Added speed-driven idle/walk/run, arm-excluding head/body reactions from accepted server damage, procedural cannon aim/recoil driven by existing attack cues, and separately editable Body/Head hitboxes outside Visuals. Preserved source FBXs, prefab registration, existing AI/damage rules and melee/boss presentation. Linked the extracted textured material and made setup repeatable without resetting hitbox tuning. EditMode 143/143 and local Editor host spawn/navigation, damage reactions, collider rays, elite scaling and aim checks passed; no runtime console errors. See `Docs/IVORY_WRAITH_SETUP.md`. Remote-client/latency and rebuilt-player checks remain pending. - **6 October 2026:** combined encounter polish with random tiered run-upgrade choices, a proposed 25-upgrade catalogue (stacking bleed, bounded on-hit effects, stats and charges), weapon-role/balance proposals, stage travel/scaling, finalized team-wipe results and local FOV/sensitivity settings. Recorded co-op reward ownership, effect provenance, down/revive versus final defeat, stage snapshots and validation checkpoints in `Docs/ENCOUNTER_POLISH_PLAN.md`. Planning only: no gameplay implementation or new test/build evidence for this combined batch. - **6 October 2026:** user authorized the full encounter polish plan and requested three subagent opinions in place of questions. Implemented crawler/head bars/impact feedback, elite palettes/dissolve, courtyard and second layout, moving ranged bolts/perception/flanking, five primary weapons, all 25 run upgrades/charges, synchronized stage travel/recovery/scaling, cached defeat results/tuning telemetry, and local settings. Preserved all package/editor pins and existing Wraith/manual content. EditMode **196/196**, matching simulated-delay two/four-player full runs **13 phases**, genuine host/client weapon hits **3 phases**, final Windows build zero errors/eight warnings. Fixed stale SDK roster via bounded supported snapshot refresh and recycled NPC ID dedupe; initial failure evidence retained. See `Docs/ENCOUNTER_POLISH_VALIDATION.md`. Human balance/feel, separate-network acceptance and representative hardware profiling remain; permanent unlock progression is outside this batch. - **6 October 2026:** user refined enemy readability using a supplied Warden screenshot. Replaced the oversized inherited-scale charge sphere with localized emissive gun-surface glow at the animated muzzle and a small light; legacy generated orbs removed through scoped prefab APIs. Enemy bars now center a white outlined name above a red health fill, dark backing and thin light border. Grey recent-health-loss overlay includes damage from any peer through replicated health changes; each hit expires independently. Configure **Session Interface > Prototype Combat Hud > Enemy Health Bars > Enemy Damage Trail Seconds** (default0.5, range0–5, zero disables; live changes supported). Existing aim/recent-hit/cover/death visibility policy and pools preserved. EditMode198/198 passed; Editor muzzle/bar/health-expiry visual checks passed with no console errors. Updated Windows build pending below. - Readability revision Windows player rebuilt successfully; latest exact build summary is in Builds/Prototype/build-result.txt. Grey-trail duration remains0.5s by default and adjustable on Session Interface. Source/prefab changes preserve scene layout and hitbox tuning. - **6 October 2026:** user requested active spawn exploration and ranged enemies facing their player target while moving/shooting. Added an explicit Explore state and a one-time frozen hint toward the nearest reachable living player's accepted spawn-time location; hint lasts20s by default, separately tunable from8s perception memory. Hint never grants sight or firing permission. Without evidence, ranged search follows its route; with evidence, server-controlled body yaw faces the known target, retaining the attack target through windup. Firing rechecks facing at windup and launch. This supersedes the earlier travel-facing lower-body preference. EditMode **201/201** passed; local-host checks show unseen melee/ranged moving immediately toward the frozen hint, sight acquisition, sideways movement with target-facing and blocked backward windup. Windows build succeeded with zero errors/519 retained warnings. No scene edits, navigation rebakes, package changes or network authority changes. Remote-client AI feel remains unverified for this revision. - **6 October 2026:** user replaced bank/defer/reopen upgrade choices with an automatic mandatory stage-end select → Next sequence, requested ground cores disappear upon pickup and physical portal travel. Three independent opinions selected one living entrant transporting the team after all participants finish. Added preview/confirmation and atomic next-offer acknowledgments, exhausted-offer Next, explicit JSON offer presence (null nested offers became invalid empty objects), removal-before-notification pickup cleanup and player-child collider filtering. Removed ready/defer travel authority; server accepted positions and fresh activated-portal entry start synchronized travel. Checkpoint walking is allowed while combat stays blocked. EditMode **207/207**, real rendered Editor selection/double-click/final-close and pickup checks, matching delayed two/four-player **15 phases**, and Windows build zero errors/nine retained warnings passed. Already-inside portal checks require exit/reentry in Editor and rebuilt peers. Two fixture-only acceptance failures were preserved before correcting numeric/empty-inventory comparisons. See `Docs/ENCOUNTER_POLISH_VALIDATION.md`. Authored scenes/navmeshes, packages and shared reward ownership preserved; human portal/choice feel remains pending. - **6 October 2026:** user requested intermittent ranged standing within engagement range, high/low pressure periods,40 wave kills and survivors retained when the boss arrives. Three focused opinions informed timed per-enemy holds and a repeating20s build/25s pressure/15s recovery cycle (default intervals2/0.9/4s, caps10/16/5). Holds retain facing/fire, reserve occupied ground and release on target/sight/range changes; timing is authored on enemy definitions. Director pacing/goal/caps are authored and replicated; lowering caps pauses replenishment without removing actors or accumulating spawn backlog. Boss transition precedes normal spawning, retains adds and reserves one slot up to17 total, including when a live wave maximum is lowered. Boss defeat clears living adds at the checkpoint without kill/loot credit and preserves boss dissolve. EditMode **213/213**, live ranged/stationary-fire/close-interruption, compressed pressure and16-add-plus-boss retention/cleanup checks, matching delayed two/four-player **15 phases** (82 unique kills per run), and Windows build zero errors/520 retained warnings passed. Scene/nav/package pins preserved; human stress/animation feel and capped four-player profiling remain pending. See `Docs/ENCOUNTER_POLISH_VALIDATION.md` and the encounter-pressure implementation plan. - **6 October 2026:** user requested lower spawn rates across all phases in early stages. Added editable per-stage interval multipliers2/1.6/1.3 for stages1/2/3; stage4 onward defaults1. Captured stage index drives all pressure sampling, population admission and replicated interval reporting; the initial spawn delay is scaled too. Rates are50%/37.5%/23.1% lower respectively. Beat durations, caps,40-kill goal and boss admission/retry timing are preserved. EditMode **215/215** passed after two expected red regressions; live stage1–4 controller snapshots/deadlines matched all expected intervals; Windows build succeeded with zero errors/520 retained warnings. No scene, prefab, navigation or package changes. Full network acceptance was not repeated for this bounded rate-only revision; human pacing retuning remains pending. - **6 October 2026:** user requested much more stationary ranged shooting and no enemy-driven approach inside6 units, including cover search, while players may approach inside6. Immediate4–7s firing holds and0.4–0.9s movement are authored on both ranged definitions through Editor APIs. Holding uses actual muzzle clearance, has no minimum engagement distance and clears queued paths. Ranged sampled destinations/complete paths are vetted, direct-target fallback removed, frozen-hint exploration uses the same safe ring routes, and server NavMesh nextPosition is checked against every living player's accepted horizontal position before updating the transform. Actual hidden positions only veto movement; memory/aim/target intent remains perception-based. Inside6 after player approach, enemy motion cannot reduce current separation and neither actor is pushed out. Ranged spawn separation includes1-unit buffer; melee spawning preserved. EditMode **220/220**, live83% stationary time/firing,2-unit player approach, overshoot clamped6.005, and cover reacquisition with minimum11.24 passed; matching delayed two/four-player **15 phases** and Windows build zero errors/520 retained warnings passed. Source reviews passed. No scene/nav/package changes; remote visual/feel and inaccessible-safe-route fallback remain manual acceptance items. - **9 October admission slice validated:** final same-build two/four arena runs passed all seven scenarios, two reset repetitions, deliberately expected failure, real client refusal, disconnect/host loss and rehost combat, with zero cleanup failures. Each dynamic phase recorded eight admissions/124 assertions (43.6/47.2 s) under the original90 s limit. Shared non-default controller epochs remove the initial join race; distance-refusal counters preserve evidence without falsifying the latest mesh reason. Current full rules914/914 include44 unintegrated next-slice pure warp cases; admission/established rules870 cases and PlayMode18/18 pass. Evidence in Docs/DEBUG_TEST_ARENA.md. Normal menu/full-stage warp repair is still in progress; no Advance/grace/tracer/new roster claim.