UNPKG

@drecom/scene-graph-schema

Version:

scene-graph-schema is a intermediate data schema that represents common data structure of a scene in game application.

178 lines (176 loc) 3.16 kB
/** * This file was automatically generated by json-schema-to-typescript. * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file, * and run json-schema-to-typescript to regenerate this file. */ export interface SchemaJson { metadata: { width: number; height: number; positiveCoord: { xRight: boolean; yDown: boolean; [k: string]: any; }; [k: string]: any; }; scene: Node[]; [k: string]: any; } export interface Node { id: string; name: string; constructorName: string; transform?: Transform; transform3d?: Transform3D; renderer?: Renderer; meshRenderer?: MeshRenderer; spine?: Spine; sprite?: Sprite; text?: Text; layout?: Layout; mask?: Mask; [k: string]: any; } export interface Transform { width?: number; height?: number; x: number; y: number; rotation?: number; scale?: { x: number; y: number; [k: string]: any; }; anchor: { x: number; y: number; [k: string]: any; }; parent?: string; children?: string[]; [k: string]: any; } export interface Transform3D { x: number; y: number; z: number; rotation: { x: number; y: number; z: number; w?: number; [k: string]: any; }; scale?: { x: number; y: number; z: number; [k: string]: any; }; parent?: string; children?: string[]; [k: string]: any; } export interface Renderer { color?: { r: number; g: number; b: number; a: number; [k: string]: any; }; [k: string]: any; } export interface MeshRenderer { mesh?: { url: string; [k: string]: any; }; materials?: { url: string; [k: string]: any; }[]; atlasUrl?: string; frameName?: string; slice?: { top?: number; bottom?: number; left?: number; right?: number; [k: string]: any; }; [k: string]: any; } export interface Spine { url: string; skin: string; animation?: { name: string; loop?: boolean; offset?: number; [k: string]: any; }; [k: string]: any; } export interface Sprite { url?: string; base64?: string; atlasUrl?: string; frameName?: string; slice?: { top?: number; bottom?: number; left?: number; right?: number; [k: string]: any; }; [k: string]: any; } export interface Text { text: string; style: { size?: number; horizontalAlign?: number; color?: string; [k: string]: any; }; [k: string]: any; } export interface Layout { layoutSize?: { width: number; height: number; [k: string]: any; }; resize: number; layoutType: number; cellSize?: { width: number; height: number; [k: string]: any; }; startAxis?: number; paddingLeft?: number; paddingRight?: number; paddingTop?: number; paddingBottom?: number; spacingX?: number; spacingY?: number; verticalDirection?: number; horizontalDirection?: number; [k: string]: any; } export interface Mask { maskType: number; inverted: boolean; spriteFrame?: { url?: string; base64?: string; atlasUrl?: string; frameName?: string; [k: string]: any; }; [k: string]: any; }