@startuml uc-03-manage-characters autonumber title UC-03 Manage Characters (design sequence) actor Player participant "CharacterCatalog\n«/api/users/{id}/characters»" as boundary <> participant "CharacterFactory\nsb-core::character::create_character" as control <> participant "Character\nsb-shared::character" as entity <> participant "ResourceRegenerator\napply_regen" as regen <> == 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