threejs.md

$ cat threejs.md

Vibecoding Three.js v roce 2025: když AI narazila na zeď 3D

Na podzim 2025 byla AI vlna v plném proudu, ale měla svůj tvar. Všichni vibecodili CRUD aplikace, landing pages, skripty, co slepí dvě API dohromady. Vyřešené problémy s milionem příkladů na internetu, které model spolykal. Co skoro nikdo nedělal, bylo pustit AI na 3D v prohlížeči. Three.js, WebGL, shadery. To se pořád bralo jako specialistické území, něco, co v týmu hodíte tomu jednomu člověku, co "dělá grafiku."

Já to dělal stejně. Někdy v říjnu 2025 jsem postavil interaktivní 3D vizualizér LED stěny, nástroj na rozložení LED panelů v prostoru tak, abyste reálně viděli výsledek. Ten projekt má vlastní příběh a tohle není on. Tohle je o zkušenosti vibecodingu 3D v době, kdy zrovna 3D bylo to, co modelům šlo nejhůř.

V čem byly modely fakt dobré

Buďme nejdřív fér, protože ta upřímná verze není "AI neumí 3D." Uměla toho hodně, a rychle.

Boilerplate byl dar z nebes. Postavit scénu, kameru, renderer, ošéfovat resize, animační smyčku, orbit controls. Ten ceremoniál je pokaždé stejný a modely ho znaly nazpaměť. Popsal jsem, co chci, a za pár vteřin naskočil funkční skelet. To samé okolní aplikace: UI panely, stav, import souborů, React lepidlo okolo canvasu. Všechno, co vlastně není 3D, jen software, jelo hladce jako kterýkoli jiný vibecoding.

Byly dobré i ve slovníku. Zeptáte se, jak naistancovat pár tisíc identických meshů, aby vám nepadl framerate, a dostanete InstancedMesh s rozumným vysvětlením. API Three.js je slušně zdokumentované a dobře zastoupené v trénovacích datech, takže na otázky typu "kterou metodu mám zavolat" byly modely rychlejší manuál než manuál sám.

Kde to padlo: matika nelže

A pak chcete něco, co po modelu chce, aby fakt uvažoval o prostoru, a propadne se vám podlaha.

Takže ho honíš

Režim, co reálně fungoval, nebyl "popiš to a přijmi výstup." Bylo to honění. Model jsem nechal dělat instalatérskou práci a u všeho prostorového převzal volant. Smyčka vypadala takhle: vyžádej si malý kus, spusť ho, podívej se na výsledek a vrať přesně to, co bylo špatně, ve fyzikálních pojmech. "Panel je otočený zády ke kameře." "Je natočený, horní hrana je vlevo." Konkrétní vizuální opravy, ne "oprav tu matiku."

Druhý trik na přežití bylo držet modelu malou porci práce. Nechtějte "rozložení zakřivené stěny." Chtějte "pro tuhle pozici panelu vrať rotaci, která jeho normálu namíří do počátku," ověřte tu jednu funkci izolovaně a jeďte dál. Čím menší prostorový krok, tím lepší šance. Čím větší prostorový skok, tím sebevědoměji špatná odpověď.

A museli jste toho umět dost, abyste to chytili. Tahle část se v hype přeskakuje. Model jsem mohl honit jen proto, že jsem uměl scénu přečíst a poznat, když je objekt jemně vedle. Někdo s nulovou 3D intuicí, co by stejný nástroj vibecodil v roce 2025, by vypustil něco, co skoro sedí a potichu je rozbité, a vůbec by netušil proč. Já to chytám proto, že jsem před reálnými LED stěnami na place odstál dost na to, abych věděl, kterým směrem má panel koukat.

Proč to stálo za to i tak

Jakkoli to bylo drsné, rozhodl bych se stejně. Protože i se vším tím honěním, boji s matikou a shaderovou bídou byl čistý výsledek ten, že jeden člověk postavil interaktivní 3D nástroj ve zlomku času, který by mu to zabralo sólo. Modely neuměly prostorové uvažování, ale smázly všechno okolo, a právě to okolo obvykle zabije side project dřív, než vůbec začne.

Hlubší pointa: na podzim 2025 znamenalo dělat tohle vůbec pracovat kousek před tím, kde bylo nářadí v pohodě. Celá debata o AI kódování byla placatá, dvojrozměrná, web a skripty. 3D byl kout, o kterém všichni předpokládali, že je moc těžký na to se s ním párat. Bylo to těžší. A přitom úplně proveditelné, pokud jste byli ochotní být tím prostorovým uvažováním, co modelu chybělo.

Tam obvykle bývá to zajímavé: ne tam, kde už jsou modely dobré, ale o krok dál, kde pořád musíte přinést něco, co ony nemají. Jestli vám v šuplíku leží 3D nápad, protože "to AI ještě pořádně neumí," tak právě to je důvod ho vytáhnout.

zpět na blog