Align the OpenUP markdown set to the blank templates (process-data repo, templates/openup/) per BUILD-CHECKLIST 7. Scenario step text unchanged; the EA model needs no change (brief descriptions already live in the model's UC/actor notes). - vision.md: positioning tables, stakeholder summary, user environment, needs-and-features table (R1/R2), other product requirements - use-case-model.md: per-UC specification sections (brief description, actor descriptions, named alternative/exception subsections with numbered steps, post-conditions, special requirements) - supplementary-specifications.md: category tables with priority and use-case columns + reverse coverage matrix; IDs unchanged - test/quality-check-procedure.md: migrated from Joplin (single content home); stale open items marked resolved (WI-1/WI-2) - analysis-design/sequences/: 12 PlantUML design sequences (lifelines = analysis classes, messages = design elements; per the PlantUML layout style guide) + PNG renders; embedded in Architecture Notebook 9.3 - Joplin consolidated: project content notes deleted (all live in docs/game + docs/openup); Joplin keeps the status note only
31 lines
1.2 KiB
Text
31 lines
1.2 KiB
Text
@startuml uc-03-manage-characters
|
|
autonumber
|
|
title UC-03 Manage Characters (design sequence)
|
|
actor Player
|
|
participant "CharacterCatalog\n«/api/users/{id}/characters»" as boundary <<boundary>>
|
|
participant "CharacterFactory\nsb-core::character::create_character" as control <<control>>
|
|
participant "Character\nsb-shared::character" as entity <<entity>>
|
|
participant "ResourceRegenerator\napply_regen" as regen <<entity>>
|
|
|
|
== Create ==
|
|
Player -> boundary : POST name, race, class (user id)
|
|
boundary -> control : create_character(rng, user, name, race, class)
|
|
alt user missing
|
|
control --> boundary : 404
|
|
else name invalid
|
|
control --> boundary : 400
|
|
else valid
|
|
control -> entity : roll stats (d6+5 +- race mods)
|
|
control -> entity : max HP/energy/nerve from class
|
|
control -> entity : gold 50 + level-1 spells (casters)
|
|
control -> entity : assign next character id, persist
|
|
control --> boundary : character
|
|
boundary --> Player : character (full)
|
|
end
|
|
|
|
== List / View ==
|
|
Player -> boundary : GET characters (own; admin: any)
|
|
boundary -> regen : apply_regen(character)
|
|
regen --> boundary : character (regenerated)
|
|
boundary --> Player : characters (regen applied)
|
|
@enduml
|