@startuml title Flyfish File Viewer renderer pipeline actor User participant "Framework Component" as Component participant "@file-viewer/core" as Core participant "Renderer Plugin" as Renderer database "Browser Cache" as Cache User -> Component: choose file Component -> Core: load(source, options) Core -> Core: resolve extension and renderer Core -> Renderer: render(buffer, target, context) Renderer -> Cache: read optional assets/cache Renderer --> Core: rendered instance + providers Core --> Component: lifecycle hooks and operations Component --> User: preview with toolbar/search/zoom @enduml