DRIFTLANDS co-op survival on drifting tides — studio progress

Quick Design Spec: Land Dock/Undock

Type: New Small System Scope: The lifecycle executor and content instantiator for docked lands: Addressables preload/activate/teardown on the tide's transition edges, deterministic seed→layout translation, and the KnownLandTemplates registry. Does NOT own: transition detection or selection (Tide — pure function), node/diff semantics (Harvesting), enemy behavior/values (Enemy AI), the era-gate formula (Crafting reads the registry). Date: 2026-08-27 Estimated Implementation: ~5 days (dock/undock round-trip spike-validated — prototypes/tide-scheduler-spike-2026-08-25/)

Overview

The tide decides what docks and when; this system makes it physically exist. On the scheduler's preload notice it asynchronously loads the land template; at φ it activates gameplay content — placing nodes, spawn points, and scatter deterministically from the docking's variationSeed; at φ+W, after the tide's soft-close sequence resolves, it tears down and unloads. It also keeps the group's historical ledger: KnownLandTemplates, the append-only set of every template that has ever docked — the fact crafting's era gate reads. **TD split-watch (systems-index high-risk note): the two concerns inside this system — Addressables lifecycle vs authority/registry — stay internally separated from day one.**

Core Rules

Tuning Knobs

Knob Default Range Category Rationale
PreloadLeadTime600 s300–1,800gateTide's knob — cited, not owned (tide Tuning Knobs); LDU consumes the notice
bagFillSecs (readout input)90 s45–180curveEstimated on-land harvest time per full bag; retained for authoring estimates, no longer feeds a gate (Rule 7, C3)
nodeVisitSecs (readout input)20 s10–40curveWalk-to + three swings per node at 6 u/s, feeds Rule 7's stripTimeEstimate readout only; refine from playtest telemetry
EvictionGrace20 s10–60gateTide's knob — cited, not owned (tide Rule 9 / Edge Case 11): the drift-out window after φ+W during which the land is visible, non-interactable, violet-held, and the AFK force-relocation fires at expiry; LDU despawns and unloads at its expiry. (Replaces the separate teardownGraceMs 500 ms this spec briefly owned — retired 2026-08-27, cross-GDD W1: two windows for one transition.)

LDU-owned values live in assets/data/land-dock.json; traversalProfile lives per-template in the template's own data.

Acceptance Criteria

Systems Index

Already tracked as MVP system #8 (Core, quick-spec, "Round-trip validated (spike)"). On approval: status → Designed (quick-spec) — crafting's LDU ⚑ rows reconcile, harvesting OQ8's LDU half and BB OQ2 get their owner, and the tide's Interactions row stands as written.

Forward refs owned elsewhere: Addressables group layout + label scheme, lifecycle edges, LandNet, per-template MB budget (64 MB) → ADR-0005 (2026-08-28); registry replication to clients → netcode ADR; template asset MB budget → asset pass; guard-variation delivery → Enemy AI quick-spec (its half of harvesting OQ8); Tier 1 multi-socket layout + socketNoBuildRadius re-check → Tier 1 pass (named here, BB OQ2).