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

2.7 KiB
Raw Permalink Blame History

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')"

Извлечённые уроки

  1. Не использовать ручной SVG для сложных диаграмм — координаты ломаются при каждом изменении
  2. Использовать специализированную библиотеку (drakonwidget) для автоматического расчёта координат
  3. Явно задавать размеры canvas в render() — иначе getBoundingClientRect() возвращает 0
  4. overflow: visible для container — иначе canvas обрезается
  5. CSS transform scale() для масштабирования canvas под контейнер
  6. Не удалять закрывающие скобки в JS — это ломает весь скрипт