UNPKG

wonder.js

Version:
522 lines (519 loc) 139 kB
'use strict'; var Curry = require("bs-platform/lib/js/curry.js"); var Sinon = require("wonder-bs-sinon/lib/js/src/sinon.js"); var Sinon$1 = require("sinon"); var Caml_array = require("bs-platform/lib/js/caml_array.js"); var Caml_option = require("bs-platform/lib/js/caml_option.js"); var Wonder_jest = require("wonder-bs-jest/lib/js/src/wonder_jest.js"); var GLBTool$Wonderjs = require("../tool/GLBTool.js"); var TestTool$Wonderjs = require("../../../../tool/TestTool.js"); var IMGUITool$Wonderjs = require("../../../../tool/service/imgui/IMGUITool.js"); var ConvertTool$Wonderjs = require("../tool/ConvertTool.js"); var ConvertCommon$Wonderjs = require("../../../../../src/asset/converter/ConvertCommon.js"); var ExecIMGUITool$Wonderjs = require("../../../../tool/service/imgui/ExecIMGUITool.js"); var OptionService$Wonderjs = require("../../../../../src/service/atom/OptionService.js"); var ConvertGLBTool$Wonderjs = require("../tool/ConvertGLBTool.js"); var SceneGraphIMGUITool$Wonderjs = require("../tool/SceneGraphIMGUITool.js"); var MutableSparseMapTool$Wonderjs = require("../../../../tool/structure/MutableSparseMapTool.js"); var SceneGraphScriptTool$Wonderjs = require("../tool/SceneGraphScriptTool.js"); var ConvertScriptDataUtils$Wonderjs = require("../../../../../src/asset/utils/ConvertScriptDataUtils.js"); var CreateStateMainService$Wonderjs = require("../../../../../src/service/state/main/state/CreateStateMainService.js"); var ExtendIMGUIMainService$Wonderjs = require("../../../../../src/service/state/main/imgui/extend/ExtendIMGUIMainService.js"); var BufferCubemapTextureService$Wonderjs = require("../../../../../src/service/record/main/texture/cubemap/BufferCubemapTextureService.js"); var ConvertMultiPrimitivesSystem$Wonderjs = require("../../../../../src/asset/converter/ConvertMultiPrimitivesSystem.js"); var ConvertGLTFJsonToRecordSystem$Wonderjs = require("../../../../../src/asset/converter/ConvertGLTFJsonToRecordSystem.js"); var ImmutableHashMapService$WonderCommonlib = require("wonder-commonlib/lib/js/src/ImmutableHashMapService.js"); var MutableSparseMapService$WonderCommonlib = require("wonder-commonlib/lib/js/src/MutableSparseMapService.js"); Wonder_jest.describe("convert glb to wd", (function (param) { var sandbox = Sinon.getSandboxDefaultVal(/* () */0); var state = /* record */[/* contents */CreateStateMainService$Wonderjs.createState(/* () */0)]; beforeEach((function () { sandbox[0] = Sinon$1.sandbox.create(); state[0] = TestTool$Wonderjs.init(sandbox, undefined, undefined, /* () */0); return ConvertTool$Wonderjs.setFakeTransformCount(50); })); afterEach((function () { return Curry._1(Sinon.restoreSandbox, sandbox[0]); })); Wonder_jest.describe("test multi primitives", (function (param) { Wonder_jest.describe("convert multi primitives to gltf nodes", (function (param) { var _prepare = function (param) { return ConvertMultiPrimitivesSystem$Wonderjs.convertMultiPrimitivesToNodes(ConvertGLTFJsonToRecordSystem$Wonderjs.convert(JSON.parse(ConvertGLBTool$Wonderjs.buildGLTFJsonOfMultiPrimitivesWithName(/* () */0)))); }; Wonder_jest.test("test nodes", (function (param) { var gltfRecord = _prepare(/* () */0); return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](gltfRecord[/* nodes */10]), /* array */[ ConvertGLBTool$Wonderjs.buildNode(undefined, undefined, undefined, Caml_option.some(/* array */[ 3, 2, 1, 4, 5 ]), undefined, undefined, undefined, undefined, undefined, undefined, /* () */0), ConvertGLBTool$Wonderjs.buildNode("node1", undefined, 1, undefined, Caml_option.some(/* array */[ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 10.0, 30.0, 50.0, 1.0 ]), undefined, undefined, undefined, undefined, undefined, /* () */0), ConvertGLBTool$Wonderjs.buildNode("node2", undefined, undefined, Caml_option.some(/* array */[ 1, 6, 7 ]), Caml_option.some(/* array */[ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 2.0, 3.0, 1.0 ]), undefined, undefined, undefined, undefined, undefined, /* () */0), ConvertGLBTool$Wonderjs.buildNode(undefined, undefined, undefined, Caml_option.some(/* array */[ 8, 9 ]), undefined, undefined, undefined, undefined, undefined, undefined, /* () */0), ConvertGLBTool$Wonderjs.buildNode(undefined, undefined, 3, undefined, undefined, undefined, undefined, undefined, undefined, undefined, /* () */0), ConvertGLBTool$Wonderjs.buildNode(undefined, undefined, 4, undefined, undefined, undefined, undefined, undefined, undefined, undefined, /* () */0), ConvertGLBTool$Wonderjs.buildNode("node2_0", undefined, 3, undefined, undefined, undefined, undefined, undefined, undefined, undefined, /* () */0), ConvertGLBTool$Wonderjs.buildNode("node2_1", undefined, 4, undefined, undefined, undefined, undefined, undefined, undefined, undefined, /* () */0), ConvertGLBTool$Wonderjs.buildNode(undefined, undefined, 5, undefined, undefined, undefined, undefined, undefined, undefined, undefined, /* () */0), ConvertGLBTool$Wonderjs.buildNode(undefined, undefined, 6, undefined, undefined, undefined, undefined, undefined, undefined, undefined, /* () */0) ]); })); return Wonder_jest.test("test meshes", (function (param) { var gltfRecord = _prepare(/* () */0); return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](gltfRecord[/* meshes */11]), /* array */[ /* record */[ /* primitives : array */[ ConvertGLBTool$Wonderjs.buildPrimitive(/* record */[ /* position */2, /* normal */undefined, /* texCoord_0 */undefined, /* texCoord_1 */undefined ], 0, 0, undefined, /* () */0), ConvertGLBTool$Wonderjs.buildPrimitive(/* record */[ /* position */6, /* normal */undefined, /* texCoord_0 */undefined, /* texCoord_1 */undefined ], 4, 1, undefined, /* () */0) ], /* name */"mesh0" ], /* record */[ /* primitives : array */[ConvertGLBTool$Wonderjs.buildPrimitive(/* record */[ /* position */9, /* normal */undefined, /* texCoord_0 */undefined, /* texCoord_1 */undefined ], 7, 2, undefined, /* () */0)], /* name */undefined ], /* record */[ /* primitives : array */[ ConvertGLBTool$Wonderjs.buildPrimitive(/* record */[ /* position */10, /* normal */undefined, /* texCoord_0 */undefined, /* texCoord_1 */undefined ], 8, 2, undefined, /* () */0), ConvertGLBTool$Wonderjs.buildPrimitive(/* record */[ /* position */6, /* normal */undefined, /* texCoord_0 */undefined, /* texCoord_1 */undefined ], 4, 1, undefined, /* () */0) ], /* name */undefined ], /* record */[ /* primitives : array */[ConvertGLBTool$Wonderjs.buildPrimitive(/* record */[ /* position */2, /* normal */undefined, /* texCoord_0 */undefined, /* texCoord_1 */undefined ], 0, 0, undefined, /* () */0)], /* name */"mesh0_0" ], /* record */[ /* primitives : array */[ConvertGLBTool$Wonderjs.buildPrimitive(/* record */[ /* position */6, /* normal */undefined, /* texCoord_0 */undefined, /* texCoord_1 */undefined ], 4, 1, undefined, /* () */0)], /* name */"mesh0_1" ], /* record */[ /* primitives : array */[ConvertGLBTool$Wonderjs.buildPrimitive(/* record */[ /* position */10, /* normal */undefined, /* texCoord_0 */undefined, /* texCoord_1 */undefined ], 8, 2, undefined, /* () */0)], /* name */undefined ], /* record */[ /* primitives : array */[ConvertGLBTool$Wonderjs.buildPrimitive(/* record */[ /* position */6, /* normal */undefined, /* texCoord_0 */undefined, /* texCoord_1 */undefined ], 4, 1, undefined, /* () */0)], /* name */undefined ] ]); })); })); return Wonder_jest.describe("test convert to wdb", (function (param) { Wonder_jest.test("test geometrys", (function (param) { return ConvertGLBTool$Wonderjs.testGLTFResultByGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfMultiPrimitives(/* () */0), (function (param) { return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](param[/* geometrys */18]), /* array */[ ConvertTool$Wonderjs.getJsonSerializedNone(/* () */0), /* record */[ /* name */"geometry_1", /* position */0, /* normal */ConvertTool$Wonderjs.getJsonSerializedNone(/* () */0), /* texCoord */ConvertTool$Wonderjs.getJsonSerializedNone(/* () */0), /* index */1 ], /* record */[ /* name */"geometry_2", /* position */2, /* normal */ConvertTool$Wonderjs.getJsonSerializedNone(/* () */0), /* texCoord */ConvertTool$Wonderjs.getJsonSerializedNone(/* () */0), /* index */3 ], /* record */[ /* name */"geometry_3", /* position */4, /* normal */ConvertTool$Wonderjs.getJsonSerializedNone(/* () */0), /* texCoord */ConvertTool$Wonderjs.getJsonSerializedNone(/* () */0), /* index */5 ] ]); }), state, undefined, /* () */0); })); Wonder_jest.test("test meshRenderers", (function (param) { return ConvertGLBTool$Wonderjs.testGLTFResultByGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfMultiPrimitives(/* () */0), (function (param) { return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](param[/* meshRenderers */19]), /* array */[ /* record */[ /* drawMode : Triangles */4, /* isRender */true ], /* record */[ /* drawMode : Triangles */4, /* isRender */true ], /* record */[ /* drawMode : Triangles */4, /* isRender */true ], /* record */[ /* drawMode : Triangles */4, /* isRender */true ], /* record */[ /* drawMode : Triangles */4, /* isRender */true ] ]); }), state, undefined, /* () */0); })); Wonder_jest.describe("test gameObjects", (function (param) { return Wonder_jest.test("test count", (function (param) { return ConvertGLBTool$Wonderjs.testGLTFResultByGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfMultiPrimitives(/* () */0), (function (param) { return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](param[/* gameObjects */3][/* count */0]), 7); }), state, undefined, /* () */0); })); })); return Wonder_jest.describe("test indices", (function (param) { return Wonder_jest.describe("test gameObjectIndices", (function (param) { Wonder_jest.describe("test geometryGameObjectIndices", (function (param) { return Wonder_jest.test("test multi primitives geometry should has no gameObject", (function (param) { return ConvertGLBTool$Wonderjs.testGLTFResultByGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfMultiPrimitives(/* () */0), (function (param) { return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](param[/* indices */2][/* gameObjectIndices */0][/* geometryGameObjectIndexData */10]), /* record */[ /* gameObjectIndices : array */[ 1, 3, 4, 5, 6 ], /* componentIndices : array */[ 1, 2, 3, 2, 3 ] ]); }), state, undefined, /* () */0); })); })); return Wonder_jest.describe("test meshRendererGameObjectIndices", (function (param) { return Wonder_jest.test("test multi primitives corresponding meshRenderer should has no gameObject", (function (param) { return ConvertGLBTool$Wonderjs.testGLTFResultByGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfMultiPrimitives(/* () */0), (function (param) { return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](param[/* indices */2][/* gameObjectIndices */0][/* meshRendererGameObjectIndexData */11]), /* record */[ /* gameObjectIndices : array */[ 1, 3, 4, 5, 6 ], /* componentIndices : array */[ 0, 1, 2, 3, 4 ] ]); }), state, undefined, /* () */0); })); })); })); })); })); })); Wonder_jest.test("test asset", (function (param) { return ConvertGLBTool$Wonderjs.testGLTFResultByGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfSingleNode(/* () */0), (function (param) { return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](param[/* asset */0]), /* record */[ /* version */"2.0", /* generator */"GLTF2WD" ]); }), state, undefined, /* () */0); })); Wonder_jest.describe("test scene", (function (param) { Wonder_jest.test("test gameObjects", (function (param) { return ConvertGLBTool$Wonderjs.testGLTFResultByGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfSingleNode(/* () */0), (function (param) { return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](param[/* scene */1][/* gameObjects */0]), /* array */[0]); }), state, undefined, /* () */0); })); Wonder_jest.test("test ambientLight", (function (param) { return ConvertGLBTool$Wonderjs.testGLTFResultByGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfLight(/* () */0), (function (param) { return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](param[/* scene */1][/* ambientLight */1]), /* record */[/* color : array */[ 1, 0.5, 1 ]]); }), state, undefined, /* () */0); })); Wonder_jest.test("test imgui", (function (param) { var execFuncName = "e1"; var customData = "[1,2]"; var execFunc = ExecIMGUITool$Wonderjs.buildEmptyExecFuncStr(/* () */0); var execData = ConvertGLBTool$Wonderjs.buildExecDataToOneExecFuncData(execFuncName, customData, undefined, execFunc, /* () */0); var assetData = ConvertGLBTool$Wonderjs.buildAssetData("fnt", "aaa", "bbb", 0, /* array */[], /* () */0); var extendData = ConvertGLBTool$Wonderjs.buildExtendData(Caml_option.some(ImmutableHashMapService$WonderCommonlib.set("c1", IMGUITool$Wonderjs.buildEmptyCustomControlFunc(/* () */0), ImmutableHashMapService$WonderCommonlib.createEmpty(/* () */0))), Caml_option.some(ImmutableHashMapService$WonderCommonlib.set("s1", Curry._1(ExtendIMGUIMainService$Wonderjs.ExtendData[/* Skin */2][/* createDefaultSkinData */10], /* () */0), ImmutableHashMapService$WonderCommonlib.createEmpty(/* () */0))), /* () */0); return ConvertGLBTool$Wonderjs.testGLTFResultByGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfIMGUI(Caml_option.some(execData), Caml_option.some(extendData), Caml_option.some(assetData), /* () */0), (function (param) { return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](param[/* scene */1][/* imgui */2]), /* record */[ /* assetData */SceneGraphIMGUITool$Wonderjs.buildAssetData("fnt", "aaa", "bbb", 0, /* array */[], /* () */0), /* execData */SceneGraphIMGUITool$Wonderjs.buildExecDataToOneExecFuncData(execFuncName, Caml_option.some(JSON.parse(customData)), undefined, Caml_option.some(ExecIMGUITool$Wonderjs.buildEmptyExecFunc(/* () */0)), /* () */0), /* extendData */SceneGraphIMGUITool$Wonderjs.buildExtendData(Caml_option.some(ImmutableHashMapService$WonderCommonlib.set("c1", IMGUITool$Wonderjs.buildEmptyCustomControlFunc(/* () */0), ImmutableHashMapService$WonderCommonlib.createEmpty(/* () */0))), Caml_option.some(ImmutableHashMapService$WonderCommonlib.set("s1", Curry._1(ExtendIMGUIMainService$Wonderjs.ExtendData[/* Skin */2][/* createDefaultSkinData */10], /* () */0), ImmutableHashMapService$WonderCommonlib.createEmpty(/* () */0))), /* () */0) ]); }), state, undefined, /* () */0); })); Wonder_jest.test("test skybox", (function (param) { return ConvertGLBTool$Wonderjs.testGLTFResultByGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfSkyboxAndOneCubemap(0, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, /* () */0), (function (param) { return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](param[/* scene */1][/* skybox */3]), /* record */[/* cubemap */0]); }), state, undefined, /* () */0); })); return Wonder_jest.describe("test isRoot", (function (param) { Wonder_jest.test("if not has extras, set true", (function (param) { return ConvertGLBTool$Wonderjs.testGLTFResultByGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfSingleNode(/* () */0), (function (param) { return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](param[/* scene */1][/* isRoot */4]), true); }), state, undefined, /* () */0); })); Wonder_jest.describe("else", (function (param) { Wonder_jest.test("if extras has no isRoot, set true", (function (param) { return ConvertGLBTool$Wonderjs.testGLTFResultByGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfIMGUI(undefined, undefined, undefined, /* () */0), (function (param) { return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](param[/* scene */1][/* isRoot */4]), true); }), state, undefined, /* () */0); })); return Wonder_jest.test("else, set it", (function (param) { return ConvertGLBTool$Wonderjs.testGLTFResultByGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfSceneIsRoot(true), (function (param) { return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](param[/* scene */1][/* isRoot */4]), true); }), state, undefined, /* () */0); })); })); return Wonder_jest.describe("test truck glb", (function (param) { return Wonder_jest.test("scene->isRoot should be true", (function (param) { return ConvertGLBTool$Wonderjs.testResult(sandbox[0], GLBTool$Wonderjs.buildGLBFilePath("CesiumMilkTruck.glb"), (function (param) { return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](param[0][/* scene */1][/* isRoot */4]), true); })); })); })); })); })); Wonder_jest.describe("test directionLights", (function (param) { return Wonder_jest.test("test light gltf", (function (param) { return ConvertGLBTool$Wonderjs.testGLTFResultByGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfLight(/* () */0), (function (param) { return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](param[/* directionLights */11]), /* array */[/* record */[ /* color : array */[ 0.5, 0.5, 1 ], /* intensity */1 ]]); }), state, undefined, /* () */0); })); })); Wonder_jest.describe("test pointLights", (function (param) { return Wonder_jest.test("test light gltf", (function (param) { return ConvertGLBTool$Wonderjs.testGLTFResultByGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfLight(/* () */0), (function (param) { return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](param[/* pointLights */12]), /* array */[/* record */[ /* color : array */[ 0, 0, 0 ], /* intensity */2.5, /* constantAttenuation */1, /* linearAttenuation */1.5, /* quadraticAttenuation */0, /* range */55.5 ]]); }), state, undefined, /* () */0); })); })); Wonder_jest.describe("test gameObjects", (function (param) { Wonder_jest.test("test single node gltf", (function (param) { return ConvertGLBTool$Wonderjs.testGLTFResultByGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfSingleNode(/* () */0), (function (param) { return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](param[/* gameObjects */3]), /* record */[ /* count */1, /* names : array */["gameObject_0"], /* isRoots */MutableSparseMapService$WonderCommonlib.createEmpty(/* () */0), /* isActives */MutableSparseMapService$WonderCommonlib.createEmpty(/* () */0) ]); }), state, undefined, /* () */0); })); Wonder_jest.test("test truck glb", (function (param) { return ConvertGLBTool$Wonderjs.testResult(sandbox[0], GLBTool$Wonderjs.buildGLBFilePath("CesiumMilkTruck.glb"), (function (param) { return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](param[0][/* gameObjects */3]), /* record */[ /* count */8, /* names : array */[ "gameObject_0", "gameObject_1", "Wheels", "gameObject_3", "Wheels", "Cesium_Milk_Truck_0", "Cesium_Milk_Truck_1", "Cesium_Milk_Truck_2" ], /* isRoots */MutableSparseMapService$WonderCommonlib.createEmpty(/* () */0), /* isActives */MutableSparseMapService$WonderCommonlib.createEmpty(/* () */0) ]); })); })); Wonder_jest.describe("test isActive", (function (param) { return Wonder_jest.test("if extras has isActive, set it", (function (param) { return ConvertGLBTool$Wonderjs.testGLTFResultByGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfNodeIsActive(true), (function (param) { return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](param[/* gameObjects */3][/* isActives */3]), MutableSparseMapTool$Wonderjs.createByArr(/* array */[ true, true ])); }), state, undefined, /* () */0); })); })); return Wonder_jest.describe("test isRoot", (function (param) { return Wonder_jest.test("if extras has isRoot, set it", (function (param) { return ConvertGLBTool$Wonderjs.testGLTFResultByGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfNodeIsRoot(true), (function (param) { return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](param[/* gameObjects */3][/* isRoots */2]), MutableSparseMapTool$Wonderjs.createByArr(/* array */[ true, true ])); }), state, undefined, /* () */0); })); })); })); Wonder_jest.describe("test camera data", (function (param) { Wonder_jest.describe("test basicCameraViews", (function (param) { Wonder_jest.test("test no data", (function (param) { return ConvertGLBTool$Wonderjs.testGLTFResultByGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfSingleNode(/* () */0), (function (param) { return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](param[/* basicCameraViews */13]), /* array */[]); }), state, undefined, /* () */0); })); return Wonder_jest.describe("test has data", (function (param) { Wonder_jest.test("default isActiveIndex is 0", (function (param) { return ConvertGLBTool$Wonderjs.testGLTFResultByGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfCamera(/* () */0), (function (param) { return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](param[/* basicCameraViews */13]), /* array */[ /* record */[/* isActive */true], /* record */[/* isActive */false], /* record */[/* isActive */false] ]); }), state, undefined, /* () */0); })); return Wonder_jest.test("test extras", (function (param) { return ConvertGLBTool$Wonderjs.testGLTFResultByGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfBasicCameraView(/* () */0), (function (param) { return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](param[/* basicCameraViews */13]), /* array */[ /* record */[/* isActive */false], /* record */[/* isActive */true], /* record */[/* isActive */false] ]); }), state, undefined, /* () */0); })); })); })); return Wonder_jest.describe("test perspectiveCameraProjections", (function (param) { Wonder_jest.test("test no data", (function (param) { return ConvertGLBTool$Wonderjs.testGLTFResultByGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfSingleNode(/* () */0), (function (param) { return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](param[/* perspectiveCameraProjections */14]), /* array */[]); }), state, undefined, /* () */0); })); return Wonder_jest.test("test has data", (function (param) { return ConvertGLBTool$Wonderjs.testGLTFResultByGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfCamera(/* () */0), (function (param) { return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](param[/* perspectiveCameraProjections */14]), /* array */[ /* record */[ /* near */1.0, /* far */ConvertTool$Wonderjs.getJsonSerializedNone(/* () */0), /* fovy */34.37746770784939, /* aspect */ConvertTool$Wonderjs.getJsonSerializedNone(/* () */0) ], /* record */[ /* near */2.0, /* far */1000.0, /* fovy */28.64788975654116, /* aspect */2.0 ] ]); }), state, undefined, /* () */0); })); })); })); Wonder_jest.describe("test cameraController data", (function (param) { Wonder_jest.describe("test flyCameraControllers", (function (param) { Wonder_jest.test("test no data", (function (param) { return ConvertGLBTool$Wonderjs.testGLTFResultByGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfSingleNode(/* () */0), (function (param) { return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](param[/* flyCameraControllers */15]), /* array */[]); }), state, undefined, /* () */0); })); return Wonder_jest.test("test has data", (function (param) { return ConvertGLBTool$Wonderjs.testGLTFResultByGLTF(sandbox[0], ConvertGLBTool$Wonderjs.buildGLTFJsonOfFlyCameraController(undefined, undefined, undefined, /* () */0), (function (param) { return Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](param[/* flyCameraControllers */15]), /* array */[/* record */[ /* moveSpeed */2.1,