Ещё какие-то правки
This commit is contained in:
@@ -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];
|
||||
|
||||
// --- Основные состояния участников похода (a–m) ---
|
||||
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];
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user