wonder.js
Version:
417 lines (377 loc) • 25.8 kB
JavaScript
'use strict';
var Curry = require("bs-platform/lib/js/curry.js");
var Caml_array = require("bs-platform/lib/js/caml_array.js");
var ArrayService$Wonderjs = require("../../../atom/ArrayService.js");
var ArrayMapService$Wonderjs = require("../../../atom/ArrayMapService.js");
var ArrayService$WonderCommonlib = require("wonder-commonlib/lib/js/src/ArrayService.js");
var ComponentMapService$Wonderjs = require("../../../primitive/gameObject/ComponentMapService.js");
var MemorySettingService$Wonderjs = require("../../../record/main/setting/MemorySettingService.js");
var DisposePointLightService$Wonderjs = require("../../../record/main/light/point/DisposePointLightService.js");
var DisposeScriptMainService$Wonderjs = require("../script/DisposeScriptMainService.js");
var GameObjectGeometryService$Wonderjs = require("../../../record/main/geometry/GameObjectGeometryService.js");
var RecordGeometryMainService$Wonderjs = require("../geometry/RecordGeometryMainService.js");
var DisposeGeometryMainService$Wonderjs = require("../geometry/DisposeGeometryMainService.js");
var DisposeMeshRendererService$Wonderjs = require("../../../record/main/meshRenderer/DisposeMeshRendererService.js");
var DisposeTransformMainService$Wonderjs = require("../transform/DisposeTransformMainService.js");
var RecordPointLightMainService$Wonderjs = require("../light/point/RecordPointLightMainService.js");
var DisposeDirectionLightService$Wonderjs = require("../../../record/main/light/direction/DisposeDirectionLightService.js");
var DisposeBasicCameraViewService$Wonderjs = require("../../../record/main/basic_camera_view/DisposeBasicCameraViewService.js");
var RecordMeshRendererMainService$Wonderjs = require("../meshRenderer/RecordMeshRendererMainService.js");
var GameObjectBasicMaterialService$Wonderjs = require("../../../record/main/material/basic/GameObjectBasicMaterialService.js");
var GameObjectLightMaterialService$Wonderjs = require("../../../record/main/material/light/GameObjectLightMaterialService.js");
var RecordBasicMaterialMainService$Wonderjs = require("../material/basic/RecordBasicMaterialMainService.js");
var RecordLightMaterialMainService$Wonderjs = require("../material/light/RecordLightMaterialMainService.js");
var DisposeBasicMaterialMainService$Wonderjs = require("../material/basic/DisposeBasicMaterialMainService.js");
var DisposeLightMaterialMainService$Wonderjs = require("../material/light/DisposeLightMaterialMainService.js");
var RecordDirectionLightMainService$Wonderjs = require("../light/direction/RecordDirectionLightMainService.js");
var DisposeObjectInstanceMainService$Wonderjs = require("../instance/DisposeObjectInstanceMainService.js");
var DisposeSourceInstanceMainService$Wonderjs = require("../instance/DisposeSourceInstanceMainService.js");
var MaterialArrayForWorkerInitService$Wonderjs = require("../../../primitive/material/MaterialArrayForWorkerInitService.js");
var DisposeFlyCameraControllerMainService$Wonderjs = require("../camera_controller/fly/DisposeFlyCameraControllerMainService.js");
var DisposeArcballCameraControllerMainService$Wonderjs = require("../camera_controller/arcball/DisposeArcballCameraControllerMainService.js");
var DisposePerspectiveCameraProjectionService$Wonderjs = require("../../../record/main/perspective_camera_projection/DisposePerspectiveCameraProjectionService.js");
var _removeComponent = ComponentMapService$Wonderjs.removeComponent;
function deferDisposeScriptComponent(uid, component, state) {
var gameObjectRecord = state[/* gameObjectRecord */10];
var newrecord = Caml_array.caml_array_dup(state);
var newrecord$1 = Caml_array.caml_array_dup(gameObjectRecord);
newrecord$1[/* disposedScriptArray */27] = ArrayService$Wonderjs.push(component, state[/* gameObjectRecord */10][/* disposedScriptArray */27]);
newrecord$1[/* scriptMap */42] = ComponentMapService$Wonderjs.removeComponent(uid, gameObjectRecord[/* scriptMap */42]);
newrecord[/* gameObjectRecord */10] = newrecord$1;
return newrecord;
}
function deferDisposeBasicCameraViewComponent(uid, component, state) {
var gameObjectRecord = state[/* gameObjectRecord */10];
var newrecord = Caml_array.caml_array_dup(state);
var newrecord$1 = Caml_array.caml_array_dup(gameObjectRecord);
newrecord$1[/* disposedBasicCameraViewArray */12] = ArrayService$Wonderjs.push(component, state[/* gameObjectRecord */10][/* disposedBasicCameraViewArray */12]);
newrecord$1[/* basicCameraViewMap */31] = ComponentMapService$Wonderjs.removeComponent(uid, gameObjectRecord[/* basicCameraViewMap */31]);
newrecord[/* gameObjectRecord */10] = newrecord$1;
return newrecord;
}
function deferDisposePerspectiveCameraProjectionComponent(uid, component, state) {
var gameObjectRecord = state[/* gameObjectRecord */10];
var newrecord = Caml_array.caml_array_dup(state);
var newrecord$1 = Caml_array.caml_array_dup(gameObjectRecord);
newrecord$1[/* disposedPerspectiveCameraProjectionArray */15] = ArrayService$Wonderjs.push(component, gameObjectRecord[/* disposedPerspectiveCameraProjectionArray */15]);
newrecord$1[/* perspectiveCameraProjectionMap */32] = ComponentMapService$Wonderjs.removeComponent(uid, gameObjectRecord[/* perspectiveCameraProjectionMap */32]);
newrecord[/* gameObjectRecord */10] = newrecord$1;
return newrecord;
}
function deferDisposeFlyCameraControllerComponent(uid, component, state) {
var gameObjectRecord = state[/* gameObjectRecord */10];
var newrecord = Caml_array.caml_array_dup(state);
var newrecord$1 = Caml_array.caml_array_dup(gameObjectRecord);
newrecord$1[/* disposedFlyCameraControllerArray */16] = ArrayService$Wonderjs.push(component, gameObjectRecord[/* disposedFlyCameraControllerArray */16]);
newrecord$1[/* flyCameraControllerMap */34] = ComponentMapService$Wonderjs.removeComponent(uid, gameObjectRecord[/* flyCameraControllerMap */34]);
newrecord[/* gameObjectRecord */10] = newrecord$1;
return newrecord;
}
function deferDisposeArcballCameraControllerComponent(uid, component, state) {
var gameObjectRecord = state[/* gameObjectRecord */10];
var newrecord = Caml_array.caml_array_dup(state);
var newrecord$1 = Caml_array.caml_array_dup(gameObjectRecord);
newrecord$1[/* disposedArcballCameraControllerArray */17] = ArrayService$Wonderjs.push(component, gameObjectRecord[/* disposedArcballCameraControllerArray */17]);
newrecord$1[/* arcballCameraControllerMap */33] = ComponentMapService$Wonderjs.removeComponent(uid, gameObjectRecord[/* arcballCameraControllerMap */33]);
newrecord[/* gameObjectRecord */10] = newrecord$1;
return newrecord;
}
function deferDisposeTransformComponent(uid, component, state) {
var gameObjectRecord = state[/* gameObjectRecord */10];
var newrecord = Caml_array.caml_array_dup(state);
var newrecord$1 = Caml_array.caml_array_dup(gameObjectRecord);
newrecord$1[/* disposedTransformArray */13] = ArrayService$Wonderjs.push(component, gameObjectRecord[/* disposedTransformArray */13]);
newrecord$1[/* transformMap */30] = ComponentMapService$Wonderjs.removeComponent(uid, gameObjectRecord[/* transformMap */30]);
newrecord[/* gameObjectRecord */10] = newrecord$1;
return newrecord;
}
function deferDisposeTransformComponentForKeepOrder(uid, component, state) {
var gameObjectRecord = state[/* gameObjectRecord */10];
var newrecord = Caml_array.caml_array_dup(state);
var newrecord$1 = Caml_array.caml_array_dup(gameObjectRecord);
newrecord$1[/* disposedTransformArrayForKeepOrder */14] = ArrayService$Wonderjs.push(component, gameObjectRecord[/* disposedTransformArrayForKeepOrder */14]);
newrecord$1[/* transformMap */30] = ComponentMapService$Wonderjs.removeComponent(uid, gameObjectRecord[/* transformMap */30]);
newrecord[/* gameObjectRecord */10] = newrecord$1;
return newrecord;
}
function deferDisposeBasicMaterialComponent(uid, component, state) {
var gameObjectRecord = state[/* gameObjectRecord */10];
var newrecord = Caml_array.caml_array_dup(state);
var newrecord$1 = Caml_array.caml_array_dup(gameObjectRecord);
newrecord$1[/* disposedBasicMaterialDataMap */18] = ArrayMapService$Wonderjs.addValue(component, uid, gameObjectRecord[/* disposedBasicMaterialDataMap */18]);
newrecord$1[/* basicMaterialMap */36] = ComponentMapService$Wonderjs.removeComponent(uid, gameObjectRecord[/* basicMaterialMap */36]);
newrecord[/* gameObjectRecord */10] = newrecord$1;
return newrecord;
}
function deferDisposeLightMaterialComponent(uid, component, state) {
var gameObjectRecord = state[/* gameObjectRecord */10];
var newrecord = Caml_array.caml_array_dup(state);
var newrecord$1 = Caml_array.caml_array_dup(gameObjectRecord);
newrecord$1[/* disposedLightMaterialDataMap */19] = ArrayMapService$Wonderjs.addValue(component, uid, gameObjectRecord[/* disposedLightMaterialDataMap */19]);
newrecord$1[/* lightMaterialMap */37] = ComponentMapService$Wonderjs.removeComponent(uid, gameObjectRecord[/* lightMaterialMap */37]);
newrecord[/* gameObjectRecord */10] = newrecord$1;
return newrecord;
}
function deferDisposeLightMaterialComponentRemoveTexture(uid, component, state) {
var gameObjectRecord = state[/* gameObjectRecord */10];
var newrecord = Caml_array.caml_array_dup(state);
var newrecord$1 = Caml_array.caml_array_dup(gameObjectRecord);
newrecord$1[/* disposedLightMaterialRemoveTextureDataMap */20] = ArrayMapService$Wonderjs.addValue(component, uid, gameObjectRecord[/* disposedLightMaterialRemoveTextureDataMap */20]);
newrecord$1[/* lightMaterialMap */37] = ComponentMapService$Wonderjs.removeComponent(uid, gameObjectRecord[/* lightMaterialMap */37]);
newrecord[/* gameObjectRecord */10] = newrecord$1;
return newrecord;
}
function deferDisposeGeometryComponent(uid, component, state) {
var gameObjectRecord = state[/* gameObjectRecord */10];
var newrecord = Caml_array.caml_array_dup(state);
var newrecord$1 = Caml_array.caml_array_dup(gameObjectRecord);
newrecord$1[/* disposedGeometryDataMap */21] = ArrayMapService$Wonderjs.addValue(component, uid, gameObjectRecord[/* disposedGeometryDataMap */21]);
newrecord$1[/* geometryMap */29] = ComponentMapService$Wonderjs.removeComponent(uid, gameObjectRecord[/* geometryMap */29]);
newrecord[/* gameObjectRecord */10] = newrecord$1;
return newrecord;
}
function deferDisposeSourceInstanceComponent(uid, component, state) {
var gameObjectRecord = state[/* gameObjectRecord */10];
var newrecord = Caml_array.caml_array_dup(state);
var newrecord$1 = Caml_array.caml_array_dup(gameObjectRecord);
newrecord$1[/* disposedSourceInstanceArray */22] = ArrayService$Wonderjs.push(component, gameObjectRecord[/* disposedSourceInstanceArray */22]);
newrecord$1[/* sourceInstanceMap */38] = ComponentMapService$Wonderjs.removeComponent(uid, gameObjectRecord[/* sourceInstanceMap */38]);
newrecord[/* gameObjectRecord */10] = newrecord$1;
return newrecord;
}
function deferDisposeObjectInstanceComponent(uid, component, state) {
var gameObjectRecord = state[/* gameObjectRecord */10];
var newrecord = Caml_array.caml_array_dup(state);
var newrecord$1 = Caml_array.caml_array_dup(gameObjectRecord);
newrecord$1[/* disposedObjectInstanceArray */23] = ArrayService$Wonderjs.push(component, gameObjectRecord[/* disposedObjectInstanceArray */23]);
newrecord$1[/* objectInstanceMap */39] = ComponentMapService$Wonderjs.removeComponent(uid, gameObjectRecord[/* objectInstanceMap */39]);
newrecord[/* gameObjectRecord */10] = newrecord$1;
return newrecord;
}
function deferDisposeDirectionLightComponent(uid, component, state) {
var gameObjectRecord = state[/* gameObjectRecord */10];
var newrecord = Caml_array.caml_array_dup(state);
var newrecord$1 = Caml_array.caml_array_dup(gameObjectRecord);
newrecord$1[/* disposedDirectionLightArray */24] = ArrayService$Wonderjs.push(component, gameObjectRecord[/* disposedDirectionLightArray */24]);
newrecord$1[/* directionLightMap */40] = ComponentMapService$Wonderjs.removeComponent(uid, gameObjectRecord[/* directionLightMap */40]);
newrecord[/* gameObjectRecord */10] = newrecord$1;
return newrecord;
}
function deferDisposePointLightComponent(uid, component, state) {
var gameObjectRecord = state[/* gameObjectRecord */10];
var newrecord = Caml_array.caml_array_dup(state);
var newrecord$1 = Caml_array.caml_array_dup(gameObjectRecord);
newrecord$1[/* disposedPointLightArray */25] = ArrayService$Wonderjs.push(component, gameObjectRecord[/* disposedPointLightArray */25]);
newrecord$1[/* pointLightMap */41] = ComponentMapService$Wonderjs.removeComponent(uid, gameObjectRecord[/* pointLightMap */41]);
newrecord[/* gameObjectRecord */10] = newrecord$1;
return newrecord;
}
function deferDisposeMeshRendererComponent(uid, component, state) {
var gameObjectRecord = state[/* gameObjectRecord */10];
var newrecord = Caml_array.caml_array_dup(state);
var newrecord$1 = Caml_array.caml_array_dup(gameObjectRecord);
newrecord$1[/* disposedMeshRendererComponentArray */26] = ArrayService$Wonderjs.push(component, gameObjectRecord[/* disposedMeshRendererComponentArray */26]);
newrecord$1[/* meshRendererMap */35] = ComponentMapService$Wonderjs.removeComponent(uid, gameObjectRecord[/* meshRendererMap */35]);
newrecord[/* gameObjectRecord */10] = newrecord$1;
return newrecord;
}
function batchDisposeScriptComponent(state, componentArray) {
return DisposeScriptMainService$Wonderjs.handleBatchDisposeComponent(componentArray, state);
}
function batchDisposeBasicCameraViewComponent(state, componentArray) {
var basicCameraViewRecord = state[/* basicCameraViewRecord */13];
var newrecord = Caml_array.caml_array_dup(state);
newrecord[/* basicCameraViewRecord */13] = ComponentMapService$Wonderjs.batchDisposeComponent(basicCameraViewRecord, DisposeBasicCameraViewService$Wonderjs.handleBatchDisposeComponent, componentArray);
return newrecord;
}
function batchDisposePerspectiveCameraProjectionComponent(state, componentArray) {
var perspectiveCameraProjectionRecord = state[/* perspectiveCameraProjectionRecord */14];
var newrecord = Caml_array.caml_array_dup(state);
newrecord[/* perspectiveCameraProjectionRecord */14] = ComponentMapService$Wonderjs.batchDisposeComponent(perspectiveCameraProjectionRecord, DisposePerspectiveCameraProjectionService$Wonderjs.handleBatchDisposeComponent, componentArray);
return newrecord;
}
function batchDisposeFlyCameraControllerComponent(state, componentArray) {
return DisposeFlyCameraControllerMainService$Wonderjs.handleBatchDisposeComponent(componentArray, state);
}
function batchDisposeArcballCameraControllerComponent(state, componentArray) {
return DisposeArcballCameraControllerMainService$Wonderjs.handleBatchDisposeComponent(componentArray, state);
}
function batchDisposeMeshRendererComponent(state, componentArray) {
var newrecord = Caml_array.caml_array_dup(state);
newrecord[/* meshRendererRecord */24] = DisposeMeshRendererService$Wonderjs.handleBatchDisposeComponent(componentArray, RecordMeshRendererMainService$Wonderjs.getRecord(state));
return newrecord;
}
function batchDisposeTransformComponent(state, isKeepOrder, componentArray) {
return DisposeTransformMainService$Wonderjs.handleBatchDisposeComponent(componentArray, MemorySettingService$Wonderjs.getMaxTypeArrayPoolSize(state[/* settingRecord */0]), isKeepOrder, state);
}
function batchDisposeGeometryComponentData(state, compnentDataMap) {
return DisposeGeometryMainService$Wonderjs.handleBatchDisposeComponentData(compnentDataMap, state);
}
function _batchDisposeSharableComponent(componentArray, param, state) {
var deferDisposeComponentFunc = param[2];
var getGameObjectsFunc = param[1];
var getRecordFunc = param[0];
var match = ArrayService$WonderCommonlib.reduceOneParam((function (param, component) {
var state = param[1];
var componentHasNoGameObjectArr = param[0];
var geometryRecord = Curry._1(getRecordFunc, state);
var match = Curry._2(getGameObjectsFunc, component, geometryRecord);
if (match !== undefined) {
return /* tuple */[
componentHasNoGameObjectArr,
ArrayService$WonderCommonlib.reduceOneParam((function (state, gameObject) {
return deferDisposeComponentFunc(gameObject, component, state);
}), state, match)
];
} else {
return /* tuple */[
ArrayService$Wonderjs.push(component, componentHasNoGameObjectArr),
state
];
}
}), /* tuple */[
/* array */[],
state
], componentArray);
return Curry._2(param[3], match[0], match[1]);
}
function batchDisposeGeometryComponent(componentArray, state) {
return _batchDisposeSharableComponent(componentArray, /* tuple */[
RecordGeometryMainService$Wonderjs.getRecord,
GameObjectGeometryService$Wonderjs.getGameObjects,
deferDisposeGeometryComponent,
DisposeGeometryMainService$Wonderjs.handleBatchDisposeComponent
], state);
}
function batchDisposeBasicMaterialComponentData(state, compnentDataMap, _isRemoveTexture) {
return DisposeBasicMaterialMainService$Wonderjs.handleBatchDisposeComponentData(compnentDataMap, state);
}
function batchDisposeBasicMaterialComponentDataForWorker(state, componentDataMap, _isRemoveTexture) {
var state$1 = DisposeBasicMaterialMainService$Wonderjs.handleBatchDisposeComponentData(componentDataMap, state);
var record = RecordBasicMaterialMainService$Wonderjs.getRecord(state$1);
var materialArrayForWorkerInit = record[/* materialArrayForWorkerInit */10];
var newrecord = Caml_array.caml_array_dup(state$1);
newrecord[/* basicMaterialRecord */15] = /* record */[
/* index */record[/* index */0],
/* buffer */record[/* buffer */1],
/* shaderIndices */record[/* shaderIndices */2],
/* colors */record[/* colors */3],
/* isDepthTests */record[/* isDepthTests */4],
/* alphas */record[/* alphas */5],
/* defaultColor */record[/* defaultColor */6],
/* gameObjectsMap */record[/* gameObjectsMap */7],
/* disposedIndexArray */record[/* disposedIndexArray */8],
/* nameMap */record[/* nameMap */9],
/* materialArrayForWorkerInit */MaterialArrayForWorkerInitService$Wonderjs.removeDisposedOnesFromMaterialArrayForWorkerInit(componentDataMap, materialArrayForWorkerInit)
];
return newrecord;
}
function batchDisposeBasicMaterialComponent(componentArray, state) {
return _batchDisposeSharableComponent(componentArray, /* tuple */[
RecordBasicMaterialMainService$Wonderjs.getRecord,
GameObjectBasicMaterialService$Wonderjs.getGameObjects,
deferDisposeBasicMaterialComponent,
DisposeBasicMaterialMainService$Wonderjs.handleBatchDisposeComponent
], state);
}
function batchDisposeLightMaterialComponentData(state, componentDataMap, isRemoveTexture) {
return DisposeLightMaterialMainService$Wonderjs.handleBatchDisposeComponentData(isRemoveTexture, componentDataMap, state);
}
function batchDisposeLightMaterialComponentDataForWorker(state, componentDataMap, isRemoveTexture) {
var state$1 = DisposeLightMaterialMainService$Wonderjs.handleBatchDisposeComponentData(isRemoveTexture, componentDataMap, state);
var record = RecordLightMaterialMainService$Wonderjs.getRecord(state$1);
var materialArrayForWorkerInit = record[/* materialArrayForWorkerInit */14];
var newrecord = Caml_array.caml_array_dup(state$1);
newrecord[/* lightMaterialRecord */16] = /* record */[
/* index */record[/* index */0],
/* buffer */record[/* buffer */1],
/* shaderIndices */record[/* shaderIndices */2],
/* diffuseColors */record[/* diffuseColors */3],
/* specularColors */record[/* specularColors */4],
/* shininess */record[/* shininess */5],
/* diffuseTextureIndices */record[/* diffuseTextureIndices */6],
/* specularTextureIndices */record[/* specularTextureIndices */7],
/* defaultDiffuseColor */record[/* defaultDiffuseColor */8],
/* defaultSpecularColor */record[/* defaultSpecularColor */9],
/* defaultShininess */record[/* defaultShininess */10],
/* gameObjectsMap */record[/* gameObjectsMap */11],
/* disposedIndexArray */record[/* disposedIndexArray */12],
/* nameMap */record[/* nameMap */13],
/* materialArrayForWorkerInit */MaterialArrayForWorkerInitService$Wonderjs.removeDisposedOnesFromMaterialArrayForWorkerInit(componentDataMap, materialArrayForWorkerInit)
];
return newrecord;
}
function batchDisposeLightMaterialComponent(componentArray, isRemoveTexture, state) {
return _batchDisposeSharableComponent(componentArray, /* tuple */[
RecordLightMaterialMainService$Wonderjs.getRecord,
GameObjectLightMaterialService$Wonderjs.getGameObjects,
isRemoveTexture ? deferDisposeLightMaterialComponentRemoveTexture : deferDisposeLightMaterialComponent,
(function (param, param$1) {
return DisposeLightMaterialMainService$Wonderjs.handleBatchDisposeComponent(isRemoveTexture, param, param$1);
})
], state);
}
function batchDisposeDirectionLightComponent(state, componentArray) {
var newrecord = Caml_array.caml_array_dup(state);
newrecord[/* directionLightRecord */21] = ComponentMapService$Wonderjs.batchDisposeComponent(RecordDirectionLightMainService$Wonderjs.getRecord(state), DisposeDirectionLightService$Wonderjs.handleBatchDisposeComponent, componentArray);
return newrecord;
}
function batchDisposePointLightComponent(state, componentArray) {
var newrecord = Caml_array.caml_array_dup(state);
newrecord[/* pointLightRecord */22] = ComponentMapService$Wonderjs.batchDisposeComponent(RecordPointLightMainService$Wonderjs.getRecord(state), DisposePointLightService$Wonderjs.handleBatchDisposeComponent, componentArray);
return newrecord;
}
function batchDisposeSourceInstanceComponent(state, param, disposeGameObjectFunc, componentArray) {
return DisposeSourceInstanceMainService$Wonderjs.handleBatchDisposeComponent(componentArray, /* tuple */[
param[0],
param[1],
param[2],
param[3]
], disposeGameObjectFunc, state);
}
function batchDisposeObjectInstanceComponent(state, componentArray) {
var match = componentArray.length;
if (match !== 0) {
return DisposeObjectInstanceMainService$Wonderjs.handleBatchDisposeComponent(componentArray, state);
} else {
return state;
}
}
exports._removeComponent = _removeComponent;
exports.deferDisposeScriptComponent = deferDisposeScriptComponent;
exports.deferDisposeBasicCameraViewComponent = deferDisposeBasicCameraViewComponent;
exports.deferDisposePerspectiveCameraProjectionComponent = deferDisposePerspectiveCameraProjectionComponent;
exports.deferDisposeFlyCameraControllerComponent = deferDisposeFlyCameraControllerComponent;
exports.deferDisposeArcballCameraControllerComponent = deferDisposeArcballCameraControllerComponent;
exports.deferDisposeTransformComponent = deferDisposeTransformComponent;
exports.deferDisposeTransformComponentForKeepOrder = deferDisposeTransformComponentForKeepOrder;
exports.deferDisposeBasicMaterialComponent = deferDisposeBasicMaterialComponent;
exports.deferDisposeLightMaterialComponent = deferDisposeLightMaterialComponent;
exports.deferDisposeLightMaterialComponentRemoveTexture = deferDisposeLightMaterialComponentRemoveTexture;
exports.deferDisposeGeometryComponent = deferDisposeGeometryComponent;
exports.deferDisposeSourceInstanceComponent = deferDisposeSourceInstanceComponent;
exports.deferDisposeObjectInstanceComponent = deferDisposeObjectInstanceComponent;
exports.deferDisposeDirectionLightComponent = deferDisposeDirectionLightComponent;
exports.deferDisposePointLightComponent = deferDisposePointLightComponent;
exports.deferDisposeMeshRendererComponent = deferDisposeMeshRendererComponent;
exports.batchDisposeScriptComponent = batchDisposeScriptComponent;
exports.batchDisposeBasicCameraViewComponent = batchDisposeBasicCameraViewComponent;
exports.batchDisposePerspectiveCameraProjectionComponent = batchDisposePerspectiveCameraProjectionComponent;
exports.batchDisposeFlyCameraControllerComponent = batchDisposeFlyCameraControllerComponent;
exports.batchDisposeArcballCameraControllerComponent = batchDisposeArcballCameraControllerComponent;
exports.batchDisposeMeshRendererComponent = batchDisposeMeshRendererComponent;
exports.batchDisposeTransformComponent = batchDisposeTransformComponent;
exports.batchDisposeGeometryComponentData = batchDisposeGeometryComponentData;
exports._batchDisposeSharableComponent = _batchDisposeSharableComponent;
exports.batchDisposeGeometryComponent = batchDisposeGeometryComponent;
exports.batchDisposeBasicMaterialComponentData = batchDisposeBasicMaterialComponentData;
exports.batchDisposeBasicMaterialComponentDataForWorker = batchDisposeBasicMaterialComponentDataForWorker;
exports.batchDisposeBasicMaterialComponent = batchDisposeBasicMaterialComponent;
exports.batchDisposeLightMaterialComponentData = batchDisposeLightMaterialComponentData;
exports.batchDisposeLightMaterialComponentDataForWorker = batchDisposeLightMaterialComponentDataForWorker;
exports.batchDisposeLightMaterialComponent = batchDisposeLightMaterialComponent;
exports.batchDisposeDirectionLightComponent = batchDisposeDirectionLightComponent;
exports.batchDisposePointLightComponent = batchDisposePointLightComponent;
exports.batchDisposeSourceInstanceComponent = batchDisposeSourceInstanceComponent;
exports.batchDisposeObjectInstanceComponent = batchDisposeObjectInstanceComponent;
/* ArrayService-Wonderjs Not a pure module */