refactor: tighten upload and viewer contracts
This commit is contained in:
+27
-1
@@ -1,4 +1,4 @@
|
||||
export type FileStatus = 'pending' | 'uploading' | 'success' | 'error'
|
||||
type FileStatus = 'pending' | 'uploading' | 'success' | 'error'
|
||||
|
||||
export interface TextureFile {
|
||||
name: string
|
||||
@@ -23,3 +23,29 @@ export interface FolderEntry {
|
||||
driveStatus?: DriveStatus
|
||||
driveError?: string
|
||||
}
|
||||
|
||||
export interface ModelStats {
|
||||
childObjects: number
|
||||
drawCalls: number
|
||||
materials: number
|
||||
meshes: number
|
||||
textures: number
|
||||
triangles: number
|
||||
}
|
||||
|
||||
export interface ModelHierarchyNode {
|
||||
children: ModelHierarchyNode[]
|
||||
id: string
|
||||
name: string
|
||||
position: [number, number, number]
|
||||
rotation: [number, number, number]
|
||||
type: string
|
||||
visible: boolean
|
||||
}
|
||||
|
||||
export interface SceneViewerProps {
|
||||
url: string
|
||||
assetUrls: Record<string, string>
|
||||
onStatsReady: (stats: ModelStats) => void
|
||||
onHierarchyReady: (hierarchy: ModelHierarchyNode) => void
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user