# Public API surface of simvx.editor.
# Generated by tools/api_surface.py; a change here is a change to what games can call.

[exports]
AddNode class(type_name: 'str', parent_path: 'str' = ..., name: 'str' = ...) -> 'None'
AddNodeCommand class(parent: 'Any', child: 'Any', index: 'int' = ..., description: 'str' = ...) -> 'None'
AppTheme class(palette: 'dict[str, Any] | None' = ..., stylebox_cfg: 'StyleBoxConfig | None' = ...) -> 'None'
AssertConfig class(path: 'str', props: 'dict' = ..., message: 'str' = ...) -> 'None'
AssertProperty class(path: 'str', prop: 'str', expected: 'object', tolerance: 'float' = ..., message: 'str' = ...) -> 'None'
AssertTree class(expected: 'dict', message: 'str' = ...) -> 'None'
Autosave class(state, autosave_dir: 'Path | None' = ...)
AutosaveRecoveryDialog class(**kwargs)
BUILTIN_PRESETS dict
ClickMenu class(menu_name: 'str', item_text: 'str') -> 'None'
Command class(name: 'str', callback: 'Callable', shortcut: 'str' = ..., category: 'str' = ...) -> 'None'
CommandPalette class(state: 'State | None' = ..., **kwargs)
CommandRegistry class() -> 'None'
Config class() -> 'None'
ConfigureNode class(path: 'str', props: 'dict' = ...) -> 'None'
Conversion class(class_name: 'str', source_path: 'Path', module_path: 'str | None', node: 'Node | None', rebased: 'bool', report: 'tuple[ReportEntry, ...]' = ...) -> 'None'
ConversionRefused class(message: 'str') -> 'None'
DESTRUCTIVE str
ErrorRecovery class()
HintOverlay class(**kwargs)
INFORMATIONAL str
KeyboardNavigator class(panels: 'list[Control] | None' = ...)
LayoutPresets class()
NewSceneDialog class(**kwargs)
NewSceneSelect class(root_type: 'str') -> 'None'
PROJECT_TEMPLATES dict
PaletteMode class(*values)
PlayMode class(state: 'State')
PlayScene class() -> 'None'
Plugin class(manifest: 'PluginManifest', editor_state: 'State | None' = ...)
PluginManifest class(name: 'str' = ..., description: 'str' = ..., author: 'str' = ..., version: 'str' = ..., script: 'str' = ..., icon: 'str' = ..., path: 'Path' = ...) -> 'None'
PluginRegistry class(editor_state: 'State | None' = ...)
ProjectMetadata class(project_name: 'str' = ..., default_scene: 'str' = ..., physics_fps: 'int' = ..., window_width: 'int' = ..., window_height: 'int' = ..., gravity: 'float' = ..., engine_version: 'str' = ...) -> 'None'
ProjectRegistry class(config: 'AppConfig | None' = ...) -> 'None'
ProjectSession class() -> 'None'
ProjectTemplate class(name: 'str', description: 'str', files: 'dict[str, str]') -> 'None'
RecentProject class(path: 'str', name: 'str', template_type: 'str', last_opened: 'str') -> 'None'
RemoveNodeCommand class(parent: 'Any', child: 'Any', description: 'str' = ...) -> 'None'
RenameCommand class(node: 'Node', new_name: 'str', old_name: 'str') -> 'None'
RenameNode class(path: 'str', new_name: 'str') -> 'None'
ReorderCommand class(parent: 'Node', child: 'Node', new_index: 'int', old_index: 'int') -> 'None'
ReparentCommand class(node: 'Any', new_parent: 'Any', old_parent: 'Any', old_index: 'int', description: 'str' = ...) -> 'None'
ReportEntry class(message: 'str', category: 'str' = ...) -> 'ReportEntry'
Root class(project_path: 'str | None' = ..., **kwargs)
SavePreviewDialog class(original_source: 'str', generated_source: 'str', **kwargs)
SaveReportDialog class(**kwargs)
ScenePlan class(path: 'Path', report: 'list[ReportEntry]', *, document: 'SceneFile | SceneModule', root: 'Node', tab: 'SceneTabState | None', baseline: 'dict | None', fresh: 'dict | None', kept: 'dict[Node, set[str]]', target: 'str | None') -> 'None'
SceneTabState class(scene_tree: 'SceneTree', scene_path: 'Path | None' = ..., selection: 'Selection' = ..., undo_stack: 'UndoStack' = ..., editor_camera: 'OrbitCamera3D' = ..., viewport_sub_mode: 'str' = ..., modified: 'bool' = ..., saved_scene_data: 'dict | None' = ..., playing_root: 'Node | None' = ..., placeholder: 'Control' = ..., tab_name: 'str' = ..., source_file: 'str | None' = ..., source_class: 'type | None' = ..., source_module: 'Any' = ..., file_classification: 'str' = ..., identity_hints: 'dict' = ..., file_baseline: 'dict' = ...) -> 'None'
ScriptTemplate class(name: 'str', base_class: 'str', body: 'str', description: 'str' = ...) -> 'None'
SelectNode class(path: 'str') -> 'None'
SetProperty class(path: 'str', prop: 'str', value: 'object') -> 'None'
State class()
StopScene class() -> 'None'
SwitchViewport class(mode: 'str') -> 'None'
TEMPLATES dict
TransformCommand class(node: 'Node', old_values: 'dict[str, Any]', new_values: 'dict[str, Any]') -> 'None'
UnsavedChangesDialog class(**kwargs)
WelcomeScreen class(**kwargs)
WorkspaceTabs class()
convert_node_to_class function(state: 'State', node: 'Node', class_name: 'str', *, destination: 'Path | None' = ..., template: 'str | None' = ...) -> 'Conversion'
extract_node_to_file function(node: 'Node', source: 'str', output_path: 'str', class_name: 'str | None' = ...) -> 'tuple[str, str]'
format_recovery_message function(envelope: 'dict') -> 'str'
fuzzy_score function(query: 'str', target: 'str') -> 'int'
generate_project function(template_name: 'str', project_name: 'str', output_dir: 'str | Path') -> 'Path'
generate_script function(template_name: 'str', class_name: 'str', file_name: 'str | None' = ..., output_path: 'str | Path | None' = ..., *, base_class: 'str | None' = ...) -> 'str'
is_tool function(cls_or_instance) -> 'bool'
launch function(project_path: 'str | None' = ..., backend: 'str | None' = ...)
main function()
register_editor_steps function()
scan_project_files function(project_path: 'Path | str | None', max_files: 'int' = ...) -> 'list[str]'
search_files function(query: 'str', files: 'list[str]') -> 'list[str]'
tool function(cls: 'type') -> 'type'

[methods]
Autosave.autosave_path property
Autosave.check_recovery method(self, project_path: 'Path | None' = ...) -> 'dict | None'
Autosave.discard method(self) -> 'None'
Autosave.poll method(self, now: 'float' = ...) -> 'None'
Autosave.restore method(self, envelope: 'dict')
AutosaveRecoveryDialog.gui_input method(self, event)
AutosaveRecoveryDialog.show_dialog method(self, message: 'str', parent_size: 'Vec2 | None' = ...) -> 'None'
BaseModalDialog.open_modal method(self, *, initial_focus=...) -> 'None'
CommandPalette.hide method(self)
CommandPalette.mode property
CommandPalette.on_draw method(self, renderer)
CommandPalette.on_update method(self, dt: 'float')
CommandPalette.register_command method(self, name: 'str', callback: 'Callable', shortcut: 'str' = ..., category: 'str' = ...) -> 'None'
CommandPalette.show method(self, mode: 'PaletteMode' = ...)
CommandPalette.show_files method(self)
CommandPalette.toggle method(self)
CommandRegistry.commands property
CommandRegistry.execute method(self, name: 'str') -> 'bool'
CommandRegistry.register method(self, name: 'str', callback: 'Callable', shortcut: 'str' = ..., category: 'str' = ...) -> 'None'
CommandRegistry.search method(self, query: 'str') -> 'list[Command]'
Config.get_theme method(self) -> 'AppTheme'
Config.load method(self) -> 'None'
Config.reset_to_defaults method(self) -> 'None'
Config.save method(self) -> 'None'
ErrorRecovery.clear_error method(self, node: 'Node')
ErrorRecovery.errored_nodes property
ErrorRecovery.mark_errored method(self, node: 'Node', tb: 'str')
ErrorRecovery.try_reinstantiate method(self, node: 'Node', cls: 'type') -> 'Node | None'
HintOverlay.active_hint property
HintOverlay.active_hint_text property
HintOverlay.dismiss method(self) -> 'None'
HintOverlay.on_draw method(self, renderer) -> 'None'
HintOverlay.on_update method(self, dt: 'float') -> 'None'
HintOverlay.reset method(self) -> 'None'
HintOverlay.show_hint method(self, key: 'str') -> 'bool'
HintOverlay.shown_hints property
KeyboardNavigator.add_panel method(self, panel: 'Control') -> 'None'
KeyboardNavigator.focus_index property
KeyboardNavigator.focus_panel method(self, panel: 'Control') -> 'bool'
KeyboardNavigator.focus_panel_by_name method(self, name: 'str') -> 'bool'
KeyboardNavigator.focused_panel property
KeyboardNavigator.handle_tab method(self, shift: 'bool' = ...) -> 'bool'
KeyboardNavigator.panels property
KeyboardNavigator.remove_panel method(self, panel: 'Control') -> 'None'
LayoutPresets.apply_preset method(self, name: 'str', shell) -> 'bool'
LayoutPresets.capture_layout method(self, shell) -> 'dict | None'
LayoutPresets.delete_preset method(self, name: 'str') -> 'bool'
LayoutPresets.get_preset method(self, name: 'str') -> 'dict | None'
LayoutPresets.list_presets method(self) -> 'list[str]'
LayoutPresets.save_preset method(self, name: 'str', layout: 'dict')
LiveFileOps.classify_file method(self, module: 'ModuleType', file_path: 'str') -> 'str'
LiveFileOps.find_node_classes method(self, module: 'ModuleType') -> 'list[tuple[str, type]]'
LiveFileOps.get_primary_class method(self, module: 'ModuleType', file_path: 'str') -> 'type | None'
LiveFileOps.instantiate_class method(self, cls: 'type') -> 'Node | None'
LiveFileOps.open_file method(self, path: 'str | Path') -> 'None'
NewSceneDialog.gui_input method(self, event)
NewSceneDialog.show_dialog method(self, parent_size: 'Vec2 | None' = ...)
NodeOps.add_node method(self, node: 'Node', parent: 'Node | None' = ...)
NodeOps.cancel_place_mode method(self)
NodeOps.duplicate_node method(self, node: 'Node') -> 'Node | None'
NodeOps.enter_place_mode method(self, node_class: 'type')
NodeOps.find_node method(self, path: 'str') -> 'Node | None'
NodeOps.get_scene_title method(self) -> 'str'
NodeOps.place_node_at method(self, x: 'float', y: 'float', parent: 'Node | None' = ...)
NodeOps.remove_node method(self, node: 'Node')
NodeOps.rename_node method(self, node: 'Node', new_name: 'str')
NodeOps.set_node_property method(self, node: 'Node', prop: 'str', value)
PlayMode.attach_profiler method(self, profiler: 'FrameProfiler | None') -> 'None'
PlayMode.create_game_viewport method(self, engine, width: 'int', height: 'int') -> 'None'
PlayMode.destroy_game_viewport method(self) -> 'None'
PlayMode.elapsed_time property
PlayMode.ensure_game_viewport_size method(self, width: 'int', height: 'int', *, debounce_frames: 'int' = ...) -> 'None'
PlayMode.forward_input_to_game method(self, event_type: 'str', **kwargs) -> 'None'
PlayMode.frame_count property
PlayMode.game_input property
PlayMode.game_texture_id property
PlayMode.game_tree property
PlayMode.game_viewport property
PlayMode.get_active_camera method(self) -> 'Camera3D | None'
PlayMode.get_border_colour method(self) -> 'tuple[float, float, float, float] | None'
PlayMode.is_active property
PlayMode.is_detached property
PlayMode.profiler property
PlayMode.resize_game_viewport method(self, width: 'int', height: 'int') -> 'None'
PlayMode.set_hot_reload_enabled method(self, enabled: 'bool') -> 'None'
PlayMode.should_route_input_to_game method(self) -> 'bool'
PlayMode.start method(self) -> 'None'
PlayMode.start_detached method(self) -> 'None'
PlayMode.stop method(self) -> 'None'
PlayMode.stop_detached method(self) -> 'None'
PlayMode.toggle_pause method(self) -> 'None'
PlayMode.update method(self, dt: 'float') -> 'None'
Plugin.activate method(self)
Plugin.add_control_to_dock method(self, dock_name: 'str', control: 'Control')
Plugin.add_custom_type method(self, type_name: 'str', base_type: 'str', script_path: 'str' = ..., icon: 'str' = ...)
Plugin.add_inspector_plugin method(self, plugin: 'Any')
Plugin.add_tool_menu_item method(self, label: 'str', callback: 'Callable')
Plugin.deactivate method(self)
Plugin.remove_control_from_dock method(self, control: 'Control')
Plugin.remove_custom_type method(self, type_name: 'str')
Plugin.remove_inspector_plugin method(self, plugin: 'Any')
Plugin.remove_tool_menu_item method(self, label: 'str')
PluginManifest.load method(toml_path: 'Path') -> 'PluginManifest | None'
PluginManifest.to_dict method(self) -> 'dict'
PluginRegistry.activate_plugin method(self, name: 'str') -> 'bool'
PluginRegistry.deactivate_all method(self)
PluginRegistry.deactivate_plugin method(self, name: 'str') -> 'bool'
PluginRegistry.errors property
PluginRegistry.get_all_custom_types method(self) -> 'list[tuple[str, str]]'
PluginRegistry.get_all_tool_menu_items method(self) -> 'list[tuple[str, str, Callable]]'
PluginRegistry.get_manifest method(self, name: 'str') -> 'PluginManifest | None'
PluginRegistry.get_plugin method(self, name: 'str') -> 'Plugin | None'
PluginRegistry.list_active method(self) -> 'list[str]'
PluginRegistry.list_manifests method(self) -> 'list[PluginManifest]'
PluginRegistry.load_plugin method(self, name: 'str') -> 'Plugin | None'
PluginRegistry.scan_addons method(self, project_path: 'str | Path') -> 'list[PluginManifest]'
ProjectMetadata.from_dict method(data: 'dict') -> 'ProjectMetadata'
ProjectRegistry.add method(self, project_dir: 'str') -> 'None'
ProjectRegistry.has_project_file method(directory: 'str | Path') -> 'bool'
ProjectRegistry.load method(self) -> 'None'
ProjectRegistry.refresh method(self) -> 'None'
ProjectRegistry.remove method(self, project_dir: 'str') -> 'None'
ProjectRegistry.save method(self) -> 'None'
ProjectRegistry.scan method(self, project_dir: 'str') -> 'RecentProject | None'
ProjectSession.add_recent method(self, path: 'str') -> 'None'
ProjectSession.clear_recent_files method(self) -> 'None'
ProjectSession.get_scene_node_count method(state: 'State') -> 'int'
ProjectSession.get_window_title method(self, state: 'State') -> 'str'
ProjectSession.load_project method(self, path: 'str | Path') -> 'bool'
ProjectSession.new_scene method(self, state: 'State') -> 'None'
ProjectSession.open_scene method(self, state: 'State') -> 'None'
ProjectSession.recent_files property
ProjectSession.save_project method(self, path: 'str | Path') -> 'bool'
ProjectSession.save_scene method(self, state: 'State') -> 'bool'
ProjectSession.save_scene_as method(self, state: 'State') -> 'None'
ReportEntry.destructive property
Root.inspector_panel property
Root.on_exit_tree method(self)
Root.on_ready method(self)
Root.on_update method(self, dt: 'float')
Root.restore_layout method(self, data: 'dict')
Root.save_layout method(self) -> 'dict'
Root.scene_tree_panel property
SavePreviewDialog.editing property
SavePreviewDialog.show method(self, parent_size: 'Vec2 | None' = ...)
SavePreviewDialog.source property
SaveReportDialog.cancelled method
SaveReportDialog.confirmed method
SaveReportDialog.dismiss method(self) -> 'None'
SaveReportDialog.on_draw method(self, renderer)
SaveReportDialog.report_text property
SaveReportDialog.show_for method(self, plan: 'ScenePlan', on_confirm: 'Callable[[], None] | None' = ...) -> 'None'
SaveReportDialog.show_written method(self, path: 'Path', report: 'Sequence[ReportEntry]') -> 'None'
SceneFileOps.commit_save method(self, plan: 'ScenePlan') -> 'bool'
SceneFileOps.new_scene method(self, root_type: 'type' = ..., *, populate: 'bool' = ...)
SceneFileOps.open_scene method(self, path: 'str | Path')
SceneFileOps.plan_save method(self, path: 'str | Path | None' = ...) -> 'ScenePlan | None'
SceneFileOps.save_scene method(self, path: 'str | Path | None' = ..., *, force: 'bool' = ...)
ScenePlan.clean property
ScenePlan.destructive property
ScenePlan.overtaken method(self) -> 'str | None'
SceneTabState.create method(root_type: 'type' = ..., name: 'str' = ...) -> 'SceneTabState'
SceneTabState.is_dirty property
SceneTabState.save method(self) -> 'None'
SceneTabState.tab_widget property
State.current_scene_path property
State.dirty_paths method(self) -> 'set[Path]'
State.edited_scene property
State.editor_camera property
State.modified property
State.pause_scene method(self)
State.play_scene method(self)
State.project_root property
State.selection property
State.stop_scene method(self)
State.undo_stack property
State.viewport_mode property
UnsavedChangesDialog.gui_input method(self, event)
UnsavedChangesDialog.show_dialog method(self, tab_name: 'str' = ..., parent_size: 'Vec2 | None' = ...)
WelcomeScreen.on_ready method(self)
WelcomeScreen.on_update method(self, dt: 'float')
WelcomeScreen.project_opened method
WelcomeScreen.skipped method
WorkspaceTabs.active_index property
WorkspaceTabs.active_scene property
WorkspaceTabs.add_scene_tab method(self, state: 'SceneTabState') -> 'int'
WorkspaceTabs.bind method(self, tab_container: 'TabContainer')
WorkspaceTabs.close_all_tabs method(self, on_complete: 'Callable | None' = ...)
WorkspaceTabs.close_current_tab method(self)
WorkspaceTabs.close_tab method(self, index: 'int')
WorkspaceTabs.current_editor property
WorkspaceTabs.find_scene_tab method(self, path: 'Path') -> 'int | None'
WorkspaceTabs.is_code_tab method(self, i: 'int') -> 'bool'
WorkspaceTabs.is_scene_tab method(self, i: 'int') -> 'bool'
WorkspaceTabs.is_script_tab method(self, i: 'int') -> 'bool'
WorkspaceTabs.is_tab_dirty method(self, index: 'int') -> 'bool'
WorkspaceTabs.is_untitled_tab method(self, i: 'int') -> 'bool'
WorkspaceTabs.new_untitled method(self) -> 'int'
WorkspaceTabs.open_file method(self, path, line: 'int | None' = ...) -> 'int'
WorkspaceTabs.promote_untitled_to_file method(self, index: 'int', path: 'Path | str') -> 'bool'
WorkspaceTabs.save_all_scripts method(self)
WorkspaceTabs.save_current_script method(self)
WorkspaceTabs.set_active method(self, index: 'int')
WorkspaceTabs.tab_count property
WorkspaceTabs.untitled_tabs method(self) -> 'list[UntitledTabState]'

[properties]
AutosaveRecoveryDialog.anchor_bottom
AutosaveRecoveryDialog.anchor_left
AutosaveRecoveryDialog.anchor_right
AutosaveRecoveryDialog.anchor_top
AutosaveRecoveryDialog.clip_contents
AutosaveRecoveryDialog.dismiss_on_outside_click
AutosaveRecoveryDialog.hdr
AutosaveRecoveryDialog.margin_bottom
AutosaveRecoveryDialog.margin_left
AutosaveRecoveryDialog.margin_right
AutosaveRecoveryDialog.margin_top
AutosaveRecoveryDialog.min_size_x
AutosaveRecoveryDialog.min_size_y
AutosaveRecoveryDialog.position
AutosaveRecoveryDialog.render_layer
AutosaveRecoveryDialog.rotation
AutosaveRecoveryDialog.scale
AutosaveRecoveryDialog.size_x
AutosaveRecoveryDialog.size_y
AutosaveRecoveryDialog.z_as_relative
AutosaveRecoveryDialog.z_index
CommandPalette.anchor_bottom
CommandPalette.anchor_left
CommandPalette.anchor_right
CommandPalette.anchor_top
CommandPalette.clip_contents
CommandPalette.dismiss_on_outside_click
CommandPalette.hdr
CommandPalette.margin_bottom
CommandPalette.margin_left
CommandPalette.margin_right
CommandPalette.margin_top
CommandPalette.min_size_x
CommandPalette.min_size_y
CommandPalette.position
CommandPalette.render_layer
CommandPalette.rotation
CommandPalette.scale
CommandPalette.size_x
CommandPalette.size_y
CommandPalette.z_as_relative
CommandPalette.z_index
HintOverlay.anchor_bottom
HintOverlay.anchor_left
HintOverlay.anchor_right
HintOverlay.anchor_top
HintOverlay.clip_contents
HintOverlay.dismiss_on_outside_click
HintOverlay.enabled
HintOverlay.hdr
HintOverlay.margin_bottom
HintOverlay.margin_left
HintOverlay.margin_right
HintOverlay.margin_top
HintOverlay.min_size_x
HintOverlay.min_size_y
HintOverlay.position
HintOverlay.render_layer
HintOverlay.rotation
HintOverlay.scale
HintOverlay.size_x
HintOverlay.size_y
HintOverlay.z_as_relative
HintOverlay.z_index
NewSceneDialog.anchor_bottom
NewSceneDialog.anchor_left
NewSceneDialog.anchor_right
NewSceneDialog.anchor_top
NewSceneDialog.clip_contents
NewSceneDialog.dismiss_on_outside_click
NewSceneDialog.hdr
NewSceneDialog.margin_bottom
NewSceneDialog.margin_left
NewSceneDialog.margin_right
NewSceneDialog.margin_top
NewSceneDialog.min_size_x
NewSceneDialog.min_size_y
NewSceneDialog.position
NewSceneDialog.render_layer
NewSceneDialog.rotation
NewSceneDialog.scale
NewSceneDialog.size_x
NewSceneDialog.size_y
NewSceneDialog.z_as_relative
NewSceneDialog.z_index
SavePreviewDialog.anchor_bottom
SavePreviewDialog.anchor_left
SavePreviewDialog.anchor_right
SavePreviewDialog.anchor_top
SavePreviewDialog.clip_contents
SavePreviewDialog.dismiss_on_outside_click
SavePreviewDialog.hdr
SavePreviewDialog.margin_bottom
SavePreviewDialog.margin_left
SavePreviewDialog.margin_right
SavePreviewDialog.margin_top
SavePreviewDialog.min_size_x
SavePreviewDialog.min_size_y
SavePreviewDialog.position
SavePreviewDialog.render_layer
SavePreviewDialog.rotation
SavePreviewDialog.scale
SavePreviewDialog.size_x
SavePreviewDialog.size_y
SavePreviewDialog.z_as_relative
SavePreviewDialog.z_index
SaveReportDialog.anchor_bottom
SaveReportDialog.anchor_left
SaveReportDialog.anchor_right
SaveReportDialog.anchor_top
SaveReportDialog.clip_contents
SaveReportDialog.dismiss_on_outside_click
SaveReportDialog.hdr
SaveReportDialog.margin_bottom
SaveReportDialog.margin_left
SaveReportDialog.margin_right
SaveReportDialog.margin_top
SaveReportDialog.min_size_x
SaveReportDialog.min_size_y
SaveReportDialog.position
SaveReportDialog.render_layer
SaveReportDialog.rotation
SaveReportDialog.scale
SaveReportDialog.size_x
SaveReportDialog.size_y
SaveReportDialog.z_as_relative
SaveReportDialog.z_index
UnsavedChangesDialog.anchor_bottom
UnsavedChangesDialog.anchor_left
UnsavedChangesDialog.anchor_right
UnsavedChangesDialog.anchor_top
UnsavedChangesDialog.clip_contents
UnsavedChangesDialog.dismiss_on_outside_click
UnsavedChangesDialog.hdr
UnsavedChangesDialog.margin_bottom
UnsavedChangesDialog.margin_left
UnsavedChangesDialog.margin_right
UnsavedChangesDialog.margin_top
UnsavedChangesDialog.min_size_x
UnsavedChangesDialog.min_size_y
UnsavedChangesDialog.position
UnsavedChangesDialog.render_layer
UnsavedChangesDialog.rotation
UnsavedChangesDialog.scale
UnsavedChangesDialog.size_x
UnsavedChangesDialog.size_y
UnsavedChangesDialog.z_as_relative
UnsavedChangesDialog.z_index
