Small World Engine API Reference - v0.78.00
    Preparing search index...

    Interface GltfJson

    interface GltfJson {
        accessors?: {
            bufferView?: number;
            byteOffset?: number;
            componentType: number;
            count: number;
            type: string;
        }[];
        animations?: {
            channels: {
                sampler: number;
                target: {
                    node?: number;
                    path: "scale"
                    | "translation"
                    | "rotation"
                    | "weights";
                };
            }[];
            name?: string;
            samplers: {
                input: number;
                interpolation?: "LINEAR"
                | "STEP"
                | "CUBICSPLINE";
                output: number;
            }[];
        }[];
        asset?: { generator?: string; version?: string; [key: string]: unknown };
        buffers?: { uri?: string }[];
        bufferViews?: { buffer: number; byteLength: number; byteOffset?: number }[];
        extensions?: {
            KHR_lights_punctual?: {
                lights: {
                    color?: number[];
                    intensity?: number;
                    name?: string;
                    range?: number;
                    type: "point" | "directional" | "spot";
                }[];
            };
            KHR_materials_variants?: { variants?: { name: string }[] };
            [key: string]: unknown;
        };
        extensionsRequired?: string[];
        extensionsUsed?: string[];
        images?: {
            bufferView?: number;
            extensions?: { [key: string]: unknown };
            mimeType?: string;
            uri?: string;
        }[];
        materials?: {
            alphaCutoff?: number;
            alphaMode?: "OPAQUE"
            | "MASK"
            | "BLEND";
            doubleSided?: boolean;
            emissiveFactor?: number[];
            emissiveTexture?: { index: number };
            extensions?: {
                KHR_materials_clearcoat?: {
                    clearcoatFactor?: number;
                    clearcoatNormalTexture?: { index: number; scale?: number };
                    clearcoatRoughnessFactor?: number;
                    clearcoatRoughnessTexture?: { index: number };
                    clearcoatTexture?: { index: number };
                };
                KHR_materials_emissive_strength?: { emissiveStrength?: number };
                KHR_materials_ior?: { ior?: number };
                KHR_materials_sheen?: {
                    sheenColorFactor?: number[];
                    sheenColorTexture?: { index: number };
                    sheenRoughnessFactor?: number;
                    sheenRoughnessTexture?: { index: number };
                };
                KHR_materials_transmission?: {
                    transmissionFactor?: number;
                    transmissionTexture?: { index: number };
                };
                KHR_materials_volume?: {
                    attenuationColor?: number[];
                    attenuationDistance?: number;
                    thicknessFactor?: number;
                    thicknessTexture?: { index: number };
                };
                [key: string]: unknown;
            };
            normalTexture?: { index: number; scale?: number };
            occlusionTexture?: { index: number; strength?: number };
            pbrMetallicRoughness?: {
                baseColorFactor?: number[];
                baseColorTexture?: { index: number };
                metallicFactor?: number;
                metallicRoughnessTexture?: { index: number };
                roughnessFactor?: number;
            };
        }[];
        meshes?: {
            name?: string;
            primitives: {
                attributes: { [key: string]: number };
                extensions?: {
                    KHR_draco_mesh_compression?: {
                        attributes: { [name: string]: number };
                        bufferView: number;
                    };
                    KHR_materials_variants?: { mappings?: (...)[] };
                    [key: string]: unknown;
                };
                indices?: number;
                material?: number;
            }[];
        }[];
        nodes?: {
            children?: number[];
            extensions?: {
                KHR_lights_punctual?: { light: number };
                SW_prefab_instance?: { source: string };
                SW_stage_zone?: {
                    displayName?: string;
                    points: { scale?: number; u: number; v: number }[];
                };
                [key: string]: unknown;
            };
            matrix?: number[];
            mesh?: number;
            name?: string;
            rotation?: number[];
            scale?: number[];
            skin?: number;
            translation?: number[];
        }[];
        scene?: number;
        scenes?: { nodes?: number[] }[];
        skins?: {
            inverseBindMatrices?: number;
            joints: number[];
            name?: string;
            skeleton?: number;
        }[];
        textures?: {
            extensions?: {
                KHR_texture_basisu?: { source: number };
                [key: string]: unknown;
            };
            sampler?: number;
            source?: number;
        }[];
    }
    Index
    accessors?: {
        bufferView?: number;
        byteOffset?: number;
        componentType: number;
        count: number;
        type: string;
    }[]
    animations?: {
        channels: {
            sampler: number;
            target: {
                node?: number;
                path: "scale" | "translation" | "rotation" | "weights";
            };
        }[];
        name?: string;
        samplers: {
            input: number;
            interpolation?: "LINEAR"
            | "STEP"
            | "CUBICSPLINE";
            output: number;
        }[];
    }[]
    asset?: { generator?: string; version?: string; [key: string]: unknown }
    buffers?: { uri?: string }[]
    bufferViews?: { buffer: number; byteLength: number; byteOffset?: number }[]
    extensions?: {
        KHR_lights_punctual?: {
            lights: {
                color?: number[];
                intensity?: number;
                name?: string;
                range?: number;
                type: "point" | "directional" | "spot";
            }[];
        };
        KHR_materials_variants?: { variants?: { name: string }[] };
        [key: string]: unknown;
    }

    Root-level extensions

    extensionsRequired?: string[]
    extensionsUsed?: string[]
    images?: {
        bufferView?: number;
        extensions?: { [key: string]: unknown };
        mimeType?: string;
        uri?: string;
    }[]
    materials?: {
        alphaCutoff?: number;
        alphaMode?: "OPAQUE" | "MASK" | "BLEND";
        doubleSided?: boolean;
        emissiveFactor?: number[];
        emissiveTexture?: { index: number };
        extensions?: {
            KHR_materials_clearcoat?: {
                clearcoatFactor?: number;
                clearcoatNormalTexture?: { index: number; scale?: number };
                clearcoatRoughnessFactor?: number;
                clearcoatRoughnessTexture?: { index: number };
                clearcoatTexture?: { index: number };
            };
            KHR_materials_emissive_strength?: { emissiveStrength?: number };
            KHR_materials_ior?: { ior?: number };
            KHR_materials_sheen?: {
                sheenColorFactor?: number[];
                sheenColorTexture?: { index: number };
                sheenRoughnessFactor?: number;
                sheenRoughnessTexture?: { index: number };
            };
            KHR_materials_transmission?: {
                transmissionFactor?: number;
                transmissionTexture?: { index: number };
            };
            KHR_materials_volume?: {
                attenuationColor?: number[];
                attenuationDistance?: number;
                thicknessFactor?: number;
                thicknessTexture?: { index: number };
            };
            [key: string]: unknown;
        };
        normalTexture?: { index: number; scale?: number };
        occlusionTexture?: { index: number; strength?: number };
        pbrMetallicRoughness?: {
            baseColorFactor?: number[];
            baseColorTexture?: { index: number };
            metallicFactor?: number;
            metallicRoughnessTexture?: { index: number };
            roughnessFactor?: number;
        };
    }[]
    meshes?: {
        name?: string;
        primitives: {
            attributes: { [key: string]: number };
            extensions?: {
                KHR_draco_mesh_compression?: {
                    attributes: { [name: string]: number };
                    bufferView: number;
                };
                KHR_materials_variants?: { mappings?: (...)[] };
                [key: string]: unknown;
            };
            indices?: number;
            material?: number;
        }[];
    }[]
    nodes?: {
        children?: number[];
        extensions?: {
            KHR_lights_punctual?: { light: number };
            SW_prefab_instance?: { source: string };
            SW_stage_zone?: {
                displayName?: string;
                points: { scale?: number; u: number; v: number }[];
            };
            [key: string]: unknown;
        };
        matrix?: number[];
        mesh?: number;
        name?: string;
        rotation?: number[];
        scale?: number[];
        skin?: number;
        translation?: number[];
    }[]
    scene?: number
    scenes?: { nodes?: number[] }[]
    skins?: {
        inverseBindMatrices?: number;
        joints: number[];
        name?: string;
        skeleton?: number;
    }[]
    textures?: {
        extensions?: {
            KHR_texture_basisu?: { source: number };
            [key: string]: unknown;
        };
        sampler?: number;
        source?: number;
    }[]