yasmin_editor.editor_gui.blackboard_logic module
Qt-free helpers for blackboard key filtering, remapping, and aggregation.
These helpers keep the editor blackboard mixin focused on widget orchestration. The rules in this module are intentionally pure so they can be covered directly with unit tests without requiring a running Qt application.
- yasmin_editor.editor_gui.blackboard_logic.build_container_metadata_map(container_model: StateMachine | Concurrence) Dict[str, Dict[str, str]]
Return persistent blackboard metadata stored on one container model.
- yasmin_editor.editor_gui.blackboard_logic.collect_blackboard_key_usage_for_model(container_model: StateMachine | Concurrence, resolve_plugin_info_for_model: Callable[[State], object]) Tuple[Dict[str, Dict[str, str]], set[str]]
Collect derived blackboard usage and hidden remapped names for one container.
- yasmin_editor.editor_gui.blackboard_logic.collect_blackboard_key_usage_from_nodes(state_nodes: Iterable[object], metadata_map: Dict[str, Dict[str, str]], resolve_effective_name: Callable[[object, str], str]) Dict[str, Dict[str, str]]
Aggregate blackboard usage from rendered state nodes.
This helper is used for the currently visible container where plugin metadata is attached to node items rather than resolved from the model tree.
- yasmin_editor.editor_gui.blackboard_logic.collect_container_key_lists(model: State) Tuple[List[Dict[str, str]], List[Dict[str, str]]]
Return separate input and output key tables for a container edit dialog.
- yasmin_editor.editor_gui.blackboard_logic.dicts_to_keys(keys: List[Dict[str, str]]) List[Key]
Normalize editor-table rows into blackboard-key models.
- yasmin_editor.editor_gui.blackboard_logic.format_blackboard_key_label(key_data: Dict[str, str]) str
Return the sidebar label for one blackboard key entry.
- yasmin_editor.editor_gui.blackboard_logic.get_effective_blackboard_key_name(remap_chain: Iterable[Dict[str, str]], key_name: str) str
Resolve one key name through a chain of remapping dictionaries.
- yasmin_editor.editor_gui.blackboard_logic.has_persistent_blackboard_metadata(metadata: Dict[str, str]) bool
Return whether one metadata entry should survive without live usage.
- yasmin_editor.editor_gui.blackboard_logic.keys_to_dicts(keys: Iterable[Key]) List[Dict[str, str]]
Convert blackboard-key models back into editor-table rows.
- yasmin_editor.editor_gui.blackboard_logic.merge_container_keys(container_model: StateMachine | Concurrence, resolve_plugin_info_for_model: Callable[[State], object]) Dict[str, Dict[str, str]]
Merge derived usage and persistent metadata for one container.
- yasmin_editor.editor_gui.blackboard_logic.metadata_map_to_keys(metadata: Dict[str, Dict[str, str]]) List[Key]
Convert one metadata map into sorted key models.
- yasmin_editor.editor_gui.blackboard_logic.should_hide_blackboard_key(*, item_text: str, key_name: str, filter_text: str, show_hidden: bool) bool
Return whether one blackboard-list entry should be hidden.
Hidden keys are names starting with
.. They remain available in the data model but are optionally filtered out of the sidebar view.