UNPKG

threepipe

Version:

A modern 3D viewer framework built on top of three.js, written in TypeScript, designed to make creating high-quality, modular, and extensible 3D experiences on the web simple and enjoyable.

35 lines 1.29 kB
import { IObject3D } from '../../core'; export type ClipboardMode = 'copy' | 'cut'; export interface ClipboardState { objects: IObject3D[]; mode: ClipboardMode; sourceParents: Map<IObject3D, IObject3D | null>; } /** * Internal object clipboard for copy/cut/paste. * - copy/cut: store references (no scene mutation) * - paste: clone or move objects directly to the destination parent (one step, no reparenting) * - Returns {objects, undo, redo} from paste — caller records undo and handles selection. */ export declare class ObjectClipboard { private _state; get state(): ClipboardState | null; get isEmpty(): boolean; copy(objects: IObject3D[]): void; cut(objects: IObject3D[]): void; /** * Paste from clipboard. Clones (copy) or moves (cut) objects directly to destination. * @param destination - target parent, or null to use source parents * @returns pasted objects + undo/redo, or null if clipboard is empty */ paste(destination?: IObject3D | null): { objects: IObject3D[]; undo: () => void; redo: () => void; } | null; clear(): void; private _pasteFromCopy; private _pasteFromCut; private _parentMap; } //# sourceMappingURL=../../src/plugins/interaction/ObjectClipboard.d.ts.map