Wonder-Technology/Wonder.js

View on GitHub
lib/js/src/run/rtx_path_tracer/domain_layer/domain/pipeline/pipeline/entity/jobs/init/InitCameraCPJobEntity.bs.js

Summary

Maintainability
A
0 mins
Test Coverage
'use strict';

var Most = require("most");
var Result$Wonderjs = require("../../../../../../../../../construct/domain_layer/library/structure/Result.bs.js");
var OptionSt$Wonderjs = require("../../../../../../../../../construct/domain_layer/library/structure/OptionSt.bs.js");
var JobEntity$Wonderjs = require("../../../../../../../../../construct/domain_layer/domain/pipeline/pipeline/entity/JobEntity.bs.js");
var CameraCPRepo$Wonderjs = require("../../../../../../repo/pipeline/CameraCPRepo.bs.js");
var WebGPUCPRepo$Wonderjs = require("../../../../../../repo/webgpu/WebGPUCPRepo.bs.js");
var UniformBufferVO$Wonderjs = require("../../../../../../../../../construct/domain_layer/domain/webgpu/core/value_object/UniformBufferVO.bs.js");

function create(param) {
  return JobEntity$Wonderjs.create("init_camera");
}

function _buildCameraBufferData(device) {
  var bufferData = new Float32Array(34);
  var bufferSize = bufferData.byteLength;
  var buffer = UniformBufferVO$Wonderjs.createFromDevice(device, bufferSize);
  return [
          buffer,
          bufferData
        ];
}

function _buildAndSetAllBufferData(device) {
  return CameraCPRepo$Wonderjs.setCameraBufferData(_buildCameraBufferData(device));
}

function exec(param) {
  return Most.just(Result$Wonderjs.mapSuccess(OptionSt$Wonderjs.get(WebGPUCPRepo$Wonderjs.getDevice(undefined)), (function (device) {
                    CameraCPRepo$Wonderjs.setCameraBufferData(_buildCameraBufferData(device));
                    
                  })));
}

exports.create = create;
exports._buildCameraBufferData = _buildCameraBufferData;
exports._buildAndSetAllBufferData = _buildAndSetAllBufferData;
exports.exec = exec;
/* most Not a pure module */