import { SchemaData, SchemaKind, SchemaVersion } from "./types/sceneObjectSchemas.js"; /** * Interface for updating scene objects * * @example * ```typescript * const layerUpdate: StandardSceneObjectUpdate<'Layer', '1.0.0'> = { * displayName: 'Updated Layer', * data: { visible: false } * }; * ``` */ export interface SceneObjectUpdate = SchemaVersion> { /** Optional display name for the scene object. Pass `null` to remove. */ displayName?: string | null; /** Optional number for the scene object's order in lists. Pass `null` to remove. */ order?: number | null; /** Optional stacking order for clients to control rendering sequence. Objects with lower values are typically drawn beneath objects with higher values. Pass `null` to remove. */ displayOrder?: number | null; /** Optional parent Id for the scene object (UUID). Pass `null` to remove. */ parentId?: string | null; /** Optional visibility state for the scene object. Pass `null` to remove. */ visible?: boolean | null; /** Schema-specific data to update for the scene object */ data?: SchemaData; } export type SceneObjectUpdateById = SceneObjectUpdate & { /** Id of the scene object to update (UUID) */ id: string; }; /** * Interface for updating multiple scene objects in bulk * * @deprecated Use {@link BulkSceneObjectOperations} instead. * @example * ```typescript * const bulkUpdate: BulkSceneObjectUpdate = { * objects: [ * { id: '', displayName: 'My Object 1' }, * { id: '', data: { ... } } * ] * }; * ``` */ export interface BulkSceneObjectUpdate { /** Array of scene objects to patch */ objects: SceneObjectUpdateById[]; }