// THE FIRST DESCENDANT

MY BUILD.
VS THE META.
ON THE TV.

The problem is playing from the couch with a wiki tab, a Hub tab, and a blurry memory of which reactor you actually equipped. TFD is Melvin’s Source of Record for The First Descendant layouts — descendants, weapons, fellows — plus cached Hub (primary) and GamesLantern (backup) meta, and the original couch-distance cards. Screenshot ingest parses in-game build screens into named loadouts. Marketplace shots go to Trade Coach and are never treated as owned inventory. Advisor bot is not in this ship; MCP/login APIs are the SoR a later advisor will use. Proof: dashboard roster, entity my-vs-meta, builds ingest with replace_ok, Trade Coach BUY/MAYBE/SKIP, Ultimate Blair live on a TV palette. The landing you are reading extends the shared linear shell — sidebar, tokens, mobile drawer — so it matches every other meltuc.tech app instead of cloning AIF’s old standalone HTML document.

WebTool v1.1.0 SoR + cards Installable on iPad
Launch App Open Ultimate Blair How it works
SoR
Loadouts you own
Hub
Meta primary
Vision
Build screens → draft
TV
Couch cards stay
// HOW IT WORKS

From screenshot to checklist in five steps

Public landing stays public. Dashboard, ingest, entity, and trade require login. Couch cards are full-screen routes with their own ash/ember/flame palette — that exemption is documented in tfd-card.css, not a broken MelTuc theme. Daily meta poller self-gates 9:30 AM ET; Hub is primary, GamesLantern is backup; Nexon news wins mechanics wording. When sources lag the current patch (or Ult Hailey Hub is still Cold Heart), snapshots are flagged meta still settling. Ingest is a generate spine, not a magic OCR guarantee: confirm replace_ok, keep marketplace purpose off the owned roster, and treat a draft as a draft until you say otherwise.

01
Roster the descendants
/tfd/app lists descendants, weapons, and fellows with freshness and gaps. Click a row for the entity page. Each live couch card links through to SoR details. Demo seed/clear labels every demo row is_demo=true.
02
Drop a build screen
/tfd/app/builds: pick the entity, upload modules/reactor/components shots. MiniMax-M3 vision with OpenRouter VL fallback parses into a draft. Low confidence stays a draft — it does not silently become the active loadout.
03
Confirm a named loadout
An active named loadout is never overwritten without replace_ok. Manual escape hatch: POST /tfd/api/entities/<slug>/loadouts with source=manual. Marketplace purpose never becomes owned inventory.
04
Diff vs cached meta
Entity page is the GRID-DETAILS surface: your SoR beside Hub/GamesLantern, upgrade checklist, freshness badge. Dashboard Refresh meta is on demand; daily Hub poll is 9:30 AM ET; --patch after a Nexon drop.
05
Read it from the couch
Full-screen cards: Ultimate Blair live; Viessa/Hailey placeholders. Left/Right, zoom, F fullscreen. SoR in the viewer chrome opens the details page. Trade Coach is a different job — marketplace, not stash.
Launch the dashboard
// DASHBOARD

Source of Record at a glance

After login, the dashboard is roster + freshness + gaps — not a wiki scrape dumped into a table. Load demo data / Clear demo data from the dashboard when you want a labeled sandbox. This panel is CSS chrome of /tfd/app, not a capture of Nexon Hub or another site.

meltuc.tech/tfd/app — CSS mock
3
Descendants
Hub
Meta primary
Settling
Patch lag
Demo
is_demo rows
Ultimate BlairSoR liveCard live
Ultimate HaileyChecklistMeta settling
Ultimate ViessaPlaceholderCard later
// ENTITY

Side-by-side loadout vs cached meta

/tfd/app/entity/<slug> is the details page: my build vs top meta plus an upgrade checklist. QA smoke in the user manual is explicit — Ult Hailey settling branches, not one fake layout; Blair checklist can show Flame-Grilled Special vs Classic Chef in demo. Do not treat this mock as a live Hub screenshot.

meltuc.tech/tfd/app/entity/ultimate-blair — CSS mock
MY SOR
Reactor · Frozen
Mods · 7 equipped
HUB SNAPSHOT
Reactor · match
Mod gap · 2
// TRADE COACH

Marketplace shots are not inventory

/tfd/app/trade — paste a marketplace screenshot. Listings rank BUY / MAYBE / SKIP against Melvin’s SoR plus cached meta. Hunt template works with no screenshot. Demo trade smoke: BUY on Skill Crit + Chill Marksman, SKIP on Chill-negative. Purpose=marketplace never writes owned loadouts.

meltuc.tech/tfd/app/trade — CSS mock
Drop marketplace screenshot…
Skill Crit + Chill MarksmanBUY
Maybe-roll reactorMAYBE
Chill-negative listingSKIP
// COUCH CARDS

Ash, ember, flame on purpose

Couch cards keep an independent palette so they read across the room. Ultimate Blair is live; Viessa and Hailey are placeholders until those cards ship. Left/Right arrows, zoom, fullscreen. This is not the linear shell — and that is the point. Open SoR from the viewer when you want the checklist instead of the TV-sized card.

// PUBLIC VS APP

Landing is public. SoR is not.

/tfd/ is the storefront. Dashboard, builds, trade, and entity pages require login. Couch cards are their own full-screen routes. Health endpoints must not query the database. Demo rows stay is_demo=true and are not a second inventory.

// WHAT TFD REFUSES

No advisor bot. No fake ownership.

Advisor bot is not in this ship. Marketplace parses never become owned inventory. An active named loadout is never overwritten without replace_ok. Low-confidence vision stays a draft. We do not pretend GamesLantern is Hub, and we do not hide a settling-meta badge behind a prettier layout.

// FEATURES

SoR first. Cards still couch-readable.

Capabilities below match the README and user manual. If a descendant card is still a placeholder, this page says so.

📋
My build vs meta
Roster plus side-by-side SoR vs cached Hub/GamesLantern, upgrade checklist, freshness badge.
🖼️
Screenshot ingest
In-game build screens → named loadout drafts. Low-confidence parses stay drafts until you confirm.
🛒
Trade Coach
Marketplace shots only. BUY / MAYBE / SKIP. Never merged into owned inventory.
🔥
Couch cards
TV-distance. Arrows, zoom, fullscreen. Ultimate Blair live; others placeholder.
📡
Meta poller
Daily 9:30 AM ET plus --patch / --entity. Flags when sources lag the current Nexon patch.
🧪
Demo isolation
Seed/clear demo. Every demo row is_demo=true. Not mixed with live SoR unless you choose it.
✋
replace_ok
Named active loadouts are protected. Manual POST remains the escape hatch.
🛠️
MCP / login APIs
Read/write SoR for a later advisor bot. The bot itself is not shipped here.
🎮
Weapons + fellows
SoR is not descendants-only. Weapons and fellows live on the same roster mental model.
// WHO THIS IS FOR

Couch player first. Wiki second. Marketplace last.

TFD is for the operator who actually plays The First Descendant and needs the loadout on the TV to match the loadout in SoR — not a content farm of every descendant in the game. Ultimate Blair is live because that is the card that exists; placeholders are labeled placeholders so a missing Viessa/Hailey card is not dressed up as a screenshot. Trade Coach exists because marketplace listings are a decision, not an inventory event: BUY / MAYBE / SKIP against SoR plus cached meta, hunt template with no shot required. Vision ingest exists because typing seven modules after a session is how SoR rots; drafts exist because a low-confidence parse must not clobber a named loadout. Meta still settling exists because Hub and GamesLantern lag Nexon, and a prettier layout that hides that lag is a lie. Demo seed exists so QA can walk Ult Hailey settling branches and Blair checklist gaps without pretending those rows are the live stash. The advisor bot is deliberately absent: APIs and MCP tools are the SoR it will use later. If you need a public wiki, you already have Hub. If you need owned inventory from a marketplace JPEG, you are in the wrong app — TFD will not launder that JPEG into a loadout.

How you verify: login, roster, entity checklist, builds parse staying draft when confidence is low, replace_ok when a named slot is occupied, Trade Coach never writing owned loadouts, couch card palette remaining independent, demo rows labeled is_demo. If any of those regress, the landing copy is wrong — fix the app or fix this page, do not paper over it with a prettier mock of Hub.

// GET STARTED

Launch the SoR. Keep the card on the TV.

Login for dashboard, builds, and trade. Couch cards remain their own full-screen experience.

Launch TFD

Requires a MelTuc account. Create one free.

// SAID SLOWLY

What stays true over time

Source of Record for The First Descendant layouts plus calculator tools. Health stays cheap. If this page disagrees with the signed-in app, trust the app — the product contract and tests enforce that rule.