Spaces:
Runtime error
Runtime error
export type ProjectionMode = 'cartesian' | 'spherical' | |
export type CacheMode = "use" | "renew" | "ignore" | |
export interface RenderRequest { | |
prompt: string | |
// whether to use video segmentation | |
// disabled (default) | |
// firstframe: we only analyze the first frame | |
// allframes: we analyze all the frames | |
segmentation: 'disabled' | 'firstframe' | 'allframes' | |
// segmentation will only be executed if we have a non-empty list of actionnables | |
// actionnables are names of things like "chest", "key", "tree", "chair" etc | |
actionnables: string[] | |
// note: this is the number of frames for Zeroscope, | |
// which is currently configured to only output 3 seconds, so: | |
// nbFrames=8 -> 1 sec | |
// nbFrames=16 -> 2 sec | |
// nbFrames=24 -> 3 sec | |
nbFrames: number // min: 1, max: 24 | |
nbSteps: number // min: 1, max: 50 | |
seed: number | |
width: number // fixed at 1024 for now | |
height: number // fixed at 512 for now | |
// upscaling factor | |
// 0: no upscaling | |
// 1: no upscaling | |
// 2: 2x larger | |
// 3: 3x larger | |
// 4x: 4x larger, up to 4096x4096 (warning: a PNG of this size can be 50 Mb!) | |
upscalingFactor: number | |
projection: ProjectionMode | |
cache: CacheMode | |
wait: boolean // wait until the job is completed | |
analyze: boolean // analyze the image to generate a caption (optional) | |
} | |
export interface ImageSegment { | |
id: number | |
box: number[] | |
color: number[] | |
label: string | |
score: number | |
} | |
export type RenderedSceneStatus = | |
| "pending" | |
| "completed" | |
| "error" | |
export type SceneEvent = | |
| "HoveringNothing" | |
| "HoveringActionnable" | |
// | "ItemIsOverActionnable" | |
| "ClickOnNothing" | |
| "ClickOnActionnable" | |
export interface RenderedScene { | |
renderId: string | |
status: RenderedSceneStatus | |
assetUrl: string | |
alt: string | |
error: string | |
maskUrl: string | |
segments: ImageSegment[] | |
} | |
export type InventoryEvent = | |
| "Grabbing" // grabbed from the inventory, the item is flying over nothing | |
| "HoverAnItem" // hover an item, without dragging it | |
| "ClickOnItem" // click on an item, without dragging it | |
| "HoveringTheScene" // the item is hover the scene, but not on an actionnable | |
| "HoveringActionnable" // the item is hover a scene actionnable, ready to be dropped | |
| "DroppedOnActionnable" // the item has been dropped on a scene actionnable | |
| "HoveringAnotherItem" // the item is hover another inventory item, ready to be dropped | |
| "DroppedOnAnotherItem" // the item has been dropped on another inventory item | |
| "DroppedBackToInventory" // the drag & drop is cancelled, the item is back in the inventory | |
export interface InventoryItem { | |
name: string | |
title: string | |
caption: string | |
description: string | |
} | |
export interface DropZoneTarget { | |
type: "InventoryItem" | "Actionnable" | |
name: string | |
title?: string | |
caption?: string | |
description?: string | |
} | |
export type OnInventoryEvent = (event: InventoryEvent, item: InventoryItem, target?: { | |
name: string | |
title?: string | |
description?: string | |
}) => void |