UNPKG

wonder.js

Version:
542 lines (478 loc) 17.2 kB
'use strict'; var Caml_array = require("bs-platform/lib/js/caml_array.js"); var MostTool$Wonderjs = require("./MostTool.js"); var StateAPI$Wonderjs = require("../../../../../src/api/StateAPI.js"); var GeometryAPI$Wonderjs = require("../../../../../src/api/geometry/GeometryAPI.js"); var ArrayService$Wonderjs = require("../../../../../src/service/atom/ArrayService.js"); var GameObjectAPI$Wonderjs = require("../../../../../src/api/GameObjectAPI.js"); var ParseABSystem$Wonderjs = require("../../../../../src/asset_bundle/import/ParseABSystem.js"); var GenerateSABTool$Wonderjs = require("./GenerateSABTool.js"); var MeshRendererAPI$Wonderjs = require("../../../../../src/api/MeshRendererAPI.js"); var AssembleABSystem$Wonderjs = require("../../../../../src/asset_bundle/import/assemble/AssembleABSystem.js"); var LightMaterialAPI$Wonderjs = require("../../../../../src/api/material/LightMaterialAPI.js"); var GenerateAllABSystem$Wonderjs = require("../../../../../src/asset_bundle/all/generate/GenerateAllABSystem.js"); var GenerateSingleRABTool$Wonderjs = require("./GenerateSingleRABTool.js"); var GenerateSingleRABSystem$Wonderjs = require("../../../../../src/asset_bundle/single/rab/generate/GenerateSingleRABSystem.js"); var buildDependencyRelation = GenerateAllABSystem$Wonderjs.buildDependencyRelation; function buildRABData(rabRelativePath, rab) { return /* tuple */[ rabRelativePath, rab ]; } function buildSABData(sabRelativePath, sab) { return /* tuple */[ sabRelativePath, sab ]; } function getResourceAssetBundleContent(rab) { return AssembleABSystem$Wonderjs.All[/* getContentData */0](rab)[0]; } var ResourceAssetBundleContent = /* module */[/* getResourceAssetBundleContent */getResourceAssetBundleContent]; function getSceneAssetBundleContent(sab) { return AssembleABSystem$Wonderjs.All[/* getContentData */0](sab)[0]; } var SceneAssetBundleContent = /* module */[/* getSceneAssetBundleContent */getSceneAssetBundleContent]; function buildHashIdData(param) { return /* array */[ /* tuple */[ "01020304", new Uint8Array(/* array */[ 1, 2, 3, 4 ]).buffer ], /* tuple */[ "02020304", new Uint8Array(/* array */[ 2, 2, 3, 4 ]).buffer ], /* tuple */[ "03020304", new Uint8Array(/* array */[ 3, 2, 3, 4 ]).buffer ] ]; } function getFirstHashId(data) { return ArrayService$Wonderjs.unsafeGetFirst(data)[0]; } function getSecondHashId(data) { return data[1][0]; } function stubDigestForGenerateHashId (sandbox,data){ var digestStub = sandbox.stub(); var textEncoder = new TextEncoder(); data.reduce((callIndex, [_, hashIdArrayBuffer ]) => { digestStub.onCall(callIndex).returns( new Promise((resolve, reject) => { resolve( hashIdArrayBuffer ) }) ); return callIndex + 1; }, 0); window.crypto = { subtle: { digest: digestStub } }; return digestStub; }; function prepareDigest (sandbox){ var digestStub = sandbox.stub(); digestStub.returns( new Promise((resolve, reject) => { resolve(new ArrayBuffer()) }) ); window.crypto = { subtle: { digest: digestStub } } ; return digestStub; }; var Manifest = /* module */[ /* buildHashIdData */buildHashIdData, /* getFirstHashId */getFirstHashId, /* getSecondHashId */getSecondHashId, /* stubDigestForGenerateHashId */stubDigestForGenerateHashId, /* prepareDigest */prepareDigest ]; function getWholeDependencyRelationMap(param) { return GenerateAllABSystem$Wonderjs.buildDependencyRelation(/* array */[]); } function getRabRelativePath(param) { return "rab1.rab"; } function generateAllAB(rab1, state) { var rab1RelativePath = "rab1.rab"; StateAPI$Wonderjs.setState(state); return GenerateAllABSystem$Wonderjs.generate(GenerateAllABSystem$Wonderjs.buildDependencyRelation(/* array */[/* array */[rab1RelativePath]]), /* tuple */[ /* array */[], /* array */[/* tuple */[ rab1RelativePath, rab1 ]] ]); } function getNewRabContent(param) { var match = Caml_array.caml_array_get(param[1], 0); return getResourceAssetBundleContent(match[1]); } function getNewRabManifest(param) { var match = Caml_array.caml_array_get(param[1], 0); return ParseABSystem$Wonderjs.RAB[/* parseManifest */0](match[1]); } function getNewRab(param) { return Caml_array.caml_array_get(param[1], 0)[1]; } var TestWithOneRAB = /* module */[ /* getWholeDependencyRelationMap */getWholeDependencyRelationMap, /* getRabRelativePath */getRabRelativePath, /* generateAllAB */generateAllAB, /* getNewRabContent */getNewRabContent, /* getNewRabManifest */getNewRabManifest, /* getNewRab */getNewRab ]; function getWholeDependencyRelationMap$1(rab1RelativePath, rab2RelativePath) { return GenerateAllABSystem$Wonderjs.buildDependencyRelation(/* array */[/* array */[ rab2RelativePath, rab1RelativePath ]]); } function getRabRelativePaths(param) { return /* tuple */[ "rab1.rab", "rab2.rab" ]; } function generateAllAB$1(param, state) { var rab1RelativePath = "rab1.rab"; var rab2RelativePath = "rab2.rab"; StateAPI$Wonderjs.setState(state); return GenerateAllABSystem$Wonderjs.generate(GenerateAllABSystem$Wonderjs.buildDependencyRelation(/* array */[/* array */[ rab2RelativePath, rab1RelativePath ]]), /* tuple */[ /* array */[], /* array */[ /* tuple */[ rab1RelativePath, param[0] ], /* tuple */[ rab2RelativePath, param[1] ] ] ]); } function getNewRabs(param) { var newRabDataArr = param[1]; var match = Caml_array.caml_array_get(newRabDataArr, 0); var match$1 = Caml_array.caml_array_get(newRabDataArr, 1); return /* tuple */[ match[1], match$1[1] ]; } function getNewRabContents(param) { var newRabDataArr = param[1]; var match = Caml_array.caml_array_get(newRabDataArr, 0); var match$1 = Caml_array.caml_array_get(newRabDataArr, 1); var newRab1Content = getResourceAssetBundleContent(match[1]); var newRab2Content = getResourceAssetBundleContent(match$1[1]); return /* tuple */[ newRab1Content, newRab2Content ]; } function getNewRabManifests(param) { var newRabDataArr = param[1]; var match = Caml_array.caml_array_get(newRabDataArr, 0); var match$1 = Caml_array.caml_array_get(newRabDataArr, 1); return /* tuple */[ ParseABSystem$Wonderjs.RAB[/* parseManifest */0](match[1]), ParseABSystem$Wonderjs.RAB[/* parseManifest */0](match$1[1]) ]; } function generateTwoRABs(state) { var resourceData1 = GenerateSingleRABTool$Wonderjs.ResourceData[/* buildResourceData */9](undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, /* () */0); var rab1 = GenerateSingleRABSystem$Wonderjs.generateSingleRAB(resourceData1, state); var resourceData2 = GenerateSingleRABTool$Wonderjs.ResourceData[/* buildResourceData */9](undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, /* () */0); var rab2 = GenerateSingleRABSystem$Wonderjs.generateSingleRAB(resourceData2, state); return MostTool$Wonderjs.testStream((function (data) { return Promise.resolve(getNewRabs(data)); }), generateAllAB$1(/* tuple */[ rab1, rab2 ], state)); } var TestWithTwoRAB = /* module */[ /* getWholeDependencyRelationMap */getWholeDependencyRelationMap$1, /* getRabRelativePaths */getRabRelativePaths, /* generateAllAB */generateAllAB$1, /* getNewRabs */getNewRabs, /* getNewRabContents */getNewRabContents, /* getNewRabManifests */getNewRabManifests, /* generateTwoRABs */generateTwoRABs ]; function getWholeDependencyRelationMap$2(sab1RelativePath) { return GenerateAllABSystem$Wonderjs.buildDependencyRelation(/* array */[]); } function getSABRelativePath(param) { return "sab1.sab"; } function generateAllAB$2(sab1, state) { StateAPI$Wonderjs.setState(state); return GenerateAllABSystem$Wonderjs.generate(GenerateAllABSystem$Wonderjs.buildDependencyRelation(/* array */[]), /* tuple */[ /* array */[/* tuple */[ "sab1.sab", sab1 ]], /* array */[] ]); } function getNewSAB(param) { return Caml_array.caml_array_get(param[2], 0)[1]; } var TestWithOneSAB = /* module */[ /* getWholeDependencyRelationMap */getWholeDependencyRelationMap$2, /* getSABRelativePath */getSABRelativePath, /* generateAllAB */generateAllAB$2, /* getNewSAB */getNewSAB ]; function getWholeDependencyRelationMap$3(rab1RelativePath, sab1RelativePath) { return GenerateAllABSystem$Wonderjs.buildDependencyRelation(/* array */[/* array */[ sab1RelativePath, rab1RelativePath ]]); } function getABRelativePaths(param) { return /* tuple */[ "rab1.rab", "sab1.sab" ]; } function generateAllAB$3(param, state) { var rab1RelativePath = "rab1.rab"; var sab1RelativePath = "sab1.sab"; StateAPI$Wonderjs.setState(state); return GenerateAllABSystem$Wonderjs.generate(GenerateAllABSystem$Wonderjs.buildDependencyRelation(/* array */[/* array */[ sab1RelativePath, rab1RelativePath ]]), /* tuple */[ /* array */[/* tuple */[ sab1RelativePath, param[1] ]], /* array */[/* tuple */[ rab1RelativePath, param[0] ]] ]); } function getNewABs(param) { var match = Caml_array.caml_array_get(param[1], 0); var match$1 = Caml_array.caml_array_get(param[2], 0); return /* tuple */[ match[1], match$1[1] ]; } function getNewABContents(param) { var match = Caml_array.caml_array_get(param[1], 0); var match$1 = Caml_array.caml_array_get(param[2], 0); var newRab1Content = getResourceAssetBundleContent(match[1]); var newSab1Content = getSceneAssetBundleContent(match$1[1]); return /* tuple */[ newRab1Content, newSab1Content ]; } function getNewRabManifests$1(param) { var match = Caml_array.caml_array_get(param[1], 0); var match$1 = Caml_array.caml_array_get(param[2], 0); return /* tuple */[ ParseABSystem$Wonderjs.RAB[/* parseManifest */0](match[1]), ParseABSystem$Wonderjs.SAB[/* parseManifest */0](match$1[1]) ]; } var TestWithOneSABAndOneRAB = /* module */[ /* getWholeDependencyRelationMap */getWholeDependencyRelationMap$3, /* getABRelativePaths */getABRelativePaths, /* generateAllAB */generateAllAB$3, /* getNewABs */getNewABs, /* getNewABContents */getNewABContents, /* getNewRabManifests */getNewRabManifests$1 ]; function getABRelativePaths$1(param) { return /* tuple */[ "rab1.rab", "sab1.sab" ]; } function generateAllAB$4(param, state) { var rab1RelativePath = "rab1.rab"; var sab1RelativePath = "sab1.sab"; StateAPI$Wonderjs.setState(state); return GenerateAllABSystem$Wonderjs.generate(GenerateAllABSystem$Wonderjs.buildDependencyRelation(/* array */[/* array */[ sab1RelativePath, rab1RelativePath ]]), /* tuple */[ /* array */[/* tuple */[ sab1RelativePath, param[1] ]], /* array */[/* tuple */[ rab1RelativePath, param[0] ]] ]); } function getNewWabManifest(param) { return ParseABSystem$Wonderjs.WAB[/* parseManifest */2](param[0]); } var TestWABWithOneSABAndOneRAB = /* module */[ /* getABRelativePaths */getABRelativePaths$1, /* generateAllAB */generateAllAB$4, /* getNewWabManifest */getNewWabManifest ]; var createGameObject1 = GenerateSABTool$Wonderjs.createGameObjectWithMap; var TestDuplicateImageData = /* module */[/* createGameObject1 */createGameObject1]; function _createGameObject(geometryName, param, state) { var indices16 = param[3]; var texCoords = param[2]; var normals = param[1]; var vertices = param[0]; var match = GeometryAPI$Wonderjs.createGeometry(state); var geometry = match[1]; var match$1 = GameObjectAPI$Wonderjs.createGameObject(match[0]); var gameObject = match$1[1]; var state$1 = GameObjectAPI$Wonderjs.addGameObjectGeometryComponent(gameObject, geometry, match$1[0]); var state$2 = GeometryAPI$Wonderjs.setGeometryName(geometry, geometryName, state$1); var state$3 = GeometryAPI$Wonderjs.setGeometryIndices16(geometry, indices16, GeometryAPI$Wonderjs.setGeometryNormals(geometry, normals, GeometryAPI$Wonderjs.setGeometryTexCoords(geometry, texCoords, GeometryAPI$Wonderjs.setGeometryVertices(geometry, vertices, state$2)))); var match$2 = LightMaterialAPI$Wonderjs.createLightMaterial(state$3); var material = match$2[1]; var match$3 = MeshRendererAPI$Wonderjs.createMeshRenderer(match$2[0]); var meshRenderer = match$3[1]; var state$4 = GameObjectAPI$Wonderjs.addGameObjectMeshRendererComponent(gameObject, meshRenderer, GameObjectAPI$Wonderjs.addGameObjectLightMaterialComponent(gameObject, material, match$3[0])); var transform = GameObjectAPI$Wonderjs.unsafeGetGameObjectTransformComponent(gameObject, state$4); return /* tuple */[ state$4, gameObject, transform, /* tuple */[ geometry, /* tuple */[ vertices, texCoords, normals, indices16 ] ], material, meshRenderer ]; } function createGameObject1$1(geometryName, state) { var vertices1 = new Float32Array(/* array */[ -0.04454309865832329, -0.1662379950284958, 1.0180000066757202, 2.602089970253733e-18, -6.938890181594472e-18, 1.0180000066757202, -0.08605089783668518, -0.14904500544071198, 1.0180000066757202 ]); var texCoords1 = new Float32Array(/* array */[ 0.7119140028953552, 0.12024599313735962, 0.7552189826965332, 0.15945100784301758, 0.7032840251922607, 0.13282698392868042 ]); var normals1 = new Float32Array(/* array */[ -0.7455800175666809, 0.47522100806236267, -0.4671989977359772, -0.7843430042266846, 0.4080820083618164, -0.4671989977359772, 0.7455800175666809, -0.47522100806236267, -0.46720001101493835 ]); var indices1 = new Uint16Array(/* array */[ 0, 2, 1 ]); return _createGameObject(geometryName, /* tuple */[ vertices1, normals1, texCoords1, indices1 ], state); } function createGameObject2(geometryName, state) { var vertices1 = new Float32Array(/* array */[ -0.08605089783668518, -0.14904500544071198, 1.0180000066757202, 2, 3, 4 ]); var texCoords1 = new Float32Array(/* array */[]); var normals1 = new Float32Array(/* array */[]); var indices1 = new Uint16Array(/* array */[ 1, 0 ]); return _createGameObject(geometryName, /* tuple */[ vertices1, normals1, texCoords1, indices1 ], state); } var TestDuplicateGeometryData = /* module */[ /* _createGameObject */_createGameObject, /* createGameObject1 */createGameObject1$1, /* createGameObject2 */createGameObject2 ]; var TestDuplicateDataForSAB = /* module */[ /* TestDuplicateImageData */TestDuplicateImageData, /* TestDuplicateGeometryData */TestDuplicateGeometryData ]; exports.buildDependencyRelation = buildDependencyRelation; exports.buildRABData = buildRABData; exports.buildSABData = buildSABData; exports.ResourceAssetBundleContent = ResourceAssetBundleContent; exports.SceneAssetBundleContent = SceneAssetBundleContent; exports.Manifest = Manifest; exports.TestWithOneRAB = TestWithOneRAB; exports.TestWithTwoRAB = TestWithTwoRAB; exports.TestWithOneSAB = TestWithOneSAB; exports.TestWithOneSABAndOneRAB = TestWithOneSABAndOneRAB; exports.TestWABWithOneSABAndOneRAB = TestWABWithOneSABAndOneRAB; exports.TestDuplicateDataForSAB = TestDuplicateDataForSAB; /* MostTool-Wonderjs Not a pure module */