diff --git a/STATUS.md b/STATUS.md index 00a0735..04ccaba 100644 --- a/STATUS.md +++ b/STATUS.md @@ -1,6 +1,35 @@ # STATUS.md — algoritm.space -## Текущий статус: v8.0 — DrakonWidget рендеринг + светлая тема +## Текущий статус: v17.0 — DrakonWidget рендеринг + светлая тема - [x] Создан проект и репозиторий на Gitea - [x] Исследование языка ДРАКОН (RESEARCH.md) -- [x] Тёмная тема v1-v3 с ...[truncated] \ No newline at end of file +- [x] Тёмная тема v1-v3 с ручным SVG (ошибка: диаграмма не рендерилась) +- [x] Светлая тема v4-v7 с DrakonWidget (ошибка: canvas 0px) +- [x] DrakonWidget v8-v16: исправление размеров canvas, overflow, transform +- [x] **v17.0**: Canvas 480x360px, 93% белый фон, 7% цветные линии/текст — диаграмма рендерится корректно + +## Финальная реализация +- **Библиотека**: drakonwidget.js (официальная библиотека для ДРАКОН диаграмм) +- **Размер canvas**: 480x360px (вписывается в контейнер 486x400px) +- **Тема**: Светлая (белый фон #ffffff, серые линии #9ca3af, зелёный #16a34a для "да", красный #dc2626 для "нет") +- **Масштабирование**: CSS transform scale(0.96) для вписывания в контейнер +- **Методология ДРАКОН**: + - Центральная линия (skewer) — основной поток + - Прямоугольники — действия + - Шестигранники — вопросы с да/нет ответом + - Зелёный = да, красный = нет + - Пунктир — побочные ветви и возвраты + - Округлённые — начало и конец + +## Репозиторий +- URL: http://192.168.1.230:3333/neo/algoritm-space +- Файлы: index.html (39.5 КБ), drakonwidget.js (722 КБ), STATUS.md, RESEARCH.md +- Последняя версия: v17.0 — "fix: restore missing }); closing brace for window.addEventListener('load')" + +## Извлечённые уроки +1. **Не использовать ручной SVG** для сложных диаграмм — координаты ломаются при каждом изменении +2. **Использовать специализированную библиотеку** (drakonwidget) для автоматического расчёта координат +3. **Явно задавать размеры canvas** в render() — иначе getBoundingClientRect() возвращает 0 +4. **overflow: visible** для container — иначе canvas обрезается +5. **CSS transform scale()** для масштабирования canvas под контейнер +6. **Не удалять закрывающие скобки** в JS — это ломает весь скрипт \ No newline at end of file