| <!DOCTYPE html> |
| <html lang="en"> |
| <head> |
| <meta charset="UTF-8"> |
| <meta name="viewport" content="width=device-width, initial-scale=1.0"> |
| <title>WEED-SIM · Document Hub</title> |
| <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;600;700&family=JetBrains+Mono:wght@400;700&display=swap" rel="stylesheet"> |
| <link rel="stylesheet" href="/static/meta.css"> |
| <link rel="stylesheet" href="/static/agent-widget.css"> |
| </head> |
| <body> |
| <div class="glow a"></div><div class="glow b"></div> |
| <div class="wrap"> |
| <div class="topbar"> |
| <div class="brand"><span class="hex">⬡</span><h1>DOCUMENT HUB</h1></div> |
| <nav class="topnav"> |
| <a href="/">Home</a><a href="/play">Play</a><a href="/lab">Lab</a><a href="/deck">Deck</a><a href="/docs">API</a> |
| </nav> |
| </div> |
|
|
| <section class="hero" style="padding:1rem 0 1.5rem"> |
| <div class="kicker">Meta routing manifest</div> |
| <h2 style="font-size:clamp(2rem,5vw,3.2rem)">Every surface, one click away.</h2> |
| <p class="tagline">A self-describing index of the system. Each card below routes <b>straight into the live subsystem</b> it documents — read endpoints open inline, the modes open their UI, provenance links reach the Observer Bus.</p> |
| </section> |
|
|
| |
| <section class="section"> |
| <h3>Agent Access · connect & use it</h3> |
| <p>WEED-SIM is fully driveable by agents over HTTP — no browser needed. State is held by a |
| <b>session header</b> (not a cookie), so any client keeps its own germplasm registry. The machine |
| contract is at <a class="inline" href="/openapi.json" target="_blank">/openapi.json</a> |
| (<a class="inline" href="/docs" target="_blank">Swagger</a>). The embedded |
| <a class="inline" href="/bus">Observer Bus</a> is open too: read |
| <a class="inline" href="/bus/api/signals" target="_blank">signals</a>, |
| <a class="inline" href="/bus/api/facilities" target="_blank">facilities</a> (WEED-SIM ops are registered there), |
| and the <a class="inline" href="/bus/api/os" target="_blank">Resource OS</a>.</p> |
| <pre style="background:rgba(0,0,0,0.45);border:1px solid var(--border-glass);padding:1rem;overflow:auto;font-family:var(--font-mono);font-size:0.8rem;color:var(--text-main);line-height:1.5;">SID="agent-$(uuidgen)" # any stable id; this IS your session |
| H="X-WeedSim-Session: $SID" |
| B=https://tostido-weed-sim.hf.space |
|
|
| curl -s -X POST -H "$H" $B/api/inventory/starter # seed 12 strains |
| curl -s -H "$H" $B/api/lab/germplasm | jq .count # observe the registry |
| ID=$(curl -s -H "$H" $B/api/inventory | jq -r .seeds[0].id) |
| curl -s -X POST -H "$H" $B/api/seed/$ID/grow # grow x3 -> MATURE ... |
| curl -s -X POST -H "$H" -H 'Content-Type: application/json' \ |
| -d "{\"parent1_id\":\"A\",\"parent2_id\":\"B\"}" $B/api/breed # cross -> receipt |
|
|
| curl -s $B/bus/api/signals | jq '.signals[].title' # crosses appear on the bus |
| curl -s $B/bus/api/facilities | jq '.facilities' # WEED-SIM syscall table</pre> |
| <p>Images carry the session via <code>?sid=<SID></code> (since <code><img></code> can't send headers): |
| <a class="inline" href="/api/image/{id}/96?sid={SID}" target="_blank">/api/image/{id}/96?sid=…</a>.</p> |
| </section> |
|
|
| |
| <section class="section"> |
| <h3>Routing Manifest</h3> |
| <div id="manifest"><p>loading…</p></div> |
| </section> |
|
|
| |
| <section class="section"> |
| <h3>Genetics Engine</h3> |
| <p>Each trait is a pair of <b>alleles</b> with a per-trait <b>stability</b>. Numeric traits (THC, CBD, Yield, GrowTime) inherit by dominance-weighted averaging; <b>BudColor</b> and <b>LeafColor</b> are HSV allele ranges recombined per channel, so offspring colors stay vivid instead of muddying. See the genotype live in <a class="inline" href="/api/lab/germplasm" target="_blank">/api/lab/germplasm</a> or breed in <a class="inline" href="/play">Play Mode</a>.</p> |
| </section> |
| <section class="section"> |
| <h3>Sprite Masking</h3> |
| <p>Pixel-art sprites are split per-pixel into <b>leaf</b> (green-family hue) and <b>bud</b> (cola) masks. Offspring keep each pixel's brightness while shifting hue to the inherited bud/leaf color — green foliage, distinctly colored colas. Rendered at <a class="inline" href="/api/image/{id}/96" target="_blank">/api/image/{id}/{size}</a>.</p> |
| </section> |
| <section class="section"> |
| <h3>Speciation Lab</h3> |
| <p>A <b>BrAPI-style</b> germplasm surface: faceted grid, brushable <b>parallel coordinates</b>, an HSV <b>color-gamut wheel</b>, and a Monte-Carlo <b>cross predictor</b>. A breeding pedigree is a <i>reticulate network</i> (crosses = hybridization), exportable as <a class="inline" href="/api/lab/newick" target="_blank">Extended Newick</a> for <a class="inline" href="https://icytree.org/" target="_blank">IcyTree</a>. Model follows the <a class="inline" href="https://brapi.org/specification" target="_blank">BrAPI spec</a>. Open the <a class="inline" href="/lab">Lab →</a></p> |
| </section> |
| <section class="section"> |
| <h3>The Deck & Observer Bus</h3> |
| <p>The <a class="inline" href="/deck">Deck</a> is the shared-state hub: <a class="inline" href="/api/deck/summary" target="_blank">/api/deck/summary</a> aggregates the whole population, and <a class="inline" href="/api/deck/signals" target="_blank">/api/deck/signals</a> proxies the <a class="inline" href="https://huggingface.co/spaces/tostido/K-os" target="_blank">K-os Observer Bus</a>. Every cross publishes a fail-open <b>provenance receipt</b>; a shared <a class="inline" href="/api/selection" target="_blank">selection</a> rides across all three modes.</p> |
| </section> |
|
|
| <footer> |
| WEED-SIM Document Hub · <a href="/">Home</a> · <a href="/docs">OpenAPI / Swagger</a> · |
| <a href="https://huggingface.co/spaces/tostido/K-os" target="_blank">K-os</a> |
| </footer> |
| </div> |
| <script src="/static/docs.js"></script> |
| <script src="/static/session.js"></script> |
| <script src="/static/agent-widget.js"></script> |
| </body> |
| </html> |
|
|