wonder.js
Version:
48 lines (43 loc) • 3.11 kB
JavaScript
;
var Caml_option = require("bs-platform/lib/js/caml_option.js");
var MostUtils$Wonderjs = require("../../../../asset/utils/MostUtils.js");
var MessageService$Wonderjs = require("../../../../service/primitive/worker/MessageService.js");
var StateRenderWorkerService$Wonderjs = require("../../../../service/state/render_worker/state/StateRenderWorkerService.js");
var BufferRenderWorkerSettingService$Wonderjs = require("../../../../service/record/render_worker/setting/BufferRenderWorkerSettingService.js");
var CreateTypeArrayAllSourceInstanceService$Wonderjs = require("../../../../service/record/all/instance/CreateTypeArrayAllSourceInstanceService.js");
function _createTypeArrays(buffer, sourceInstanceCount, objectInstanceCountPerSourceInstance, state) {
var match = CreateTypeArrayAllSourceInstanceService$Wonderjs.createTypeArrays(buffer, sourceInstanceCount, objectInstanceCountPerSourceInstance);
var init = state[/* sourceInstanceRecord */11];
state[/* sourceInstanceRecord */11] = /* record */[
/* objectInstanceTransformIndexMap */init[/* objectInstanceTransformIndexMap */0],
/* objectInstanceTransformCollections */Caml_option.some(match[0]),
/* isTransformStatics */Caml_option.some(match[1]),
/* matrixInstanceBufferCapacityMap */init[/* matrixInstanceBufferCapacityMap */3],
/* matrixFloat32ArrayMap */init[/* matrixFloat32ArrayMap */4],
/* isSendTransformMatrixDataMap */init[/* isSendTransformMatrixDataMap */5]
];
return state;
}
function execJob(param, e, stateData) {
return MostUtils$Wonderjs.callFunc((function (param) {
var state = StateRenderWorkerService$Wonderjs.unsafeGetState(stateData);
var settingRecord = state[/* settingRecord */1];
var data = MessageService$Wonderjs.getRecord(e);
var sourceInstanceData = data.sourceInstanceData;
var state$1 = _createTypeArrays(sourceInstanceData.buffer, BufferRenderWorkerSettingService$Wonderjs.getSourceInstanceCount(settingRecord), BufferRenderWorkerSettingService$Wonderjs.getObjectInstanceCountPerSourceInstance(settingRecord), state);
var init = state$1[/* sourceInstanceRecord */11];
state$1[/* sourceInstanceRecord */11] = /* record */[
/* objectInstanceTransformIndexMap */sourceInstanceData.objectInstanceTransformIndexMap,
/* objectInstanceTransformCollections */init[/* objectInstanceTransformCollections */1],
/* isTransformStatics */init[/* isTransformStatics */2],
/* matrixInstanceBufferCapacityMap */init[/* matrixInstanceBufferCapacityMap */3],
/* matrixFloat32ArrayMap */init[/* matrixFloat32ArrayMap */4],
/* isSendTransformMatrixDataMap */init[/* isSendTransformMatrixDataMap */5]
];
StateRenderWorkerService$Wonderjs.setState(stateData, state$1);
return e;
}));
}
exports._createTypeArrays = _createTypeArrays;
exports.execJob = execJob;
/* MostUtils-Wonderjs Not a pure module */