Pascal — это редактор 3D-зданий на React Three Fiber и WebGPU. Он состоит из отдельных пакетов: ядро с Zustand-сторами, вьювер для рендеринга, редактор с инструментами и набор встроенных узлов. Узлы хранятся в плоском словаре, а связи задаются через parent/children. Системы обрабатывают только грязные узлы для оптимизации.
Пакеты имеют собственные Zustand-сторы: сцена сохраняется в IndexedDB с отменой/повтором до 50 шагов. Реестр связывает ID узлов с Three.js-объектами. Рендереры создают меши, системы обновляют геометрию и трансформы. Коммуникация через событийный шин (mitt).
Редактор включает инструменты: выбор, стены, зоны, предметы, плиты. Менеджер выбора поддерживает иерархию (здание/уровень/зона). Плагины расширяют функционал через тот же манифест, что и встроенные — без отдельного внутреннего API.
GitHub ★ 18,197

0 комментариев