Na podzim 2025 jela AI vlna naplno, ale všichni v ní plavali stejným směrem. Vibecodily se CRUD aplikace, landing pages, skripty, co slepí dvě API dohromady. Samé vyřešené problémy, kterých model za trénink spolykal milion. Na co skoro nikdo AI nepouštěl, bylo 3D v prohlížeči. Three.js, WebGL, shadery. To se pořád bralo jako území specialistů, věc, která se v týmu hodí tomu jednomu, co „dělá grafiku".
Já do toho šel i tak. Někdy v říjnu 2025 jsem si postavil interaktivní 3D vizualizér LED stěn, nástroj, ve kterém rozložíš panely v prostoru a rovnou vidíš výsledek. Ten projekt má vlastní příběh a tenhle článek není o něm. Je o tom, jaké to bylo vibecodit 3D v době, kdy zrovna 3D šlo modelům ze všeho nejhůř.
V čem byly modely fakt dobré
Nejdřív férově, protože poctivý závěr nezní „AI neumí 3D". Uměla toho hodně a rychle.
Boilerplate byl dar. Scéna, kamera, renderer, resize handler, animační smyčka, orbit controls. Ten ceremoniál je pokaždé stejný a modely ho uměly nazpaměť. Popsal jsem, co chci, a za pár vteřin stál funkční základ. Totéž všechno okolo: UI panely, stav, import souborů, React okolo canvasu. Co není doopravdy 3D, ale jen obyčejný software, jelo stejně hladce jako každý jiný vibecoding.
A seděl jim i slovník. Zeptáš se, jak vykreslit pár tisíc stejných meshů, aniž ti klekne framerate, a dostaneš InstancedMesh i s rozumným vysvětlením. API Three.js je dobře zdokumentované a v trénovacích datech ho je dost, takže na otázky typu „kterou metodu mám zavolat" byl model rychlejší manuál než manuál.
Kde to padlo: matika nelže
A pak chceš něco, kde model musí doopravdy přemýšlet o prostoru. A je zle.
- Souřadné systémy a orientace. Každodenní boj. Nahoru míří Y, teda pokud není něco otočené, pokud importovaná geometrie nepočítala se Z nahoru a pokud to rodičovská transformace už dávno nepřevrátila. Model mi s naprostou jistotou podával kód, který otočil panel špatným směrem, zrcadlově, nebo o devadesát stupňů vedle, a tu špatnou odpověď uměl úplně plynule obhájit. Neměl v hlavě obraz scény. Měl jen věrohodně znějící vzorec.
- 3D matika. Cokoliv s kvaterniony, pořadím matic nebo převodem mezi lokálním a světovým prostorem byla sázka do loterie. Kód se přeložil, běžel a výsledek byl špatně. Jemně, nenápadně a k vzteku. Nikdy to nespadlo. Jen objekt seděl o dvě jednotky vedle nebo rotace pomalu ujížděla, a tohle chytíš jedině očima.
- Shadery. Hluboká voda. GLSL je vlastní jazyk s vlastními záludnostmi. Modely napsaly něco, co jako shader vypadalo a dokonce se to přeložilo, jenže logika uvnitř, ta matika, co přepočítává souřadnice na barvy, byla často nesmysl. Ladit shader je utrpení samo o sobě, protože fragment si přes
console.lognevypíšeš. A ladit shader, který napsala AI a sama mu nerozumí, je zvláštní druh samoty. - Prostorová představivost obecně. „Zakřiv panely kolem středu." „Nakloň celou stěnu, ať míří na diváky." Pro člověka stojícího v sále jedna věta. Pro model z roku 2025 zatraceně těžký prompt, protože žádný sál, ve kterém by stál, nemá. Skládá geometrii, kterou nikdy neviděl.
Takže ho vodíš
Režim, který doopravdy fungoval, nebyl „popiš to a vezmi, co vypadne". Bylo to vodění za ruku. Rutinu jsem nechal na modelu a u všeho prostorového jsem držel volant sám. Smyčka vypadala takhle: řekni si o malý kousek, spusť ho, podívej se na výsledek a vrať přesně to, co je špatně. Fyzikálně. „Panel je zády ke kameře." „Je natočený, horní hrana ukazuje doleva." Konkrétní vizuální opravy, žádné „oprav tu matiku".
Druhý trik na přežití: dávat modelu malé porce. Nechtít „rozložení zakřivené stěny", ale „pro tuhle pozici panelu vrať rotaci, která namíří jeho normálu do počátku". Tu jednu funkci ověřit izolovaně a jet dál. Čím menší prostorový krok, tím větší šance. Čím větší skok, tím sebevědoměji špatná odpověď.
A musel jsi toho umět dost, abys to poznal. Tuhle část hype přeskakuje. Model jsem mohl vodit jen proto, že umím scénu přečíst a vidím, když objekt sedí o fous vedle. Kdyby stejný nástroj v roce 2025 vibecodil někdo bez 3D intuice, vypustí do světa něco, co skoro sedí, potichu je to rozbité a on netuší proč. Já to poznám, protože jsem před skutečnými LED stěnami odstál na place dost hodin na to, abych věděl, kterým směrem má panel koukat.
Proč to stálo za to i tak
Bylo to drsné a šel bych do toho znovu. Protože i se vším voděním, přetahováním o matiku a shaderovou bídou zůstává čistý výsledek: jeden člověk postavil interaktivní 3D nástroj za zlomek času, který by na to potřeboval sám. Modely prostorové uvažování neuměly, ale smázly všechno okolo. A právě to „okolo" obvykle zabije side project dřív, než vůbec začne.
Hlubší pointa: dělat tohle na podzim 2025 znamenalo pracovat kousek za hranou, kde nářadí ještě nebylo pohodlné. Celá debata o AI kódování byla tehdy plochá, samý web a skripty. 3D byl kout, o kterém všichni předpokládali, že je na hraní moc těžký. Byl těžší. A přitom naprosto schůdný, pokud jsi byl ochotný dodat tu prostorovou představivost, která modelu chyběla.
Tam to zajímavé obvykle bývá: ne tam, kde už jsou modely dobré, ale o krok dál, kde ještě musíš přinést něco svého. Jestli ti v šuplíku leží 3D nápad, protože „tohle AI ještě pořádně neumí", tak přesně proto ho vytáhni.