Files
Maxim Dolgolyov 8a7091ddec chore(memory): снимок файлов памяти Claude в репозиторий для переноса
Копия пользовательской автопамяти (29 фактов + индекс MEMORY.md) в
.claude/memory/, чтобы переносить между машинами через git.
README.md — как восстановить в пользовательскую папку на другой машине.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-05 08:32:16 +03:00

11 KiB
Raw Permalink Blame History

LearnSpace Project Memory

  • project_status.md — Полный список реализованных фич: все страницы, API, таблицы БД, инструменты доски, стек, деплой (апрель 2026)
  • project_classroom_module.md — Оригинальный план classroom-модуля (4 фазы, все реализованы)
  • project_whiteboard_roadmap.md — Roadmap улучшений доски (7 фаз, утверждён 2026-04-11)
  • project_pet_assistant.md — «Квантик-ассистент» РЕАЛИЗОВАН (commit 3f8009c): Ф0/Ф1/«Спроси-FAQ», правиловый движок, reuse 'pet', assistant_seen, на учебнике тоже. НЕ сделано: Ф2 тур, реальная LLM, activeLesson
  • feedback_no_emoji.md — Запрет эмоджи в коде, только inline SVG .ic
  • feedback_sims_admin_sync.md — При добавлении симуляции в lab.html → сразу обновить ADMIN_SIMS в admin.html
  • project_ct_seeded.md — Список перенесённых сборников ЦТ/ЦЭ (физика 2024 + матем 2024); правило: 1 вариант из сборника, нет повторов
  • project_hardening_2026.md — 8-task security/architecture hardening plan (started 2026-05-06), executed by Sonnet sessions one task at a time
  • reference_textbook_sources.md — Расположение PDF учебников Беларуси (физика/алгебра/геометрия 7-11) в G:\Dev\Тесты\Методички\тест_6 класс\Книги\ + структура §-канвы Исаченковой
  • project_stereo3d_improvements.md — Стереометрия 3D: апгрейд 5 фаз (май 2026) + deep-link фигур openSim('stereo:<figure>') / ?stereofig=
  • reference_sqlite_node.md — БД на встроенном node:sqlite (НЕ better-sqlite3); живая БД backend/data/learnspace.db; Bash ломает кириллический путь
  • reference_textbook_latex_escaping.md — Баг формул = ЛИШНИЕ слэши (over-escape), правило чётности, фикс fix_overescaped_latex.js; БД чиста
  • project_content_access.md — Доступ к учебникам/экзаменам/симуляциям/курсам по классам и ученикам (allowlist, ученик > класс), миграции 040/051/052, /api/access; ревью+переработка done, Фаза 3 (HTML-гейт) отложена
  • project_permissions_rework.md — Ролевые права (registry/role_permissions/user_permissions): Phase A+B+C ВСЕ в master (2026-06-03): зависимости, история, группы, массово по классу, пресеты, временные права, произвольные кастомные роли (конструктор). План plans/permissions-rework/
  • project_optics_constructor.md — Конструктор оптических систем (BenchSim) в режиме «Конструктор» оптической скамьи: общий 2D-трассировщик, элементы/призма/дисперсия
  • project_lab_content_engine.md — Рефактор лаборатории «симуляции как данные» (LabRegistry); фазы 0-3 done, ветка feature/lab-content-engine
  • project_chemistry7_textbook.md — Новый учебник «Химия 7» (4 гл, 26§): план + статус (Phase 0 done), переиспользует движок Химии 8
  • project_concurrent_sessions_branch.md — Несколько сессий коммитят в одну ветку → fetch перед работой, не force-push вслепую, add поимённо
  • feedback_verify_edits_applied.md — После каждого Edit проверять grep -c маркера; не пушить пакет без поштучной верификации (дважды коммитил сломанное)
  • project_dashboard_rebuild.md — План пересборки dashboard.html по скрину (hero: чтение+лаба+питомец, синхрон питомца); редизайн утерян (был некоммичен)
  • project_phys7_status.md — Физика 7: контент ВСЕХ 5 глав готов (рендер из phys7_chN_widgets.js); Шпаргалки наполнены (47 шт, commit c6835cf); учебник функционально полный
  • reference_vex_search.md — vex установлен+проиндексирован (semantic); когда vex (semantic/pattern/similar/duplicates), когда ast-index (символы/usages); гочи модели/HEAD
  • project_math6_textbook.md — Учебник «Математика 6» (Герасимов 2022): движок math6_engine.js + Math6 svg (numberLine/plane/pie/venn). ВСЕ 6 глав + курсовой финал ГОТОВЫ на master (тесты 17/17, +полировка 20/20). Осталось только: выдать доступ ученикам (/api/access)
  • project_math5_textbook.md — Учебник «Математика 5» (Герасимов 2020) переиспользует движок math6. НАПОЛНЕН ЦЕЛИКОМ: 3 главы, 44 § (Гл.1 Opus-эталон, Гл.23 Sonnet), хаб+курсовой финал, тест 12/12, всё на master (последний 5a2a1be). Осталось только: выдать доступ ученикам (/api/access). План: plans/textbooks-5/
  • reference_exam_textbook_links.md — Привязка задач экзамена math9 к § учебников: per-task колонки в exam_tasks + классификатор tag-exam-textbook.js (таксономия gen-exam-textbook-sections.js) + починенный deep-link (textbook-deeplink.js). 98% размечено. Готчи: geometry-8 поглавная нумерация, math5/6 движковые
  • reference_svg_drawer.md — Векторная SVG-рисовалка: виджет js/svg-draw.js (SvgDraw.mount) + санитайзер js/svg-sanitize.js (UMD, клиент+сервер) + блок урока svg-draw (редактор/превью/lesson.html). Переиспользуемо для флешкарт/фигур генератора
  • reference_quick_lesson.md — «Быстрый урок»: одиночный урок без курса через скрытый личный курс-контейнер (courses.is_personal, POST /api/lessons/quick, кнопка в theory.html). Каталог скрывает контейнеры от всех кроме владельца
  • reference_student_materials.md — «Мои материалы»: ученик сохраняет к себе доску(PNG)/заметку из онлайн-урока (миграция 060 student_materials, /api/materials, Whiteboard.exportBlob, страница /my-materials, кнопки в my-lessons.html). Копия переживает удаление сессии

Stack

Key Paths

  • Backend: backend/src/
  • Frontend pages: frontend/*.html
  • Shared CSS: frontend/css/ls.css (design system)
  • JS API: js/api.jswindow.LS.*
  • Whiteboard engine: frontend/js/whiteboard.js (~3200 строк)
  • Server entry: backend/src/server.js

UI Architecture

  • Sidebar nav: .app-layout > .sidebar + .sb-content
  • login.html: split layout .login-layout > .login-left + .login-right
  • Page transitions: CSS @view-transition { navigation: auto }
  • Mobile: .mob-bar (56px fixed top), sidebar drawer на ≤768px, /js/mobile.js
  • Notifications dropdown: left ставится через r.right + 8 динамически

Whiteboard (classroom.html)

  • Chalkboard theme: зелёный фон (#2d5a2d), деревянная рамка, chalk-grain
  • Tools: pencil (Catmull-Rom), highlighter, laser, eraser, 11 shapes, connector, sticky, text, image, formula (KaTeX), table, coordinate system, number line, compass
  • Select tool: move/resize/rotate всех объектов, lasso multi-select, snap guides, copy/paste
  • Zoom/Pan: wheel zoom, Space+drag, minimap overlay (bottom-right, при zoom>1)
  • Ruler/Protractor: rotation + resize handles, floating props panel
  • SSE real-time sync + HTTP polling (since_seq параметр)
  • Two-layer canvas: static (_ctx) + dynamic (_dynCtx)
  • Multi-page + thumbnail sidebar

User Roles

  • admin: full access
  • teacher: classes + board + library + classroom
  • student: dashboard + board (только если в классе)

Icons — КРИТИЧНО

  • ЗАПРЕТ на эмоджи — никогда не использовать эмоджи в коде.
  • Только inline SVG с классом .ic (определён в ls.css).
  • На некоторых страницах также Lucide CDN lucide@0.469.0.

Workflow Preferences — КРИТИЧНО

  • АБСОЛЮТНЫЙ ЗАПРЕТ на Grep tool — пользователь запретил КАТЕГОРИЧЕСКИ.
  • Поиск по коду: ast-index (дефолт: символы/usages/callers/outline) + vex (semantic/pattern/similar/duplicates) — см. reference_vex_search / .claude/rules/search-tools.md. usages по JS — только ast-index.
  • Чтение файлов: ТОЛЬКО Read с offset/limit
  • Поиск файлов: Glob или ast-index search
  • НЕТ ИСКЛЮЧЕНИЙ. Даже для "быстрой проверки". Даже для верификации.