PER AEVUM · Internal
Community Handoff
A status summary of live Field Station and admin systems, for the Community Manager role.
Sign in to continue.
This page is for the Community Manager role.
Accounts & Progression
Clients sign in with Discord once and their Embers, Field Rank, streaks, and Field Journal follow them to any device. Anyone who played as a guest first has their progress carried over automatically the first time they sign in. Every client has an Account page showing balance, rank progress, streak, and Field Journal completion, and can now rename themselves from there at any time.
Games of Chance — Ember Roll, Ashfall, Blackjack, Fossil Reels
All four run on shared rounds that start on their own — clients place a bet before the timer runs out, rather than each person triggering their own private spin. Ember Roll and Blackjack show everyone's current bets for the round in progress. Every outcome is generated and locked in on our servers before a client ever sees it. Embers won or lost here carry no monetary value and can't be purchased, traded, or redeemed.
Field Station Activities
Dig Site is a repeatable wagered excavation — choose a wager and how many cave-ins are hidden, then clear sediment blocks and bank anytime. Specimen ID, Migration Trail, and Sizing Up are once-a-day skill challenges; Sizing Up now escalates in difficulty as a streak grows. Specimen Crates work toward a 148-card species archive and can now also land on Ember prizes, with larger amounts considerably rarer.
Community & Social
Global Chat is toggleable from any page. Staff carry a role tag next to their name, and clients with notable achievements get a small icon next to theirs. Clicking any name opens that person's public profile — Field Rank, best streak, Journal progress, and earned achievements. A Friends and Ignore panel is also available, toggleable the same way as chat. Chat now blocks profanity and links automatically — a rejected message also flags the account for review, so repeat attempts surface in Manage Players. A standing in-world identity, The Taphonomist, answers /rules and /faq directly in chat with canned, server-controlled responses.
Admin Panel
A full, scrollable roster of every registered client sits alongside the search box in Manage Players — useful since search can miss names typed in stylized characters. Selecting a client shows their balance, lifetime Embers, streak, and Journal progress, with tools to adjust Embers (with a reason logged), rename the client, and flag or clear their account standing. Global Chat is moderatable from the panel, admins can post pinned announcements, and admin access itself now has two tiers: Full Admin and a lighter Moderator tier (chat moderation and account flagging only).
Recent Additions
- The direct store page now shows the full 42-species playable roster — the built/playable ones as normal cards, the rest as "in excavation" fossil cards. Each fossil card has an "email me when it's ready" field, and the "checkout opens soon" signup now writes to our backend (
store_notify) instead of a form that went nowhere. Signups double as a demand signal for which species to build next; staff can read the list via theadmin_list_store_notifyRPC. - Privacy Policy and Terms of Service are now in a "Legal" menu in the site header on every page, and both were updated to cover chat storage/moderation, presence, friends, and public leaderboards.
- Patreon connect is now fully live — clients can link their Patreon account from Account, and patron ranks (including the Discord Server Booster tag) assign automatically on subscription rather than needing a manual grant.
- Global Chat now automatically blocks profanity and links, flagging repeat offenders for review, and hosts The Taphonomist — an in-world identity that answers
/rulesand/faqin chat. - Friends search now correctly finds clients using stylized Unicode display names (e.g. bold/italic character sets), not just plain text.
- Fixed a bug where the site's navigation menu and buttons rendered transparent/overlapping on mobile Safari.
- Fixed an Ashfall bug where a round could get permanently stuck showing "INFINITY×" if it went unpolled for an extended stretch — the live multiplier is now capped so this can't recur, and the previously-stuck round was force-resolved.
- Ashfall and Ember Roll's auto-start cadence was lengthened (8s betting / 4s result → 12s betting / 6s result) to give players more breathing room between rounds, matching Blackjack's existing pace.
- Clients can rename themselves from the Account page at any time.
- Admins can rename any client directly from Manage Players.
- A client rank/badge system — staff titles, patron tiers, and community tags (Carnivore/Herbivore, PVP/PVE, region flags, and more), each with its own icon and color, assignable to any client from Manage Players.
- Profile picture uploads, replacing the initials-and-color circle in chat and on profile cards.
- Fossil Reels' matched-pair payout was reduced — it was the most generous game on the site by a wide margin; matched trios are now the only real win.
In Progress
The store roster and notify features need database migration 0036_store_roster_notify.sql run in the Supabase SQL editor before they light up (the page degrades gracefully until then). The Discord Server Booster sync's server-side code reads boost status but still needs a manual redeploy of the sync-discord-rewards function. Everything else on this page is already live.
Launcher, Accounts & Community Tools · Internal
Launcher v0.1.9, Link Game Account Retired, Amber Giveaways
Coverage: September 20, 2026. Three unrelated pieces of work landed together — read the section headers, skip what doesn't apply to your role.
Launcher v0.1.9
A top-bar "Check for Updates" button now exists alongside the automatic background check — useful for confirming a fix landed without waiting for the next auto-check cycle. New installs now go to %LOCALAPPDATA%\PERAEVUM\Ashborn instead of the launcher's Roaming userData folder — large per-machine data has no business in a profile-syncing location, and this matches our other tools' convention. No migration was written for this, on purpose: game.available is still false in launcher_manifest.json, so nothing has ever actually installed through Library yet — there's nothing to migrate. The placeholder "Road to Launch" tab (and its whole ashborn_stats.json plumbing in main.js/preload/renderer) is gone — Library already does that job for real now. Built and released via the existing launcher-release.yml CI workflow, same unsigned-test-build caveat as before.
"Link Game Account" Removed — Website & Backend
The Account page's manual "Generate Link Code / type it into the game" flow is gone entirely — UI, the create-link-code/redeem-link-code Edge Functions (deleted from production), and the game_link_codes/game_sessions tables (dropped via 0047_drop_game_link_codes.sql, both were empty). It was never wired up on the game side to begin with, and it duplicated what the Launcher already does automatically: when a signed-in player hits Play, the Launcher passes their live session token straight to the game exe as a launch argument (--ashborn-session, see Documentation/UNREAL_BACKEND_BRIDGE.md). One account-linking mechanism now, not two competing ones.
Amber: /giveaway — Real Keys, Not Just Announcements
Mod-admins can now run a full giveaway in Discord that hands out a real, working Ashborn key. /giveaway config channel sets the default posting channel (kept separate from /modconfig, which is at Discord's hard 25-subcommand cap). /giveaway start takes a prize description, kind (base game / founder / premium founder / species), winner count, and duration, then posts an embed with an Enter button. On end (auto or via /giveaway end), winners are drawn at random, each gets their own fresh code minted through admin_generate_gift_codes (service-role gated), and is DM'd their code plus the redeem link — never posted in-channel. Timers survive a bot restart. Requires a bot restart to pick up.
Launcher & Distribution · Internal
The Ashborn Launcher Is Live — Download Enabled
Coverage: September 11, 2026. Supersedes the Sept 10 “Page Up, App Built, Downloads Off” launcher entry below — the download is now on, not off.
What Shipped — v0.1.7, Windows
The launcher page's download button is live and points at a real installer (Windows only — macOS still isn't built). It's an unsigned build, so Windows SmartScreen will warn before it runs (“Windows protected your PC” → More info → Run anyway) — that's expected, not a bug, until we have a code-signing certificate (see below). Follow mode covers the devlog, live Road to Launch production stats, account sign-in and entitlement, and it keeps itself updated in the background automatically — confirmed working end-to-end against our own update feed. Closing the window now minimizes it to the system tray (Steam/Discord-style) instead of quitting, with a one-time notice explaining how to actually quit from the tray icon.
New: Friends & Party
A Friends tab in the launcher — search by display name, send/accept/decline requests, remove a friend — running on the same backend as the website's existing (previously dormant) friends system. Online status is shared with the site via the same Realtime presence channel, so a friend shows online whether they're on the site or in the launcher. New on top of that: a lightweight party system (0043_parties.sql) — invite a friend, one party at a time, ownership transfers automatically if the owner leaves. No mechanical purpose yet; it's groundwork.
New: Theme Music & Hero Background
The site's theme track now plays in the launcher, same play/pause + volume control as the site widget, off by default. The launcher's main view also now shows the site's hero background art behind the UI instead of flat black.
Bugs Found & Fixed This Pass
- Road to Launch view clipped content with no way to scroll to it (missing
min-height: 0on a nested CSS Grid item) — fixed and verified. - Sign-in never completed — Supabase's redirect-URL allow-list was missing the launcher's custom
ashborn-launcher://scheme entirely. Added; verified end-to-end. - The tray icon was invisible in packaged builds —
build/is build-tool-only by default and never actually shipped inside the app; the icon files are now explicitly bundled. - Auto-update always failed — the feed was configured for GitHub Releases, but we've never published real Releases (only relayed files), so it 404'd every time. Switched to a generic feed pointed at what we actually publish.
- “Get / manage on the store” silently did nothing — the config value it called was never defined.
Still Owed
Windows code-signing (removes the SmartScreen warning — see the team's notes on Azure Trusted Signing vs. a traditional cloud-EV cert), an Apple Developer ID + real icon for a macOS build, and a packaged game build before Play mode has anything to install. None of these block today's release; they're the next things in line.
Naming & Launcher · Internal
“Founder” → “Expedition”, Launcher Retired
Coverage: September 22, 2026. Relly's call on both: "Founder" didn't fit the game's identity, and the launcher has nothing left to do once Steam handles installs.
“Founder” Is Now “Expedition”
Every player-facing mention of "Founder" / "Founder's Access" / "Premium Founder" now reads "Expedition" / "Expedition Access" / "Premium Expedition" — store.html, account.html, terms.html, privacy.html, index.html, and the account page's edition and credit-error labels. This is cosmetic only: the database columns, RPC parameter names, product IDs, and founder_continent_credits table are all untouched — only what players see changed, not what anything is called internally. Amber's /giveaway dropdown was updated to match and re-registered.
Launcher Retired
launcher.html no longer promotes downloading the desktop app — it now explains the launcher is retired and points to Steam for installs and to the website for devlog/account/Friends & Party, none of which were ever launcher-exclusive (the site's Friends panel already runs on every page, not just inside the launcher). store.html's "reassurance" section was updated to match. The Electron app itself, its auto-updater, and its GitHub Actions release workflow are untouched on disk — nothing was deleted, it's just no longer advertised as something to go download.
Not Done Here
If there's a Discord role literally named "Founder", that's a manual rename in Discord's server settings — nothing in the bot's code assumes a specific role name beyond checking "verified member," so no code change was needed for it.
Store & Steam · Internal
Direct Store Retired — Ashborn Is Moving to Steam
Coverage: September 22, 2026. Relly's call: the direct store was creating real confusion (two purchase paths once Steam is live). Not publicly blogged yet on purpose — there's no real Steam link to give people, so a public post right now would just generate "where's the link" questions we can't answer.
What Changed
store.html no longer sells anything — editions, continent-model marketing, the species roster, and the waitlist are all gone, replaced with a short "Coming to Steam" announcement plus reassurance for existing owners (account access, gift-key redemption, and the launcher are all unaffected). Every page's nav "Buy Now" CTA and "Store" links across the site now read "Coming to Steam" / "Steam" and point at the same URL. checkout.html immediately redirects to store.html (meta-refresh) rather than being deleted — the order-creation flow (create_pending_order etc.) is untouched underneath, just unreachable, in case direct purchasing needs to come back before Steam actually works end-to-end.
What Didn't Change
account.html (owned continents, credit redemption, order history), redeem.html (gift-key redemption), and order.html (existing receipts) are all fully intact and unaffected — none of that is "the store," it's account management for people who already have something. The entire continent-pack backend from the same day (0050_continent_packs.sql) is untouched; it's still exactly what a future Steam purchase needs to reconcile into once that side is wired up.
Known Gap Until Friday+
There is currently no way to buy Ashborn anywhere — the direct store is gone and Steam isn't live yet (App ID lands Friday 2026-09-25 at the earliest, real purchase flow per the Unreal Agent's estimate is another 2–4 days after that). This was a conscious tradeoff Relly made explicitly, not an oversight. Existing Expedition purchases are unaffected either way.
What Changed
Species are now grouped by continent (a new continents table) instead of priced/sold individually — backend/supabase/migrations/0050_continent_packs.sql. North America (Laramidia + Appalachia) is the free base-game continent and its roster grows automatically for every owner as new NA species ship — no grant step, my_species() now computes ownership from game_licenses + continent ownership instead of materializing a row per species. Every other continent becomes a paid DLC pack, bought as a whole. Founder credits are now continent credits: 1 for Founder (was 2 species), 2 for Premium Founder (was 6) — nobody had ever redeemed a species credit, so this is a clean swap, not a downgrade for anyone.
Why Now — It's the Steam DLC Shape
This is also groundwork for the Steam migration Relly greenlit this week: ~40 individual species was never a workable Steam DLC shape, but 5–7 continent packs is completely normal. The Unreal Agent's game-client Steam identity bridge (steam-ticket-auth Edge Function, shipped separately this week) is unrelated and unaffected — it only resolves who's signed in, this pivot only changes what they own.
Frontend & Admin
Store roster now groups by continent with a pack-level buy badge instead of per-species prices; checkout takes ?continent=slug instead of ?species=slug; the Account page has a real continent-credit redeem control for the first time (species credits never had one — they were fully inert since launch). Admin gained a Continents card (mirrors the Events/Playtest Waves pattern) to flip a continent's status/price/eta once it's ready to sell. Amber's /giveaway also updated to hand out continent-kind codes instead of species-kind — needs a bot restart to pick up.
Species → Continent Assignment
All 42 existing species were assigned a continent based on real Late-Cretaceous geography, with a few flagged creative-liberty exceptions already baked in as live starters (Velociraptor is really Asian, Megalodon is Cenozoic not Cretaceous at all, Dimetrodon is Permian) — none of those were moved, since that would read as a downgrade to existing owners. North America ended up with 24 of 42 species, which tracks — it's the best-studied Late Cretaceous fossil record and most of the genuinely famous names (T-rex, Triceratops, Stegosaurus) are real Laramidia animals. Full mapping is in the migration file.
Store & Distribution · Internal
Pricing Model Change: Base Game + Individual Species Ownership
Coverage: September 11, 2026. Supersedes the Sept 10 “Store Checkout” section below wherever the two disagree — the store cards, checkout copy, and pricing described there are gone.
What Changed
The store no longer sells three flat editions that each unlock the whole roster. It's now: Base Game $24.99 (includes a 5-species starter roster: Velociraptor, Utahraptor, Parasaurolophus, Triceratops, Megalodon — the only five species actually finished today), Founder $49.99 and Premium Founder $99.99 (base game + 2 or 6 “species credits” redeemable free against future species, plus cosmetics/art book/credits), and a Squad Pack $79.99 (four base-game copies, replaces the old Pack Bundle). The other 37 species become individually purchasable ($3.99–$7.99, priced by development complexity, never by power) once each actually ships — there's nothing in that catalog yet. Checkout no longer asks for a “designated species” pick at all.
Talking to Players About It
Safe to say: the base game is a complete game on its own; owning a species is permanent and never affects anyone else's game; a species nobody owns yet still exists in the world as AI. Don't say species credits can be spent yet — there's no premium species to spend them on. A blog post (“How Buying Ashborn Works, Refined”, Sept 11) covers this publicly and is the citable version if someone asks why the store changed overnight.
Still True From Sept 10
Sign-in providers, the currency picker, gift-key redemption, account purchase history, and the launcher status are all unaffected by this change — see the section below for those. Only the SKUs, their prices, and the species-pick step changed.
Site & Accounts · Internal
Sign-In Redesign: Icon Row + Email/Password
Coverage: September 11, 2026 (earlier the same day as the pricing change above). Player-facing, fully live.
What Changed
Every sign-in panel (Account, Store, checkout/order/redeem, Field Station, Admin, this page) went from six stacked full-width buttons to one row of circular brand icons, with Discord marked as the recommended option. Underneath, there's now an email + password box with a Sign In / Create Account toggle and a Forgot Password link — people no longer need a Discord/Google/Steam account at all to use the site.
What's Actually Live
Discord, Steam, and email/password all work end-to-end right now, including account creation and password reset by email. Google, Twitch, GitHub, and Apple are visible in the row but still need their developer apps created on our side (see the “OAuth apps” item in EXTERNAL_SETUP.md) before those four actually complete a sign-in.
Talking to Players About It
Safe to recommend email sign-up to anyone who doesn't want to link a third-party account. A blog post (“Sign-In, Redesigned: Fewer Buttons, More Ways In”, Sept 11) covers this publicly.
Store & Distribution · Internal
Store Checkout, Multi-Provider Sign-In & the Ashborn Launcher
Coverage: September 10, 2026. Mostly player-facing — but several pieces are deliberately switched off until external setup (payment processor, sign-in apps, code-signing) is done. Don't describe those as available. Note: the store SKUs and pricing described in this section were replaced the next day, and the sign-in UI described below was redesigned the next day too — see the two sections above.
Sign In — Six Providers Now, Not Just Discord
The site and Field Station accept Discord, Google, Twitch, GitHub, Apple, and Steam as sign-in options. Existing Discord logins are untouched, and progress follows the account regardless of which button was used. The only things still tied specifically to Discord are the verified-Discord perks (founder verification and anything gated behind it). Caveat for support: Discord and Steam work end to end right now; Google, Twitch, GitHub, and Apple each need their developer app created and secret entered on our side before those four buttons complete a login — until then they error. Don't point people at them yet.
“Buy Now” Now Runs a Real Order Flow — Payment Still Held
Buy Now leads to a configurator: choose an edition (Survivor, Founder, or the four-copy Pack Bundle) and a designated species, which creates a pending order and lands on a dedicated order page laid out the way other directly-sold games present one. The Pay button is intentionally held as “Checkout Opens Soon” until the payment processor is connected — no card details are collected anywhere in this flow yet. Important: an order someone starts and doesn't pay for is not permanent. It shows on their Account page as a single resumable draft with a Discard button, never stacks up, and grants nothing — a licence and species are only ever handed out after a real completed payment.
Prices in a Chosen Currency — Display Only
Store, checkout, and order pages carry a currency picker with ten currencies. It only changes the number shown. When payments do open, the actual charge is in USD until multi-currency pricing is set up with the processor — so please don't tell anyone they'll be billed in their local currency.
Pack Bundle Gift Keys — Recipient Picks Their Own Species
The Pack Bundle is four copies: the buyer keeps one and receives three gift keys to pass on. Redeeming a key makes the recipient choose their own designated species — the buyer can't choose it for them, and a key can't be redeemed by someone who already owns the game (it tells them to pass it to a friend instead). Keys and their redeemed/unredeemed status appear on both the buyer's and the recipient's Account pages. There's a standalone Redeem page for entering a key.
Account Page — Real Purchase History
The Account page's Ashborn card now shows a client's real licence status, their designated species, their paid orders (each linking back to its order page), one resumable unpaid draft if they have one, and any gift keys they hold or have been given. This replaces the earlier placeholder that just bounced back to the account page.
The Ashborn Launcher — Page Up, App Built, Downloads Off
There's a launcher page now, reached from the Store (deliberately kept out of the site header). The desktop launcher itself — Windows and macOS — is built and runs internally: a Follow mode carrying the devlog, the road-to-launch tracker, and account sign-in, plus a Play mode that installs, updates, and launches the game once a build exists and the signed-in account owns it. The two download buttons on the page are switched off (“Download opens soon”) until we have signed installers, and nothing public links to a real download. Please don't describe the launcher as available for download yet — “in development, follow along” is accurate.
Before Any of This Is Fully Live — External Setup Owed
Several pieces above are code-complete but switched off pending account/key setup that can't be scripted: the Google / Twitch / GitHub / Apple sign-in apps (client id + secret into our auth settings); a payment processor account with the three products and a webhook secret, which is what flips the Pay button on; Windows and Apple code-signing certificates for the launcher installers; and a packaged game build for the launcher to serve. Separately — the Amber bot needs a restart to pick up the Member role ID (1383874351429849178): new members get Unverified on entry and verify through the bot, and the site reads that verified status to unlock the verified-Discord perks.
Community Tools · Internal
Amber (Discord Bot) — Support, Suggestions & Reliability Hardening
Coverage: August 25, 2026. Staff-only — requires a bot restart to pick up this batch.
Tickets, Bug Reports & Suggestions — Live
A staff-posted panel now offers two private paths to the team: /ticket panel kind:Support for general help, and kind:Bug Report for a structured Species/Biome/Issue/Time-Occurred/Evidence form. Either opens a private channel for just the reporter and staff; closing it (staff-only, or Administrator — the opener can no longer close their own) auto-archives a full transcript to /modconfig ticket-log-channel before the channel is deleted. Suggestions moved from a slash command to a button on the suggestions panel — /suggest depended on each member's client having synced the current command list and having Use Application Commands granted, both of which were real, recurring failure points; a button on an already-visible message has neither problem. All three panel types (ticket, bug report, suggestion) were also rewritten to a single consistent template after the difference was flagged directly.
Info Panel & Full Guide Rewrite — Live
/info panel posts one-click buttons for every read-only command — status, progress view, milestone view, digest — for a channel where members shouldn't need to know a command exists. /guide was fully rewritten to match current reality: the old text still referenced the retired /suggest <idea> slash command and an outdated status list. It now documents every system below, in plain language, meant to be pinned as the server's permanent help reference.
Reliability & Oversight — Live
Every staff-only command on the bot was audited for missing permission checks — 8 commands (/update, /progress pin, /milestone add/channel, /setchannel, /testwebhook, /social channel, /announce) turned out to have none despite being staff-only in intent, and now all enforce the standard Manage Server (or configured admin role) gate. Powerful commands are logged to /modconfig command-log-channel the moment they run — who, where, what arguments, even a denied attempt. The bot no longer fails silently: a missing handler, a hung command that never replies, or a fallback reply that itself fails are all now caught and reported to the command log, so a stuck command surfaces immediately instead of just looking like nothing happened. A new website audit log also polls for new account registrations and new Patreon connections and posts them to /modconfig website-log-channel, alongside the existing in-game activity log.
Community Tools · Internal
Amber (Discord Bot) — Moderation Suite & Picker Fix
Coverage: August 23, 2026. Staff-only — none of this is player-facing.
Full Moderation & Community-Management Suite — Live
Amber (renamed from its old "Ashborn Github Bot" identity) now runs a honeypot trap for unverified accounts, a message edit/delete audit log, a member role/avatar-change audit log, a join/leave log with account-age flags, self-assignable reaction roles, mass role add/remove with a confirmation step before it touches every member, and temp voice channels with a full owner control panel. Everything is gated to Manage Server or a role granted via /modconfig admin-role, and configured entirely through /modconfig. A Bot Control card was also added to the website admin panel so staff can trigger reaction-role, mass-role, and mod-config changes from the web instead of Discord — relayed to the bot through a Supabase mailbox it polls every 8 seconds.
Fixed — Channel/Role Pickers Couldn't Reach Most Entries
Discord's native channel/role picker in slash commands only ever shows the first ~25 entries and doesn't search past that when you type — on a server with 55 roles, most were permanently unreachable no matter who was running the command, confirmed by testing directly on the owner account, not just Origin's. Every affected command (/setchannel, /progress pin, /milestone channel, /social channel, /reactionrole add, /massrole add/remove, and all of /modconfig) now uses a searchable text field instead: type a few letters and the bot filters its full channel/role list server-side and returns matches, so nothing is capped at 25 anymore. Live now — command schema re-registered with Discord and the bot process restarted to pick up the new handler code.
Game Build · Internal
Creature AI, Animation & Water Systems
Coverage: August 10–13, 2026. Latest successful native build: August 13, 12:01 AM. Status labels below tell you what's actually safe to say out loud — please don't upgrade anything past its listed status.
Predator AI, Animation & Effects — Verified, Live in the August 13 Build
Fixed the Velociraptor/Utahraptor shared search-and-recovery logic so a predator that loses its target resumes normal behavior instead of getting stuck circling the last known position. Utahraptor death poses no longer stretch out grotesquely — leg IK now shuts off the instant death begins. Spawned blood effects now recycle instead of piling up forever (capped at 12 per creature), fixing the frame-rate drop during long fights or feeding sessions. A crash in the adaptive music system has also been fixed. Separately, Velociraptor, Utahraptor, Parasaurolophus, and Triceratops all received an animation-system overhaul — corrected pelvis/spine rigging, foot and spine IK that now ignores water, foliage, and other creatures, and fades out while swimming. All of the above compiled cleanly, passed in-editor testing, and is live in today's build.
Deinosuchus — Foundation Only, Placeholder Art
Deinosuchus now exists in the project as a playable stand-in built on a temporary crocodile model (39 total assets, including animation, materials, and bite/hit/death montages), organized so the final Deinosuchus model can be swapped in later without rebuilding the creature from scratch. If Deinosuchus comes up publicly, make clear this is a temporary placeholder standing in for gameplay purposes — please don't share footage or screenshots of it as representative of the finished creature.
Water Systems — Backend Fixed, Final QA Pending
Corrected lake and river water-height and depth calculations (a wave offset that was being double-counted, underwater fog that used a fixed depth instead of reading the actual terrain, and more). Lake generation is now on-demand instead of auto-regenerating on every edit, and reopening a map no longer rewrites data it doesn't need to. This is in today's build, but still needs one more focused visual pass on deep water plus a close/reopen check before it's described as fully resolved — please hold off on "the lake is fixed" messaging until that pass is done.
Swimming, Death Screen & Feeding — NOT Yet Live
A larger batch of work has been written but has not been rebuilt or verified yet — please don't describe any of it as live until we confirm it in a future update. It covers: full swim controls (ascend/dive/steer, a steadier neutral-buoyancy hold, riverbed latching, a stamina-costed water boost/lunge, and a temporary enhanced water-sense), breathing checks tied to each species' actual head/nostril position instead of the camera, randomized death-screen hints instead of one repeated line, a fix for a species-selection respawn bug, and feeding performance/visual cleanup (including snout blood smear during feeding). Note also: drowning currently shows as "Environmental" on the death screen, not a dedicated "Drowning" label.
Known Issues — Do Not Announce as Fixed
The editor is currently running roughly 3.6 GB over its GPU memory budget in recent sessions — a separate, unresolved issue that can independently cause severe frame loss. A Virtual Shadow Map warning also persists. Neither is related to the fixes above.