Hookable Dispatch Tasks¶
Global: Add behaviors for basic entities to the global registry (e.g., ‘init’) System: Add behaviors to a process registry, hook globals or new tasks reflect process-level features (e.g., ‘planning’ or ‘update’ for vm) Application: Add behaviors to a domain registry, hook globals or sys level, new tasks reflect domain-specific features (e.g., ‘render’ for story) Author: Add behaviors to the world registry that governs a given graph Local: Add behaviors directly to an instance participant in dispatch (i.e., cursor, context, or graph)
core/global hooks¶
get_ns()is an entity facet, not a dispatch hook: it returns only that entity’s local namespace publication maps.on_create: cls, attrs -> new cls, attrs # create story, node (world not loaded yet)
on_init: obj -> in place # init story, node (world not init’d yet)
on_un/link: Edge -> in place # un/link nodes
on_index: Reg, item -> in place # add item to reg
vm/system hooks¶
New tasks:
on_gather_ns: anchor -> map # contribute to assembled scoped namespace
on_validate: anchor -> bool # check conditions
on_pre/postreq: anchor -> Edge # check for redirects
on_planning: anchor -> in place # provision graph
on_update/finalize: anchor -> in place # execute effects
on_journal: anchor -> Fragments # generate artifacts
story/app hooks¶
Existing tasks with app-specific targets:
on_create_world: cls, attrs -> new cls, attrs
on_init_world: world -> in place
on_create_story: cls, attrs -> new cls, attrs
on_init_story: story -> in place
on_link_role: role dep -> in place
on_link_setting: setting dep -> in place
New tasks:
on_render_content: resource -> Fragments
media/app hooks¶
Existing tasks with app-specific targets
on_index_media: MediaRIT -> MediaRIT
on_render_media: resource -> MediaRIT
discourse/app hooks¶
Existing tasks with app-specific targets
on_render_dialog: resource -> map
service/system hooks¶
New tasks:
on_request request -> request
on_response response -> response