wonder.js
Version:
513 lines (493 loc) • 71.4 kB
JavaScript
'use strict';
var Js_dict = require("bs-platform/lib/js/js_dict.js");
var Json_decode$WonderBsJson = require("wonder-bs-json/lib/js/src/Json_decode.js");
function _convertAsset(json) {
return Json_decode$WonderBsJson.field("asset", (function (json) {
return /* record */[
/* version */Json_decode$WonderBsJson.field("version", Json_decode$WonderBsJson.string, json),
/* generator */Json_decode$WonderBsJson.optional((function (param) {
return Json_decode$WonderBsJson.field("generator", Json_decode$WonderBsJson.string, param);
}), json)
];
}), json);
}
function _convertSamplers(json) {
return Json_decode$WonderBsJson.optional((function (param) {
return Json_decode$WonderBsJson.field("samplers", (function (param) {
return Json_decode$WonderBsJson.array((function (json) {
return /* record */[
/* magFilter */Json_decode$WonderBsJson.optional((function (param) {
return Json_decode$WonderBsJson.field("magFilter", Json_decode$WonderBsJson.$$int, param);
}), json),
/* minFilter */Json_decode$WonderBsJson.optional((function (param) {
return Json_decode$WonderBsJson.field("minFilter", Json_decode$WonderBsJson.$$int, param);
}), json),
/* wrapS */Json_decode$WonderBsJson.optional((function (param) {
return Json_decode$WonderBsJson.field("wrapS", Json_decode$WonderBsJson.$$int, param);
}), json),
/* wrapT */Json_decode$WonderBsJson.optional((function (param) {
return Json_decode$WonderBsJson.field("wrapT", Json_decode$WonderBsJson.$$int, param);
}), json)
];
}), param);
}), param);
}), json);
}
function _convertBuffers(json) {
return Json_decode$WonderBsJson.field("buffers", (function (param) {
return Json_decode$WonderBsJson.array((function (json) {
return /* record */[
/* uri */Json_decode$WonderBsJson.optional((function (param) {
return Json_decode$WonderBsJson.field("uri", Json_decode$WonderBsJson.string, param);
}), json),
/* byteLength */Json_decode$WonderBsJson.field("byteLength", Json_decode$WonderBsJson.$$int, json)
];
}), param);
}), json);
}
function _convertBufferViews(json) {
return Json_decode$WonderBsJson.field("bufferViews", (function (param) {
return Json_decode$WonderBsJson.array((function (json) {
return /* record */[
/* buffer */Json_decode$WonderBsJson.field("buffer", Json_decode$WonderBsJson.$$int, json),
/* byteOffset */Json_decode$WonderBsJson.optional((function (param) {
return Json_decode$WonderBsJson.field("byteOffset", Json_decode$WonderBsJson.$$int, param);
}), json),
/* byteLength */Json_decode$WonderBsJson.field("byteLength", Json_decode$WonderBsJson.$$int, json),
/* byteStride */Json_decode$WonderBsJson.optional((function (param) {
return Json_decode$WonderBsJson.field("byteStride", Json_decode$WonderBsJson.$$int, param);
}), json)
];
}), param);
}), json);
}
function _convertAccessors(json) {
return Json_decode$WonderBsJson.field("accessors", (function (param) {
return Json_decode$WonderBsJson.array((function (json) {
return /* record */[
/* bufferView */Json_decode$WonderBsJson.optional((function (param) {
return Json_decode$WonderBsJson.field("bufferView", Json_decode$WonderBsJson.$$int, param);
}), json),
/* byteOffset */Json_decode$WonderBsJson.optional((function (param) {
return Json_decode$WonderBsJson.field("byteOffset", Json_decode$WonderBsJson.$$int, param);
}), json),
/* count */Json_decode$WonderBsJson.field("count", Json_decode$WonderBsJson.$$int, json),
/* componentType */Json_decode$WonderBsJson.field("componentType", Json_decode$WonderBsJson.$$int, json),
/* type_ */Json_decode$WonderBsJson.field("type", Json_decode$WonderBsJson.string, json)
];
}), param);
}), json);
}
function _convertTextures(json) {
return Json_decode$WonderBsJson.optional((function (param) {
return Json_decode$WonderBsJson.field("textures", (function (param) {
return Json_decode$WonderBsJson.array((function (json) {
return /* record */[
/* sampler */Json_decode$WonderBsJson.optional((function (param) {
return Json_decode$WonderBsJson.field("sampler", Json_decode$WonderBsJson.$$int, param);
}), json),
/* source */Json_decode$WonderBsJson.optional((function (param) {
return Json_decode$WonderBsJson.field("source", Json_decode$WonderBsJson.$$int, param);
}), json),
/* name */Json_decode$WonderBsJson.optional((function (param) {
return Json_decode$WonderBsJson.field("name", Json_decode$WonderBsJson.string, param);
}), json),
/* extras */Json_decode$WonderBsJson.optional((function (param) {
return Json_decode$WonderBsJson.field("extras", (function (json) {
return /* record */[
/* format */Json_decode$WonderBsJson.field("format", Json_decode$WonderBsJson.$$int, json),
/* type_ */Json_decode$WonderBsJson.field("type_", Json_decode$WonderBsJson.$$int, json),
/* flipY */Json_decode$WonderBsJson.field("flipY", Json_decode$WonderBsJson.bool, json)
];
}), param);
}), json)
];
}), param);
}), param);
}), json);
}
function _convertImages(json) {
return Json_decode$WonderBsJson.optional((function (param) {
return Json_decode$WonderBsJson.field("images", (function (param) {
return Json_decode$WonderBsJson.array((function (json) {
return /* record */[
/* uri */Json_decode$WonderBsJson.optional((function (param) {
return Json_decode$WonderBsJson.field("uri", Json_decode$WonderBsJson.string, param);
}), json),
/* name */Json_decode$WonderBsJson.optional((function (param) {
return Json_decode$WonderBsJson.field("name", Json_decode$WonderBsJson.string, param);
}), json),
/* bufferView */Json_decode$WonderBsJson.optional((function (param) {
return Json_decode$WonderBsJson.field("bufferView", Json_decode$WonderBsJson.$$int, param);
}), json),
/* mimeType */Json_decode$WonderBsJson.optional((function (param) {
return Json_decode$WonderBsJson.field("mimeType", Json_decode$WonderBsJson.string, param);
}), json)
];
}), param);
}), param);
}), json);
}
function _convertCustomData (json){
return json.customData;
};
function _convertExtendData(json) {
return Json_decode$WonderBsJson.field("extendData", (function (json) {
return /* record */[
/* customControlData */Json_decode$WonderBsJson.field("customControlData", (function (json) {
return /* record */[/* funcMap */Json_decode$WonderBsJson.field("funcMap", Json_decode$WonderBsJson.string, json)];
}), json),
/* skinData */Json_decode$WonderBsJson.field("skinData", (function (json) {
return /* record */[/* allSkinDataMap */Json_decode$WonderBsJson.field("allSkinDataMap", Json_decode$WonderBsJson.string, json)];
}), json)
];
}), json);
}
function _convertAssetData(json) {
return Json_decode$WonderBsJson.field("assetData", (function (json) {
return /* record */[
/* fontData */Json_decode$WonderBsJson.optional((function (param) {
return Json_decode$WonderBsJson.field("fontData", (function (json) {
return /* record */[
/* fntData */Json_decode$WonderBsJson.field("fntData", (function (json) {
return /* record */[
/* name */Json_decode$WonderBsJson.field("name", Json_decode$WonderBsJson.string, json),
/* content */Json_decode$WonderBsJson.field("content", Json_decode$WonderBsJson.string, json)
];
}), json),
/* bitmapData */Json_decode$WonderBsJson.field("bitmapData", (function (json) {
return /* record */[
/* name */Json_decode$WonderBsJson.field("name", Json_decode$WonderBsJson.string, json),
/* bufferView */Json_decode$WonderBsJson.field("bufferView", Json_decode$WonderBsJson.$$int, json)
];
}), json)
];
}), param);
}), json),
/* customImagesData */Json_decode$WonderBsJson.optional((function (param) {
return Json_decode$WonderBsJson.field("customImagesData", (function (json) {
return /* record */[/* customImages */Json_decode$WonderBsJson.field("customImages", (function (param) {
return Json_decode$WonderBsJson.array((function (json) {
return /* record */[
/* id */Json_decode$WonderBsJson.field("id", Json_decode$WonderBsJson.string, json),
/* bufferView */Json_decode$WonderBsJson.field("bufferView", Json_decode$WonderBsJson.$$int, json),
/* mimeType */Json_decode$WonderBsJson.field("mimeType", Json_decode$WonderBsJson.string, json)
];
}), param);
}), json)];
}), param);
}), json)
];
}), json);
}
function _convertExecData(json) {
return Json_decode$WonderBsJson.field("execData", (function (json) {
return /* record */[/* execFuncDataArr */Json_decode$WonderBsJson.field("execFuncDataArr", (function (param) {
return Json_decode$WonderBsJson.array((function (json) {
return /* record */[
/* execFunc */Json_decode$WonderBsJson.field("execFunc", Json_decode$WonderBsJson.string, json),
/* customData */_convertCustomData(json),
/* execOrder */Json_decode$WonderBsJson.field("execOrder", Json_decode$WonderBsJson.$$int, json),
/* name */Json_decode$WonderBsJson.field("name", Json_decode$WonderBsJson.string, json)
];
}), param);
}), json)];
}), json);
}
function _convertScenes(json) {
return Json_decode$WonderBsJson.field("scenes", (function (param) {
return Json_decode$WonderBsJson.array((function (json) {
return /* record */[
/* nodes */Json_decode$WonderBsJson.optional((function (param) {
return Json_decode$WonderBsJson.field("nodes", (function (param) {
return Json_decode$WonderBsJson.array(Json_decode$WonderBsJson.$$int, param);
}), param);
}), json),
/* extensions */Json_decode$WonderBsJson.optional((function (param) {
return Json_decode$WonderBsJson.field("extensions", (function (json) {
return /* record */[/* khr_lights */Json_decode$WonderBsJson.optional((function (param) {
return Json_decode$WonderBsJson.field("KHR_lights", (function (json) {
return /* record */[/* light */Json_decode$WonderBsJson.field("light", Json_decode$WonderBsJson.$$int, json)];
}), param);
}), json)];
}), param);
}), json),
/* extras */Json_decode$WonderBsJson.optional((function (param) {
return Json_decode$WonderBsJson.field("extras", (function (json) {
return /* record */[
/* imgui */Json_decode$WonderBsJson.optional((function (param) {
return Json_decode$WonderBsJson.field("imgui", (function (json) {
return /* record */[
/* assetData */_convertAssetData(json),
/* execData */_convertExecData(json),
/* extendData */_convertExtendData(json)
];
}), param);
}), json),
/* skybox */Json_decode$WonderBsJson.optional((function (param) {
return Json_decode$WonderBsJson.field("skybox", (function (json) {
return /* record */[/* cubemap */Json_decode$WonderBsJson.field("cubemap", Json_decode$WonderBsJson.$$int, json)];
}), param);
}), json),
/* isRoot */Json_decode$WonderBsJson.optional((function (param) {
return Json_decode$WonderBsJson.field("isRoot", Json_decode$WonderBsJson.bool, param);
}), json)
];
}), param);
}), json)
];
}), param);
}), json);
}
function _convertExtensions(json) {
return Json_decode$WonderBsJson.optional((function (param) {
return Json_decode$WonderBsJson.field("extensions", (function (json) {
return /* record */[/* khr_lights */Json_decode$WonderBsJson.optional((function (param) {
return Json_decode$WonderBsJson.field("KHR_lights", (function (json) {
return /* record */[/* lights */Json_decode$WonderBsJson.field("lights", (function (param) {
return Json_decode$WonderBsJson.array((function (json) {
return /* record */[
/* type_ */Json_decode$WonderBsJson.field("type", Json_decode$WonderBsJson.string, json),
/* color */Json_decode$WonderBsJson.optional((function (param) {
return Json_decode$WonderBsJson.field("color", (function (param) {
return Json_decode$WonderBsJson.array(Json_decode$WonderBsJson.$$float, param);
}), param);
}), json),
/* intensity */Json_decode$WonderBsJson.optional((function (param) {
return Json_decode$WonderBsJson.field("intensity", Json_decode$WonderBsJson.$$float, param);
}), json),
/* constantAttenuation */Json_decode$WonderBsJson.optional((function (param) {
return Json_decode$WonderBsJson.field("constantAttenuation", Json_decode$WonderBsJson.$$float, param);
}), json),
/* linearAttenuation */Json_decode$WonderBsJson.optional((function (param) {
return Json_decode$WonderBsJson.field("linearAttenuation", Json_decode$WonderBsJson.$$float, param);
}), json),
/* quadraticAttenuation */Json_decode$WonderBsJson.optional((function (param) {
return Json_decode$WonderBsJson.field("quadraticAttenuation", Json_decode$WonderBsJson.$$float, param);
}), json),
/* range */Json_decode$WonderBsJson.optional((function (param) {
return Json_decode$WonderBsJson.field("range", Json_decode$WonderBsJson.$$float, param);
}), json)
];
}), param);
}), json)];
}), param);
}), json)];
}), param);
}), json);
}
function _getScriptMap(key, json) {
return Js_dict.get(json, key);
}
function _convertExtras(json) {
return Json_decode$WonderBsJson.optional((function (param) {
return Json_decode$WonderBsJson.field("extras", (function (json) {
return /* record */[
/* basicCameraViews */Json_decode$WonderBsJson.optional((function (param) {
return Json_decode$WonderBsJson.field("basicCameraViews", (function (param) {
return Json_decode$WonderBsJson.array((function (json) {
return /* record */[/* isActive */Json_decode$WonderBsJson.field("isActive", Json_decode$WonderBsJson.bool, json)];
}), param);
}), param);
}), json),
/* flyCameraControllers */Json_decode$WonderBsJson.optional((function (param) {
return Json_decode$WonderBsJson.field("flyCameraControllers", (function (param) {
return Json_decode$WonderBsJson.array((function (json) {
return /* record */[
/* moveSpeed */Json_decode$WonderBsJson.field("moveSpeed", Json_decode$WonderBsJson.$$float, json),
/* rotateSpeed */Json_decode$WonderBsJson.field("rotateSpeed", Json_decode$WonderBsJson.$$float, json),
/* wheelSpeed */Json_decode$WonderBsJson.field("wheelSpeed", Json_decode$WonderBsJson.$$float, json)
];
}), param);
}), param);
}), json),
/* arcballCameraControllers */Json_decode$WonderBsJson.optional((function (param) {
return Json_decode$WonderBsJson.field("arcballCameraControllers", (function (param) {
return Json_decode$WonderBsJson.array((function (json) {
return /* record */[
/* distance */Json_decode$WonderBsJson.field("distance", Json_decode$WonderBsJson.$$float, json),
/* minDistance */Json_decode$WonderBsJson.field("minDistance", Json_decode$WonderBsJson.$$float, json),
/* phi */Json_decode$WonderBsJson.field("phi", Json_decode$WonderBsJson.$$float, json),
/* theta */Json_decode$WonderBsJson.field("theta", Json_decode$WonderBsJson.$$float, json),
/* thetaMargin */Json_decode$WonderBsJson.field("thetaMargin", Json_decode$WonderBsJson.$$float, json),
/* target */Json_decode$WonderBsJson.field("target", (function (param) {
return Json_decode$WonderBsJson.tuple3(Json_decode$WonderBsJson.$$float, Json_decode$WonderBsJson.$$float, Json_decode$WonderBsJson.$$float, param);
}), json),
/* moveSpeedX */Json_decode$WonderBsJson.field("moveSpeedX", Json_decode$WonderBsJson.$$float, json),
/* moveSpeedY */Json_decode$WonderBsJson.field("moveSpeedY", Json_decode$WonderBsJson.$$float, json),
/* rotateSpeed */Json_decode$WonderBsJson.field("rotateSpeed", Json_decode$WonderBsJson.$$float, json),
/* wheelSpeed */Json_decode$WonderBsJson.field("wheelSpeed", Json_decode$WonderBsJson.$$float, json)
];
}), param);
}), param);
}), json),
/* basicMaterials */Json_decode$WonderBsJson.optional((function (param) {
return Json_decode$WonderBsJson.field("basicMaterials", (function (param) {
return Json_decode$WonderBsJson.array((function (json) {
return /* record */[
/* colorFactor */Json_decode$WonderBsJson.optional((function (param) {
return Json_decode$WonderBsJson.field("colorFactor", (function (param) {
return Json_decode$WonderBsJson.array(Json_decode$WonderBsJson.$$float, param);
}), param);
}), json),
/* name */Json_decode$WonderBsJson.optional((function (param) {
return Json_decode$WonderBsJson.field("name", Json_decode$WonderBsJson.string, param);
}), json)
];
}), param);
}), param);
}), json),
/* meshRenderers */Json_decode$WonderBsJson.optional((function (param) {
return Json_decode$WonderBsJson.field("meshRenderers", (function (param) {
return Json_decode$WonderBsJson.array((function (json) {
return /* record */[
/* drawMode */Json_decode$WonderBsJson.field("drawMode", Json_decode$WonderBsJson.$$int, json),
/* isRender */Json_decode$WonderBsJson.field("isRender", Json_decode$WonderBsJson.bool, json)
];
}), param);
}), param);
}), json),
/* scripts */Json_decode$WonderBsJson.optional((function (param) {
return Json_decode$WonderBsJson.field("scripts", (function (param) {
return Json_decode$WonderBsJson.array((function (json) {
return /* record */[
/* isActive */Json_decode$WonderBsJson.field("isActive", Json_decode$WonderBsJson.bool, json),
/* eventFunctionDataMap */_getScriptMap("eventFunctionDataMap", json),
/* attributeMap */_getScriptMap("attributeMap", json)
];
}), param);
}), param);
}), json),
/* cubemapTextures */Json_decode$WonderBsJson.optional((function (param) {
return Json_decode$WonderBsJson.field("cubemapTextures", (function (param) {
return Json_decode$WonderBsJson.array((function (json) {
return /* record */[
/* name */Json_decode$WonderBsJson.optional((function (param) {
return Json_decode$WonderBsJson.field("name", Json_decode$WonderBsJson.string, param);
}), json),
/* sampler */Json_decode$WonderBsJson.field("sampler", Json_decode$WonderBsJson.$$int, json),
/* flipY */Json_decode$WonderBsJson.field("flipY", Json_decode$WonderBsJson.bool, json),
/* pxSource */Json_decode$WonderBsJson.field("pxSource", Json_decode$WonderBsJson.$$int, json),
/* nxSource */Json_decode$WonderBsJson.field("nxSource", Json_decode$WonderBsJson.$$int, json),
/* pySource */Json_decode$WonderBsJson.field("pySource", Json_decode$WonderBsJson.$$int, json),
/* nySource */Json_decode$WonderBsJson.field("nySource", Json_decode$WonderBsJson.$$int, json),
/* pzSource */Json_decode$WonderBsJson.field("pzSource", Json_decode$WonderBsJson.$$int, json),
/* nzSource */Json_decode$WonderBsJson.field("nzSource", Json_decode$WonderBsJson.$$int, json),
/* pxFormat */Json_decode$WonderBsJson.field("pxFormat", Json_decode$WonderBsJson.$$int, json),
/* nxFormat */Json_decode$WonderBsJson.field("nxFormat", Json_decode$WonderBsJson.$$int, json),
/* pyFormat */Json_decode$WonderBsJson.field("pyFormat", Json_decode$WonderBsJson.$$int, json),
/* nyFormat */Json_decode$WonderBsJson.field("nyFormat", Json_decode$WonderBsJson.$$int, json),
/* pzFormat */Json_decode$WonderBsJson.field("pzFormat", Json_decode$WonderBsJson.$$int, json),
/* nzFormat */Json_decode$WonderBsJson.field("nzFormat", Json_decode$WonderBsJson.$$int, json),
/* pxType */Json_decode$WonderBsJson.field("pxType", Json_decode$WonderBsJson.$$int, json),
/* nxType */Json_decode$WonderBsJson.field("nxType", Json_decode$WonderBsJson.$$int, json),
/* pyType */Json_decode$WonderBsJson.field("pyType", Json_decode$WonderBsJson.$$int, json),
/* nyType */Json_decode$WonderBsJson.field("nyType", Json_decode$WonderBsJson.$$int, json),
/* pzType */Json_decode$WonderBsJson.field("pzType", Json_decode$WonderBsJson.$$int, json),
/* nzType */Json_decode$WonderBsJson.field("nzType", Json_decode$WonderBsJson.$$int, json)
];
}), param);
}), param);
}), json)
];
}), param);
}), json);
}
function _convertCameras(json) {
return Json_decode$WonderBsJson.optional((function (param) {
return Json_decode$WonderBsJson.field("cameras", (function (param) {
return Json_decode$WonderBsJson.array((function (json) {
return /* record */[
/* type_ */Json_decode$WonderBsJson.field("type", Json_decode$WonderBsJson.string, json),
/* perspective */Json_decode$WonderBsJson.optional((function (param) {
return Json_decode$WonderBsJson.field("perspective", (function (json) {
return /* record */[
/* aspectRatio */Json_decode$WonderBsJson.optional((function (param) {
return Json_decode$WonderBsJson.field("aspectRatio", Json_decode$WonderBsJson.$$float, param);
}), json),
/* yfov */Json_decode$WonderBsJson.field("yfov", Json_decode$WonderBsJson.$$float, json),
/* zfar */Json_decode$WonderBsJson.optional((function (param) {
return Json_decode$WonderBsJson.field("zfar", Json_decode$WonderBsJson.$$float, param);
}), json),
/* znear */Json_decode$WonderBsJson.field("znear", Json_decode$WonderBsJson.$$float, json)
];
}), param);
}), json),
/* orthographic */Json_decode$WonderBsJson.optional((function (param) {
return Json_decode$WonderBsJson.field("orthographic", (function (json) {
return /* record */[
/* xmag */Json_decode$WonderBsJson.field("xmag", Json_decode$WonderBsJson.$$float, json),
/* ymag */Json_decode$WonderBsJson.field("ymag", Json_decode$WonderBsJson.$$float, json),
/* zfar */Json_decode$WonderBsJson.field("zfar", Json_decode$WonderBsJson.$$float, json),
/* znear */Json_decode$WonderBsJson.field("znear", Json_decode$WonderBsJson.$$float, json)
];
}), param);
}), json)
];
}), param);
}), param);
}), json);
}
function _convertMeshes(json) {
return Json_decode$WonderBsJson.field("meshes", (function (param) {
return Json_decode$WonderBsJson.array((function (json) {
return /* record */[
/* primitives */Json_decode$WonderBsJson.field("primitives", (function (param) {
return Json_decode$WonderBsJson.array((function (json) {
return /* record */[
/* attributes */Json_decode$WonderBsJson.field("attributes", (function (json) {
return /* record */[
/* position */Json_decode$WonderBsJson.field("POSITION", Json_decode$WonderBsJson.$$int, json),
/* normal */Json_decode$WonderBsJson.optional((function (param) {
return Json_decode$WonderBsJson.field("NORMAL", Json_decode$WonderBsJson.$$int, param);
}), json),
/* texCoord_0 */Json_decode$WonderBsJson.optional((function (param) {
return Json_decode$WonderBsJson.field("TEXCOORD_0", Json_decode$WonderBsJson.$$int, param);
}), json),
/* texCoord_1 */Json_decode$WonderBsJson.optional((function (param) {
return Json_decode$WonderBsJson.field("TEXCOORD_1", Json_decode$WonderBsJson.$$int, param);
}), json)
];
}), json),
/* indices */Json_decode$WonderBsJson.optional((function (param) {
return Json_decode$WonderBsJson.field("indices", Json_decode$WonderBsJson.$$int, param);
}), json),
/* material */Json_decode$WonderBsJson.optional((function (param) {
return Json_decode$WonderBsJson.field("material", Json_decode$WonderBsJson.$$int, param);
}), json),
/* mode */Json_decode$WonderBsJson.optional((function (param) {
return Json_decode$WonderBsJson.field("mode", Json_decode$WonderBsJson.$$int, param);
}), json)
];
}), param);
}), json),
/* name */Json_decode$WonderBsJson.optional((function (param) {
return Json_decode$WonderBsJson.field("name", Json_decode$WonderBsJson.string, param);
}), json)
];
}), param);
}), json);
}
function _convertMaterials(json) {
return Json_decode$WonderBsJson.optional((function (param) {
return Json_decode$WonderBsJson.field("materials", (function (param) {
return Json_decode$WonderBsJson.array((function (json) {
return /* record */[
/* pbrMetallicRoughness */Json_decode$WonderBsJson.optional((function (param) {
return Json_decode$WonderBsJson.field("pbrMetallicRoughness", (function (json) {
return /* record */[
/* baseColorFactor */Json_decode$WonderBsJson.optional((function (param) {
return Json_decode$WonderBsJson.field("baseColorFactor", (function (param) {
return Json_decode$WonderBsJson.array(Json_decode$WonderBsJson.$$float, param);
}), param);
}), json),
/* baseColorTexture */Json_decode$WonderBsJson.optional((function (param) {
return Json_decode$WonderBsJson.field("baseColorTexture", (function (json) {
return /* record */[
/* index */Json_decode$WonderBsJson.field("index", Json_decode$WonderBsJson.$$int, json),
/* texCoord */Json_decode$WonderBsJson.optional((function (param) {
return Json_decode$WonderBsJson.field("texCoord", Json_decode$WonderBsJson.$$int, param);
}), json)
];
}), param);
}), json),