wonder.js
Version:
43 lines (39 loc) • 2.99 kB
JavaScript
'use strict';
var MostUtils$Wonderjs = require("../../../../asset/utils/MostUtils.js");
var MessageService$Wonderjs = require("../../../../service/primitive/worker/MessageService.js");
var ArrayService$WonderCommonlib = require("wonder-commonlib/lib/js/src/ArrayService.js");
var StateRenderWorkerService$Wonderjs = require("../../../../service/state/render_worker/state/StateRenderWorkerService.js");
var DisposeSourceInstanceAllService$Wonderjs = require("../../../../service/state/all/instance/DisposeSourceInstanceAllService.js");
var MemoryRenderWorkerSettingService$Wonderjs = require("../../../../service/record/render_worker/setting/MemoryRenderWorkerSettingService.js");
function execJob(flags, e, stateData) {
return MostUtils$Wonderjs.callFunc((function (param) {
var state = StateRenderWorkerService$Wonderjs.unsafeGetState(stateData);
var settingRecord = state[/* settingRecord */1];
var sourceInstanceRecord = state[/* sourceInstanceRecord */11];
var typeArrayPoolRecord = state[/* typeArrayPoolRecord */24];
var data = MessageService$Wonderjs.getRecord(e);
var match = ArrayService$WonderCommonlib.reduceOneParam((function (param, sourceInstance) {
return /* tuple */[
DisposeSourceInstanceAllService$Wonderjs.disposeMatrixFloat32ArrayMap(sourceInstance, MemoryRenderWorkerSettingService$Wonderjs.getMaxBigTypeArrayPoolSize(settingRecord), param[0], typeArrayPoolRecord),
DisposeSourceInstanceAllService$Wonderjs.disposeMatrixInstanceBufferCapacityMap(sourceInstance, param[1]),
DisposeSourceInstanceAllService$Wonderjs.disposeIsSendTransformMatrixDataMap(sourceInstance, param[2])
];
}), /* tuple */[
sourceInstanceRecord[/* matrixFloat32ArrayMap */4],
sourceInstanceRecord[/* matrixInstanceBufferCapacityMap */3],
sourceInstanceRecord[/* isSendTransformMatrixDataMap */5]
], data.sourceInstanceNeedDisposeVboBufferArr);
state[/* sourceInstanceRecord */11] = /* record */[
/* objectInstanceTransformIndexMap */sourceInstanceRecord[/* objectInstanceTransformIndexMap */0],
/* objectInstanceTransformCollections */sourceInstanceRecord[/* objectInstanceTransformCollections */1],
/* isTransformStatics */sourceInstanceRecord[/* isTransformStatics */2],
/* matrixInstanceBufferCapacityMap */match[1],
/* matrixFloat32ArrayMap */match[0],
/* isSendTransformMatrixDataMap */match[2]
];
StateRenderWorkerService$Wonderjs.setState(stateData, state);
return e;
}));
}
exports.execJob = execJob;
/* MostUtils-Wonderjs Not a pure module */