De draden uit de recente Monday-briefings samengebracht: welke paden naar een navigeerbare splat plus live verf-laag zijn echt vruchtbaar, en welke niet.The threads from the recent Monday briefings brought together: which paths toward a navigable splat plus a live paint layer are genuinely fruitful, and which are not.
Elke schakel van de keten navigeerbare splat → 2D-view → realtime restyle → beamer of product bestaat nu al als losse, grotendeels kant-en-klare component. Het enige stuk dat wij zelf moeten bouwen is de Index-Only firewall: de splat wijst naar de gevalideerde solver-waarheid, maar overschrijft die nooit. Verf en waarheid blijven gescheiden.Every link in the chain navigable splat → 2D view → realtime restyle → projector or product now already exists as a separate, mostly off-the-shelf component. The only piece we must build ourselves is the Index-Only firewall: the splat points at the validated solver truth but never overwrites it. Paint and truth stay separate.
Keten bestaat alChain already exists Lokaal gemeten: 9 tot 13 fpsMeasured local: 9 to 13 fps Moat = Index-Only firewallMoat = Index-Only firewall TD = schil, niet het productTD = shell, not the product
De hele integratie moet onze standing-regel respecteren (2026-06-12): de splat is verf (de tonende laag), de solver is de liniaal (de waarheid). Realtime diffusie voegt een derde laag toe die per frame pixels herschildert. Die drie moeten gestapeld maar gescheiden blijven.The whole integration must respect our standing rule (2026-06-12): the splat is paint (the display layer), the solver is the ruler (the truth). Realtime diffusion adds a third layer that repaints pixels per frame. The three must be stacked but kept separate.
De grote onbekende uit de Lucy-notitie was: is de lokale realtime restyle snel genoeg om de cloud te vervangen? We hebben StreamDiffusion V2 op de Blackwell gezet (WSL2, torch 2.11 cu128, sm_120) en de echte framerate gemeten. Het transformeert een live feed structuur-behoudend: de kat blijft in dezelfde pose en scene lopen, maar wordt een hond zoals de prompt vraagt.The big unknown from the Lucy note was: is the local realtime restyle fast enough to replace the cloud? We put StreamDiffusion V2 on the Blackwell (WSL2, torch 2.11 cu128, sm_120) and measured the real framerate. It transforms a live feed while preserving structure: the cat keeps walking in the same pose and scene, but becomes a dog as the prompt asks.
| ModelModel | ResolutieResolution | SterkteStrength | VAE | fps (1 GPU)fps (1 GPU) |
|---|---|---|---|---|
| 1.3B | 480x832 | 0.5 | standaardstandard | 13,0 |
| 1.3B | 480x832 | 0.8 | standaardstandard | 10,6 (13,3 op de dog-clipon the dog clip) |
| 1.3B | 720x1280 | 0.8 | standaardstandard | 5,6 |
| 1.3B | 720x1280 | 0.8 | TAEHV | 9,2 (+65%) |
| 14B | 480x832 | 0.8 | standaardstandard | 9,6 |
| 14B | 720x1280 | 0.8 | standaardstandard | 3,7 |
| PadPath | RolRole | OordeelVerdict | WaaromWhy |
|---|---|---|---|
| StreamDiffusion V2 (lokaal)(local) | realtime restylerealtime restyle | vruchtbaar (gemeten)fruitful (measured) | Apache-2.0, 9 tot 13 fps op onze kaart, headless module al aanwezigApache-2.0, 9 to 13 fps on our card, headless module already present |
| Krea Realtime 14B (lokaal)(local) | realtime restylerealtime restyle | vruchtbaarfruitful | Apache-2.0, EU-veilig, ~11 fps, v2v met prompt-swap, meer kwaliteit dan 1.3BApache-2.0, EU-safe, about 11 fps, v2v with prompt swap, more quality than 1.3B |
| Feed-forward 3DGS (AnySplat) | splat-generatiesplat generation | vruchtbaar (bewezen)fruitful (proven) | vandaag lokaal gedraaid: 12 foto's → 1,56M gaussians in 1,16 s op de Blackwell, pose-free, MIT, geldige .plyrun locally today: 12 photos → 1.56M gaussians in 1.16 s on the Blackwell, pose-free, MIT, valid .ply |
| Marble → splat-export | wereld naar splatworld to splat | vruchtbaarfruitful | genereer cloud, exporteer de splat, draai lokaal realtime; sluit direct op onze splat-lijngenerate cloud, export the splat, run locally in realtime; plugs straight into our splat line |
| revit_to_splat / Snowdon PBR | splat-generatiesplat generation | vruchtbaar (loopt)fruitful (in flight) | relightable PBR GS-IR, photogrammetry-pass is al greenlitrelightable PBR GS-IR, the photogrammetry pass is already greenlit |
| SOG / .spz + WebGPU | leveringdelivery | vruchtbaarfruitful | 8,4x compressie, splat naar de browser = de product-leveringslaag8.4x compression, splat to the browser = the product delivery layer |
| Index-Only firewall | de moatthe moat | vruchtbaar (bouwen)fruitful (to build) | de enige echte eigen bouw: pointer naar de waarheid, nooit de waarde zelfthe only real in-house build: a pointer to the truth, never the value itself |
| Lucy 2.5 (cloud)(cloud) | realtime restylerealtime restyle | vruchtbaar maar cloudfruitful but cloud | beste live reference-edit, maar frames verlaten de EU en er tikt een prijs per secondebest live reference edit, but frames leave the EU and a per-second price ticks |
| Thinking-in-Boxes / depth-ControlNet | structuur-lockstructure lock | vruchtbaar (toekomst)fruitful (future) | 3D-bbox of depth-conditionering houdt de geometrie vast terwijl alleen de stijl verandert; nog te bouwen3D bbox or depth conditioning locks geometry while only the style changes; still to build |
| Matrix-Game 3.0 | wereldmodelworld model | vruchtbaar maar zwaarfruitful but heavy | enige open lokale generatieve wereld (~40 fps, 5B+INT8), maar game-domein en zware opzetonly open local generative world (about 40 fps, 5B+INT8), but game domain and heavy setup |
| seen2scene .ply | scan-intakescan intake | let opcaveat | een .ply uit TSDF-fusie is een mesh/puntenwolk, geen trainbare splat: een valse vrienda .ply from TSDF fusion is a mesh/point cloud, not a trainable splat: a false friend |
| Odyssey | wereldmodelworld model | vermijdenavoid | realtime maar volledig cloud, dus latency-risico op locatierealtime but fully cloud, so on-site latency risk |
| Genie 3 | wereldmodelworld model | doodlopenddead-end | US-only, geen API, geen export, niet self-hostbaarUS-only, no API, no export, not self-hostable |
| Lucy-Edit-Dev | restyle (open)restyle (open) | doodlopenddead-end | tekst-only, geen referentiebeeld, niet-commerciele licentietext-only, no reference image, non-commercial licence |
De sterkste nieuwe draad uit de Monday-briefing van deze week is feed-forward 3DGS (Instant NuRec, Flash-score 95, top pick). In plaats van uren per-scene optimaliseren maakt een enkele forward-pass uit gekalibreerde camerabeelden meteen een simuleerbare splat-scene. Dat verandert de splat van een off-line asset in iets dat je bijna live uit een scan kunt halen, precies de intake die seen2scene mist.The strongest new thread from this week's Monday briefing is feed-forward 3DGS (Instant NuRec, Flash score 95, top pick). Instead of hours of per-scene optimization, a single forward pass turns calibrated camera views straight into a simulatable splat scene. That turns the splat from an offline asset into something you can pull almost live from a scan, exactly the intake seen2scene lacks.
Andere bruikbare draden uit de briefings: Thinking-in-Boxes (3D-bbox conditionering voor consistente edits, de structuur-lock voor de restyle-stap), AsySplat (lange stads-sequenties), IBPA (streaming puntenwolk naar mesh) en Vision-Language-Motion Maps (bevraagbare 3D-scene, sluit op onze Index-Only doelstelling).Other useful threads from the briefings: Thinking-in-Boxes (3D bbox conditioning for consistent edits, the structure lock for the restyle step), AsySplat (long city sequences), IBPA (streaming point cloud to mesh), and Vision-Language-Motion Maps (queryable 3D scene, aligned with our Index-Only goal).
TouchDesigner (GSOPs voor splats plus StreamDiffusionTD voor de restyle) is de snelste weg naar een installatie op je werkstation, maar het is de verkeerde basis voor een product: per-seat, GUI, niet-headless, niet horizontaal schaalbaar. Je stuurt TD nooit de cloud in.TouchDesigner (GSOPs for splats plus StreamDiffusionTD for the restyle) is the fastest route to an installation on your workstation, but it is the wrong base for a product: per-seat, GUI, not headless, not horizontally scalable. You never ship TD to the cloud.
Bijna alles in de keten is off-the-shelf. Het enige dat ons onderscheidt en dat we zelf bouwen is de Index-Only firewall (crown-regel, 2026-06-12): elk splat-punt draagt een pointer (een element-id) naar de gevalideerde solver-waarde, nooit de waarde zelf. Klik op de splat, een ID-buffer pikt het punt, en pas dan wordt de gevalideerde waarde opgezocht. Zo blijft de mooie tonende laag altijd wijzen naar, maar nooit overschrijven, de waarheid uit de simulatie.Almost everything in the chain is off-the-shelf. The only thing that sets us apart and that we build ourselves is the Index-Only firewall (crown rule, 2026-06-12): each splat point carries a pointer (an element id) to the validated solver value, never the value itself. Click the splat, an ID buffer picks the point, and only then is the validated value looked up. This keeps the beautiful display layer always pointing at, but never overwriting, the truth from the simulation.
Om de keten live te voelen draai je hem in TouchDesigner: je vliegt een camera door de splat, TD rendert die view, een realtime diffusiemodel verft elke frame, en de output gaat naar de beamer. De splat om mee te testen staat klaar (anysplat_riverview.ply). Er zijn twee paden, en ze gebruiken niet hetzelfde model.To feel the chain live you run it in TouchDesigner: you fly a camera through the splat, TD renders that view, a realtime diffusion model paints each frame, and the output goes to the projector. The splat to test with is ready (anysplat_riverview.ply). There are two paths, and they do not use the same model.
demo/main.py, WSL, WebSocket) → resultaat via Spout/NDI terug in TD. Gebruikt exact de V2 die ik benchmarkte (9 tot 13 fps), vraagt alleen een klein custom bruggetje.GSOPs render → Spout/NDI out of TD → the StreamDiffusion V2 headless server (demo/main.py, WSL, WebSocket) → result back via Spout/NDI into TD. Uses exactly the V2 I benchmarked (9 to 13 fps), only needs a small custom bridge.Begin met Pad A om de keten te voelen, ga naar Pad B voor de V2-kwaliteit in een installatie. De waarheid blijft gescheiden: de restyle is verf en hoort uit het meet-pad; per-punt gevalideerde waarden komen via de Index-Only firewall hieronder, niet via de diffusie-output. Volledige stap-voor-stap: RUNBOOK_touchdesigner.md in de studie-map.Start with Path A to feel the chain, move to Path B for V2 quality in an installation. The truth stays separate: the restyle is paint and belongs out of the measurement path; per-point validated values come via the Index-Only firewall below, not via the diffusion output. Full step-by-step: RUNBOOK_touchdesigner.md in the study folder.
Bronnen en grondslagSources and grounding Samengebracht uit de Monday-research-briefings (monitors 2026-07-20 en 2026-06-22), de Lucy 2.5-notitie, drie parallelle web-research-agenten, een read-only digest van onze eigen research- en sessie-geschiedenis, en een echte benchmark van StreamDiffusion V2 op de Blackwell (WSL2, torch 2.11 cu128, sm_120).Brought together from the Monday research briefings (monitors 2026-07-20 and 2026-06-22), the Lucy 2.5 note, three parallel web-research agents, a read-only digest of our own research and session history, and a real benchmark of StreamDiffusion V2 on the Blackwell (WSL2, torch 2.11 cu128, sm_120).
Kern-referentiesKey references: Instant NuRec (feed-forward 3DGS) · StreamDiffusion V2 (MLSys 2026) · Krea Realtime 14B · World Labs Marble · Matrix-Game 3.0 · GSOPs (splats in TouchDesigner) · NVIDIA Lyra. Alle illustraties: Nano Banana Pro 2.All illustrations: Nano Banana Pro 2.