Files
Learn_System/plans/sim-builder/phase-5-catalog.md
T

43 lines
2.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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
<!-- Заполняет реализатор -->