Оркестрация активна: «Большая задача»
Показано правил: 122
Core InvariantsalwaysApply: true

Core product invariants

.cursor/rules/00-core-product-invariants.mdc · 32 строк

3D perf — один GPU/WebGPU; no polling; no hardcode; только код не данные

Admin UI & DesignalwaysApply: true

/adm редактируем — /lite /slite показываем клиенту

.cursor/rules/adm-edit-lite-slite-client.mdc · 14 строк

"/adm = редактор сцены; /lite и /slite = то, что видит клиент. Приёмка не только в админке."

Admin UI & Designon-demand

Вход в админку (локальная разработка)

.cursor/rules/adm-login-env-credentials.mdc · 19 строк

Учётные данные админки — брать из корневого .env (ADM_USER_LOGIN / ADM_USER_PASSWORD)

Admin UI & Designon-demand

Док-панель — один скролл

.cursor/rules/adm-panel-one-scroll.mdc · 18 строк

Док-панель админки — один скролл оболочки; не второй max-h внутри листа

globs: src/_adm/SplineMenu.tsx,src/_adm/SplineMenu.module.scss,src/_adm/Tabs*.tsx,src/_adm/Tabs*.module.scss,src/_adm/TabsSettings.module.scss,src/_adm/Upload/**,src/_adm/Settings/**,src/_adm/Physics/**,src/_adm/SceneObjectsEditor/**,src/_adm/GlbOptimize/adm4/**,src/_adm/GlbOptimize/adm5/**,src/_adm/GlbOptimize/adm7/**,src/_adm/admPanelScroll.test.ts,_MD/OLD_BIG_MD/MD/context/ADM_PANEL_SCROLL_CONTEXT.md
Admin UI & Designon-demand

Public-root adm scene hosts

.cursor/rules/adm-public-root-scene-host.mdc · 36 строк

Public-root adm URLs (/1262) — один контракт для adm.slides3d.net и adm.slide3d.ru; upload, routing, parseAdmScenePath

globs: packages/annexx3d-core/src/state/utils/consts.js,src/App.jsx,src/AppAdminka.js,src/_adm/GlbOptimize/uploadTarget.ts,src/_adm/adm9/**,src/_adm/adm10/**,src/_adm/SplineMenuDeployAdm10.tsx,src/_adm/GlbOptimize/useGlbOptimizePanel.ts
Admin UI & Designon-demand

adm10 mesh export

.cursor/rules/adm10-mesh-export.mdc · 24 строк

adm10 лист 01 — экспорт GLB (модели, логические объекты, элементы) из живой сцены

globs: - _MD/OLD_BIG_MD/MD/context/ADM10_MESH_EXPORT_CONTEXT.md
Admin UI & Designon-demand

Админка: дефолт улучшений = `/adm6`

.cursor/rules/adm6-admin-ui-default.mdc · 37 строк

Улучшения админки по умолчанию — /adm6 на чистом SCSS

globs: src/_adm/**/*,src/_ui/pages/Auth/**/*,_MD/OLD_BIG_MD/MD/context/SLIDES3D_DEFAULT_HOSTS_CONTEXT.md,_MD/OLD_BIG_MD/MD/context/ADM6_SAVED_SCENES_CONTEXT.md
Admin UI & Designon-demand

Материал /adm6: круг и кнопка

.cursor/rules/adm6-material-assign.mdc · 14 строк

Круг цвета и кнопка «Назначить материал» на /adm6 пишут по-разному

globs: src/_adm/GlbOptimize/adm6/Adm6MaterialPanel.tsx,src/_adm/GlbOptimize/adm6/adm6MaterialLocks.ts,src/_adm/Image/ColorPicker/ColorPicker.js,src/_adm/Image/ColorPicker/ColorHelper.js,_MD/OLD_BIG_MD/MD/context/ADM6_SAVED_SCENES_CONTEXT.md,_MD/OLD_BIG_MD/MD/guides/ADM6_MATERIAL_ASSIGN_GUIDE.md
Admin UI & Designon-demand

ADM7 — дизайн по шаблону (не из головы)

.cursor/rules/adm7-design-problems-log.mdc · 52 строк

ADM7 дизайн — шаблон работы по Kit 5173, чеклист «готово», журнал проблем, smoke

globs: src/_adm/GlbOptimize/adm7/**,src/css/shadcn-dashboard/**,src/_adm/SceneObjectsEditor/**,_MD/OLD_BIG_MD/MD/context/ADM7_DESIGN_PROBLEMS_SOLUTIONS.md,_MD/OLD_BIG_MD/MD/context/ADM7_NEW_DESIGN_CONTEXT.md,_MD/OLD_BIG_MD/MD/context/ADM7_DARK_THEME_CONTEXT.md,_MD/OLD_BIG_MD/MD/context/ADM7_DESIGN_DONE_CHECKLIST.md
Admin UI & Designon-demand

`/adm7` — Iconify (SVG)

.cursor/rules/adm7-iconify-icons.mdc · 24 строк

/adm7 — иконки SVG через Iconify (Solar), как в Lyra-шаблоне

globs: src/_adm/GlbOptimize/adm7/**,src/_adm/SceneObjectsEditor/**
Admin UI & Designon-demand

`/adm7` — соответствие Lyra UI Kit

.cursor/rules/adm7-lyra-ui-kit-parity.mdc · 40 строк

/adm7 — вид примитивов как на Lyra UI Kit (localhost:5173/pages/ui-kit); не выдумывать свой chrome

globs: src/_adm/GlbOptimize/adm7/**,src/components/ui/**,src/_adm/GlbOptimize/adm7/adm7Theme.css,src/_adm/SceneObjectsEditor/**,_MD/OLD_BIG_MD/MD/context/ADM7_NEW_DESIGN_CONTEXT.md
Admin UI & Designon-demand

`/adm7` — новый дизайн, тот же продукт

.cursor/rules/adm7-new-design-surface.mdc · 39 строк

/adm7 — новый дизайн Lyra, тот же функционал что /adm6; chrome /adm6 не трогать

globs: src/_adm/GlbOptimize/adm7/**,src/_adm/SplineMenu.tsx,src/_adm/Tabs1.tsx,src/App.jsx,src/_adm/store/storeAdmMenu.js,src/_adm/Image/ColorPicker/ColorPicker.js,packages/annexx3d-core/src/state/utils/consts.js,packages/annexx3d-core/src/core/3d/dev2020/events_queries.ts,_MD/OLD_BIG_MD/MD/context/ADM7_NEW_DESIGN_CONTEXT.md
Admin UI & Designon-demand

`/adm7` — preflight UI Kit (5173)

.cursor/rules/adm7-ui-kit-5173-preflight.mdc · 50 строк

/adm7 UI — перед правкой кнопок и примитивов сверка с Lyra UI Kit на localhost:5173

globs: src/_adm/GlbOptimize/adm7/**,src/_adm/GlbOptimize/adm7/adm7Theme.css,src/_adm/SceneObjectsEditor/**,src/_adm/SceneVideoRecorder/**,src/_adm/GlbOptimize/components/SpecJsonBar.tsx
Admin UI & Designon-demand

`/adm9` — изолированный редизайн, `/adm` заморожен

.cursor/rules/adm9-surface-isolation.mdc · 35 строк

/adm9 — редизайн; /adm и классический chrome /adm не трогаем

globs: src/_adm/adm9/**,_MD/OLD_BIG_MD/MD/context/ADM9_CONTEXT.md,_MD/OLD_BIG_MD/MD/context/ADM9_UPLOAD_PLAN.md,src/_adm/SplineMenu.tsx,src/App.jsx,src/routes.js,packages/annexx3d-core/src/state/utils/consts.js
Admin UI & Designon-demand

`/adm9` — перенос страниц в дизайне UNITS

.cursor/rules/adm9-units-design-port.mdc · 43 строк

Перенос страницы или инструмента админки в /adm9 (PM прислал адрес страницы /adm, /adm6, /adm7, /adm8 или любой другой) — новый пункт rail + лист в дизайне UNITS по шаблону «03 / Загрузка» на /adm9/1266; не импровизировать стиль

globs: src/_adm/adm9/**,_MD/OLD_BIG_MD/MD/context/ADM9_CONTEXT.md,_MD/OLD_BIG_MD/MD/guides/ADM9_UI_REDESIGN_PLAYBOOK.md
⚡ Триггер: ** PM прислал адрес страницы админки (любой поверхности) в линии ADM9 или со словами «перенеси в adm9». Отдельного брифа по дизайну не ждать: дизайн уже выбран.
Admin UI & DesignalwaysApply: true

НАХУЙ НЕ ВЫДУМЫВАТЬ НИКОГДА СВОЙ ДИЗАЙН html элементов

.cursor/rules/admin-html-controls-copy-existing.mdc · 19 строк

Не выдумывать вид html-элементов — копировать уже нарисованный образец

Admin UI & DesignalwaysApply: true

Admin tools over data patches

.cursor/rules/admin-tools-over-data-patches.mdc · 15 строк

Главное правило — улучшать админку и runtime, не латать данные сцены

Admin UI & Designon-demand

Admin UI hints

.cursor/rules/admin-ui-button-tooltips.mdc · 10 строк

Tooltips for admin UI controls

globs: src/_adm/**/*.{js,jsx,ts,tsx}
Admin UI & Designon-demand

Стиль админки уже есть

.cursor/rules/admin-ui-existing-style.mdc · 18 строк

Не выдумывать дизайн админки — повторять живущие контролы

globs: src/_adm/**/*.{tsx,jsx,scss,css},_MD/OLD_BIG_MD/MD/context/ADM6_SAVED_SCENES_CONTEXT.md
Admin UI & Designon-demand

Input + icon (слева)

.cursor/rules/admin-ui-input-with-icon.mdc · 30 строк

Инпуты с иконкой слева — текст не под иконкой

globs: src/**/*.{tsx,jsx}
Admin UI & Designon-demand

Admin UI state — MobX, не локальный React state

.cursor/rules/admin-ui-mobx-state.mdc · 47 строк

Админ-панели и workflow UI — состояние в MobX store, не в useState компонента

globs: src/_adm/**/*,_MD/OLD_BIG_MD/MD/context/ECM_ROUTE_BUILDER_CONTEXT.md,_MD/OLD_BIG_MD/MD/context/TAG8360_TEXTURES_CONTEXT.md,_MD/OLD_BIG_MD/MD/context/CBU2082_TEXTURES_CONTEXT.md
Admin UI & Designon-demand

Admin UI — выделяемый текст

.cursor/rules/admin-ui-text-selectable.mdc · 26 строк

Текст в админке — выделяемый и копируемый

globs: src/_adm/**/*.{js,jsx,ts,tsx},src/_ai/**/*.{js,jsx,ts,tsx}
Orchestration & WorkflowalwaysApply: true

Краткость, роли, проверка

.cursor/rules/agent-brief-responses-devtools.mdc · 23 строк

Краткие ответы; PM↔техдиректор; chrome-devtools; handoff-триггеры

Other SpecializedalwaysApply: true

Agent-created test scenes

.cursor/rules/agent-created-test-scenes.mdc · 21 строк

Сцены, созданные агентом — решения и границы; не ломать PM-сцены

MD Context & Documentationon-demand

Инструкция / отчёт другому ИИ — полная, с нуля, любой стек

.cursor/rules/agent-instruction-full-recreate.mdc · 74 строк

"On-demand (NOT always): инструкция / промпт / отчет о работе для другого ИИ — полный recreate: код, проблемы→решения, любой стек, ссылки на сервер. Один этот файл = вся норма."

MD Context & Documentationon-demand

Handoff другому агенту → один hub-`.md`

.cursor/rules/agent-instruction-hub-single-md.mdc · 66 строк

Handoff другому ИИ — один hub-.md; одна строка для нового чата; только при создании инструкций (не always)

MD Context & Documentationon-demand

Инструкция для другого ИИ → hub-`.md` + абсолютные пути

.cursor/rules/agent-instruction-md-absolute-paths.mdc · 60 строк

Инструкции для другого ИИ — hub-.md с абсолютными путями; только при создании инструкций (не always)

Orchestration & WorkflowalwaysApply: true

Ресурсы компьютера PM и контекст чата

.cursor/rules/agent-machine-resources.mdc · 25 строк

Машина PM и бюджет чата — лимит; не второй webpack/GPU и не второй агент; зависание и переполнение окна стережёт агент → CONTEXT + copy-paste

Orchestration & Workflowon-demand

«Дай ссылку» → клик в чате

.cursor/rules/agent-pm-copyable-link.mdc · 40 строк

"On-demand (NOT always): «дай ссылку» — HTTP кликабельные; файлы кликабельные + что внутри"

⚡ Триггер: «дай ссылку», «ссылку на», «кинь путь», «что скопировать / отправить в другое окно».
Orchestration & WorkflowalwaysApply: true

PM pushback и АХТУНГ

.cursor/rules/agent-pm-pushback-achtung.mdc · 15 строк

Техдиректор обязан возражать PM, если решение ведёт к регрессии; маркер АХТУНГ

Rules Engine & GovernancealwaysApply: true

Rules Preflight

.cursor/rules/agent-rules-preflight.mdc · 29 строк

Mandatory preflight — ядро always + индекс on-demand rules

⚡ Триггер: false`). Не спрашивать. Always только если в той же фразе есть «всегда» / always / «каждый чат».
Orchestration & Workflowon-demand

Scope агента в инструкциях для других ИИ

.cursor/rules/agent-scope-and-prompts.mdc · 68 строк

Scope в промптах для другого ИИ — Разрешено/Запрещено, абсолютные пути; только при создании инструкций

⚡ Триггер: «инструкция для другого агента», «промпт для ИИ», «отчёт о проделанной работе», handoff, «документация для другого ИИ».
Rules Engine & Governanceon-demand

Diagnose gate + shell parity (on-demand)

.cursor/rules/ai-diagnose-gate-shell-parity.mdc · 44 строк

Diagnose gate + hypothesis budget when lite/slite ≠ adm or scroll/camera bugs

globs: - src/_adm/playCanvasWatchCameraFrame.ts
Three.js & WebGPU Runtimeon-demand

Авторский compute ≠ клиентский playback

.cursor/rules/authoring-raycast-vs-client-playback.mdc · 26 строк

On-demand (NOT always): лучи/proxy-box камеры и маршрута только при авторстве в /adm при mov=0. Клиентский playback их не считает.

globs: src/routes_functions/bindCameraBesideActorRoute.ts,src/routes_functions/bindCameraToInternalRoute.ts,src/routes_functions/compileScrollBitToInternalRoute.ts,src/routes_functions/bindObjectToInternalRoute.ts,src/routes_functions/applyTravelFacingToCubePoints.ts,src/routes_functions/scoreCameraRouteFrustum.ts,src/routes_functions/isAuthoringRaycastMode.ts,src/routes_functions/collectEnvFix1OccluderMeshes.ts,src/routes_functions/castCameraFrustumOcclusionHits.ts,src/routes_functions/castCameraSegmentOcclusionHits.ts,src/routes_functions/castCameraSegmentCorridorHits.ts,src/routes_functions/pickCameraBesideWindowSide.ts,src/routes_functions/nudgeCameraBesideActorRoute.ts,src/routes_functions/actorPathProxyBoxes.ts,_MD/OLD_BIG_MD/MD/context/SLIDE3D_MCP_CONTEXT.md,_MD/OLD_BIG_MD/MD/guides/SLIDE3D_MCP_CAMERA_FRUSTUM_OCCLUSION_PLAN.md,_MD/OLD_BIG_MD/MD/guides/SLIDE3D_MCP_CAMERA_CORRIDOR_UPRIGHT_PLAN.md
Orchestration & Workflowon-demand

Большая задача

.cursor/rules/big-task.mdc · 49 строк

Только когда пользователь пишет «большая задача». План в отдельном md, в одном окне одна подзадача, затем проверка и блок для нового окна. С «делай оркестр сам» человека между подзадачами не спрашивать, у каждого исполнителя всё равно одна подзадача. Не Always.

⚡ Триггер: ** в сообщении пользователя есть фраза **«большая задача»**.
Other Specializedon-demand

Каталог `is_shared`

.cursor/rules/catalog-entity-is-shared.mdc · 43 строк

is_shared — общий каталог ассетов между пользователями; adm9 split «мои» / «общие»; adm10 лист «06 / Добавить» только берёт общие модели

globs: src/_adm/Model/**,src/_adm/adm9/**,src/_service/fetch/fetchDC.js,packages/annexx3d-core/src/state/http/**,_MD/OLD_BIG_MD/MD/context/CATALOG_ENTITY_SHARE_CONTEXT.md
Three.js & WebGPU RuntimealwaysApply: true

Цели: 3D-сцены и красота для клиента

.cursor/rules/client-beauty-3d-scenes.mdc · 17 строк

Always — уметь создавать 3D-сцены; итоговая цель — красиво для клиента на /lite /slite

Three.js & WebGPU Runtimeon-demand

Clipping plane shared runtime

.cursor/rules/clipping-plane-shared-runtime.mdc · 52 строк

Shared clipping plane runtime — reuse clippingPlaneRuntime, no duplicate traverse; tests before changes

globs: - packages/annexx3d-core/src/commands/clipping/**
Session & Handoffon-demand

Закрытие окна / успех задачи

.cursor/rules/context-window-close-handoff.mdc · 15 строк

Финал сессии — триггеры «закрываем окно», «отлично», handoff /Users/mac/Documents/__2027/front/big_WebGPU/_MD/OLD_BIG_MD/MD/контекст

⚡ Триггер: «закрываем окно», «закрываем контекстное окно», «отлично», «задача решена», «супер» и смысловые варианты.
Orchestration & Workflowon-demand

Продолжать конкретную задачу после орг-вопросов

.cursor/rules/continue-explicit-task-after-brief.mdc · 23 строк

Если в окне уже есть конкретная задача/промпт, после орг-вопросов продолжать выполнение следующего шага

Other Specializedon-demand

Браузер для отладки — Cursor в первую очередь

.cursor/rules/cursor-browser-debug-default.mdc · 32 строк

Отладка UI/3D в браузере — по умолчанию встроенный браузер Cursor, не chrome-devtools MCP

Rules Engine & GovernancealwaysApply: true

Always-ядро — защита от случайного удаления

.cursor/rules/cursor-rules-always-core-protected.mdc · 48 строк

HARD STOP — always-ядро защищено от delete/demote; канон в ALWAYS_CORE_MANIFEST.md

Rules Engine & Governanceon-demand

Факты в правилах — согласованность

.cursor/rules/cursor-rules-fact-consistency.mdc · 31 строк

Факты в правилах — один источник и одна версия; точечные правки, не big-bang; фактура grep до выводов

globs: _MD/Cursor_Rules/**,_MD/OLD_BIG_MD/MD/context/CURSOR_RULES_CONTEXT.md
Rules Engine & Governanceon-demand

Cursor rules — lifecycle (add / edit / delete)

.cursor/rules/cursor-rules-lifecycle.mdc · 68 строк

Добавление / правка / удаление Cursor rules — always vs on-demand; защита always-ядра

globs: _MD/OLD_BIG_MD/MD/context/CURSOR_RULES_CONTEXT.md,_MD/Cursor_Rules/**
⚡ Триггер: false`**. Не спрашивать. Always — только если PM в этой же просьбе явно написал always / «всегда» / «каждый чат», правило короткое (инвариант ~≤25 строк) и строка добавлена в **`ALWAYS_CORE_MANIFEST.md`**.
Rules Engine & Governanceon-demand

Cursor rules → PM-сок

.cursor/rules/cursor-rules-pm-sync.mdc · 25 строк

После правок `.cursor/rules/*.mdc` — обновить `_MD/OLD_BIG_MD/MD/_MANAGER/_RULES/cursor_rules.md` и кратко сообщить PM

globs: _MD/OLD_BIG_MD/MD/_MANAGER/_RULES/cursor_rules.md,_MD/Cursor_Rules/**
⚡ Триггер: тоже ссылки на регулирующие `.mdc` / MD.
Rules Engine & Governanceon-demand

Справочник общих правил — синхронизация

.cursor/rules/cursor-rules-portable-sync.mdc · 22 строк

On-demand — добавил/обновил Cursor rule → в том же ходе обновить PORTABLE_CURSOR_RULES_FOR_NEW_PROJECTS_GUIDE.md

globs: _MD/OLD_BIG_MD/MD/guides/PORTABLE_CURSOR_RULES_FOR_NEW_PROJECTS_GUIDE.md,_MD/OLD_BIG_MD/MD/context/CURSOR_RULES_CONTEXT.md,_MD/OLD_BIG_MD/MD/_MANAGER/_RULES/cursor_rules.md,_MD/Cursor_Rules/**
⚡ Триггер: добавление, правка, переименование или удаление Cursor-правила (`.mdc`) либо общей команды-фразы.
Rules Engine & Governanceon-demand

Полнота охвата — HARD STOP

.cursor/rules/cursor-rules-writing.mdc · 34 строк

HARD STOP — перечень не равен охвату; частные случаи (конкретная сцена, объект, модель) не идут в правила и каталог; при правке `.cursor/rules/*.mdc`, каталога инструментов или CURSOR_RULES CONTEXT/MD

globs: _MD/OLD_BIG_MD/MD/context/CURSOR_RULES_WRITING_CONTEXT.md,_MD/OLD_BIG_MD/MD/context/CURSOR_RULES_CONTEXT.md,_MD/OLD_BIG_MD/MD/_MANAGER/_RULES/cursor_rules.md,.cursor/rules/**/*.mdc,.cursorrules,_MD/OLD_BIG_MD/MD/guides/PRODUCT_TOOLS_SHORT.md,_MD/OLD_BIG_MD/MD/guides/PRODUCT_TOOLS_AGENT_HUB.md
Deployment & Infrastructureon-demand

Не копировать и не «откатывать» бандл между хостами

.cursor/rules/deploy-never-cross-host-bundle-restore.mdc · 46 строк

HARD STOP — не восстанавливать React build одного хоста на другом (CORS / API pin)

globs: - scripts/deploy-external-sites.sh
Deployment & Infrastructureon-demand

Архив перед деплоем — только целевой сайт

.cursor/rules/deploy-pre-archive.mdc · 54 строк

Архив артефакта деплоя (не всего репо) перед заливкой на annexx3d / anx-3d / slide3d

⚡ Триггер: «задеплой на annexx3d.ru», «деплой annexx3d», «деплой astro1», `deploy-external-sites.sh`.
Other Specializedon-demand

Владелец записи каталога (ownership)

.cursor/rules/entity-catalog-record-ownership.mdc · 37 строк

Каталоги админки — только владелец редактирует/удаляет запись; DRY guard на бэке и фронте

globs: src/_adm/**/*Page.js,src/_adm/catalog/**,packages/annexx3d-core/src/state/http/**,_MD/OLD_BIG_MD/MD/context/CATALOG_ENTITY_SHARE_CONTEXT.md
Core Invariantson-demand

Секреты, `.env` и чистый Commit

.cursor/rules/env-secrets-no-push.mdc · 27 строк

Push hygiene — .env, .env.example, pre-push hook, отладочные файлы в gitignore

Deployment & Infrastructureon-demand

External sites deploy

.cursor/rules/external-sites-deploy.mdc · 72 строк

Deploy external sites (_astro1, _astro2, annexx3d, anx-3d) after runtime or host updates

globs: - _astro1/**
⚡ Триггер: «задеплой _astro1», «деплой slide3d», «задеплой _astro1 на example10.slide3d.ru», «обнови astro2/example1», «все astro сайты», «external sites», `deploy-external-sites.sh`.
Core Invariantson-demand

Чужие репозитории

.cursor/rules/foreign-repos-no-touch.mdc · 20 строк

Handoff в чужой репо / host-проект — не править файлы вне api3d_3; абсолютные пути

Deployment & Infrastructureon-demand

Деплой бэкенда api3d (Fornex)

.cursor/rules/fornex-deploy-api3d-backend.mdc · 35 строк

Деплой Node api3d на Fornex (PM2)

⚡ Триггер: деплой/обновление **api3d**, API, `/var/www/api3d`, PM2 `api3d`, rsync бэка, `index.js` на сервере. Не путать с фронтом **anx-3d.ru** → `fornex-deploy.mdc`. Только «деплой на форнекс» без контекста — **уточни**: фронт или бэк.
Deployment & Infrastructureon-demand

Деплой фронта (anx-3d.ru)

.cursor/rules/fornex-deploy.mdc · 55 строк

Деплой фронта api3d_3 на anx-3d.ru

⚡ Триггер: деплой **anx-3d.ru**, «задеплой на anx-3d.ru», anx3d, fornex, build на VPS, «обнови сайт на Fornex».
Deployment & Infrastructureon-demand

Fornex SSH

.cursor/rules/fornex-ssh.mdc · 19 строк

SSH на Fornex (алиас fornex)

Other Specializedon-demand

Граница frontend / backend

.cursor/rules/frontend-backend-boundary.mdc · 21 строк

Backend, Supabase, server3d.ru, миграции — только после явного «да» PM

Other SpecializedalwaysApply: true

Frontend design skill (always)

.cursor/rules/frontend-design-skill-always.mdc · 15 строк

UI/редизайн — всегда читать skill frontend-design перед работой

Other Specializedon-demand

HTML → 3D route

.cursor/rules/html-to-3d-route.mdc · 58 строк

"On-demand (NOT always): HTML якорь → live start Cubesroute. Tabs10 panel10. Не screenAnchor3d."

globs: src/_adm/HtmlTo3dRoute/**/*,src/AppRouterLite.js,src/AppRouterSuperLite.js,packages/annexx3d-core/src/hosts/slite/**/*,src/routes_functions/**/*,src/_adm/SceneObjectsEditor/ObjectScaleTool.tsx,packages/annexx3d-core/src/state/store/storeHtmlTo3dRoute*,packages/annexx3d-core/src/commands/htmlTo3d/**/*,packages/annexx3d-core/src/commands/scroll/htmlTo3dRouteInstruction*,packages/annexx3d-core/src/commands/cubeRoutes/routePointParamsLock*,packages/annexx3d-core/src/commands/cubeRoutes/routePointUserRotate*,src/bridge/scroll/RoutePointsTable.tsx,src/_adm/Tabs10.tsx,_MD/OLD_BIG_MD/MD/context/HTML_TO_3D_ROUTE_CONTEXT.md,_MD/OLD_BIG_MD/MD/guides/HTML_TO_3D_ROUTE_HOST_EMBED_GUIDE.md,_MD/OLD_BIG_MD/MD/guides/HTML_TO_3D_PHOTO_MODEL_PLAYBOOK.md,_MD/OLD_BIG_MD/MD/guides/HTML_TO_3D_MODEL_EXITS_IMAGE_AGENT_GUIDE.md,_MD/OLD_BIG_MD/MD/guides/HTML_TO_3D_SCENE_1156_HOST_AGENT_GUIDE.md,_MD/OLD_BIG_MD/MD/guides/HTML_TO_3D_SCROLL_ROUTE_AGENT_GUIDE.md
Other Specializedon-demand

Улучшение ИИ чата

.cursor/rules/improve-ai-chat.mdc · 62 строк

"On-demand (NOT always): «Улучшение ИИ чата» — функции + JSON-слой + документация чата. Не рутина."

globs: src/routes_functions/**,src/scene_functions/**,_MD/OLD_BIG_MD/MD/context/SCENE_FUNCTIONS_CONTEXT.md,_MD/OLD_BIG_MD/MD/guides/PARAMS123_FILL_CONTRACT_GUIDE.md,_MD/OLD_BIG_MD/MD/mistral-roadmap/problems-solutions/**,_MD/OLD_BIG_MD/MD/context/CURSOR_RULES_CONTEXT.md
⚡ Триггер: зонтик.
MD Context & Documentationon-demand

Improvements Docs Preflight

.cursor/rules/improvements-docs-preflight.mdc · 22 строк

Read improvement docs before optimization or improvement work

Rules Engine & Governanceon-demand

DRY — живой путь, не велосипед

.cursor/rules/karpathy-style-engineering.mdc · 40 строк

DRY — не второй путь той же операции; вызвать живой runtime, не кнопку редактора

globs: src/_adm/GlbOptimize/previewGuestLocalGlb.ts,src/_adm/GlbOptimize/GlbOptimizePanel.tsx,src/_adm/GlbOptimize/**/*.ts,src/_adm/GlbOptimize/**/*.tsx,src/_adm/Upload/UploadModel.tsx,packages/annexx3d-core/src/core/3d/loading/**,src/_adm/store/store3d.ts,src/_ui/pages/Settings/Settings.jsx,src/_ui/pages/Settings/Settings.tsx,_MD/OLD_BIG_MD/MD/context/DRY_REUSE_EXISTING_RUNTIME_CONTEXT.md,_MD/OLD_BIG_MD/MD/gltf_transform/15_GUEST_LOCAL_GLB_PREVIEW_PLAN.md
Rules Engine & Governanceon-demand

Docs и тесты

.cursor/rules/large-changes-docs-and-tests.mdc · 17 строк

Когда создавать /Users/mac/Documents/__2027/front/big_WebGPU/_MD/OLD_BIG_MD/MD и тесты

MD Context & Documentationon-demand

Context /Users/mac/Documents/__2027/front/big_WebGPU/_MD/OLD_BIG_MD/MD — entry points (код)

.cursor/rules/md-context-code-entry-points.mdc · 64 строк

/Users/mac/Documents/__2027/front/big_WebGPU/_MD/OLD_BIG_MD/MD/context — в шапке обязателен блок Entry points (код) с путями к компонентам и on-demand rule

globs: _MD/OLD_BIG_MD/MD/context/**
MD Context & Documentationon-demand

CONTEXT → on-demand rules (switch)

.cursor/rules/md-context-line-switch.mdc · 33 строк

Открыт/цитирован CONTEXT — entry points → только on-demand rules линии; не always, не все feature rules

globs: _MD/OLD_BIG_MD/MD/context/*_CONTEXT.md
MD Context & Documentationon-demand

/Users/mac/Documents/__2027/front/big_WebGPU/_MD/OLD_BIG_MD/MD handoff — справочник по необходимости

.cursor/rules/md-context-reference-on-demand.mdc · 37 строк

/Users/mac/Documents/__2027/front/big_WebGPU/_MD/OLD_BIG_MD/MD/context и handoff-/Users/mac/Documents/__2027/front/big_WebGPU/_MD/OLD_BIG_MD/MD — справочник по необходимости; «Прочитай…» не означает читать всё сразу

globs: _MD/OLD_BIG_MD/MD/**
MD Context & Documentationon-demand

/Users/mac/Documents/__2027/front/big_WebGPU/_MD/OLD_BIG_MD/MD naming

.cursor/rules/md-file-naming.mdc · 10 строк

/Users/mac/Documents/__2027/front/big_WebGPU/_MD/OLD_BIG_MD/MD file name suffixes by purpose

globs: _MD/OLD_BIG_MD/MD/**
MD Context & Documentationon-demand

Куда класть MD (канон: OLD_BIG_MD)

.cursor/rules/md-file-placement.mdc · 12 строк

Папки knowledge MD_2026/MD по назначению

globs: _MD/OLD_BIG_MD/MD/**
MD Context & Documentationon-demand

PM briefs — /Users/mac/Documents/__2027/front/big_WebGPU/_MD/OLD_BIG_MD/MD/_MANAGER/

.cursor/rules/md-manager-pm-briefs.mdc · 53 строк

PM-шпаргалки — кратко записывать важные вопросы PM в /Users/mac/Documents/__2027/front/big_WebGPU/_MD/OLD_BIG_MD/MD/_MANAGER/

globs: _MD/OLD_BIG_MD/MD/_MANAGER/**
⚡ Триггер: PM явно спросил «как объяснить…», «чем отличается…», «запомни для меня»; или handoff («отлично» / «закрываем окно») — если в сессии был такой инсайт для PM.
MD Context & DocumentationalwaysApply: true

Markdown не остаётся только на диске

.cursor/rules/md-push-when-changed.mdc · 27 строк

Создал или изменил markdown справочника — в том же ходе commit и push, чтобы файл не остался только на диске. Always.

MD Context & Documentationon-demand

MD_Sales: язык продаж (RU)

.cursor/rules/md-sales-ru-market-copy.mdc · 180 строк

MD_Sales (MD_2026) — русский рынок, без англицизмов и необоснованных допущений

globs: /Users/mac/Documents/__2027/MD_2026/MD_Sales/**
⚡ Триггер: маржа уходит в разработку.
MD Context & DocumentationalwaysApply: true

Функции + Mistral (переключатель)

.cursor/rules/mistral-functions-mastery.mdc · 21 строк

Always — рутина ≠ документация чата; «Улучшение ИИ чата» = функции + JSON + доки

Three.js & WebGPU Runtimeon-demand

Подгонка модели при первом добавлении — защищённый инструмент

.cursor/rules/model-fit-on-add-protected.mdc · 32 строк

Подгонка размера и центра модели при первом добавлении на сцену — важный инструмент, не удалять и не ломать

globs: packages/annexx3d-core/src/core/3d/loading/fitModelScale.ts,packages/annexx3d-core/src/core/3d/loading/fitModelScale.test.ts,packages/annexx3d-core/src/core/3d/loading/loadGLB_4.ts,packages/annexx3d-core/src/core/3d/loading/loadedParams.ts,_MD/OLD_BIG_MD/MD/context/CURSOR_RULES_NO_CODE_FIRST_PLAN.md
Three.js & WebGPU Runtimeon-demand

mov=1 Standard Route Runtime

.cursor/rules/mov1-standard-route-runtime.mdc · 43 строк

mov=1 must use standard route/scroll runtime, never direct model rotation

globs: _astro*/**,src/_commands/scroll/**,src/_adm/Animation/**,src/_ai/SceneJsonData.tsx,src/voca3d/store/**
Core InvariantsalwaysApply: true

No heuristic scene behavior

.cursor/rules/no-heuristic-scene-behavior.mdc · 29 строк

Запрет эвристик «угадать объект/поведение» — только явные данные из БД/store; все модели равны для кода

Core InvariantsalwaysApply: true

No polling / timers

.cursor/rules/no-polling-runtime.mdc · 13 строк

No polling, timers, rAF abuse — 3D load speed and low CPU/GPU

Three.js & WebGPU Runtimeon-demand

OrbitControls basis regression

.cursor/rules/orbitcontrols-basis-regression.mdc · 16 строк

OrbitControls Y-up после scroll — регрессия scrollInit/loadedParams/viewer

globs: src/_commands/scroll/**,src/_THREE/**/loadedParams*,src/**/viewer*,src/voca3d/store/storeSettings*
Orchestration & Workflowon-demand

Оркестрация большого плана

.cursor/rules/orchestrate-plan.mdc · 55 строк

ONLY when the user explicitly writes «делай оркестр {тип агента}», «делай оркестр сам» or /orchestrate. Parent cuts the plan into batches and gives each batch to one worker. Never for ordinary coding requests. Not Always — do not pull into normal chats.

⚡ Триггер: ** пользователь явно написал `делай оркестр {тип агента}`, `делай оркестр сам` или `/orchestrate`.
Three.js & WebGPU Runtimeon-demand

Photo album workflow (on-demand)

.cursor/rules/photo-album-texture-workflow.mdc · 40 строк

Photo album user2/imgN — сжатие, копия, назначение textureMap сцене; не трогать этalon album in-place

globs: scripts/compress-cbu2082-textures.mjs,scripts/setup-cbu2082-perf-scene.py,scripts/seed-*-scene.py,_MD/OLD_BIG_MD/MD/guides/PHOTO_ALBUM_TEXTURE_WORKFLOW_GUIDE.md,_MD/OLD_BIG_MD/MD/context/CBU2082_TEXTURES_CONTEXT.md,src/_adm/Cbu2082Textures/**,src/_adm/Tag8360Textures/**,src/_adm/Cbs2213Textures/**,src/_adm/Cbz2080Textures/**
Rules Engine & Governanceon-demand

Plan Mode For Large Tasks

.cursor/rules/plan-mode-large-complex-tasks.mdc · 11 строк

Use Plan Mode by default for large or complex tasks

Three.js & WebGPU Runtimeon-demand

Product Route Showcase (витрина)

.cursor/rules/product-route-showcase.mdc · 51 строк

"On-demand (NOT always): Витрина HTML-кнопка→маршрут — только globs/линия PM. Entry: ProductRouteShowcaseSettings.tsx panel9"

globs: src/_adm/ProductRouteShowcase/**/*,packages/annexx3d-core/src/state/store/storeProductRouteShowcase*,packages/annexx3d-core/src/commands/productShowcase/**/*,packages/annexx3d-core/src/commands/scene3d/onSceneObjectAddedRouteSnap*,packages/annexx3d-core/src/commands/objects3d/loadSvg.ts,packages/annexx3d-core/src/commands/objects3d/addText3d.ts,src/_adm/Tabs10.tsx,src/routes_functions/computeRouteMotionWindow*,src/routes_functions/buildUnifiedScrollBindingsFromShowcase*,src/routes_functions/buildShowcaseBindingsFromScroll*,src/routes_functions/scalePlanarLayoutOffsets*,_MD/OLD_BIG_MD/MD/context/PRODUCT_ROUTE_SHOWCASE_CONTEXT.md,_MD/OLD_BIG_MD/MD/guides/PRODUCT_ROUTE_SHOWCASE_HOST_EMBED_GUIDE.md
Other SpecializedalwaysApply: true

Сначала каталог, потом новый или изменённый инструмент

.cursor/rules/product-tools-lookup-before-build.mdc · 45 строк

Только готовый инструмент. Адрес файла — уже загрузка. Второй путь той же операции запрещён

⚡ Триггер: ** любая правка кода в `src/`, `packages/`, `scripts/` — новая возможность, багфикс, правка загрузчика, сохранения, камеры, маршрутов, стиля, текста. Не перечень: что в этих каталогах меняет код, под триггер попадает. Без правки кода (чтение, вопрос, правка `.md`) каталог не обязателен.
MD Context & Documentationon-demand

Промпты в /Users/mac/Documents/__2027/front/big_WebGPU/_MD/OLD_BIG_MD/MD

.cursor/rules/prompt-documents-in-md.mdc · 10 строк

Промпты для агентов — в /Users/mac/Documents/__2027/front/big_WebGPU/_MD/OLD_BIG_MD/MD/prompts

globs: _MD/OLD_BIG_MD/MD/prompts/**
Deployment & Infrastructureon-demand

REACT_APP_URL deploy pinning

.cursor/rules/react-app-url-deploy-pinning.mdc · 57 строк

Prod deploy must pin REACT_APP_URL per host; .env is not the source of truth

Other Specializedon-demand

UI/UX для React-компонентов

.cursor/rules/react-ui-ux-info.mdc · 45 строк

Простые UI-компоненты с понятным UX и справкой Info

globs: src/**/*.{tsx,jsx}
Session & Handoffon-demand

Переиспользуемые решения → /Users/mac/Documents/__2027/front/big_WebGPU/_MD/OLD_BIG_MD/MD + тесты

.cursor/rules/reusable-solutions-handoff.mdc · 49 строк

При handoff фиксировать переиспользуемые решения в /Users/mac/Documents/__2027/front/big_WebGPU/_MD/OLD_BIG_MD/MD и тестах

Three.js & WebGPU Runtimeon-demand

Посадка на поверхность и маршруты

.cursor/rules/route-and-model-sit-on-surface.mdc · 35 строк

On-demand (NOT always): посадка моделей на поверхность и маршруты (cubePoints Y, Mixamo root ≠ пол, камера не отстаёт). Trigger: эти globs или линия SLIDE3D_MCP / SCENE_FUNCTIONS.

globs: src/scene_functions/sitBboxMinYOnSurface.ts,src/scene_functions/sitOnSurfacePolicy.ts,src/scene_functions/getPublishedGlbFootprint.ts,src/scene_functions/getPublishedGlbPlaces.ts,src/scene_functions/buildCastleKnightsScrollExamScene.ts,src/routes_functions/compileScrollBitToInternalRoute.ts,src/routes_functions/bindCameraBesideActorRoute.ts,src/routes_functions/bindObjectToInternalRoute.ts,src/routes_functions/bindCameraToInternalRoute.ts,_MD/OLD_BIG_MD/MD/guides/ROUTE_AND_MODEL_SIT_ON_SURFACE_GUIDE.md,_MD/OLD_BIG_MD/MD/mistral-roadmap/problems-solutions/BBOX_SIT_ON_SURFACE.md,_MD/OLD_BIG_MD/MD/context/SLIDE3D_MCP_CONTEXT.md
⚡ Триггер: эти globs
Three.js & WebGPU Runtimeon-demand

Route domains

.cursor/rules/route-domain-separation.mdc · 20 строк

Main scroll camera route vs preview/object routes — cubeRoutes, scrollInit

globs: src/routes_functions/**,src/_commands/cubeRoutes/**,src/_commands/scroll/**,src/voca3d/store/storeCubesroute*,src/voca3d/store/storeSettings*,src/_adm/Cubesroute/**,src/_ai/**/Mistral*,src/_commands/**/commandHandlers*,_MD/OLD_BIG_MD/MD/context/ROUTES_ANIMATIONS_CONTEXT.md,_MD/OLD_BIG_MD/MD/context/COMPONENT_JSON_CONTRACT_CONTEXT.md
Three.js & WebGPU Runtimeon-demand

Route point cloud mov size parity

.cursor/rules/route-point-cloud-mov-size-parity.mdc · 26 строк

mov=0/mov=1 — один footprint для mesh и route point cloud; конец scroll не гасит облако

globs: - src/_adm/PointsShaders/**
Three.js & WebGPU Runtimeon-demand

Работаем с маршрутами!

.cursor/rules/routes-functions-mastery.mdc · 55 строк

Линия ROUTES_ANIMATIONS — дефолт «Работаем с маршрутами!». Другая линия — только по фразе. Улучшать src/routes_functions/, не патчить точки.

globs: src/routes_functions/**,_MD/OLD_BIG_MD/MD/context/ROUTES_ANIMATIONS_CONTEXT.md,_MD/OLD_BIG_MD/MD/guides/ROUTES_FUNCTIONS_GUIDE.md,_MD/OLD_BIG_MD/MD/architecture/ROUTE_EDIT_FUNCTIONS_API_PLAN.md
⚡ Триггер: [`mistral-functions-mastery.mdc`](./mistral-functions-mastery.mdc). Не-маршрутные правки сцен → `src/scene_functions/`, не сюда.
Three.js & WebGPU Runtimeon-demand

Routes mastery (путь к глобальной цели)

.cursor/rules/routes-mastery-learning-goal.mdc · 28 строк

Линия ROUTES — путь к глобальной цели; глубоко изучать и строить сложные маршруты

globs: packages/annexx3d-core/src/commands/scroll/**,packages/annexx3d-core/src/commands/cubeRoutes/**,packages/annexx3d-core/src/state/store/storeRoutesAnimsUnified*,packages/annexx3d-core/src/state/store/storeCubesroute*,src/_adm/Animation/Unified*.tsx,src/_adm/Cubesroute/**,src/_ai/SceneJsonData.tsx,scripts/seed-scene*route*,scripts/seed-scene1117*,scripts/seed-scene1120*,_MD/OLD_BIG_MD/MD/context/ROUTES_ANIMATIONS_CONTEXT.md,_MD/OLD_BIG_MD/MD/MD_routes/**,_MD/OLD_BIG_MD/MD/guides/PROBLEMS_AND_DECISIONS_GUIDE.md
Other Specializedon-demand

Runtime model id

.cursor/rules/runtime-model-identity.mdc · 12 строк

Runtime model id — model_unid, не uuid как долговременный ключ

globs: src/_commands/**,src/_adm/**,src/_ai/**,src/voca3d/store/**,src/_THREE/**
Rules Engine & Governanceon-demand

Не сохранилось — три проверки сразу

.cursor/rules/save-did-not-stick-check.mdc · 17 строк

"On-demand: что-то не сохранилось — сразу три проверки: ушло в базу, пришло после перезагрузки, встало в сцену. Не always."

Three.js & WebGPU RuntimealwaysApply: true

STRICT: мутации данных сцены

.cursor/rules/scene-data-mutation-strict.mdc · 17 строк

STRICT — удаление объектов и смена маршрутов только по явной команде PM

Three.js & WebGPU Runtimeon-demand

Копия 3D-сцены: shared assets (экономия места на сервере)

.cursor/rules/scene-duplicate-shared-assets.mdc · 34 строк

Копия 3D-сцены — shared assets (dbOnly); withOwnFiles только по явной просьбе

globs: src/_adm/Model/**,packages/annexx3d-core/src/state/http/commAPI.js,_MD/OLD_BIG_MD/MD/guides/SCENE_COPY_INHERITANCE_GUIDE.md
Three.js & WebGPU Runtimeon-demand

Работаем со сценами!

.cursor/rules/scene-functions-mastery.mdc · 31 строк

"On-demand (NOT always): src/scene_functions/. Корпус Mistral — «Улучшение ИИ чата» / «Работаем со сценами!». Always — mistral-functions-mastery.mdc."

globs: src/scene_functions/**,_MD/OLD_BIG_MD/MD/context/SCENE_FUNCTIONS_CONTEXT.md,_MD/OLD_BIG_MD/MD/guides/SCENE_FUNCTIONS_GUIDE.md,_MD/OLD_BIG_MD/MD/mistral-roadmap/problems-solutions/**
⚡ Триггер: рутина.
Three.js & WebGPU Runtimeon-demand

Scene object point cloud — SkinnedMesh (STRICT)

.cursor/rules/scene-object-point-cloud-skinned-glb.mdc · 57 строк

Skinned GLB — облако точек только с applyBoneTransform; bind pose = «шар» (регрессия #1079 colette)

globs: - src/_adm/SceneObjectsEditor/extractPointCloudFromObject.ts
Other Specializedon-demand

Scene3d regressions

.cursor/rules/scene3d-runtime-regressions.mdc · 18 строк

Scene3d click routes — регрессия /adm/894, storeScene3d, scene3dEngine

globs: src/_commands/scene3d/**,src/_ai/SceneJsonData.tsx,src/voca3d/store/storeScene3d*,src/_commands/scroll/alignClickRouteObjects*
Admin UI & Designon-demand

Screen Adaptive Layout

.cursor/rules/screen-adaptive-layout.mdc · 27 строк

"On-demand (NOT always): адаптив 3D к точкам канваса / breakpoint. Tabs10 panel11 (статика) + panel12 (маршруты). Не screenAnchor3d."

globs: src/_adm/ScreenAdaptiveLayout/**/*,src/_adm/store/storeScreenAdaptiveLayout*,src/_adm/Tabs10.tsx,_MD/OLD_BIG_MD/MD/context/SCREEN_ADAPTIVE_LAYOUT_CONTEXT.md
Admin UI & Designon-demand

Screen Anchor 3D ↔ HTML

.cursor/rules/screen-anchor-3d-html.mdc · 62 строк

"On-demand (NOT always): Screen Anchor 3D↔HTML — только при globs или линии PM. Entry: ScreenAnchor3dSettings.tsx"

globs: src/_adm/ScreenAnchor3d/**/*,src/_adm/store/storeScreenAnchor3d*,src/_adm/Tabs10.tsx,_MD/OLD_BIG_MD/MD/context/SCREEN_ANCHOR_3D_HTML_CONTEXT.md
Three.js & WebGPU Runtimeon-demand

Scroll-камера без маршрутов в списке

.cursor/rules/scroll-camera-invisible-routes.mdc · 36 строк

Scroll-камера едет (mov=1), а «Список маршрутов» пуст — диагностика; миграция cameraPositions → internal + unified только по запросу

globs: src/_adm/Cubesroute/**,src/_adm/Animation/UnifiedRoutesAnimsControls.tsx,src/bridge/scroll/CubeSceneComponent.tsx,packages/annexx3d-core/src/commands/cubeRoutes/**
Three.js & WebGPU Runtimeon-demand

Scroll vs click ownership

.cursor/rules/scroll-click-settings-ownership.mdc · 17 строк

Scroll unified UI vs click scene3d UI — ownership, не подменять ID в JSON

globs: src/_adm/Animation/UnifiedRoutesAnimsControls.tsx,src/_adm/Animation/UnifiedRoutesAnimsInstructionPanel.tsx,src/_adm/Animation/SceneClipboardPanel.tsx,src/_adm/Animation/ComponentJsonContractBar.tsx,src/_adm/Animation/sceneClipboardParse.ts,src/_adm/Animation/unifiedRoutesAnimsInstructionParse.ts,src/_adm/Tabs10.tsx,src/_adm/Tabs8.tsx,src/_adm/Tabs2.tsx,src/_adm/Model/Model.js,src/_adm/SceneObjectsEditor/SceneObjectsEditor.tsx,src/_adm/Image/Image.js,src/_adm/Image/ColorPicker/ColorPicker.js,src/_adm/Hdr/Hdr.js,src/bridge/scroll/CubeSceneComponent.tsx,src/_adm/Cubesroute/CubesrouteList.js,src/_ai/SceneJsonData.tsx,src/_adm/adm10/Adm10Scene3d*.tsx,src/_adm/adm10/adm10Scene3d*,src/voca3d/store/storeRoutesAnimsUnified*,src/voca3d/store/storeAnim*,src/_THREE/**/loadMainModel_1*,packages/annexx3d-core/src/state/store/storeRoutesAnimsUnified*,packages/annexx3d-core/src/core/3d/loading/loadMainModel_1*,packages/annexx3d-core/src/commands/scroll/unifiedRoutesAnimsInstruction*,packages/annexx3d-core/src/commands/scroll/scenePackInstruction*,packages/annexx3d-core/src/commands/scroll/sceneClipboardInstruction*,packages/annexx3d-core/src/commands/scroll/sceneObjectsInstruction*,packages/annexx3d-core/src/commands/scroll/sceneImagesInstruction*,packages/annexx3d-core/src/commands/scroll/sceneMaterialsInstruction*,packages/annexx3d-core/src/commands/scroll/sceneHdrInstruction*,packages/annexx3d-core/src/commands/scroll/scenePrimitivesInstruction*,packages/annexx3d-core/src/commands/scroll/sceneModelsCatalogInstruction*,packages/annexx3d-core/src/commands/scroll/routesInstruction*,packages/annexx3d-core/src/commands/scroll/routesListInstruction*,packages/annexx3d-core/src/commands/scroll/clickScene3dInstruction*,packages/annexx3d-core/src/commands/scroll/agentSceneBundleInstruction*,packages/annexx3d-core/src/commands/scroll/partialPackageApply*,_MD/OLD_BIG_MD/MD/context/ROUTES_ANIMATIONS_CONTEXT.md,_MD/OLD_BIG_MD/MD/context/UNIFIED_SCROLL_POINT_CLOUD_CONTEXT.md,_MD/OLD_BIG_MD/MD/context/COMPONENT_JSON_CONTRACT_CONTEXT.md,_MD/OLD_BIG_MD/MD/context/ADM10_CONTEXT.md,_MD/OLD_BIG_MD/MD/context/schemas/unifiedRoutesAnims*,_MD/OLD_BIG_MD/MD/context/schemas/scenePack*,_MD/OLD_BIG_MD/MD/context/schemas/sceneClipboard*,_MD/OLD_BIG_MD/MD/context/schemas/sceneObjects*,_MD/OLD_BIG_MD/MD/context/schemas/sceneImages*,_MD/OLD_BIG_MD/MD/context/schemas/sceneMaterials*,_MD/OLD_BIG_MD/MD/context/schemas/sceneHdr*,_MD/OLD_BIG_MD/MD/context/schemas/scenePrimitives*,_MD/OLD_BIG_MD/MD/context/schemas/sceneModelsCatalog*,_MD/OLD_BIG_MD/MD/context/schemas/routes*,_MD/OLD_BIG_MD/MD/context/schemas/routesList*,_MD/OLD_BIG_MD/MD/context/schemas/clickScene3d*,_MD/OLD_BIG_MD/MD/context/schemas/agentSceneBundle*
Deployment & Infrastructureon-demand

Деплой фронта (annexx3d.ru, Selectel)

.cursor/rules/selectel-deploy-annexx3d.mdc · 117 строк

Деплой фронта на annexx3d.ru (Selectel) — ТОЛЬКО по явному «задеплой на annexx3d.ru»; не дефолт

⚡ Триггер: **задеплой на annexx3d.ru**, деплой **annexx3d.ru**, annexx3d, Selectel frontend, `app3_annexx3d_ru`, `91.219.189.164`.
Session & Handoffon-demand

Файл контекста при закрытии окна

.cursor/rules/session-context-file-on-close.mdc · 58 строк

При «закрываем окно» — обновить один /Users/mac/Documents/__2027/front/big_WebGPU/_MD/OLD_BIG_MD/MD/context/<TOPIC>_CONTEXT.md (не плодить файлы); политика /Users/mac/Documents/__2027/front/big_WebGPU/_MD/OLD_BIG_MD/MD — CONTEXT_AND_MD_HYGIENE_GUIDE

Session & Handoffon-demand

Handoff + мобильные

.cursor/rules/session-success-handoff-mobile.mdc · 29 строк

"On-demand (NOT always): «Отлично! Закрываем окно! Мобильные!» — после обычного handoff глубокий mobile/tablet smoke через DevTools MCP."

Session & Handoffon-demand

Handoff после успешной задачи

.cursor/rules/session-success-handoff.mdc · 114 строк

Handoff при закрытии окна (/Users/mac/Documents/__2027/front/big_WebGPU/_MD/OLD_BIG_MD/MD, тесты, контекст). Git commit+push на GitLab — только при «Отлично! Закрываем окно».

⚡ Триггер: в ответе ссылки сюда, на [`cursor-rules-lifecycle.mdc`](./cursor-rules-lifecycle.mdc) и [`cursor_rules.md`](/Users/mac/Documents/__2027/front/big_WebGPU/_MD/OLD_BIG_MD/MD/_MANAGER/_RULES/cursor_rules.md).
Deployment & Infrastructureon-demand

slide3d `/example1` deploy

.cursor/rules/slide3d-astro2-example1-deploy.mdc · 39 строк

_astro2 deploy to slide3d.ru/example1 without breaking local dev or astro1 root

globs: _astro2/**,_MD/OLD_BIG_MD/MD/guides/SLIDE3D_SELECTEL_DEPLOY_GUIDE.md,_MD/OLD_BIG_MD/MD/prompts/three-runtime/ASTRO2_SLIDE3D_EXAMPLE1_SUBPATH_DEPLOY_PROMPT.md
Deployment & Infrastructureon-demand

slide3d MCP

.cursor/rules/slide3d-mcp.mdc · 31 строк

On-demand (NOT always): slide3d MCP + /adm prompt sandbox. Adapter over scene_functions/routes_functions. Trigger: line SLIDE3D_MCP or these globs.

globs: packages/slide3d-mcp/**,src/_adm/slide3dMcp/**,packages/annexx3d-core/src/commands/folioWater/**,src/_adm/FolioWater/**,src/scene_functions/setFolioWaterSystemOnParams2.ts,_MD/OLD_BIG_MD/MD/context/SLIDE3D_MCP_CONTEXT.md
⚡ Триггер: line SLIDE3D_MCP or these globs.
Deployment & Infrastructureon-demand

Деплой slide3d.ru (Selectel)

.cursor/rules/slide3d-selectel-deploy.mdc · 76 строк

Деплой на slide3d.ru (Selectel) — канон SLIDE3D_DEPLOY_RULES.md; NEVER astro*/example*/site*/sales/webgl

globs: _MD/OLD_BIG_MD/MD/context/SCROLL_SYNC_HOST_CONTEXT.md,_MD/OLD_BIG_MD/MD/guides/SLIDE3D_DEPLOY_RULES.md,_MD/OLD_BIG_MD/MD/guides/SCROLL_SYNC_HOST_NO_JITTER_GUIDE.md
⚡ Триггер: «задеплой slide3d», «деплой _astro1», «slide3d.ru», `deploy-external-sites.sh`.
Deployment & Infrastructureon-demand

Поддомены *.slide3d.ru (Selectel)

.cursor/rules/slide3d-subdomain-hosts-deploy.mdc · 40 строк

Деплой на поддомены *.slide3d.ru (Selectel) — изолированные webroots, не apex /var/www/slide3d.ru

globs: - scripts/deploy-external-sites.sh
⚡ Триггер: «задеплой _astro1 на example10.slide3d.ru», `adm*.slide3d.ru`, `vitas.slide3d.ru`, `setup-slide3d-subdomains.sh`, `deploy-external-sites.sh host`.
Deployment & Infrastructureon-demand

Деплой slides3d.net / adm.slides3d.net (Hetzner)

.cursor/rules/slides3d-hetzner-deploy.mdc · 81 строк

Деплой на slides3d.net (main/) и adm.slides3d.net (корень, chrome adm7 Lyra) — Hetzner; «задеплой» без хоста = оба

⚡ Триггер: **«задеплой»** (без хоста), **«задеплой на slides3d.net»**, **«задеплой main/ на slides3d.net»**, **«задеплой на adm.slides3d.net»**, **«задеплой adm5/ на adm.slides3d.net»**, `slides3d`, `slides3d-adm`.
Three.js & WebGPU Runtimeon-demand

Super-Lite Lighting

.cursor/rules/super-lite-lighting.mdc · 35 строк

Super-lite lighting must match regular lite runtime

globs: - src/runtime/createSuperLiteStores.js
Admin UI & Designon-demand

SVG / иконки UI — справочник

.cursor/rules/svg-icon-sources.mdc · 22 строк

SVG и иконки UI — svgrepo, Iconify Solar, GitHub-наборы; справочник SVG_ICON_SOURCES_GUIDE.md

globs: **/*.svg,src/_ui/ui/Icon/**,src/_adm/ScreenAnchor3d/**,src/_adm/adm10/Adm10ClassicSplineMenu.tsx,src/_adm/GlbOptimize/adm7/**,_MD/OLD_BIG_MD/MD/guides/SVG_ICON_SOURCES_GUIDE.md
Rules Engine & Governanceon-demand

Ясность требований

.cursor/rules/task-clarity-before-implementation.mdc · 11 строк

Неясный пункт ТЗ — уточнить PM, зафиксировать в промпт-доке или ADR

Three.js & WebGPU Runtimeon-demand

Host template + Three.js (строго)

.cursor/rules/test-host-three-integration.mdc · 53 строк

Host template — добавление Three.js на Astro/React/Preact/HTML

globs: src/TEST/**,_astro*/**
Three.js & WebGPU Runtimeon-demand

3D-сцены: проверка в браузере

.cursor/rules/three-scene-devtools-verify.mdc · 36 строк

Когда агент сам открывает браузер для smoke 3D-сцен (Cursor-браузер по умолчанию)

Three.js & WebGPU Runtimeon-demand

3D Selection Highlight

.cursor/rules/three-selection-highlight.mdc · 14 строк

Синяя подсветка 3D — только tempMaterial из events_queries

globs: src/**/events_queries*,src/voca3d/store/storeSettings*,src/_adm/**,src/_THREE/**
Admin UI & DesignalwaysApply: true

«Трогаем дизайн» — gate на вёрстку

.cursor/rules/touch-design-gate.mdc · 51 строк

Вёрстка только после фразы «трогаем дизайн» в этом чате. Голая фраза не трогает пункты 01–06 и связанные с ними компоненты. «весь» — везде. «{id}» и «[id, …]» — только названные пункты.

⚡ Триггер: везде. «{id}» и «[id, …]» — только названные пункты.
Three.js & WebGPU Runtimeon-demand

TSL Text Shader (каталог `text_shader`)

.cursor/rules/tsl-text-shader.mdc · 23 строк

"On-demand (NOT always): TSL каталог text_shader — только globs/линия PM. Entry: TextShader.js Tabs4 panel5"

globs: src/_adm/TextShader/**/*,src/_adm/Tabs4.tsx,packages/annexx3d-core/src/commands/tslShaders/**/*,packages/annexx3d-core/src/state/store/storeTextShader*,_MD/OLD_BIG_MD/MD/context/TSL_TEXT_SHADER_CONTEXT.md
Orchestration & WorkflowalwaysApply: true

Unfinished Goal -> Keep Working

.cursor/rules/unfinished-goal-keep-working.mdc · 34 строк

Если цель не достигнута, не останавливаться на статусе; сразу продолжать безопасный следующий шаг

Three.js & WebGPU Runtimeon-demand

Unified + point cloud — без поломки сцен

.cursor/rules/unified-point-cloud-integration-safe.mdc · 29 строк

Unified + point cloud — интеграция без регресса других 3D-сцен

globs: src/_adm/Animation/**,src/_adm/PointsShaders/**,packages/annexx3d-core/src/commands/scroll/**,_MD/OLD_BIG_MD/MD/context/UNIFIED_SCROLL_POINT_CLOUD_CONTEXT.md,_MD/OLD_BIG_MD/MD/context/SCENE_OBJECTS_EDITOR_CONTEXT.md,_MD/OLD_BIG_MD/MD/context/COMPONENT_JSON_CONTRACT_CONTEXT.md,_MD/OLD_BIG_MD/MD/context/schemas/unifiedRoutesAnims*
Three.js & WebGPU Runtimeon-demand

Опорная поверхность и фиксация базовой модели

.cursor/rules/walk-base-surface-model-fix.mdc · 36 строк

Маршруты «по опорной модели» — меши пола и fix=1 у базы