b02e532563
Move flat docs/diagrams/*.puml into a hierarchy matching the source
package structure:
docs/diagrams/
├── bootstrap-sequence.puml (cross-cutting)
├── events-diagram.puml (cross-feature)
├── util/
│ ├── command-class-diagram.puml
│ ├── database-diagram.puml
│ ├── messages-class-diagram.puml
│ ├── broadcasts-class-diagram.puml
│ └── gui-class-diagram.puml
└── features/
├── team/
│ ├── team-class-diagram.puml
│ ├── team-config-class-diagram.puml
│ ├── builtin-commands-diagram.puml
│ ├── team-create-sequence.puml
│ ├── team-create-activity.puml
│ └── team-join-sequence.puml
├── player/
│ └── player-class-diagram.puml
└── moderation/
└── moderation-class-diagram.puml
README.md diagram index split into 4 sections (overview, util,
features/team, features/player, features/moderation) for readability;
all links updated. features.md auto-updated by sed for the new paths.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
41 lines
791 B
Plaintext
41 lines
791 B
Plaintext
@startuml team-create-activity
|
|
title CR-Core — Create Team (activity diagram)
|
|
|
|
start
|
|
|
|
:Player runs /team create <name> <tag> <color> [visibility];
|
|
|
|
if (Name already in use?) then (yes)
|
|
:Reply "team name already taken";
|
|
stop
|
|
else (no)
|
|
endif
|
|
|
|
if (Tag already in use?) then (yes)
|
|
:Reply "team tag already taken";
|
|
stop
|
|
else (no)
|
|
endif
|
|
|
|
if (Player already in a team?) then (yes)
|
|
:Reply "you already belong to a team";
|
|
stop
|
|
else (no)
|
|
endif
|
|
|
|
if (Color valid?) then (no)
|
|
:Reply "unknown color";
|
|
stop
|
|
else (yes)
|
|
endif
|
|
|
|
:Create Team(id = randomUUID, name, tag, color, leaderId = playerId, visibility);
|
|
note right: visibility defaults to PRIVATE\nif not specified
|
|
:Add player as TeamMember(role = LEADER);
|
|
:Persist via TeamRepository.save(team);
|
|
:Reply "team created";
|
|
|
|
stop
|
|
|
|
@enduml
|