chore(sim-builder): план фичи (8 фаз) — конструктор симуляций
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
# Phase 5: Каталог (custom-sims в /lab)
|
||||
|
||||
**Status:** ⬜ Not Started
|
||||
**Parent plan:** [PLAN.md](./PLAN.md)
|
||||
**Domain:** fullstack
|
||||
|
||||
## Objective
|
||||
Сохранённые custom-симуляции появляются и играют в /lab наравне со встроенными;
|
||||
раздел «Мои симуляции», редактирование/удаление из каталога, deep-link.
|
||||
|
||||
## Tasks
|
||||
- [ ] При загрузке /lab подтягивать custom-sims (свои + published) из `GET /api/custom-sims`
|
||||
и регистрировать через `registerSpecSim` (Ф0-адаптер) с id `custom:<dbid>`.
|
||||
- [ ] Карточки в каталоге: категория/предмет/класс из меты; бейдж «Моя»/«Опубликована».
|
||||
- [ ] Раздел/фильтр «Мои симуляции» в /lab.
|
||||
- [ ] Кнопки на карточке custom-sim: «Редактировать» → `sim-builder.html?id=<id>`, «Удалить» (владельцу).
|
||||
- [ ] Deep-link `/lab?sim=custom:<id>` открывает напрямую (расширить существующий `LAB_SIM_ALIASES`/openSim).
|
||||
- [ ] Ленивая загрузка движка (`_sim_*.js`) — только когда открыта custom-sim (через `_loader`/`_sim_deps`).
|
||||
|
||||
## Files to Modify/Create
|
||||
- `frontend/js/labs/lab-glue.js` и/или `lab-init.js` — загрузка+регистрация custom-sims, карточки, фильтр (modify)
|
||||
- `frontend/js/labs/_sim_deps.js` — `_sim_*.js` в ленивые зависимости (modify)
|
||||
- `js/api.js` — при необходимости (modify, опц.)
|
||||
|
||||
## Acceptance Criteria
|
||||
- Сохранённая в Ф4 симуляция видна в /lab, открывается и играет.
|
||||
- «Мои симуляции» показывает свои (вкл. draft); published видят и другие.
|
||||
- Edit/Delete с карточки работают; deep-link открывает.
|
||||
- Старт /lab не тормозит (движок грузится лениво).
|
||||
|
||||
## Notes
|
||||
- НЕ ломать существующий каталог встроенных (lab_sims) — custom-список добавляется поверх.
|
||||
- id-неймспейс `custom:` чтобы не конфликтовать со встроенными.
|
||||
|
||||
## Review Checklist
|
||||
- [ ] Все задачи выполнены
|
||||
- [ ] Встроенные симуляции и старт /lab не регрессировали
|
||||
- [ ] Draft видит только владелец; published — все
|
||||
- [ ] Ленивая загрузка движка работает
|
||||
|
||||
## Handoff to Next Phase
|
||||
<!-- Заполняет реализатор -->
|
||||
Reference in New Issue
Block a user