"""SimVX Editor: A Godot-like editor built with SimVX's own UI widgets."""
from .app import launch
from .autosave import Autosave, AutosaveRecoveryDialog, format_recovery_message
from .command_palette import (
Command,
CommandPalette,
CommandRegistry,
PaletteMode,
fuzzy_score,
scan_project_files,
search_files,
)
from .commands import (
AddNodeCommand,
RemoveNodeCommand,
RenameCommand,
ReorderCommand,
ReparentCommand,
TransformCommand,
)
from .config import AppTheme, Config
from .error_recovery import ErrorRecovery
from .extract import extract_node_to_file
from .hints import HintOverlay
from .keyboard_nav import KeyboardNavigator
from .layout_presets import BUILTIN_PRESETS, LayoutPresets
from .main import main
from .play_mode import PlayMode
from .plugin import Plugin, PluginManifest, PluginRegistry, is_tool, tool
from .project import ProjectMetadata, ProjectSession
from .project_registry import ProjectRegistry, RecentProject
from .root import Root
from .save_dialog import SavePreviewDialog
from .state import State
from .templates import (
PROJECT_TEMPLATES,
TEMPLATES,
ProjectTemplate,
ScriptTemplate,
generate_project,
generate_script,
)
from .testing.demo_steps import (
AddNode,
AssertConfig,
AssertProperty,
AssertTree,
ClickMenu,
ConfigureNode,
NewSceneSelect,
PlayScene,
RenameNode,
SelectNode,
SetProperty,
SetScript,
StopScene,
SwitchViewport,
register_editor_steps,
)
from .welcome import WelcomeScreen
from .workspace_tabs import NewSceneDialog, SceneTabState, UnsavedChangesDialog, WorkspaceTabs
__all__ = [
"State",
"Root",
"Command",
"CommandPalette",
"CommandRegistry",
"fuzzy_score",
"PaletteMode",
"scan_project_files",
"search_files",
"main",
"launch",
"PlayMode",
"ProjectSession",
"ProjectMetadata",
"ProjectRegistry",
"RecentProject",
"WelcomeScreen",
"Config",
"AppTheme",
"Plugin",
"PluginManifest",
"PluginRegistry",
"tool",
"is_tool",
"ScriptTemplate",
"TEMPLATES",
"generate_script",
"ProjectTemplate",
"PROJECT_TEMPLATES",
"generate_project",
# Workspace tabs
"WorkspaceTabs",
"SceneTabState",
"NewSceneDialog",
"UnsavedChangesDialog",
# New modules from editor rework
"Autosave",
"AutosaveRecoveryDialog",
"format_recovery_message",
"AddNodeCommand",
"RemoveNodeCommand",
"ReparentCommand",
"ReorderCommand",
"RenameCommand",
"TransformCommand",
"ErrorRecovery",
"extract_node_to_file",
"HintOverlay",
"KeyboardNavigator",
"LayoutPresets",
"BUILTIN_PRESETS",
"SavePreviewDialog",
# Demo step types
"AddNode",
"RenameNode",
"SelectNode",
"SetProperty",
"AssertProperty",
"SetScript",
"PlayScene",
"StopScene",
"SwitchViewport",
"AssertTree",
"ConfigureNode",
"AssertConfig",
"ClickMenu",
"NewSceneSelect",
"register_editor_steps",
]
# IDE integration lives in ``simvx.ide.editor_integration`` (IDEBridgePlugin).
# The editor must NOT import ide at module load -- ide depends on the editor's
# extension points, never the reverse.