Archive Record
Devlog
- Shifted generated ocean water from teal into deep cobalt and navy.
Cycle 002 — Water palette separation
- Shifted generated ocean water from teal into deep cobalt and navy.
- Matched river and foundation water to the same palette.
- Increased water opacity and blue depth contrast for clearer coastlines.
- Verified all three changed materials with lightweight syntax builds.
- Final saturation still needs an in-game visual check.
- Adjust brightness only if the new water reads too dark or too vivid at gameplay camera distance.
Cycle 002 — Full crafting affix pool
- Added characteristics 38-100 from the crafting design sheet to conveyor rolls.
- Stored stable effect keys and equipment tags for future runtime wiring.
- Marked 63 special effects as deferred so they persist without producing incorrect generic stat bonuses.
- Confirmed the pool contains exactly 100 document entries.
- Verified client and server files with lightweight syntax builds.
- Deferred weapon, armor and skill-specific effects are visible and saved but intentionally have no mechanical effect yet.
- Bind deferred effect keys when their matching weapon, armor and skill runtimes are implemented.
Cycle 002 — Crafting affix catalog
- Replaced conveyor placeholder mods with all 37 calculator-backed characteristics from the crafting design sheet.
- Split characteristics between calibration, offense and defense shards.
- Added explicit stat payloads so Russian labels do not rely on text parsing.
- Preserved and validated explicit stat payloads during authoritative server saving.
- Fixed persisted affix totals being applied a second time from the raw affix list.
- Verified both changed files with lightweight syntax builds.
- Special equipment and weapon modifiers 38-98 remain disabled because the design sheet marks them as not added to the calculator.
- Playtest affix rolls, item-tier gating and equipped stat totals.
Cycle 002 — Road junction support resolution
- Traced the blocked platform to terrain-only footprint probes disagreeing with road support.
- Replaced highest-road selection with continuity-based support selection across terrain and overlapping roads.
- Made side probes use the same support stack as the actor.
- Matched client road grounding to the nearest reachable road deck.
- Verified both changed files with lightweight syntax builds.
- The full repository typecheck remains red from existing unrelated type errors.
- Walk and drive through a platform with two attached roads, then test stacked crossings and road-edge drops.
Cycle 002 — Persistence unification
- Audited character, progression, inventory, item-instance, vehicle, cargo, building and city save paths.
- Replaced three racing client progression writers with one server-hydrated persistence controller.
- Added a load barrier before player join and serialized concurrent character writes.
- Repaired repository-root detection from nested server working directories.
- Merged duplicate building saves into the canonical file and retained backups.
- Added world-signature resets for construction and city ownership only.
- Added
pnpm persistence:audit; canonical path, signatures and required files pass. - Verified server and client persistence bundles with lightweight Windows checks.
- The first patched client launch still needs to migrate any surviving browser-local progression into the server character save.
- Restart client and server, change level/passives/professions, reconnect and regenerate a test world to confirm both persistence boundaries.
Cycle 002 — Road edge and vertical crossing
- Separated road-edge descent from ordinary terrain-wall traversal.
- Exposed all road slabs at an XZ position for deterministic vertical checks.
- Added previous-to-next-frame jetpack underside crossing detection.
- Rebased road grounding on absolute jetpack feet height instead of server ground height.
- Verified all four touched modules with lightweight bundle checks.
- Runtime edge drops, underside impacts and stacked-road flight still need playtest confirmation.
- Test walking off both sides, rising beneath a bridge and landing after flying above it.
Cycle 002 — Overlapping road collision
- Removed competing closed-volume blockers from overlapping player-built roads.
- Kept road deck selection based on actor feet and clearance.
- Preserved terrain collision as a separate navigation system.
- Verified the server world room with a lightweight bundle check.
- Runtime transitions across dense multi-road intersections still need playtest confirmation.
- Test two crossed bridges, two vertically stacked bridges and a road-to-terrain exit.
Cycle 002 — Split road and terrain collision height
- Traced inaccessible terrain regions to a shared height input changed by the road underpass patch.
- Split physical road-body clearance from terrain movement height.
- Restored the pre-road-patch terrain wall rules without removing finite road slabs.
- Verified the server world room with a lightweight bundle check.
- Runtime traversal across the reported region still needs confirmation after server restart.
- Confirm normal terrain access, new-road support and old-road underpasses together.
Cycle 002 — Road collision context hotfix
- Made terrain footprint probes direction-independent when stepping down from an upper surface.
- Evaluated every overlapping road slab against actor feet and head height.
- Matched client grounding and server collision math for inclined roads.
- Verified the client road probe and server world room with lightweight checks.
- Runtime behaviour of newly placed and persisted road combinations still needs playtest confirmation.
- Test leaving raised terrain, walking beneath old roads and standing on newly placed roads.
Cycle 002 — Road vertical collision and cursor recovery
- Replaced infinite XZ road support with top, underside and actor-height checks.
- Kept road support only for actors close enough to stand on the upper surface.
- Added player and cargo-truck underpass clearance.
- Built a deterministic road basis from forward, horizontal lateral and surface normal axes.
- Added event-driven custom cursor reloading after Electron focus loss.
- Verified all six touched modules with lightweight Windows checks.
- Runtime clearance thresholds and alt-tab recovery still need confirmation.
- Tune bridge underside clearance and road transitions from playtest feedback.
Cycle 002 — Construction window correction
- Corrected the target window after the crafting and construction panels were confused.
- Reserved RMB for camera rotation without closing construction.
- Added shared window stacking, dragging, Escape close and viewport bounds.
- Added a visible sticky drag header and Retention-style construction presentation.
- Verified the component, shared controller and CSS with lightweight Windows checks.
- Runtime confirmation of RMB rotation and Escape close is still required.
- Continue road placement and collision tuning after UI confirmation.
Cycle 002 — Crafting window RMB guard
- Guarded crafting close behind a real left-button press or marked stack close.
- Kept standard Escape close ordering intact.
- Added an explicit drag affordance and Retention-style crafting presentation.
- Verified the panel, stack and CSS with lightweight Windows checks.
- Runtime confirmation of the RMB-release fix is still required.
- Continue road geometry tuning after UI confirmation.
Cycle 002 — Road range and UI input
- Extended road placement for practical gap and elevation crossings.
- Kept authoritative terrain support on both road endpoints.
- Removed click-to-move so construction no longer competes with movement commands.
- Connected crafting to the shared draggable window stack and Escape close order.
- Added pointer capture, cancel and viewport clamping to shared window dragging.
- Verified the six touched modules with lightweight Windows checks.
- The expanded road slope and span still need runtime handling tests.
- The original crafting disappearance report needs confirmation after the shared-window fix.
- Tune road geometry and limits from the next playtest.
Cycle 002 — Road collision bridge
- Connected frontier road geometry to local player, jetpack and cargo-truck grounding.
- Prevented generated water state from activating while supported by a road.
- Verified all three changed client modules with lightweight Windows checks.
- Runtime bridge traversal still needs an Electron playtest.
- Test road entry, exit, side edges and suspended spans with player and truck.
Cycle 002 — Road palette hotfix
- Fixed the missing mouse-selectable road entry in Building Runtime.
- Verified the corrected panel module with the Windows esbuild binary.
- Road placement still needs its first Electron playtest.
- Test two-point placement, bridge driving and the 30-metre server limit.
Cycle 002 — Road construction foundation
- Reused the existing Building Runtime, frontier persistence and ownership structure.
- Added two-point road placement with a live valid or blocked preview.
- Made the final road slab shrink to the remaining distance instead of overlapping.
- Allowed road interiors to cross gaps while requiring both endpoints to rest on authoritative terrain.
- Blocked spans over 30 metres and excessive slopes to prevent simple skybridge abuse.
- Verified the client build and server syntax with bounded checks.
- Road placement and bridge driving still need an Electron playtest.
- Road resources, repair, demolition and city permissions are temporary or incomplete.
- Tune width, slope limits, speed bonus and concrete presentation from playtest feedback.
- Replace the nominal credit cost with construction resources.
Cycle 002 — City cargo delivery
- Added visible and interactive cargo exchange terminals to every generated city.
- Completed the authoritative hand-in flow for a carried BACK CARGO pack.
- Calculated distance directly from the pack source to the destination terminal.
- Connected the resulting reward to the existing wallet.
- Verified the client build and server syntax with bounded-memory checks.
- City-tier reward modifiers are not implemented.
- Runtime behaviour still needs an Electron playtest.
- Tune the reward curve after playtesting real route lengths.
- Continue the cargo loop with roads, city resources and crafting.
Cycle 002 — Cargo anti-abuse and smoothing
- Made loaded trucks non-recallable and persistent in world space.
- Added contextual E vehicle entry and F cargo transfer prompts.
- Preserved individual cargo-slot coordinates after vehicle destruction.
- Smoothed network vehicle movement on the client.
- Verified the client build and changed server syntax.
- Final handling feel still needs an Electron playtest.
- Tune acceleration, turning and collision from playtest feedback.
Cycle 002 — Cargo truck foundation
- Added authoritative vehicle ownership, persistence, movement and health.
- Connected the truck to targeting, mob AI and direct/AoE combat routing.
- Connected BACK CARGO to a ten-pack vehicle hold.
- Verified the client build and server syntax under bounded-memory checks.
- Runtime handling still needs an Electron playtest.
- Pack weight, fuel/jetpack resource interaction, vehicle status effects and the ship are not implemented.
- Tune truck handling and collision from playtest feedback.
Cycle 002 — First trade pack loop
- Connected cargo purchase to the existing authoritative wallet.
- Added back-slot state, carried visuals, ground visuals and shared pickup.
- Persisted dropped cargo for seven days.
- Verified the client build under a 2 GB heap cap and loaded the new server module under a 512 MB cap.
- Movement penalty, vehicles, loading and castle delivery are not implemented yet.
- The existing server-wide TypeScript build still has unrelated legacy errors.
- Add carried-pack movement penalty, then vehicle cargo loading.
Cycle 002 — Legacy forest cleanup
- Disabled rendering of the old forest population-anchor visual.
- Verified the client production build.
- No new known issue.
- Continue the cargo-pack gameplay loop.
Cycle 002 — Authoritative trade teleport path
- Replaced the unreliable debug bridge with the working command channel used by fast travel.
- Added direct coordinate travel on the authoritative player state.
- Verified the client production build.
- The existing server-wide TypeScript build still fails on unrelated legacy errors.
- Runtime-check trade-point arrival after restarting the server.
Cycle 002 — Trade point teleport repair
- Routed trade-point DEV teleports through the connected world room.
- Added fallback delivery paths and a visible request status.
- Verified the client production build.
- Final teleport position still needs an Electron runtime check.
- Continue the cargo-pack purchase and carrying loop after runtime confirmation.
Cycle 002 — Cargo fabricator foundation
- Added dynamic worldgen interactables for all trade points.
- Added terminal geometry and an eight-slot logistics UI.
- Pack purchase, carried-pack visuals, movement penalty and vehicle loading are not implemented yet.
- Define the first purchasable generic pack and authoritative carried-pack state.
Cycle 002 — Reliable map marker removal
- Moved treasure and trade controls into the shared filter row.
- Removed disabled treasure/trade markers from the render list itself.
- No known code blocker; final Electron interaction check remains with the user.
- Continue trade-point interaction gameplay after UI confirmation.
Cycle 002 — Map marker filter repair
- Separated treasure-spawn, trade-point and general-site marker classes.
- Restored compact window dimensions and stretched the canvas inside them.
- Removed LOD conflicts from player-controlled map visibility switches.
- Electron smoke test remains with the user because automated map rendering stalls the test browser.
- Confirm all marker switches and continue trade-point gameplay.
Cycle 002 — Map filters and space recovery
- Restored the original shared filter behavior.
- Isolated trade-point visibility into its own control.
- Removed redundant legend/readout panels and expanded the map.
- No known blocker; all filter buttons require live click verification.
- Smoke-test every map visibility control in the local client.
Cycle 002 — Trade point test access
- Made trade points independently visible on the map.
- Added direct DEV teleport buttons for every generated point.
- Fixed map Escape close-button selection.
- Pack types and purchase gameplay are intentionally not assigned yet.
- Visually inspect land mines and offshore platforms through DEV teleports.
Cycle 002 — Trade pack source points
- Added full seed-based placement for land and water trade-pack sources.
- Added offshore extractor runtime geometry and distinct map markers.
- Removed obsolete autonomous-caravan assumptions from generated mine data.
- Buying, carrying, vehicle loading and castle delivery are not implemented yet.
- Pack prices remain intentionally unset until balance work.
- Add player interaction and physical carried-pack state.
Cycle 002 — World map window integration
- Integrated the world map into the common draggable window stack.
- Removed the blocking dim backdrop.
- Shared focus and Escape ordering with other UI windows.
- No known blocker; Electron interaction still needs a live smoke test.
- Continue faction-region content and land/water mine variants.
Cycle 002 — Minimum land coverage
- Added a hard 50% minimum land rule to procedural world generation.
- Generator now measures the generated geography and adjusts coast expansion before collision baking.
- Coastline quality still needs visual review across extreme seeds.
- Continue faction-region content and land/water mine variants.
Cycle 002 — Procedural continent generation
- Replaced the recurring central land slab with seed-generated continent structures.
- Weighted generation toward two or three major continents with irregular coasts and satellite islands.
- Kept fractured worlds uncommon and supercontinents rare.
- Verified the control world contains two similarly sized primary landmasses separated by water.
- Exact coastline quality still needs visual review across more generated worlds.
- Continue faction-region content and generate land/water mine variants.
Cycle 002 — Full faction circle generation
- Faction circles are generated from seed instead of reusing fixed coordinates.
- Collision, visual terrain, server and public manifests share the same circle layout.
- The player map now exposes only gameplay-content filters.
- Final faction identities and camp prefabs are still placeholders.
- Generate land and water mine variants and add the trade-pack purchase flow.
Cycle 002 — Faction region foundation
- Repaired three diverging world manifest copies.
- Added variable dry world-edge sectors while preserving ocean-heavy seeds.
- Activated the five faction-circle runtime regions.
- Faction identities and final camp art remain placeholders.
- Faction circles do not yet stamp a uniform plateau into terrain.
- Add land and water mine variants, pack purchasing and castle delivery.
Cycle 002 — Hub grounding repair
- Mounted the central hub and its interactables at the generated terrain surface.
- Restored contextual interaction hints.
- Non-hub legacy world props may still need individual terrain grounding if they use absolute Y positions.
- Verify every interaction anchor outside the starting hub against generated terrain.
Cycle 002 — NPC-driven class assembly
- Connected the existing NPC dialogue and interaction systems to class assembly.
- Added a persistent three-branch selection window.
- Replaced the visible 2/3/7 tree placeholder with the current selected branches.
- Branch names and branch-granted active skills are still placeholders.
- Define active skill pools for branches 1–9 and embed their sockets into the passive matrix.
Cycle 002 — Cursor rebuild
- Replaced three overlapping cursor mechanisms with one CSS source.
- Added a lightweight focus-only recovery for Electron.
- Rebuilt the pointer artwork in the current visual language.
- Nothing known in this patch.
- Tune the cursor artwork only if the current shape needs another visual pass.
Cycle 002 — Visible mist and wall color
- Raised the terrain mist from near-invisible to a light visible layer.
- Recolored forced vertical terrain walls without touching detail geometry.
- Mist strength remains an art-direction test.
- Review the mist in motion and use the dedicated rollback if it is too strong.
Cycle 002 — Ground mist test
- Removed decorative atmosphere mass geometry while keeping thin color shafts.
- Added a reversible animated mist pass directly on upward terrain surfaces.
- Art direction is provisional and may be reverted if it reads as a flat color wash.
- Review mist strength and motion in Electron.
Cycle 002 — Fixed camera pitch
- Replaced variable pitch with a fixed 42-degree angle.
- Exact art-direction angle may need a small later adjustment.
- Continue playtesting horizontal camera rotation and relative movement.
Cycle 002 — Full camera orbit prototype
- Added yaw and pitch orientation state shared by camera and movement input.
- Rotated authoritative keyboard movement into camera space before server commands.
- Camera sensitivity and pitch limits remain provisional.
- Playtest movement feel, targeting interaction and vertical visibility.
Cycle 002 — RMB camera rotation fix
- Rebuilt the isometric camera rig with real RMB yaw rotation.
- Rotation feel still needs playtesting.
- Tune sensitivity or remove the prototype based on playtest.
Cycle 002 — Electron mode and RMB camera
- Repaired desktop mode buttons around the connected Electron bridge.
- Added RMB orbit yaw directly inside the authoritative camera rig.
- Camera rotation is an unbalanced prototype and may conflict with desired right-click targeting behavior.
- Playtest camera feel and tune or remove it.
Cycle 002 — Independent character windows
- Reworked the character UI store to track multiple open windows.
- Preserved legacy open and tab actions while adding explicit window operations.
- The character views still share selected-item state, which is intentional for now.
- Validate simultaneous character windows and Escape stack order in Electron.
Cycle 002 — Dynamic HUD and early settings
- Expanded HUD layout coverage to dynamic panels.
- Moved persisted window-mode loading ahead of Electron window creation.
- The first launch after this patch may still migrate the previous local-only mode after renderer startup.
- Split character tabs into independent windows.
Cycle 002 — Ordered UI window stack
- Added DOM-backed window focus and close ordering.
- Integrated the stack with both keyboard and Electron Escape handling.
- Windows without any close control still fall through to their existing store-based Escape handling.
- Validate mixed window opening and closing order in Electron.
Cycle 002 — Passive fullscreen drag fix
- Clear reused movable-window styles when the passive matrix opens.
- Nothing new found in this patch.
- Continue Electron UI validation.
Cycle 002 — UI drag and bridge rewrite
- Rebuilt HUD dragging around global pointer handling.
- Connected the existing preload IPC bridge to the desktop window.
- Runtime validation still requires a complete desktop process restart.
- Validate HUD dragging and Escape in the restarted desktop client.
Cycle 002 — UI runtime fixes
- Replaced static passive centering with viewport-relative centering.
- Added explicit HUD drag surfaces and desktop Escape IPC routing.
- Browser-native full-screen still follows browser Escape behavior.
- Validate the fixes in a restarted desktop client.
Cycle 002 — UI interaction fixes
- Repaired tree toolbar pointer handling and HUD panel movement.
- Added styled reset confirmation and persistent desktop full-screen behavior.
- Browser-native full-screen can still be exited by Escape; desktop mode uses kiosk.
- Validate HUD movement and Escape behavior in the running desktop client.
Cycle 002 — UI handoff pass
- Added full-screen passive presentation and search.
- Added persistent window dragging and an explicit HUD edit/save flow.
- Added local display and layout settings using a server-ready profile shape.
- Settings are local only; server profile sync is not implemented yet.
- Review every HUD anchor and window drag boundary in the running desktop client.
Cycle 002 — Passive stat visual language
- Classified the existing stat pool into seven readable visual families.
- Added reversible node styling without changing tree mechanics.
- Balance and final icon art are still placeholders.
- Review the visual density in the running client and keep or revert the layer.
Cycle 002 — Passive matrix line cleanup
- Equalized the base readability of all passive-tree links.
- Removed circular background guides and kept the grid.
- Nothing new found in this pass.
- Continue visual review of the passive matrix in the running client.
Cycle 002 — Passive matrix foundation
- Built a deterministic graph of roughly 400 passive nodes.
- Added three selectable origins from nine starts.
- Added class ultimate sockets and central technical ability sockets.
- Added connected allocation, safe refunds, reset, persistence and full stat aggregation.
- Balance and final class identities are not defined.
- Ultimate and technical sockets expose unlock IDs but their combat abilities are placeholders.
- Verify layout and interaction in the running game.
- Replace placeholder sockets after class kits are defined.
Cycle 002 — Passive matrix input hotfix
- Fixed the pan/pointer release crash.
- No new known blocker.
- Continue runtime inspection of the passive matrix.
Cycle 002 — Passive matrix layout expansion
- Filled the empty space between class sectors with connected bridge routes.
- Expanded zoom and improved node presentation.
- Final passive balance and class identities remain undefined.
- Inspect the expanded layout in the running game.
Cycle 002 — 800-node matrix and class origins
- Expanded and redistributed the graph without overlapping node clusters.
- Added ultimate micro-grids and the central technical routing mesh.
- Added one-of-three class origin selection with placeholder branches 2, 3 and 7.
- Class composition is still a placeholder.
- Ultimate and technical combat abilities are not implemented.
- Inspect spacing and origin selection in the running game.
Cycle 002 — Uniform matrix rebuild
- Replaced the radial cluster generator with a uniform hex-grid generator.
- Preserved class-origin, ultimate and technical-socket mechanics.
- Final balance and class skill implementations remain undefined.
- Inspect uniform density and route readability in the running game.
Cycle 002 — Reverse-balance layout sandbox
- Added a stable seeded-chaos generator for real-time passive-layout exploration.
- Kept all 800 nodes separated while removing obvious internal symmetry.
- Node values remain intentionally unbalanced.
- Final class kits are not defined.
- Use runtime inspection to identify promising clusters and routes.
Cycle 002 — Broken-network topology
- Split the passive graph into a traversable backbone and dead-end structures.
- Increased spacing without reducing the 800-node pool.
- Balance remains intentionally exploratory.
- Inspect the new route rhythm and dead-end frequency.