Ещё какие-то правки

This commit is contained in:
2025-11-30 18:34:17 +03:00
parent bbde079399
commit 03c1103638
3 changed files with 147 additions and 274 deletions

View File

@@ -1,69 +1,46 @@
digraph MushroomHikeApp {
rankdir=LR;
fontsize=10;
node [shape=rectangle, style=rounded, fontsize=10];
rankdir=TB;
fontsize=12;
node [shape=rectangle, style=rounded, fontsize=11, margin="0.2,0.1"];
edge [fontsize=9];
// --- Основные состояния участников похода (am) ---
a [label="a) Начальное состояние\n(главный экран)"];
b [label="b) Планирование похода\n(маршрут, точки, погода, офлайн-карты)"];
c [label="c) Управление участниками\n(приглашения, роли, доверенные контакты)"];
d [label="d) Чек-лист снаряжения\n(шаблон, распределение, контроль сборов)"];
e [label="e) Активная навигация\n(карта, GPS, режимы отображения)"];
f [label="f) Фиксация находки\n(фото, координаты, заметки)"];
g [label="g) Семейная корзина\n(все находки группы)"];
h [label="h) Семейный чат\n(сообщения, фото, геолокация)"];
i [label="i) Справочник грибов\n(виды, съедобность, двойники)"];
k [label="k) Панель организатора\n(мониторинг, управление маршрутом)"];
l [label="l) Архив походов\n(список завершённых походов)"];
m [label="m) Детальный просмотр похода\n(трек, события, статистика)"];
// --- Основные состояния (соответствуют пунктам меню и задачам) ---
main [label="Главная\n(выбор похода, архив)"];
route [label="Маршрут\n(планирование, навигация)"];
basket [label="Корзина\n(находки группы)"];
chat [label="Чат\n(координация)"];
guide [label="Справочник\n(виды грибов)"];
// --- SOS (красный, доступен отовсюду) ---
sos [label="SOS\n(экстренный вызов)", color="red", fontcolor="red", style="rounded,bold", penwidth=2];
// --- SOS (красный, отдельный) ---
j [label="j) Экстренный режим (SOS)", color="red", fontcolor="red", style="rounded,bold", penwidth=2];
// --- Невидимая точка для SOS ---
anyToSOS [shape=point, width=0, height=0, style=invis];
anyToSOS -> sos [label="из любого\nсостояния", style=dashed, color="red", fontcolor="red"];
// --- Технические невидимые точки для "стрелок из ниоткуда" ---
fromAnywhereToA [shape=point, width=0, height=0, style=invis];
fromAnywhereToSOS [shape=point, width=0, height=0, style=invis];
// --- Переходы между основными состояниями ---
main -> route [label="создать/\nначать поход"];
route -> main [label="завершить\nпоход"];
// Стрелки "из ниоткуда"
fromAnywhereToA -> a [label="25. Переход\nна главный экран", style=dashed];
fromAnywhereToSOS -> j [label="24. SOS\n(из любого состояния)", style=dashed, color="red", fontcolor="red"];
// Нижняя навигация (доступна из активного похода)
route -> basket [label=""];
basket -> route [label=""];
route -> chat [label=""];
chat -> route [label=""];
route -> guide [label=""];
guide -> route [label=""];
// --- Переходы (кроме SOS и возврата на главный) ---
basket -> chat [label=""];
chat -> basket [label=""];
a -> b [label="1. Создать поход"];
basket -> guide [label=""];
guide -> basket [label=""];
a -> e [label="2. Присоединиться (день похода)"];
a -> d [label="3. Присоединиться (подготовка)"];
b -> c [label="4. Управление\nучастниками"];
c -> d [label="5. Чек-лист"];
b -> d [label="6. Чек-лист"];
d -> e [label="7. Начать поход"];
b -> e [label="8. Начать поход"];
e -> f [label="9. Фиксировать\nнаходку"];
f -> e [label="10. Сохранить\nи вернуться"];
e -> g [label="11. Открыть корзину"];
g -> e [label="12. Назад к\nнавигации"];
e -> h [label="13. Открыть чат"];
h -> e [label="14. Назад к\nнавигации"];
f -> i [label="15. Открыть\nсправочник"];
g -> i [label="16. Открыть\nсправочник"];
i -> f [label="17. Назад\nк фиксации"];
i -> g [label="18. Назад\nк корзине"];
e -> k [label="19. Панель\nорганизатора"];
k -> e [label="20. Назад к\nнавигации"];
e -> l [label="21. Завершить\nпоход"];
a -> l [label="22. Открыть\nархив"];
l -> m [label="23. Открыть\nпоход"];
chat -> guide [label=""];
guide -> chat [label=""];
// Фиксация находки (внутри маршрута)
route -> basket [label="добавить\nнаходку", style=dashed];
}