import { CreateContainerCommand } from '../core/commands/containerCommands'; import { RemoveSceneObjectsCommand } from '../core/commands/sceneObjectCommands'; import { type EditorState, objectSelection } from './state'; /** * Editor actions that several places trigger the same way (inspector, hierarchy context * menu, keyboard): they run the command and put the selection where the user expects it. */ /** Groups the objects into a new container asset placed in their stead; selects the container. */ export function createContainer(state: EditorState, sceneId: string, objectIds: readonly string[]): boolean { const command = new CreateContainerCommand(sceneId, objectIds); if (!state.execute(command)) return false; state.select(objectSelection(sceneId, [command.objectId])); return true; } /** Removes the objects (with their subtrees) as one undo step. */ export function removeObjects(state: EditorState, sceneId: string, objectIds: readonly string[]): boolean { return state.execute(new RemoveSceneObjectsCommand(sceneId, objectIds)); }