Files
2026-06-23 18:43:37 +05:00

35 lines
2.7 KiB
Markdown
Raw Permalink 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.
# STATUS.md — algoritm.space
## Текущий статус: v17.0 — DrakonWidget рендеринг + светлая тема
- [x] Создан проект и репозиторий на Gitea
- [x] Исследование языка ДРАКОН (RESEARCH.md)
- [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 — это ломает весь скрипт