Cables.gl — Quick Reference
Нодовий редактор WebGL: хоткеї, часті ops, порти й типи, граблі.
cheatsheet · ← до уроку · усі шпаргалки
[mod] = Cmd на макі, Ctrl на вінді/лінуксі. Джерело істини по клавішах — вкладка Keyboard Shortcuts у самому редакторі.
Хоткеї
| Клавіша | Дія |
Esc | додати op / закрити діалог op-search |
mod + s | зберегти патч (або файл коду) |
mod + shift + s | зберегти як новий патч |
mod + n | новий патч |
space | play/pause таймлайну |
space + drag | панорамування полотна |
mod + c / mod + v / del | копі / паст / видалити ops |
d | вимкнути op, не видаляючи |
a / shift + a | вирівняти виділені ops верт./гор. |
mod + f | Find: пошук ops (теги unconnected, bookmarked) |
shift + alt + ПКМ | перекинути кінець кабеля на інший порт |
Часті ops
| Op | Роль |
MainLoop | корінь рендер-дерева, тік щокадру |
Transform | позиція / поворот / масштаб гілки |
Circle / Rectangle / Mesh | геометрія до відмальовки |
Material* | шейдер/матеріал, ставиться до меша |
Time / Sin / Random | джерела чисел для анімації |
AudioAnalysis* | спектр/гучність як number/array |
Performance / Profiler | таймінги й лічильник викликів |
SubPatchOp | згорнути шматок графа у вузол |
GlParticles | частинки: буфер position/velocity/lifetime на GPU, emit→update→render |
Порти й типи
| Тип | Несе |
| Trigger | виклик виконання (не значення) |
| Number | число: rotation, scale, канал |
| String | шлях, назва, ім'я uniform |
| Boolean | вмикач гілки / прапорець |
| Array | масив: інстанси, спектр |
| Object | geometry / material / shader |
| Texture | текстура ≈ TOP, вхід матеріалу/пост |
⚠ точні кольори по типах різняться між білдами й темами — звіряти в патчі. Незмінне: trigger має окремий колір від усіх data-типів.
Граблі → симптом → лікування
| Граблі | Симптом | Лікування |
| Op не під trigger-ланцюгом | нічого не малюється | під'єднати trigger; mod+F → unconnected |
| Матеріал після меша | меш білий / без текстури | порядок material ▸ mesh |
| Зовнішній URL без CORS | чорна текстура + помилка в консолі | Access-Control-Allow-Origin або у Files |
| Звук без кнопки старту | тиша, аналіз = 0 | кнопка старту (жест користувача) |
| Масив щокадру | fps просідає, Profiler у тисячах | кешувати масив; інстансинг |
| Порядок гілок «не той» | фон малює поверх об'єктів | пересунути ops згори вниз по полотну |
Експорт по file:// | порожня сторінка | python3 -m http.server → localhost |
Експорт — коротко
| Спосіб | Що дає | Ціна |
| Patch Export (zip) | рушій + JSON + ассети = готова сторінка | важить більше; оновлення = переекспорт |
| Export without files | zip без ассетів (свій CDN) | сам стежиш за шляхами й CORS |
| iframe embed | найшвидше в чужу CMS | керувати сценою ззовні складніше |
| cables-cli | експорт зі скрипта / CI | треба standalone-білд, без GUI |