ADAM October 2026 source release: PixelRow, INRFlow, Wan Video, Oasis player and field guide
f8c73f9 verified Download docs/field-guide/adam-field-guide.html from SyntheticMDProductions/AI_Development_Automation_Manager: direct link, hf CLI and curl.
- Browser
- Download file 30.5 kB
-
https://huggingface.co/SyntheticMDProductions/AI_Development_Automation_Manager/resolve/main/docs/field-guide/adam-field-guide.html
- Command line
-
hf download hf://SyntheticMDProductions/AI_Development_Automation_Manager/docs/field-guide/adam-field-guide.html
-
curl -L -o adam-field-guide.html https://huggingface.co/SyntheticMDProductions/AI_Development_Automation_Manager/resolve/main/docs/field-guide/adam-field-guide.html
30.5 kB
| <html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>ADAM · Interactive Field Guide</title><style> | |
| :root{color-scheme:dark;--bg:#071018;--panel:#0d1b27;--edge:#243c50;--text:#edf5fa;--muted:#9bb0c1;--cyan:#54d6ff}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:17px/1.6 'Segoe UI',Arial,sans-serif}main{max-width:1320px;margin:auto;padding:24px}.intro{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:0 8px 16px}.eyebrow{font-size:12px;letter-spacing:2px;color:var(--cyan);font-weight:700}a{color:var(--cyan)}.map{border:1px solid var(--edge);border-radius:18px;overflow:hidden}.map svg{width:100%;height:auto;display:block}.hotspot{cursor:pointer}.hotspot:hover>rect:first-child,.hotspot:focus>rect:first-child{stroke:#54d6ff;stroke-width:3}.hotspot:focus{outline:none}.hotspot.selected>rect:first-child{stroke:#71e8b6;stroke-width:3}.detail{margin-top:22px;padding:26px;border:1px solid var(--edge);border-radius:18px;background:var(--panel)}h1,h2,h3{line-height:1.2;margin:10px 0 16px}h2{font-size:26px}p{color:var(--muted);max-width:1000px}#sources{font:13px/1.8 Consolas,monospace;color:#71e8b6;overflow-wrap:anywhere}.playground{margin-top:26px;display:grid;grid-template-columns:1fr 1fr;gap:22px}.demo{background:var(--panel);border:1px solid var(--edge);border-radius:18px;padding:26px}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}button{background:#112a39;color:var(--text);border:1px solid var(--edge);border-radius:8px;padding:10px 14px;font:inherit;cursor:pointer}button:hover,button:focus-visible{border-color:var(--cyan)}button[aria-pressed=true]{color:var(--cyan);border-color:var(--cyan)}canvas{width:100%;max-width:430px;aspect-ratio:1;border-radius:12px;background:#071018;display:block;image-rendering:pixelated}.demo small{color:var(--muted)}.notes{padding:4px 6px}.notes li{margin-bottom:16px;color:var(--muted)}strong{color:var(--text)}footer{padding:28px 6px;color:var(--muted);font-size:13px}@media(max-width:800px){main{padding:12px}.playground{grid-template-columns:1fr}.intro{display:block}.map{overflow:auto}.map svg{min-width:900px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}} | |
| </style></head><body><main><div class="intro"><div><span class="eyebrow">A SOURCE-BASED TOUR</span><div>Click a stage, reviewer, engine component or model to explore it.</div></div><a href="adam-map.png" download>Save the visual map ↓</a></div><div class="map"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1600 1160" role="img" aria-labelledby="mapTitle mapDesc"><title id="mapTitle">ADAM: an AI experiment command center</title><desc id="mapDesc">Source-based map of ADAM workflows, lifecycle reviewers, shared execution services, and model architectures.</desc><defs><linearGradient id="back" x2="1" y2="1"><stop stop-color="#071018"/><stop offset="1" stop-color="#10232e"/></linearGradient><radialGradient id="glow"><stop stop-color="#54d6ff" stop-opacity=".15"/><stop offset="1" stop-color="#54d6ff" stop-opacity="0"/></radialGradient></defs><rect width="1600" height="1160" fill="url(#back)"/><circle cx="1450" cy="70" r="500" fill="url(#glow)"/><text x="58" y="52" fill="#54d6ff" font-family="Segoe UI" font-size="14" font-weight="600">PROJECT FIELD GUIDE / 01 OCT 2026</text><text x="58" y="119" fill="#edf5fa" font-family="Segoe UI" font-size="64" font-weight="700">ADAM</text><text x="284" y="118" fill="#edf5fa" font-family="Segoe UI" font-size="30" font-weight="400">A local AI experiment command center.</text><text x="60" y="158" fill="#9bb0c1" font-family="Segoe UI" font-size="22" font-weight="400">From an idea to a reviewed dataset, a trained model, and evidence for the next run.</text><rect x="60" y="190" width="355" height="94" rx="16" fill="#0d1b27" stroke="#243c50"/><text x="82" y="230" fill="#54d6ff" font-family="Segoe UI" font-size="30" font-weight="600">LOCAL</text><text x="82" y="262" fill="#9bb0c1" font-family="Segoe UI" font-size="17" font-weight="400">Desktop workspace</text><rect x="435" y="190" width="355" height="94" rx="16" fill="#0d1b27" stroke="#243c50"/><text x="457" y="230" fill="#54d6ff" font-family="Segoe UI" font-size="30" font-weight="600">REVIEWED</text><text x="457" y="262" fill="#9bb0c1" font-family="Segoe UI" font-size="17" font-weight="400">Training approval + review</text><rect x="810" y="190" width="355" height="94" rx="16" fill="#0d1b27" stroke="#243c50"/><text x="832" y="230" fill="#54d6ff" font-family="Segoe UI" font-size="30" font-weight="600">EXTENSIBLE</text><text x="832" y="262" fill="#9bb0c1" font-family="Segoe UI" font-size="17" font-weight="400">Declared model plugins</text><rect x="1185" y="190" width="355" height="94" rx="16" fill="#0d1b27" stroke="#243c50"/><text x="1207" y="230" fill="#54d6ff" font-family="Segoe UI" font-size="30" font-weight="600">REPEATABLE</text><text x="1207" y="262" fill="#9bb0c1" font-family="Segoe UI" font-size="17" font-weight="400">Saved jobs + experiments</text><text x="60" y="327" fill="#54d6ff" font-family="Segoe UI" font-size="15" font-weight="600">01 / THE EXPERIMENT LOOP</text><g class="hotspot" data-key="plan" tabindex="0" role="button" aria-label="Idea → plan"><rect x="60" y="349" width="229" height="139" rx="16" fill="#0d1b27" stroke="#243c50"/><text x="78" y="380" fill="#54d6ff" font-family="Segoe UI" font-size="15" font-weight="600">01</text><text x="78" y="418" fill="#edf5fa" font-family="Segoe UI" font-size="22" font-weight="600">Idea → plan</text><text x="78" y="450" fill="#9bb0c1" font-family="Segoe UI" font-size="16" font-weight="400">Chat or guided model</text><text x="78" y="471" fill="#9bb0c1" font-family="Segoe UI" font-size="16" font-weight="400">creation</text></g><path d="M292 420h22m-7-6 7 6-7 6" fill="none" stroke="#54d6ff" stroke-width="2"/><g class="hotspot" data-key="dataset" tabindex="0" role="button" aria-label="Collect + review"><rect x="309" y="349" width="229" height="139" rx="16" fill="#0d1b27" stroke="#243c50"/><text x="327" y="380" fill="#71e8b6" font-family="Segoe UI" font-size="15" font-weight="600">02</text><text x="327" y="418" fill="#edf5fa" font-family="Segoe UI" font-size="22" font-weight="600">Collect + review</text><text x="327" y="450" fill="#9bb0c1" font-family="Segoe UI" font-size="16" font-weight="400">Images, clips, captions,</text><text x="327" y="471" fill="#9bb0c1" font-family="Segoe UI" font-size="16" font-weight="400">decisions</text></g><path d="M541 420h22m-7-6 7 6-7 6" fill="none" stroke="#54d6ff" stroke-width="2"/><g class="hotspot" data-key="approval" tabindex="0" role="button" aria-label="Review + approve"><rect x="558" y="349" width="229" height="139" rx="16" fill="#0d1b27" stroke="#243c50"/><text x="576" y="380" fill="#ffc878" font-family="Segoe UI" font-size="15" font-weight="600">03</text><text x="576" y="418" fill="#edf5fa" font-family="Segoe UI" font-size="22" font-weight="600">Review + approve</text><text x="576" y="450" fill="#9bb0c1" font-family="Segoe UI" font-size="16" font-weight="400">Preflight and workload</text><text x="576" y="471" fill="#9bb0c1" font-family="Segoe UI" font-size="16" font-weight="400">checks</text></g><path d="M790 420h22m-7-6 7 6-7 6" fill="none" stroke="#54d6ff" stroke-width="2"/><g class="hotspot" data-key="train" tabindex="0" role="button" aria-label="Train"><rect x="807" y="349" width="229" height="139" rx="16" fill="#0d1b27" stroke="#243c50"/><text x="825" y="380" fill="#b5a0ff" font-family="Segoe UI" font-size="15" font-weight="600">04</text><text x="825" y="418" fill="#edf5fa" font-family="Segoe UI" font-size="22" font-weight="600">Train</text><text x="825" y="450" fill="#9bb0c1" font-family="Segoe UI" font-size="16" font-weight="400">One shared sequential job</text><text x="825" y="471" fill="#9bb0c1" font-family="Segoe UI" font-size="16" font-weight="400">queue</text></g><path d="M1039 420h22m-7-6 7 6-7 6" fill="none" stroke="#54d6ff" stroke-width="2"/><g class="hotspot" data-key="generate" tabindex="0" role="button" aria-label="Generate"><rect x="1056" y="349" width="229" height="139" rx="16" fill="#0d1b27" stroke="#243c50"/><text x="1074" y="380" fill="#54d6ff" font-family="Segoe UI" font-size="15" font-weight="600">05</text><text x="1074" y="418" fill="#edf5fa" font-family="Segoe UI" font-size="22" font-weight="600">Generate</text><text x="1074" y="450" fill="#9bb0c1" font-family="Segoe UI" font-size="16" font-weight="400">Seeds, previews,</text><text x="1074" y="471" fill="#9bb0c1" font-family="Segoe UI" font-size="16" font-weight="400">image/video history</text></g><path d="M1288 420h22m-7-6 7 6-7 6" fill="none" stroke="#54d6ff" stroke-width="2"/><g class="hotspot" data-key="learn" tabindex="0" role="button" aria-label="Learn + repeat"><rect x="1305" y="349" width="229" height="139" rx="16" fill="#0d1b27" stroke="#243c50"/><text x="1323" y="380" fill="#71e8b6" font-family="Segoe UI" font-size="15" font-weight="600">06</text><text x="1323" y="418" fill="#edf5fa" font-family="Segoe UI" font-size="22" font-weight="600">Learn + repeat</text><text x="1323" y="450" fill="#9bb0c1" font-family="Segoe UI" font-size="16" font-weight="400">Compare runs and save</text><text x="1323" y="471" fill="#9bb0c1" font-family="Segoe UI" font-size="16" font-weight="400">recipes</text></g><path d="M1468 492v24H92v-24" fill="none" stroke="#2d6357" stroke-dasharray="5 5"/><text x="669" y="511" fill="#71e8b6" font-family="Segoe UI" font-size="12" font-weight="600">EVIDENCE FEEDS THE NEXT RUN</text><g class="hotspot" data-key="eve" tabindex="0" role="button" aria-label="EVE"><rect x="60" y="540" width="355" height="148" rx="16" fill="#0d1b27" stroke="#243c50"/><rect x="60" y="556" width="4" height="114" rx="2" fill="#71e8b6"/><text x="80" y="575" fill="#71e8b6" font-family="Segoe UI" font-size="23" font-weight="700">EVE</text><text x="80" y="603" fill="#edf5fa" font-family="Segoe UI" font-size="17" font-weight="600">Dataset reviewer</text><text x="80" y="633" fill="#9bb0c1" font-family="Segoe UI" font-size="16" font-weight="400">Local visual similarity; uncertain</text><text x="80" y="654" fill="#9bb0c1" font-family="Segoe UI" font-size="16" font-weight="400">images stay reviewable.</text></g><g class="hotspot" data-key="orion" tabindex="0" role="button" aria-label="ORION"><rect x="435" y="540" width="355" height="148" rx="16" fill="#0d1b27" stroke="#243c50"/><rect x="435" y="556" width="4" height="114" rx="2" fill="#ffc878"/><text x="455" y="575" fill="#ffc878" font-family="Segoe UI" font-size="23" font-weight="700">ORION</text><text x="455" y="603" fill="#edf5fa" font-family="Segoe UI" font-size="17" font-weight="600">Before training</text><text x="455" y="633" fill="#9bb0c1" font-family="Segoe UI" font-size="16" font-weight="400">Checks workload and settings; warnings</text><text x="455" y="654" fill="#9bb0c1" font-family="Segoe UI" font-size="16" font-weight="400">can require approval.</text></g><g class="hotspot" data-key="atlas" tabindex="0" role="button" aria-label="ATLAS"><rect x="810" y="540" width="355" height="148" rx="16" fill="#0d1b27" stroke="#243c50"/><rect x="810" y="556" width="4" height="114" rx="2" fill="#b5a0ff"/><text x="830" y="575" fill="#b5a0ff" font-family="Segoe UI" font-size="23" font-weight="700">ATLAS</text><text x="830" y="603" fill="#edf5fa" font-family="Segoe UI" font-size="17" font-weight="600">During training</text><text x="830" y="633" fill="#9bb0c1" font-family="Segoe UI" font-size="16" font-weight="400">Watches loss, heat and disk; critical</text><text x="830" y="654" fill="#9bb0c1" font-family="Segoe UI" font-size="16" font-weight="400">conditions pause work.</text></g><g class="hotspot" data-key="nova" tabindex="0" role="button" aria-label="NOVA"><rect x="1185" y="540" width="355" height="148" rx="16" fill="#0d1b27" stroke="#243c50"/><rect x="1185" y="556" width="4" height="114" rx="2" fill="#54d6ff"/><text x="1205" y="575" fill="#54d6ff" font-family="Segoe UI" font-size="23" font-weight="700">NOVA</text><text x="1205" y="603" fill="#edf5fa" font-family="Segoe UI" font-size="17" font-weight="600">After training</text><text x="1205" y="633" fill="#9bb0c1" font-family="Segoe UI" font-size="16" font-weight="400">Checks sample health; artistic quality</text><text x="1205" y="654" fill="#9bb0c1" font-family="Segoe UI" font-size="16" font-weight="400">still needs your eye.</text></g><text x="60" y="731" fill="#54d6ff" font-family="Segoe UI" font-size="15" font-weight="600">02 / ONE ENGINE, MULTIPLE WORKSPACES</text><rect x="60" y="751" width="1480" height="132" rx="16" fill="#0d1b27" stroke="#243c50"/><text x="82" y="787" fill="#edf5fa" font-family="Segoe UI" font-size="17" font-weight="600">DESKTOP + REMOTE</text><text x="82" y="820" fill="#9bb0c1" font-family="Segoe UI" font-size="15" font-weight="400">Shared execution path</text><g class="hotspot" data-key="planner" tabindex="0" role="button" aria-label="Planner"><rect x="320" y="771" width="226" height="57" rx="16" fill="#112a39" stroke="#243c50"/><text x="337" y="806" fill="#edf5fa" font-family="Segoe UI" font-size="21" font-weight="600">Planner</text></g><path d="M551 801h22m-7-6 7 6-7 6" fill="none" stroke="#54d6ff" stroke-width="2"/><g class="hotspot" data-key="registry" tabindex="0" role="button" aria-label="Tool registry"><rect x="583" y="771" width="226" height="57" rx="16" fill="#112a39" stroke="#243c50"/><text x="600" y="806" fill="#edf5fa" font-family="Segoe UI" font-size="21" font-weight="600">Tool registry</text></g><path d="M814 801h22m-7-6 7 6-7 6" fill="none" stroke="#54d6ff" stroke-width="2"/><g class="hotspot" data-key="jobs" tabindex="0" role="button" aria-label="Job manager"><rect x="846" y="771" width="226" height="57" rx="16" fill="#112a39" stroke="#243c50"/><text x="863" y="806" fill="#edf5fa" font-family="Segoe UI" font-size="21" font-weight="600">Job manager</text></g><path d="M1077 801h22m-7-6 7 6-7 6" fill="none" stroke="#54d6ff" stroke-width="2"/><g class="hotspot" data-key="executor" tabindex="0" role="button" aria-label="Tool executor"><rect x="1109" y="771" width="226" height="57" rx="16" fill="#112a39" stroke="#243c50"/><text x="1126" y="806" fill="#edf5fa" font-family="Segoe UI" font-size="21" font-weight="600">Tool executor</text></g><path d="M1340 801h22m-7-6 7 6-7 6" fill="none" stroke="#54d6ff" stroke-width="2"/><text x="82" y="860" fill="#71e8b6" font-family="Segoe UI" font-size="13" font-weight="600">DURABLE MEMORY</text><text x="280" y="860" fill="#9bb0c1" font-family="Segoe UI" font-size="17" font-weight="400">Jobs + logs / Datasets + models / Experiment database / Generation settings + reviews</text><text x="60" y="923" fill="#54d6ff" font-family="Segoe UI" font-size="15" font-weight="600">03 / DIFFERENT WAYS TO MAKE AN IMAGE</text><g class="hotspot" data-key="diffusion" tabindex="0" role="button" aria-label="DDPM + Flow"><rect x="60" y="944" width="355" height="130" rx="16" fill="#0d1b27" stroke="#243c50"/><text x="80" y="976" fill="#54d6ff" font-family="Segoe UI" font-size="21" font-weight="600">DDPM + Flow</text><text x="80" y="1009" fill="#edf5fa" font-family="Segoe UI" font-size="20" font-weight="600">Noise → image</text><text x="80" y="1042" fill="#9bb0c1" font-family="Segoe UI" font-size="16" font-weight="400">Denoising or an integrated flow.</text></g><g class="hotspot" data-key="pixelrow" tabindex="0" role="button" aria-label="PixelRow"><rect x="435" y="944" width="355" height="130" rx="16" fill="#0d1b27" stroke="#243c50"/><text x="455" y="976" fill="#ffc878" font-family="Segoe UI" font-size="21" font-weight="600">PixelRow</text><text x="455" y="1009" fill="#edf5fa" font-family="Segoe UI" font-size="20" font-weight="600">Rows → image</text><text x="455" y="1042" fill="#9bb0c1" font-family="Segoe UI" font-size="16" font-weight="400">Builds the canvas top to bottom.</text></g><g class="hotspot" data-key="inrflow" tabindex="0" role="button" aria-label="INRFlow"><rect x="810" y="944" width="355" height="130" rx="16" fill="#0d1b27" stroke="#243c50"/><text x="830" y="976" fill="#b5a0ff" font-family="Segoe UI" font-size="21" font-weight="600">INRFlow</text><text x="830" y="1009" fill="#edf5fa" font-family="Segoe UI" font-size="20" font-weight="600">Coordinates → RGB</text><text x="830" y="1042" fill="#9bb0c1" font-family="Segoe UI" font-size="16" font-weight="400">Pixel-space flow, no VAE.</text></g><g class="hotspot" data-key="nca" tabindex="0" role="button" aria-label="Neural Cellular Automata"><rect x="1185" y="944" width="355" height="130" rx="16" fill="#0d1b27" stroke="#243c50"/><text x="1205" y="976" fill="#71e8b6" font-family="Segoe UI" font-size="21" font-weight="600">Neural Cellular Automata</text><text x="1205" y="1009" fill="#edf5fa" font-family="Segoe UI" font-size="20" font-weight="600">Seed → growth</text><text x="1205" y="1042" fill="#9bb0c1" font-family="Segoe UI" font-size="16" font-weight="400">Learns local cellular update rules.</text></g><text x="60" y="1112" fill="#54d6ff" font-family="Segoe UI" font-size="13" font-weight="600">ALSO IN THE LAB</text><text x="252" y="1112" fill="#edf5fa" font-family="Segoe UI" font-size="20" font-weight="400">SDXL LoRA · Wan video LoRA · Oasis action world model + player</text><text x="60" y="1140" fill="#9bb0c1" font-family="Segoe UI" font-size="13" font-weight="400">Source inspection: adam/ + models/; animations in the companion guide explain mechanisms, not model quality.</text></svg></div><section class="detail" aria-live="polite"><span class="eyebrow">UNDER THE HOOD</span><h2 id="detailTitle"></h2><p id="detailBody"></p><div id="sources"></div></section><section class="playground"><div class="demo"><span class="eyebrow">FOUR VISUAL MECHANISMS</span><h2>Same canvas. Different ways to build it.</h2><div class="tabs" aria-label="Choose an illustration"><button data-mode="diffusion" aria-pressed="true">Noise → image</button><button data-mode="pixelrow" aria-pressed="false">Row by row</button><button data-mode="inrflow" aria-pressed="false">Coordinate field</button><button data-mode="nca" aria-pressed="false">Seed growth</button></div><canvas id="canvas" width="128" height="128" aria-label="Conceptual model mechanism animation"></canvas><p id="demoCaption"></p><button id="pause" aria-pressed="false">Pause animation</button><p><small>Illustrative animation only. No model inference, no quality comparison, no training.</small></p></div><div class="notes"><span class="eyebrow">EXPLORE ADAM</span><h2>A lab with memory.</h2><ul><li><strong>One experiment loop.</strong> Collect and review a dataset, approve a plan, train, generate samples, compare outcomes and preserve useful recipes.</li><li><strong>Four explainable responsibilities.</strong> EVE proposes visual dataset decisions. ORION reviews planned workloads. ATLAS supervises active training. NOVA checks available sample health. Human review remains part of the process.</li><li><strong>Different model architectures.</strong> Connected DDPM, Flow and SDXL LoRA tools sit alongside experimental PixelRow, INRFlow and custom Neural Cellular Automata plugins.</li><li><strong>Image, video and playable workflows.</strong> Wan 2.1 video LoRA has a dedicated clip, caption, training and generation workspace. Oasis supports action-conditioned world models and a player.</li><li><strong>Local by default.</strong> Optional Ollama, web context and token-protected Remote access have explicit settings. Remote access is disabled in the clean release configuration.</li></ul><h3>About this guide</h3><p>ADAM began as a Jarvis-inspired assistant for AI workflows and grew through ongoing experiments. This guide explains the source release dated 01 October 2026. The animations illustrate concepts; they are not inference outputs or quality benchmarks.</p><p><a href="https://huggingface.co/SyntheticMDProductions/AI_Development_Automation_Manager" target="_blank" rel="noopener">Project, source code and setup instructions →</a></p></div></section><footer>ADAM source release · 01 October 2026. Fully local companion guide; no external scripts, fonts or network calls.</footer></main><script> | |
| const details={"plan": ["Idea → plan", "ADAM offers deterministic command routes and optional local Ollama planning. The model proposes registered actions; ADAM validates the tool and settings before execution. The model creation assistant also builds plans through the same system.", "adam/planner.py; adam/commands.py; adam/ui/main_window.py"], "dataset": ["Collect + review", "The registered image collector uses a visible browser. Training Studio keeps image review marks, captions, duplicate candidates and recoverable exclusions. Wan video has its own clip and caption workflow. The generic dataset-preparation and caption-generation registry entries remain demos.", "adam/tools/real_dataset_collector.py; adam/studio.py; adam/ui/video_lora.py; config/tools.json"], "approval": ["Review + approve", "All new jobs pass shared preflight before their queue state is chosen. ORION can require confirmation even when ordinary training auto-approval is enabled. It reviews requested settings without silently replacing them.", "adam/training_assistant.py; adam/orion.py; adam/job_manager.py"], "train": ["Train", "JobManager runs one active worker at a time. It persists queue state, routes progress and previews, and records training assets. Connected trainers execute through adapters; built-in experiments use model plugins. Startup marks interrupted active jobs honestly.", "adam/job_manager.py; adam/executor.py; adam/tools/"], "generate": ["Generate", "Image batches use the shared job queue and save generation metadata so settings can be restored. PixelRow exposes rows, flow models expose ODE steps. Wan video uses a separate workspace; Oasis has a playable model viewer. Showcase Video renders completed DDPM/Flow outputs into MP4s.", "adam/generations.py; adam/ui/generations.py; adam/ui/video_lora.py; adam/oasis_player.py; adam/showcase.py"], "learn": ["Learn + repeat", "Training Studio compares experiments and preserves recipes. Model Intelligence connects training and generation history to suggested follow-up experiments. The separate model inspector reports architecture, tensor statistics and comparisons.", "adam/experiment_tracker.py; adam/studio.py; adam/intelligence.py; adam/model_inspector/"], "eve": ["EVE / reference-guided review", "EVE extracts local DINOv2 embeddings and compares each image to good references and optional bad references. Keep/reject thresholds leave an uncertain middle group. These are similarity-based review suggestions; applying decisions remains a user action.", "adam/eve.py; adam/ui/studio.py"], "orion": ["ORION / workload reviewer", "ORION checks image exposure, optimizer-step estimates, resolution, batch size and other training settings. Starting recipes are editable drafts. Estimates are planning hints, and warnings can restore the explicit approval gate.", "adam/orion.py; adam/training_assistant.py"], "atlas": ["ATLAS / runtime supervisor", "ATLAS checks active trainer logs for non-finite loss, sustained critical GPU heat and repeated critically low output-drive space. It pauses on those critical conditions. Stalls and runtime overruns produce warnings. It is a stateful supervisor, not a conversational agent.", "adam/atlas.py; adam/job_manager.py"], "nova": ["NOVA / technical sample health", "NOVA scans available sample images for readability, exact-looking duplicate collapse and edge variance. It explicitly leaves subject and artistic quality to human review. Wan training requests video samples rather than running image-quality checks on adapter weights.", "adam/nova.py"], "planner": ["Planner / intent to execution plan", "Natural-language intent becomes structured ExecutionPlan and PlanStep objects. Built-in parsing, named-asset resolution and optional Ollama proposals all lead toward declared tool capabilities.", "adam/planner.py; adam/models.py; adam/commands.py"], "registry": ["Tool registry / declared capabilities", "Built-in tool definitions, external scripts and model plugin manifests converge in ToolRegistry. Plugin manifests declare training and generation settings, types, defaults and backend functions. Template plugins provide scaffolding rather than trained architectures.", "adam/registry.py; adam/model_plugins.py; config/tools.json"], "jobs": ["Job manager / execution and memory", "JobManager owns confirmation, scheduling, pause/resume, cancellation, retry, persisted state and sequential workers. Desktop and Remote both use these services, with Remote dispatching Qt-owned operations onto the UI thread.", "adam/job_manager.py; adam/remote_dispatcher.py"], "executor": ["Tool executor / actual work", "ToolExecutor validates arguments, imports registered Python backends or launches declared scripts, then supplies a ToolContext for progress, logging, previews and cancellation. A real backend is distinct from a demo registry entry.", "adam/executor.py; adam/tools/; config/tools.json"], "diffusion": ["DDPM + Flow / external adapters", "DDPM and regular Flow Matching have separate connected trainer/generator adapters. At a high level, DDPM iteratively denoises and Flow integrates a velocity field. The companion animation is a visual metaphor for noise becoming structure, not a numerical simulation.", "adam/tools/ddpm_adapter.py; adam/tools/flow_adapter.py; adam/tools/ddpm_generator.py; adam/tools/flow_generator.py"], "pixelrow": ["PixelRow / top-to-bottom generation", "This experimental built-in model encodes rows, mixes horizontal context with convolutions and uses recurrent column sequences. A causal shift ensures each target row depends only on earlier completed rows. Generation can save intermediate row-build frames.", "adam/model_plugins_builtin/pixelrow/model.py; adam/model_plugins_builtin/pixelrow/generator.py"], "inrflow": ["INRFlow / coordinate-to-RGB flow", "The experimental built-in model uses Fourier coordinates, spatial context latents and a point decoder for pixel-space flow velocity. It does not use a pretrained image compressor. Resolution-flexible querying is available; extrapolation does not guarantee better detail.", "adam/model_plugins_builtin/inrflow/model.py; adam/model_plugins_builtin/inrflow/generator.py"], "nca": ["Neural Cellular Automata / learned growth", "Your custom models/ plugin starts with one living alpha cell. Local identity and Sobel perception feed a small update network; stochastic firing and living masks evolve the cell field. It supports saved growth frames and GIF export. The demo below only illustrates growth.", "models/neural_cellular_automata/model.py; models/neural_cellular_automata/manifest.py"]}; | |
| function select(key){const d=details[key];if(!d)return;document.getElementById('detailTitle').textContent=d[0];document.getElementById('detailBody').textContent=d[1];document.getElementById('sources').textContent='SOURCE: '+d[2];document.querySelectorAll('.hotspot').forEach(el=>el.classList.toggle('selected',el.dataset.key===key));} | |
| document.querySelectorAll('.hotspot').forEach(el=>{el.addEventListener('click',()=>select(el.dataset.key));el.addEventListener('keydown',e=>{if(e.key==='Enter'||e.key===' '){e.preventDefault();select(el.dataset.key);}});});select('plan'); | |
| const cv=document.getElementById('canvas'),ctx=cv.getContext('2d'),N=128; | |
| const captions={diffusion:'Noise gradually gives way to structure. DDPM and Flow use different mathematics; this animation groups them at a conceptual level.',pixelrow:'Earlier rows provide context for later rows. PixelRow constructs the image from the top down.',inrflow:'The model queries locations in a coordinate field. This scan visualizes coordinate queries, not the solver trajectory.',nca:'A living seed spreads through local updates. This radial reveal is a metaphor; real NCA growth is learned and stochastic.'}; | |
| let mode='diffusion',paused=matchMedia('(prefers-reduced-motion: reduce)').matches,elapsed=0,last=null; | |
| const target=new Float32Array(N*N*3),noise=new Float32Array(N*N*3);let randomState=20261001;function random(){randomState=(Math.imul(randomState,1664525)+1013904223)>>>0;return randomState/4294967296;} | |
| for(let y=0;y<N;y++)for(let x=0;x<N;x++){const dx=x-64,dy=y-64;let glow=Math.exp(-(dx*dx+dy*dy)/180);let r=10+glow*220,g=20+glow*225,b=30+glow*225;for(let a=0;a<3;a++){let t=a*Math.PI/3;let u=dx*Math.cos(t)+dy*Math.sin(t),v=-dx*Math.sin(t)+dy*Math.cos(t);let dist=Math.abs(Math.sqrt(u*u/(48*48)+v*v/(15*15))-1);let bright=Math.exp(-dist*dist/0.004);const colors=[[60,210,255],[145,100,250],[80,235,170]][a];r+=bright*colors[0];g+=bright*colors[1];b+=bright*colors[2];}let k=(y*N+x)*3;target[k]=Math.min(255,r);target[k+1]=Math.min(255,g);target[k+2]=Math.min(255,b);for(let c=0;c<3;c++)noise[k+c]=random()*255;} | |
| function draw(){const phase=(elapsed%6000)/6000,p=Math.min(1,phase/0.75),frame=ctx.createImageData(N,N);for(let y=0;y<N;y++)for(let x=0;x<N;x++){let i=y*N+x,k=i*3,out=i*4,visible=1;if(mode==='pixelrow')visible=y<p*N?1:0;if(mode==='inrflow')visible=i<p*N*N?1:0;if(mode==='nca')visible=Math.hypot(x-64,y-64)<1+p*88?1:0;for(let c=0;c<3;c++){let value=mode==='diffusion'?target[k+c]*p+noise[k+c]*(1-p):target[k+c]*visible+(c===2?24:10)*(1-visible);frame.data[out+c]=value;}frame.data[out+3]=255;}ctx.putImageData(frame,0,0);if(mode==='pixelrow'&&p<1){ctx.fillStyle='#ffc878';ctx.fillRect(0,Math.floor(p*N),N,1);}if(mode==='inrflow'&&p<1){let pos=Math.floor(p*N*N);ctx.fillStyle='#b5a0ff';ctx.fillRect(pos%N,Math.floor(pos/N),2,2);}} | |
| function setMode(m){mode=m;elapsed=0;document.querySelectorAll('[data-mode]').forEach(b=>b.setAttribute('aria-pressed',b.dataset.mode===m?'true':'false'));document.getElementById('demoCaption').textContent=captions[m];select(m);draw();} | |
| document.querySelectorAll('[data-mode]').forEach(b=>b.addEventListener('click',()=>setMode(b.dataset.mode))); | |
| const pause=document.getElementById('pause');function updatePause(){pause.textContent=paused?'Play animation':'Pause animation';pause.setAttribute('aria-pressed',String(paused));}pause.addEventListener('click',()=>{paused=!paused;updatePause();});updatePause();document.getElementById('demoCaption').textContent=captions[mode];if(paused)elapsed=2500; | |
| function tick(t){if(last!==null&&!paused)elapsed+=Math.min(t-last,100);last=t;draw();requestAnimationFrame(tick);}requestAnimationFrame(tick); | |
| </script></body></html> |