@startuml uc-04-browse-catalogue autonumber title UC-04 Browse Game Catalogue (design sequence) actor Player participant "CatalogueBrowser\n«/api/{races,classes,items,enemies,adventures}»" as boundary <> participant "GameData\nsb-core::data + items" as entity <> == Browse == Player -> boundary : GET catalogue (optional type/quality/slot filters) boundary -> entity : read LazyLock catalogue (sb-common JSON) alt unknown item id entity --> boundary : 404 else hit (possibly empty filter result) entity --> boundary : static data (classes + is_caster) boundary --> Player : races / classes / items / enemies / zones end @enduml