2.7 KiB
2.7 KiB
STATUS.md — algoritm.space
Текущий статус: v17.0 — DrakonWidget рендеринг + светлая тема
- Создан проект и репозиторий на Gitea
- Исследование языка ДРАКОН (RESEARCH.md)
- Тёмная тема v1-v3 с ручным SVG (ошибка: диаграмма не рендерилась)
- Светлая тема v4-v7 с DrakonWidget (ошибка: canvas 0px)
- DrakonWidget v8-v16: исправление размеров canvas, overflow, transform
- 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')"
Извлечённые уроки
- Не использовать ручной SVG для сложных диаграмм — координаты ломаются при каждом изменении
- Использовать специализированную библиотеку (drakonwidget) для автоматического расчёта координат
- Явно задавать размеры canvas в render() — иначе getBoundingClientRect() возвращает 0
- overflow: visible для container — иначе canvas обрезается
- CSS transform scale() для масштабирования canvas под контейнер
- Не удалять закрывающие скобки в JS — это ломает весь скрипт