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 у базы