@crystaldesign/real-time-viewer 25.8.0-beta.19 → 25.8.0-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/esm/index.js +32 -35
- package/build/types/real-time-viewer/src/controls/index.d.ts.map +1 -1
- package/build/types/real-time-viewer/src/index.d.ts +1 -1
- package/build/types/real-time-viewer/src/index.d.ts.map +1 -1
- package/build/types/real-time-viewer/src/lightning/index.d.ts +1 -1
- package/build/types/real-time-viewer/src/lightning/index.d.ts.map +1 -1
- package/build/types/real-time-viewer/src/parser/shadow/index.d.ts.map +1 -1
- package/build/types/real-time-viewer/src/store/UIStore.d.ts.map +1 -1
- package/build/umd/1309.real-time-viewer.umd.min.js +1 -1
- package/build/umd/1447.real-time-viewer.umd.min.js +1 -1
- package/build/umd/1499.real-time-viewer.umd.min.js +1 -1
- package/build/umd/1781.real-time-viewer.umd.min.js +1 -1
- package/build/umd/1896.real-time-viewer.umd.min.js +2 -0
- package/build/umd/1896.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/1924.real-time-viewer.umd.min.js +1 -1
- package/build/umd/2011.real-time-viewer.umd.min.js +1 -1
- package/build/umd/2439.real-time-viewer.umd.min.js +1 -1
- package/build/umd/2817.real-time-viewer.umd.min.js +1 -1
- package/build/umd/2871.real-time-viewer.umd.min.js +1 -1
- package/build/umd/3116.real-time-viewer.umd.min.js +1 -1
- package/build/umd/3243.real-time-viewer.umd.min.js +2 -0
- package/build/umd/3243.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/3351.real-time-viewer.umd.min.js +1 -1
- package/build/umd/3456.real-time-viewer.umd.min.js +1 -1
- package/build/umd/3945.real-time-viewer.umd.min.js +1 -1
- package/build/umd/4091.real-time-viewer.umd.min.js +1 -1
- package/build/umd/410.real-time-viewer.umd.min.js +1 -1
- package/build/umd/4153.real-time-viewer.umd.min.js +1 -1
- package/build/umd/4248.real-time-viewer.umd.min.js +1 -1
- package/build/umd/4378.real-time-viewer.umd.min.js +1 -1
- package/build/umd/4431.real-time-viewer.umd.min.js +1 -1
- package/build/umd/4542.real-time-viewer.umd.min.js +2 -0
- package/build/umd/4542.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/4602.real-time-viewer.umd.min.js +1 -1
- package/build/umd/4661.real-time-viewer.umd.min.js +1 -1
- package/build/umd/4669.real-time-viewer.umd.min.js +1 -1
- package/build/umd/4711.real-time-viewer.umd.min.js +1 -1
- package/build/umd/4823.real-time-viewer.umd.min.js +1 -1
- package/build/umd/5462.real-time-viewer.umd.min.js +1 -1
- package/build/umd/5478.real-time-viewer.umd.min.js +2 -0
- package/build/umd/5478.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/5483.real-time-viewer.umd.min.js +1 -1
- package/build/umd/5555.real-time-viewer.umd.min.js +1 -1
- package/build/umd/5846.real-time-viewer.umd.min.js +1 -1
- package/build/umd/5860.real-time-viewer.umd.min.js +1 -1
- package/build/umd/5922.real-time-viewer.umd.min.js +1 -1
- package/build/umd/6095.real-time-viewer.umd.min.js +1 -1
- package/build/umd/615.real-time-viewer.umd.min.js +1 -1
- package/build/umd/6230.real-time-viewer.umd.min.js +1 -1
- package/build/umd/6357.real-time-viewer.umd.min.js +1 -1
- package/build/umd/653.real-time-viewer.umd.min.js +1 -1
- package/build/umd/6656.real-time-viewer.umd.min.js +1 -1
- package/build/umd/6829.real-time-viewer.umd.min.js +1 -1
- package/build/umd/7042.real-time-viewer.umd.min.js +1 -1
- package/build/umd/7046.real-time-viewer.umd.min.js +1 -1
- package/build/umd/710.real-time-viewer.umd.min.js +1 -1
- package/build/umd/7142.real-time-viewer.umd.min.js +1 -1
- package/build/umd/7144.real-time-viewer.umd.min.js +2 -0
- package/build/umd/7144.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/7229.real-time-viewer.umd.min.js +1 -1
- package/build/umd/7276.real-time-viewer.umd.min.js +2 -0
- package/build/umd/7276.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/7352.real-time-viewer.umd.min.js +1 -1
- package/build/umd/7501.real-time-viewer.umd.min.js +1 -1
- package/build/umd/7607.real-time-viewer.umd.min.js +1 -1
- package/build/umd/7729.real-time-viewer.umd.min.js +1 -1
- package/build/umd/7751.real-time-viewer.umd.min.js +1 -1
- package/build/umd/7754.real-time-viewer.umd.min.js +1 -1
- package/build/umd/8078.real-time-viewer.umd.min.js +1 -1
- package/build/umd/8105.real-time-viewer.umd.min.js +1 -1
- package/build/umd/815.real-time-viewer.umd.min.js +1 -1
- package/build/umd/8240.real-time-viewer.umd.min.js +1 -1
- package/build/umd/8333.real-time-viewer.umd.min.js +1 -1
- package/build/umd/8620.real-time-viewer.umd.min.js +1 -1
- package/build/umd/8728.real-time-viewer.umd.min.js +1 -1
- package/build/umd/8729.real-time-viewer.umd.min.js +1 -1
- package/build/umd/8991.real-time-viewer.umd.min.js +1 -1
- package/build/umd/9078.real-time-viewer.umd.min.js +1 -1
- package/build/umd/913.real-time-viewer.umd.min.js +1 -1
- package/build/umd/930.real-time-viewer.umd.min.js +1 -1
- package/build/umd/9383.real-time-viewer.umd.min.js +1 -1
- package/build/umd/9568.real-time-viewer.umd.min.js +1 -1
- package/build/umd/9712.real-time-viewer.umd.min.js +1 -1
- package/build/umd/9884.real-time-viewer.umd.min.js +1 -1
- package/build/umd/real-time-viewer.umd.min.js +1 -1
- package/build/umd/report.html +1 -1
- package/package.json +12 -13
- package/build/umd/1020.real-time-viewer.umd.min.js +0 -2
- package/build/umd/1020.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/1153.real-time-viewer.umd.min.js +0 -2
- package/build/umd/1153.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/1459.real-time-viewer.umd.min.js +0 -2
- package/build/umd/1459.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/1605.real-time-viewer.umd.min.js +0 -2
- package/build/umd/1605.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/1887.real-time-viewer.umd.min.js +0 -2
- package/build/umd/1887.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/2265.real-time-viewer.umd.min.js +0 -2
- package/build/umd/2265.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/2371.real-time-viewer.umd.min.js +0 -2
- package/build/umd/2371.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/2517.real-time-viewer.umd.min.js +0 -2
- package/build/umd/2517.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/2528.real-time-viewer.umd.min.js +0 -2
- package/build/umd/2528.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/2619.real-time-viewer.umd.min.js +0 -2
- package/build/umd/2619.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/2668.real-time-viewer.umd.min.js +0 -2
- package/build/umd/2668.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/2760.real-time-viewer.umd.min.js +0 -2
- package/build/umd/2760.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/2782.real-time-viewer.umd.min.js +0 -2
- package/build/umd/2782.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/2795.real-time-viewer.umd.min.js +0 -2
- package/build/umd/2795.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/3040.real-time-viewer.umd.min.js +0 -2
- package/build/umd/3040.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/3219.real-time-viewer.umd.min.js +0 -2
- package/build/umd/3219.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/3242.real-time-viewer.umd.min.js +0 -2
- package/build/umd/3242.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/3296.real-time-viewer.umd.min.js +0 -2
- package/build/umd/3296.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/3330.real-time-viewer.umd.min.js +0 -2
- package/build/umd/3330.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/3420.real-time-viewer.umd.min.js +0 -2
- package/build/umd/3420.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/3436.real-time-viewer.umd.min.js +0 -2
- package/build/umd/3436.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/3439.real-time-viewer.umd.min.js +0 -2
- package/build/umd/3439.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/3652.real-time-viewer.umd.min.js +0 -2
- package/build/umd/3652.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/377.real-time-viewer.umd.min.js +0 -2
- package/build/umd/377.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/3839.real-time-viewer.umd.min.js +0 -2
- package/build/umd/3839.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/3917.real-time-viewer.umd.min.js +0 -2
- package/build/umd/3917.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/4049.real-time-viewer.umd.min.js +0 -2
- package/build/umd/4049.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/4051.real-time-viewer.umd.min.js +0 -2
- package/build/umd/4051.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/4358.real-time-viewer.umd.min.js +0 -2
- package/build/umd/4358.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/4478.real-time-viewer.umd.min.js +0 -2
- package/build/umd/4478.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/4486.real-time-viewer.umd.min.js +0 -2
- package/build/umd/4486.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/4555.real-time-viewer.umd.min.js +0 -2
- package/build/umd/4555.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/4560.real-time-viewer.umd.min.js +0 -2
- package/build/umd/4560.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/4667.real-time-viewer.umd.min.js +0 -2
- package/build/umd/4667.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/4806.real-time-viewer.umd.min.js +0 -2
- package/build/umd/4806.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/4953.real-time-viewer.umd.min.js +0 -2
- package/build/umd/4953.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/5197.real-time-viewer.umd.min.js +0 -2
- package/build/umd/5197.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/539.real-time-viewer.umd.min.js +0 -2
- package/build/umd/539.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/5477.real-time-viewer.umd.min.js +0 -2
- package/build/umd/5477.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/5645.real-time-viewer.umd.min.js +0 -2
- package/build/umd/5645.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/5650.real-time-viewer.umd.min.js +0 -2
- package/build/umd/5650.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/5779.real-time-viewer.umd.min.js +0 -2
- package/build/umd/5779.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/5880.real-time-viewer.umd.min.js +0 -2
- package/build/umd/5880.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/5925.real-time-viewer.umd.min.js +0 -2
- package/build/umd/5925.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/6030.real-time-viewer.umd.min.js +0 -2
- package/build/umd/6030.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/6126.real-time-viewer.umd.min.js +0 -2
- package/build/umd/6126.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/6169.real-time-viewer.umd.min.js +0 -2
- package/build/umd/6169.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/6182.real-time-viewer.umd.min.js +0 -2
- package/build/umd/6182.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/6288.real-time-viewer.umd.min.js +0 -2
- package/build/umd/6288.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/6728.real-time-viewer.umd.min.js +0 -2
- package/build/umd/6728.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/6746.real-time-viewer.umd.min.js +0 -2
- package/build/umd/6746.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/6748.real-time-viewer.umd.min.js +0 -2
- package/build/umd/6748.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/6761.real-time-viewer.umd.min.js +0 -2
- package/build/umd/6761.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/6954.real-time-viewer.umd.min.js +0 -2
- package/build/umd/6954.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/7038.real-time-viewer.umd.min.js +0 -2
- package/build/umd/7038.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/7069.real-time-viewer.umd.min.js +0 -2
- package/build/umd/7069.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/7154.real-time-viewer.umd.min.js +0 -2
- package/build/umd/7154.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/7540.real-time-viewer.umd.min.js +0 -2
- package/build/umd/7540.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/7615.real-time-viewer.umd.min.js +0 -2
- package/build/umd/7615.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/7635.real-time-viewer.umd.min.js +0 -2
- package/build/umd/7635.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/7647.real-time-viewer.umd.min.js +0 -2
- package/build/umd/7647.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/7664.real-time-viewer.umd.min.js +0 -2
- package/build/umd/7664.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/7736.real-time-viewer.umd.min.js +0 -2
- package/build/umd/7736.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/781.real-time-viewer.umd.min.js +0 -2
- package/build/umd/781.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/8180.real-time-viewer.umd.min.js +0 -2
- package/build/umd/8180.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/8254.real-time-viewer.umd.min.js +0 -2
- package/build/umd/8254.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/8588.real-time-viewer.umd.min.js +0 -2
- package/build/umd/8588.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/8627.real-time-viewer.umd.min.js +0 -2
- package/build/umd/8627.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/8645.real-time-viewer.umd.min.js +0 -2
- package/build/umd/8645.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/8954.real-time-viewer.umd.min.js +0 -2
- package/build/umd/8954.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/9449.real-time-viewer.umd.min.js +0 -2
- package/build/umd/9449.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/9487.real-time-viewer.umd.min.js +0 -2
- package/build/umd/9487.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/957.real-time-viewer.umd.min.js +0 -2
- package/build/umd/957.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/9646.real-time-viewer.umd.min.js +0 -2
- package/build/umd/9646.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/9883.real-time-viewer.umd.min.js +0 -2
- package/build/umd/9883.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/9990.real-time-viewer.umd.min.js +0 -2
- package/build/umd/9990.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/*! For license information please see 2619.real-time-viewer.umd.min.js.LICENSE.txt */
|
|
2
|
-
"use strict";(self.webpackChunkCrystaldesignRealTimeViewer=self.webpackChunkCrystaldesignRealTimeViewer||[]).push([[2619],{12619:(e,t,s)=>{s.r(t),s.d(t,{FlowGraphPointerOutEventBlock:()=>FlowGraphPointerOutEventBlock});var r=s(3274),i=s(39426),n=s(20538),a=s(7181);class FlowGraphPointerOutEventBlock extends r.N{constructor(e){super(e),this.type="PointerOut",this.pointerId=this.registerDataOutput("pointerId",i.ab),this.targetMesh=this.registerDataInput("targetMesh",i.s8,e?.targetMesh),this.meshOutOfPointer=this.registerDataOutput("meshOutOfPointer",i.s8)}_executeEvent(e,t){const s=this.targetMesh.getValue(e);this.meshOutOfPointer.setValue(t.mesh,e),this.pointerId.setValue(t.pointerId,e);return!((!t.over||!(0,a.jH)(t.mesh,s))&&(t.mesh===s||(0,a.jH)(t.mesh,s)))||(this._execute(e),!this.config?.stopPropagation)}_preparePendingTasks(e){}_cancelPendingTasks(e){}getClassName(){return"FlowGraphPointerOutEventBlock"}}(0,n.H7)("FlowGraphPointerOutEventBlock",FlowGraphPointerOutEventBlock)}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/*! filename:2619 */
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/*! For license information please see 2668.real-time-viewer.umd.min.js.LICENSE.txt */
|
|
2
|
-
"use strict";(self.webpackChunkCrystaldesignRealTimeViewer=self.webpackChunkCrystaldesignRealTimeViewer||[]).push([[2668],{2668:(o,e,t)=>{t.r(e),t.d(e,{FlowGraphWhileLoopBlock:()=>FlowGraphWhileLoopBlock});var i=t(39426),l=t(20538),a=t(36442),h=t(3146);class FlowGraphWhileLoopBlock extends a.F{constructor(o){super(o),this.config=o,this.condition=this.registerDataInput("condition",i.PE),this.executionFlow=this._registerSignalOutput("executionFlow"),this.completed=this._registerSignalOutput("completed"),this._unregisterSignalOutput("out")}_execute(o,e){let t=this.condition.getValue(o);this.config?.doWhile&&!t&&this.executionFlow._activateSignal(o);let i=0;for(;t;){if(this.executionFlow._activateSignal(o),++i,i>=FlowGraphWhileLoopBlock.MaxLoopCount){h.Y.Warn("FlowGraphWhileLoopBlock: Max loop count reached. Breaking.");break}t=this.condition.getValue(o)}this.completed._activateSignal(o)}getClassName(){return"FlowGraphWhileLoopBlock"}}FlowGraphWhileLoopBlock.MaxLoopCount=1e3,(0,l.H7)("FlowGraphWhileLoopBlock",FlowGraphWhileLoopBlock)}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/*! filename:2668 */
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/*! For license information please see 2760.real-time-viewer.umd.min.js.LICENSE.txt */
|
|
2
|
-
"use strict";(self.webpackChunkCrystaldesignRealTimeViewer=self.webpackChunkCrystaldesignRealTimeViewer||[]).push([[2760],{82760:(e,t,s)=>{s.r(t),s.d(t,{FlowGraphGetAssetBlock:()=>FlowGraphGetAssetBlock});var a=s(53664),i=s(43890),l=s(39426),r=s(20538),u=s(234),h=s(7181);class FlowGraphGetAssetBlock extends i.A{constructor(e){super(e),this.config=e,this.type=this.registerDataInput("type",l.s8,e.type),this.value=this.registerDataOutput("value",l.s8),this.index=this.registerDataInput("index",l.s8,new u.K((0,h.J0)(e.index??-1)))}_updateOutputs(e){const t=this.type.getValue(e),s=this.index.getValue(e),i=(0,a.O)(e.assetsContext,t,(0,h.J0)(s),this.config.useIndexAsUniqueId);this.value.setValue(i,e)}getClassName(){return"FlowGraphGetAssetBlock"}}(0,r.H7)("FlowGraphGetAssetBlock",FlowGraphGetAssetBlock)}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/*! filename:2760 */
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/*! For license information please see 2782.real-time-viewer.umd.min.js.LICENSE.txt */
|
|
2
|
-
"use strict";(self.webpackChunkCrystaldesignRealTimeViewer=self.webpackChunkCrystaldesignRealTimeViewer||[]).push([[2782],{2782:(t,e,s)=>{s.r(e),s.d(e,{FlowGraphDataSwitchBlock:()=>FlowGraphDataSwitchBlock});var a=s(43890),i=s(39426),u=s(7181),r=s(20538);class FlowGraphDataSwitchBlock extends a.A{constructor(t){super(t),this.config=t,this._inputCases=new Map,this.case=this.registerDataInput("case",i.s8,NaN),this.default=this.registerDataInput("default",i.s8),this.value=this.registerDataOutput("value",i.s8);const e=this.config.cases||[];for(let t of e){if(t=(0,u.J0)(t),this.config.treatCasesAsIntegers&&(t|=0,this._inputCases.has(t)))return;this._inputCases.set(t,this.registerDataInput(`in_${t}`,i.s8))}}_updateOutputs(t){const e=this.case.getValue(t);let s;(0,u.kE)(e)&&(s=this._getOutputValueForCase((0,u.J0)(e),t)),s||(s=this.default.getValue(t)),this.value.setValue(s,t)}_getOutputValueForCase(t,e){return this._inputCases.get(t)?.getValue(e)}getClassName(){return"FlowGraphDataSwitchBlock"}}(0,r.H7)("FlowGraphDataSwitchBlock",FlowGraphDataSwitchBlock)}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/*! filename:2782 */
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/*! For license information please see 2795.real-time-viewer.umd.min.js.LICENSE.txt */
|
|
2
|
-
"use strict";(self.webpackChunkCrystaldesignRealTimeViewer=self.webpackChunkCrystaldesignRealTimeViewer||[]).push([[2795],{82795:(r,o,l)=>{l.r(o),l.d(o,{greasedLinePixelShader:()=>a});var e=l(17416);const i="greasedLinePixelShader",t="precision highp float;uniform sampler2D grlColors;uniform float grlUseColors;uniform float grlUseDash;uniform float grlDashArray;uniform float grlDashOffset;uniform float grlDashRatio;uniform float grlVisibility;uniform float grlColorsWidth;uniform vec2 grl_colorModeAndColorDistributionType;uniform vec3 grlColor;varying float grlCounters;varying float grlColorPointer;void main() {float grlColorMode=grl_colorModeAndColorDistributionType.x;float grlColorDistributionType=grl_colorModeAndColorDistributionType.y;gl_FragColor=vec4(grlColor,1.);gl_FragColor.a=step(grlCounters,grlVisibility);if (gl_FragColor.a==0.) discard;if( grlUseDash==1. ){gl_FragColor.a=ceil(mod(grlCounters+grlDashOffset,grlDashArray)-(grlDashArray*grlDashRatio));if (gl_FragColor.a==0.) discard;}\nif (grlUseColors==1.) {vec4 textureColor;if (grlColorDistributionType==COLOR_DISTRIBUTION_TYPE_LINE) { \ntextureColor=texture2D(grlColors,vec2(grlCounters,0.),0.);} else {textureColor=texture2D(grlColors,vec2(grlColorPointer/grlColorsWidth,0.),0.);}\nif (grlColorMode==COLOR_MODE_SET) {gl_FragColor=textureColor;} else if (grlColorMode==COLOR_MODE_ADD) {gl_FragColor+=textureColor;} else if (grlColorMode==COLOR_MODE_MULTIPLY) {gl_FragColor*=textureColor;}}}\n";e.v.ShadersStore[i]||(e.v.ShadersStore[i]=t);const a={name:i,shader:t}}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/*! filename:2795 */
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/*! For license information please see 3040.real-time-viewer.umd.min.js.LICENSE.txt */
|
|
2
|
-
"use strict";(self.webpackChunkCrystaldesignRealTimeViewer=self.webpackChunkCrystaldesignRealTimeViewer||[]).push([[3040],{3040:(t,a,e)=>{e.r(a),e.d(a,{FlowGraphCombineMatrix2DBlock:()=>FlowGraphCombineMatrix2DBlock,FlowGraphCombineMatrix3DBlock:()=>FlowGraphCombineMatrix3DBlock,FlowGraphCombineMatrixBlock:()=>FlowGraphCombineMatrixBlock,FlowGraphCombineVector2Block:()=>FlowGraphCombineVector2Block,FlowGraphCombineVector3Block:()=>FlowGraphCombineVector3Block,FlowGraphCombineVector4Block:()=>FlowGraphCombineVector4Block,FlowGraphExtractMatrix2DBlock:()=>FlowGraphExtractMatrix2DBlock,FlowGraphExtractMatrix3DBlock:()=>FlowGraphExtractMatrix3DBlock,FlowGraphExtractMatrixBlock:()=>FlowGraphExtractMatrixBlock,FlowGraphExtractVector2Block:()=>FlowGraphExtractVector2Block,FlowGraphExtractVector3Block:()=>FlowGraphExtractVector3Block,FlowGraphExtractVector4Block:()=>FlowGraphExtractVector4Block});var u=e(49492),i=e(39426),o=e(43890),r=e(49486),l=e(20538),n=e(33203);class FlowGraphMathCombineBlock extends u.D{constructor(t,a,e){super(a,e);for(let a=0;a<t;a++)this.registerDataInput(`input_${a}`,i.ab,0)}}class FlowGraphMathExtractBlock extends o.A{constructor(t,a,e){super(e),this.registerDataInput("input",a);for(let a=0;a<t;a++)this.registerDataOutput(`output_${a}`,i.ab,0)}}class FlowGraphCombineVector2Block extends FlowGraphMathCombineBlock{constructor(t){super(2,i.rh,t)}_doOperation(t){t._hasExecutionVariable(this,"cachedVector")||t._setExecutionVariable(this,"cachedVector",new r.FM);const a=t._getExecutionVariable(this,"cachedVector",null);return a.set(this.getDataInput("input_0").getValue(t),this.getDataInput("input_1").getValue(t)),a}getClassName(){return"FlowGraphCombineVector2Block"}}(0,l.H7)("FlowGraphCombineVector2Block",FlowGraphCombineVector2Block);class FlowGraphCombineVector3Block extends FlowGraphMathCombineBlock{constructor(t){super(3,i.FO,t)}_doOperation(t){t._hasExecutionVariable(this,"cachedVector")||t._setExecutionVariable(this,"cachedVector",new r.P);const a=t._getExecutionVariable(this,"cachedVector",null);return a.set(this.getDataInput("input_0").getValue(t),this.getDataInput("input_1").getValue(t),this.getDataInput("input_2").getValue(t)),a}getClassName(){return"FlowGraphCombineVector3Block"}}(0,l.H7)("FlowGraphCombineVector3Block",FlowGraphCombineVector3Block);class FlowGraphCombineVector4Block extends FlowGraphMathCombineBlock{constructor(t){super(4,i.Sx,t)}_doOperation(t){t._hasExecutionVariable(this,"cachedVector")||t._setExecutionVariable(this,"cachedVector",new r.Lt);const a=t._getExecutionVariable(this,"cachedVector",null);return a.set(this.getDataInput("input_0").getValue(t),this.getDataInput("input_1").getValue(t),this.getDataInput("input_2").getValue(t),this.getDataInput("input_3").getValue(t)),a}getClassName(){return"FlowGraphCombineVector4Block"}}(0,l.H7)("FlowGraphCombineVector4Block",FlowGraphCombineVector4Block);class FlowGraphCombineMatrixBlock extends FlowGraphMathCombineBlock{constructor(t){super(16,i.WT,t)}_doOperation(t){t._hasExecutionVariable(this,"cachedMatrix")||t._setExecutionVariable(this,"cachedMatrix",new r.y3);const a=t._getExecutionVariable(this,"cachedMatrix",null);return this.config?.inputIsColumnMajor?a.set(this.getDataInput("input_0").getValue(t),this.getDataInput("input_4").getValue(t),this.getDataInput("input_8").getValue(t),this.getDataInput("input_12").getValue(t),this.getDataInput("input_1").getValue(t),this.getDataInput("input_5").getValue(t),this.getDataInput("input_9").getValue(t),this.getDataInput("input_13").getValue(t),this.getDataInput("input_2").getValue(t),this.getDataInput("input_6").getValue(t),this.getDataInput("input_10").getValue(t),this.getDataInput("input_14").getValue(t),this.getDataInput("input_3").getValue(t),this.getDataInput("input_7").getValue(t),this.getDataInput("input_11").getValue(t),this.getDataInput("input_15").getValue(t)):a.set(this.getDataInput("input_0").getValue(t),this.getDataInput("input_1").getValue(t),this.getDataInput("input_2").getValue(t),this.getDataInput("input_3").getValue(t),this.getDataInput("input_4").getValue(t),this.getDataInput("input_5").getValue(t),this.getDataInput("input_6").getValue(t),this.getDataInput("input_7").getValue(t),this.getDataInput("input_8").getValue(t),this.getDataInput("input_9").getValue(t),this.getDataInput("input_10").getValue(t),this.getDataInput("input_11").getValue(t),this.getDataInput("input_12").getValue(t),this.getDataInput("input_13").getValue(t),this.getDataInput("input_14").getValue(t),this.getDataInput("input_15").getValue(t)),a}getClassName(){return"FlowGraphCombineMatrixBlock"}}(0,l.H7)("FlowGraphCombineMatrixBlock",FlowGraphCombineMatrixBlock);class FlowGraphCombineMatrix2DBlock extends FlowGraphMathCombineBlock{constructor(t){super(4,i.fz,t)}_doOperation(t){t._hasExecutionVariable(this,"cachedMatrix")||t._setExecutionVariable(this,"cachedMatrix",new n.x);const a=t._getExecutionVariable(this,"cachedMatrix",null),e=this.config?.inputIsColumnMajor?[this.getDataInput("input_0").getValue(t),this.getDataInput("input_2").getValue(t),this.getDataInput("input_1").getValue(t),this.getDataInput("input_3").getValue(t)]:[this.getDataInput("input_0").getValue(t),this.getDataInput("input_1").getValue(t),this.getDataInput("input_2").getValue(t),this.getDataInput("input_3").getValue(t)];return a.fromArray(e),a}getClassName(){return"FlowGraphCombineMatrix2DBlock"}}(0,l.H7)("FlowGraphCombineMatrix2DBlock",FlowGraphCombineMatrix2DBlock);class FlowGraphCombineMatrix3DBlock extends FlowGraphMathCombineBlock{constructor(t){super(9,i.pD,t)}_doOperation(t){t._hasExecutionVariable(this,"cachedMatrix")||t._setExecutionVariable(this,"cachedMatrix",new n.o);const a=t._getExecutionVariable(this,"cachedMatrix",null),e=this.config?.inputIsColumnMajor?[this.getDataInput("input_0").getValue(t),this.getDataInput("input_3").getValue(t),this.getDataInput("input_6").getValue(t),this.getDataInput("input_1").getValue(t),this.getDataInput("input_4").getValue(t),this.getDataInput("input_7").getValue(t),this.getDataInput("input_2").getValue(t),this.getDataInput("input_5").getValue(t),this.getDataInput("input_8").getValue(t)]:[this.getDataInput("input_0").getValue(t),this.getDataInput("input_1").getValue(t),this.getDataInput("input_2").getValue(t),this.getDataInput("input_3").getValue(t),this.getDataInput("input_4").getValue(t),this.getDataInput("input_5").getValue(t),this.getDataInput("input_6").getValue(t),this.getDataInput("input_7").getValue(t),this.getDataInput("input_8").getValue(t)];return a.fromArray(e),a}getClassName(){return"FlowGraphCombineMatrix3DBlock"}}(0,l.H7)("FlowGraphCombineMatrix3DBlock",FlowGraphCombineMatrix3DBlock);class FlowGraphExtractVector2Block extends FlowGraphMathExtractBlock{constructor(t){super(2,i.rh,t)}_updateOutputs(t){let a=this.getDataInput("input")?.getValue(t);a||(a=r.FM.Zero(),this.getDataInput("input").setValue(a,t)),this.getDataOutput("output_0").setValue(a.x,t),this.getDataOutput("output_1").setValue(a.y,t)}getClassName(){return"FlowGraphExtractVector2Block"}}(0,l.H7)("FlowGraphExtractVector2Block",FlowGraphExtractVector2Block);class FlowGraphExtractVector3Block extends FlowGraphMathExtractBlock{constructor(t){super(3,i.FO,t)}_updateOutputs(t){let a=this.getDataInput("input")?.getValue(t);a||(a=r.P.Zero(),this.getDataInput("input").setValue(a,t)),this.getDataOutput("output_0").setValue(a.x,t),this.getDataOutput("output_1").setValue(a.y,t),this.getDataOutput("output_2").setValue(a.z,t)}getClassName(){return"FlowGraphExtractVector3Block"}}(0,l.H7)("FlowGraphExtractVector3Block",FlowGraphExtractVector3Block);class FlowGraphExtractVector4Block extends FlowGraphMathExtractBlock{constructor(t){super(4,i.Sx,t)}_updateOutputs(t){let a=this.getDataInput("input")?.getValue(t);a||(a=r.Lt.Zero(),this.getDataInput("input").setValue(a,t)),this.getDataOutput("output_0").setValue(a.x,t),this.getDataOutput("output_1").setValue(a.y,t),this.getDataOutput("output_2").setValue(a.z,t),this.getDataOutput("output_3").setValue(a.w,t)}getClassName(){return"FlowGraphExtractVector4Block"}}(0,l.H7)("FlowGraphExtractVector4Block",FlowGraphExtractVector4Block);class FlowGraphExtractMatrixBlock extends FlowGraphMathExtractBlock{constructor(t){super(16,i.WT,t)}_updateOutputs(t){let a=this.getDataInput("input")?.getValue(t);a||(a=r.y3.Identity(),this.getDataInput("input").setValue(a,t));for(let e=0;e<16;e++)this.getDataOutput(`output_${e}`).setValue(a.m[e],t)}getClassName(){return"FlowGraphExtractMatrixBlock"}}(0,l.H7)("FlowGraphExtractMatrixBlock",FlowGraphExtractMatrixBlock);class FlowGraphExtractMatrix2DBlock extends FlowGraphMathExtractBlock{constructor(t){super(4,i.fz,t)}_updateOutputs(t){let a=this.getDataInput("input")?.getValue(t);a||(a=new n.x,this.getDataInput("input").setValue(a,t));for(let e=0;e<4;e++)this.getDataOutput(`output_${e}`).setValue(a.m[e],t)}getClassName(){return"FlowGraphExtractMatrix2DBlock"}}(0,l.H7)("FlowGraphExtractMatrix2DBlock",FlowGraphExtractMatrix2DBlock);class FlowGraphExtractMatrix3DBlock extends FlowGraphMathExtractBlock{constructor(t){super(9,i.pD,t)}_updateOutputs(t){let a=this.getDataInput("input")?.getValue(t);a||(a=new n.o,this.getDataInput("input").setValue(a,t));for(let e=0;e<9;e++)this.getDataOutput(`output_${e}`).setValue(a.m[e],t)}getClassName(){return"FlowGraphExtractMatrix3DBlock"}}(0,l.H7)("FlowGraphExtractMatrix3DBlock",FlowGraphExtractMatrix3DBlock)},49492:(t,a,e)=>{e.d(a,{D:()=>FlowGraphCachedOperationBlock});var u=e(43890),i=e(39426);const o="cachedOperationValue",r="cachedExecutionId";class FlowGraphCachedOperationBlock extends u.A{constructor(t,a){super(a),this.value=this.registerDataOutput("value",t),this.isValid=this.registerDataOutput("isValid",i.PE)}_updateOutputs(t){const a=t._getExecutionVariable(this,r,-1),e=t._getExecutionVariable(this,o,null);if(null!=e&&a===t.executionId)this.isValid.setValue(!0,t),this.value.setValue(e,t);else try{const a=this._doOperation(t);if(null==a)return void this.isValid.setValue(!1,t);t._setExecutionVariable(this,o,a),t._setExecutionVariable(this,r,t.executionId),this.value.setValue(a,t),this.isValid.setValue(!0,t)}catch(a){this.isValid.setValue(!1,t)}}}}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/*! filename:3040 */
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/*! For license information please see 3219.real-time-viewer.umd.min.js.LICENSE.txt */
|
|
2
|
-
"use strict";(self.webpackChunkCrystaldesignRealTimeViewer=self.webpackChunkCrystaldesignRealTimeViewer||[]).push([[3219],{13219:(o,a,t)=>{t.r(a),t.d(a,{FlowGraphBooleanToFloat:()=>FlowGraphBooleanToFloat,FlowGraphBooleanToInt:()=>FlowGraphBooleanToInt,FlowGraphFloatToBoolean:()=>FlowGraphFloatToBoolean,FlowGraphFloatToInt:()=>FlowGraphFloatToInt,FlowGraphIntToBoolean:()=>FlowGraphIntToBoolean,FlowGraphIntToFloat:()=>FlowGraphIntToFloat});var l=t(86562),e=t(39426),r=t(20538),n=t(234);class FlowGraphBooleanToFloat extends l.p{constructor(o){super(e.PE,e.ab,(o=>+o),"FlowGraphBooleanToFloat",o)}}(0,r.H7)("FlowGraphBooleanToFloat",FlowGraphBooleanToFloat);class FlowGraphBooleanToInt extends l.p{constructor(o){super(e.PE,e.fj,(o=>n.K.FromValue(+o)),"FlowGraphBooleanToInt",o)}}(0,r.H7)("FlowGraphBooleanToInt",FlowGraphBooleanToInt);class FlowGraphFloatToBoolean extends l.p{constructor(o){super(e.ab,e.PE,(o=>!!o),"FlowGraphFloatToBoolean",o)}}(0,r.H7)("FlowGraphFloatToBoolean",FlowGraphFloatToBoolean);class FlowGraphIntToBoolean extends l.p{constructor(o){super(e.fj,e.PE,(o=>!!o.value),"FlowGraphIntToBoolean",o)}}(0,r.H7)("FlowGraphIntToBoolean",FlowGraphIntToBoolean);class FlowGraphIntToFloat extends l.p{constructor(o){super(e.fj,e.ab,(o=>o.value),"FlowGraphIntToFloat",o)}}(0,r.H7)("FlowGraphIntToFloat",FlowGraphIntToFloat);class FlowGraphFloatToInt extends l.p{constructor(o){super(e.ab,e.fj,(a=>{const t=o?.roundingMode;switch(t){case"floor":return n.K.FromValue(Math.floor(a));case"ceil":return n.K.FromValue(Math.ceil(a));case"round":return n.K.FromValue(Math.round(a));default:return n.K.FromValue(a)}}),"FlowGraphFloatToInt",o)}}(0,r.H7)("FlowGraphFloatToInt",FlowGraphFloatToInt)},49492:(o,a,t)=>{t.d(a,{D:()=>FlowGraphCachedOperationBlock});var l=t(43890),e=t(39426);const r="cachedOperationValue",n="cachedExecutionId";class FlowGraphCachedOperationBlock extends l.A{constructor(o,a){super(a),this.value=this.registerDataOutput("value",o),this.isValid=this.registerDataOutput("isValid",e.PE)}_updateOutputs(o){const a=o._getExecutionVariable(this,n,-1),t=o._getExecutionVariable(this,r,null);if(null!=t&&a===o.executionId)this.isValid.setValue(!0,o),this.value.setValue(t,o);else try{const a=this._doOperation(o);if(null==a)return void this.isValid.setValue(!1,o);o._setExecutionVariable(this,r,a),o._setExecutionVariable(this,n,o.executionId),this.value.setValue(a,o),this.isValid.setValue(!0,o)}catch(a){this.isValid.setValue(!1,o)}}}},86562:(o,a,t)=>{t.d(a,{p:()=>FlowGraphUnaryOperationBlock});var l=t(49492);class FlowGraphUnaryOperationBlock extends l.D{constructor(o,a,t,l,e){super(a,e),this._operation=t,this._className=l,this.a=this.registerDataInput("a",o)}_doOperation(o){return this._operation(this.a.getValue(o))}getClassName(){return this._className}}}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/*! filename:3219 */
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/*! For license information please see 3242.real-time-viewer.umd.min.js.LICENSE.txt */
|
|
2
|
-
"use strict";(self.webpackChunkCrystaldesignRealTimeViewer=self.webpackChunkCrystaldesignRealTimeViewer||[]).push([[3242],{3242:(e,t,s)=>{s.r(t),s.d(t,{FlowGraphReceiveCustomEventBlock:()=>FlowGraphReceiveCustomEventBlock});var o=s(3274),n=s(88741),r=s(20538),i=s(44103);class FlowGraphReceiveCustomEventBlock extends o.N{constructor(e){super(e),this.config=e,this.initPriority=1;for(const e in this.config.eventData)this.registerDataOutput(e,this.config.eventData[e].type)}_preparePendingTasks(e){const t=e.configuration.coordinator.getCustomEventObservable(this.config.eventId);if(t&&t.hasObservers()&&t.observers.length>i.l.MaxEventsPerType)return void this._reportError(e,`FlowGraphReceiveCustomEventBlock: Too many observers for event ${this.config.eventId}. Max is ${i.l.MaxEventsPerType}.`);const s=t.add((t=>{const s=Object.keys(t);for(const o of s)this.getDataOutput(o)?.setValue(t[o],e);this._execute(e)}));e._setExecutionVariable(this,"_eventObserver",s)}_cancelPendingTasks(e){const t=e.configuration.coordinator.getCustomEventObservable(this.config.eventId);if(t){const s=e._getExecutionVariable(this,"_eventObserver",null);t.remove(s)}else n.w1.Warn(`FlowGraphReceiveCustomEventBlock: Missing observable for event ${this.config.eventId}`)}_executeEvent(e,t){return!0}getClassName(){return"FlowGraphReceiveCustomEventBlock"}}(0,r.H7)("FlowGraphReceiveCustomEventBlock",FlowGraphReceiveCustomEventBlock)}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/*! filename:3242 */
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/*! For license information please see 3296.real-time-viewer.umd.min.js.LICENSE.txt */
|
|
2
|
-
"use strict";(self.webpackChunkCrystaldesignRealTimeViewer=self.webpackChunkCrystaldesignRealTimeViewer||[]).push([[3296],{63296:(e,t,i)=>{i.r(t),i.d(t,{iblIcdfPixelShader:()=>r});var n=i(17416);i(65276);const c="iblIcdfPixelShader",o="precision highp sampler2D;\n#include<helperFunctions>\nvarying vec2 vUV;\n#ifdef IBL_USE_CUBE_MAP\nuniform samplerCube iblSource;\n#else\nuniform sampler2D iblSource;\n#endif\nuniform sampler2D scaledLuminanceSampler;uniform int iblWidth;uniform int iblHeight;uniform sampler2D cdfx;uniform sampler2D cdfy;float fetchLuminance(vec2 coords) {\n#ifdef IBL_USE_CUBE_MAP\nvec3 direction=equirectangularToCubemapDirection(coords);vec3 color=textureCubeLodEXT(iblSource,direction,0.0).rgb;\n#else\nvec3 color=textureLod(iblSource,coords,0.0).rgb;\n#endif\nreturn dot(color,LuminanceEncodeApprox);}\nfloat fetchCDFx(int x) { return texelFetch(cdfx,ivec2(x,0),0).x; }\nfloat bisectx(int size,float targetValue) {int a=0,b=size-1;while (b-a>1) {int c=a+b>>1;if (fetchCDFx(c)<targetValue)\na=c;else\nb=c;}\nreturn mix(float(a),float(b),\n(targetValue-fetchCDFx(a))/(fetchCDFx(b)-fetchCDFx(a))) /\nfloat(size-1);}\nfloat fetchCDFy(int y,int invocationId) {return texelFetch(cdfy,ivec2(invocationId,y),0).x;}\nfloat bisecty(int size,float targetValue,int invocationId) {int a=0,b=size-1;while (b-a>1) {int c=a+b>>1;if (fetchCDFy(c,invocationId)<targetValue)\na=c;else\nb=c;}\nreturn mix(float(a),float(b),\n(targetValue-fetchCDFy(a,invocationId)) /\n(fetchCDFy(b,invocationId)-fetchCDFy(a,invocationId))) /\nfloat(size-1);}\nvoid main(void) {ivec2 cdfxSize=textureSize(cdfx,0);int cdfWidth=cdfxSize.x;int icdfWidth=cdfWidth-1;ivec2 currentPixel=ivec2(gl_FragCoord.xy);vec3 outputColor=vec3(1.0);if (currentPixel.x==0) {outputColor.x=0.0;} else if (currentPixel.x==icdfWidth-1) {outputColor.x=1.0;} else {float targetValue=fetchCDFx(cdfWidth-1)*vUV.x;outputColor.x=bisectx(cdfWidth,targetValue);}\nivec2 cdfySize=textureSize(cdfy,0);int cdfHeight=cdfySize.y;if (currentPixel.y==0) {outputColor.y=0.0;} else if (currentPixel.y==cdfHeight-2) {outputColor.y=1.0;} else {float targetValue=fetchCDFy(cdfHeight-1,currentPixel.x)*vUV.y;outputColor.y=max(bisecty(cdfHeight,targetValue,currentPixel.x),0.0);}\nvec2 size=vec2(textureSize(scaledLuminanceSampler,0));float highestMip=floor(log2(size.x));float normalization=texture(scaledLuminanceSampler,vUV,highestMip).r;float pixelLuminance=fetchLuminance(vUV);outputColor.z=pixelLuminance/(2.0*PI*normalization);gl_FragColor=vec4(outputColor,1.0);}\n";n.v.ShadersStore[c]||(n.v.ShadersStore[c]=o);const r={name:c,shader:o}}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/*! filename:3296 */
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/*! For license information please see 3330.real-time-viewer.umd.min.js.LICENSE.txt */
|
|
2
|
-
"use strict";(self.webpackChunkCrystaldesignRealTimeViewer=self.webpackChunkCrystaldesignRealTimeViewer||[]).push([[3330],{73330:(e,a,t)=>{t.r(a),t.d(a,{FlowGraphBranchBlock:()=>FlowGraphBranchBlock});var r=t(39426),i=t(17693),s=t(20538);class FlowGraphBranchBlock extends i.Q{constructor(e){super(e),this.condition=this.registerDataInput("condition",r.PE),this.onTrue=this._registerSignalOutput("onTrue"),this.onFalse=this._registerSignalOutput("onFalse")}_execute(e){this.condition.getValue(e)?this.onTrue._activateSignal(e):this.onFalse._activateSignal(e)}getClassName(){return"FlowGraphBranchBlock"}}(0,s.H7)("FlowGraphBranchBlock",FlowGraphBranchBlock)}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/*! filename:3330 */
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/*! For license information please see 3420.real-time-viewer.umd.min.js.LICENSE.txt */
|
|
2
|
-
"use strict";(self.webpackChunkCrystaldesignRealTimeViewer=self.webpackChunkCrystaldesignRealTimeViewer||[]).push([[3420],{13420:(e,t,s)=>{s.r(t),s.d(t,{FlowGraphContextBlock:()=>FlowGraphContextBlock});var a=s(43890),r=s(39426),l=s(20538);class FlowGraphContextBlock extends a.A{constructor(e){super(e),this.userVariables=this.registerDataOutput("userVariables",r.s8),this.executionId=this.registerDataOutput("executionId",r.ab)}_updateOutputs(e){this.userVariables.setValue(e.userVariables,e),this.executionId.setValue(e.executionId,e)}serialize(e){super.serialize(e)}getClassName(){return"FlowGraphContextBlock"}}(0,l.H7)("FlowGraphContextBlock",FlowGraphContextBlock)}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/*! filename:3420 */
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/*! For license information please see 3436.real-time-viewer.umd.min.js.LICENSE.txt */
|
|
2
|
-
"use strict";(self.webpackChunkCrystaldesignRealTimeViewer=self.webpackChunkCrystaldesignRealTimeViewer||[]).push([[3436],{43436:(t,a,e)=>{e.r(a),e.d(a,{FlowGraphConditionalDataBlock:()=>FlowGraphConditionalDataBlock});var o=e(43890),i=e(39426),s=e(20538);class FlowGraphConditionalDataBlock extends o.A{constructor(t){super(t),this.condition=this.registerDataInput("condition",i.PE),this.onTrue=this.registerDataInput("onTrue",i.s8),this.onFalse=this.registerDataInput("onFalse",i.s8),this.output=this.registerDataOutput("output",i.s8)}_updateOutputs(t){const a=this.condition.getValue(t);this.output.setValue(a?this.onTrue.getValue(t):this.onFalse.getValue(t),t)}getClassName(){return"FlowGraphConditionalBlock"}}(0,s.H7)("FlowGraphConditionalBlock",FlowGraphConditionalDataBlock)}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/*! filename:3436 */
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/*! For license information please see 3439.real-time-viewer.umd.min.js.LICENSE.txt */
|
|
2
|
-
"use strict";(self.webpackChunkCrystaldesignRealTimeViewer=self.webpackChunkCrystaldesignRealTimeViewer||[]).push([[3439],{43439:(e,t,a)=>{a.r(t),a.d(t,{FlowGraphSetDelayBlock:()=>FlowGraphSetDelayBlock});var l=a(96512),n=a(39426),i=a(51497),s=a(3146),r=a(20538),o=a(234);class FlowGraphSetDelayBlock extends l.g{constructor(e){super(e),this.cancel=this._registerSignalInput("cancel"),this.duration=this.registerDataInput("duration",n.ab),this.lastDelayIndex=this.registerDataOutput("lastDelayIndex",n.fj,new o.K(-1))}_preparePendingTasks(e){const t=this.duration.getValue(e);if(t<0||isNaN(t)||!isFinite(t))return this._reportError(e,"Invalid duration in SetDelay block");if(e._getGlobalContextVariable("activeDelays",0)>=FlowGraphSetDelayBlock.MaxParallelDelayCount)return this._reportError(e,"Max parallel delays reached");const a=e._getGlobalContextVariable("lastDelayIndex",-1),l=e._getExecutionVariable(this,"pendingDelays",[]),n=e.configuration.scene,s=new i.xb({timeout:1e3*t,contextObservable:n.onBeforeRenderObservable,onEnded:()=>this._onEnded(s,e)});s.start();const r=a+1;this.lastDelayIndex.setValue(new o.K(r),e),e._setGlobalContextVariable("lastDelayIndex",r),l[r]=s,e._setExecutionVariable(this,"pendingDelays",l),this._updateGlobalTimers(e)}_cancelPendingTasks(e){const t=e._getExecutionVariable(this,"pendingDelays",[]);for(const e of t)e?.dispose();e._deleteExecutionVariable(this,"pendingDelays"),this.lastDelayIndex.setValue(new o.K(-1),e),this._updateGlobalTimers(e)}_execute(e,t){t!==this.cancel?(this._preparePendingTasks(e),this.out._activateSignal(e)):this._cancelPendingTasks(e)}getClassName(){return"FlowGraphSetDelayBlock"}_onEnded(e,t){const a=t._getExecutionVariable(this,"pendingDelays",[]),l=a.indexOf(e);-1!==l?a.splice(l,1):s.Y.Warn("FlowGraphTimerBlock: Timer ended but was not found in the running timers list"),t._removePendingBlock(this),this.done._activateSignal(t),this._updateGlobalTimers(t)}_updateGlobalTimers(e){const t=e._getExecutionVariable(this,"pendingDelays",[]),a=e._getGlobalContextVariable("pendingDelays",[]);for(let e=0;e<t.length;e++){if(!t[e])continue;const l=t[e];a[e]&&a[e]!==l?s.Y.Warn("FlowGraphTimerBlock: Timer ended but was not found in the running timers list"):a[e]=l}e._setGlobalContextVariable("pendingDelays",a)}}FlowGraphSetDelayBlock.MaxParallelDelayCount=100,(0,r.H7)("FlowGraphSetDelayBlock",FlowGraphSetDelayBlock)}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/*! filename:3439 */
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/*! For license information please see 3652.real-time-viewer.umd.min.js.LICENSE.txt */
|
|
2
|
-
"use strict";(self.webpackChunkCrystaldesignRealTimeViewer=self.webpackChunkCrystaldesignRealTimeViewer||[]).push([[3652],{83652:(t,e,i)=>{i.r(e),i.d(e,{FlowGraphThrottleBlock:()=>FlowGraphThrottleBlock});var a=i(39426),s=i(36442),r=i(20538);class FlowGraphThrottleBlock extends s.F{constructor(t){super(t),this.reset=this._registerSignalInput("reset"),this.duration=this.registerDataInput("duration",a.ab),this.lastRemainingTime=this.registerDataOutput("lastRemainingTime",a.ab,NaN)}_execute(t,e){if(e===this.reset)return this.lastRemainingTime.setValue(NaN,t),t._setExecutionVariable(this,"lastRemainingTime",NaN),void t._setExecutionVariable(this,"timestamp",0);const i=this.duration.getValue(t);if(i<=0||isNaN(i)||!isFinite(i))return this._reportError(t,"Invalid duration in Throttle block");const a=t._getExecutionVariable(this,"lastRemainingTime",NaN),s=Date.now();if(isNaN(a))return this.lastRemainingTime.setValue(0,t),t._setExecutionVariable(this,"lastRemainingTime",0),t._setExecutionVariable(this,"timestamp",s),this.out._activateSignal(t);{const e=s-t._getExecutionVariable(this,"timestamp",0),a=1e3*i;if(a<=e)return this.lastRemainingTime.setValue(0,t),t._setExecutionVariable(this,"lastRemainingTime",0),t._setExecutionVariable(this,"timestamp",s),this.out._activateSignal(t);{const i=a-e;this.lastRemainingTime.setValue(i/1e3,t),t._setExecutionVariable(this,"lastRemainingTime",i)}}}getClassName(){return"FlowGraphThrottleBlock"}}(0,r.H7)("FlowGraphThrottleBlock",FlowGraphThrottleBlock)}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/*! filename:3652 */
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/*! For license information please see 377.real-time-viewer.umd.min.js.LICENSE.txt */
|
|
2
|
-
"use strict";(self.webpackChunkCrystaldesignRealTimeViewer=self.webpackChunkCrystaldesignRealTimeViewer||[]).push([[377],{377:(e,s,a)=>{a.r(s),a.d(s,{EasingFunctionType:()=>t,FlowGraphEasingBlock:()=>FlowGraphEasingBlock});var t,i=a(48309),n=a(43890),r=a(39426),u=a(20538);!function(e){e[e.CircleEase=0]="CircleEase",e[e.BackEase=1]="BackEase",e[e.BounceEase=2]="BounceEase",e[e.CubicEase=3]="CubicEase",e[e.ElasticEase=4]="ElasticEase",e[e.ExponentialEase=5]="ExponentialEase",e[e.PowerEase=6]="PowerEase",e[e.QuadraticEase=7]="QuadraticEase",e[e.QuarticEase=8]="QuarticEase",e[e.QuinticEase=9]="QuinticEase",e[e.SineEase=10]="SineEase",e[e.BezierCurveEase=11]="BezierCurveEase"}(t||(t={}));class FlowGraphEasingBlock extends n.A{constructor(e){super(e),this.config=e,this._easingFunctions={},this.type=this.registerDataInput("type",r.s8,11),this.mode=this.registerDataInput("mode",r.ab,0),this.parameters=this.registerDataInput("parameters",r.s8,[1,0,0,1]),this.easingFunction=this.registerDataOutput("easingFunction",r.s8)}_updateOutputs(e){const s=this.type.getValue(e),a=this.mode.getValue(e),t=this.parameters.getValue(e);if(void 0===s||void 0===a)return;const n=`${s}-${a}-${t.join("-")}`;if(!this._easingFunctions[n]){const e=function CreateEasingFunction(e,...s){switch(e){case 11:return new i.sj(...s);case 0:return new i.qP;case 1:return new i.ud(...s);case 2:return new i.R$(...s);case 3:return new i.o0;case 4:return new i.$A(...s);case 5:return new i.EI(...s);default:throw new Error("Easing type not yet implemented")}}(s,...t);e.setEasingMode(a),this._easingFunctions[n]=e}this.easingFunction.setValue(this._easingFunctions[n],e)}getClassName(){return"FlowGraphEasingBlock"}}(0,u.H7)("FlowGraphEasingBlock",FlowGraphEasingBlock)}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/*! filename:377 */
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/*! For license information please see 3839.real-time-viewer.umd.min.js.LICENSE.txt */
|
|
2
|
-
"use strict";(self.webpackChunkCrystaldesignRealTimeViewer=self.webpackChunkCrystaldesignRealTimeViewer||[]).push([[3839],{83839:(e,t,r)=>{r.r(t),r.d(t,{FlowGraphPointerOverEventBlock:()=>FlowGraphPointerOverEventBlock});var s=r(3274),n=r(39426),i=r(20538),a=r(7181);class FlowGraphPointerOverEventBlock extends s.N{constructor(e){super(e),this.type="PointerOver",this.pointerId=this.registerDataOutput("pointerId",n.ab),this.targetMesh=this.registerDataInput("targetMesh",n.s8,e?.targetMesh),this.meshUnderPointer=this.registerDataOutput("meshUnderPointer",n.s8)}_executeEvent(e,t){const r=this.targetMesh.getValue(e);this.meshUnderPointer.setValue(t.mesh,e);const s=t.out&&(0,a.jH)(t.out,r);return this.pointerId.setValue(t.pointerId,e),!(!s&&(t.mesh===r||(0,a.jH)(t.mesh,r)))||(this._execute(e),!this.config?.stopPropagation)}_preparePendingTasks(e){}_cancelPendingTasks(e){}getClassName(){return"FlowGraphPointerOverEventBlock"}}(0,i.H7)("FlowGraphPointerOverEventBlock",FlowGraphPointerOverEventBlock)}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/*! filename:3839 */
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/*! For license information please see 3917.real-time-viewer.umd.min.js.LICENSE.txt */
|
|
2
|
-
"use strict";(self.webpackChunkCrystaldesignRealTimeViewer=self.webpackChunkCrystaldesignRealTimeViewer||[]).push([[3917],{83917:(r,o,l)=>{l.r(o),l.d(o,{greasedLinePixelShaderWGSL:()=>i});var e=l(17416);const n="greasedLinePixelShader",t="var grlColors: texture_2d<f32>;var grlColorsSampler: sampler;uniform grlUseColors: f32;uniform grlUseDash: f32;uniform grlDashArray: f32;uniform grlDashOffset: f32;uniform grlDashRatio: f32;uniform grlVisibility: f32;uniform grlColorsWidth: f32;uniform grl_colorModeAndColorDistributionType: vec2f;uniform grlColor: vec3f;varying grlCounters: f32;varying grlColorPointer: f32;\n#define CUSTOM_FRAGMENT_DEFINITIONS\n@fragment\nfn main(input: FragmentInputs)->FragmentOutputs {\n#define CUSTOM_FRAGMENT_MAIN_BEGIN\nlet grlColorMode: f32=uniforms.grl_colorModeAndColorDistributionType.x;let grlColorDistributionType: f32=uniforms.grl_colorModeAndColorDistributionType.y;var outColor=vec4(uniforms.grlColor,1.);outColor.a=step(fragmentInputs.grlCounters,uniforms.grlVisibility);if (outColor.a==0.0) {discard;}\nif (uniforms.grlUseDash==1.0) {let dashPosition=(fragmentInputs.grlCounters+uniforms.grlDashOffset) % uniforms.grlDashArray;outColor.a*=ceil(dashPosition-(uniforms.grlDashArray*uniforms.grlDashRatio));if (outColor.a==0.0) {discard;}}\nif (uniforms.grlUseColors==1.) {\n#ifdef GREASED_LINE_COLOR_DISTRIBUTION_TYPE_LINE\nlet grlColor: vec4f=textureSample(grlColors,grlColorsSampler,vec2f(fragmentInputs.grlCounters,0.));\n#else\nlet lookup: vec2f=vec2(fract(fragmentInputs.grlColorPointer/uniforms.grlColorsWidth),1.0-floor(fragmentInputs.grlColorPointer/uniforms.grlColorsWidth));let grlColor: vec4f=textureSample(grlColors,grlColorsSampler,lookup);\n#endif\nif (grlColorMode==COLOR_MODE_SET) {outColor=grlColor;} else if (grlColorMode==COLOR_MODE_ADD) {outColor+=grlColor;} else if (grlColorMode==COLOR_MODE_MULTIPLY) {outColor*=grlColor;}}\n#if !defined(PREPASS) && !defined(ORDER_INDEPENDENT_TRANSPARENCY)\nfragmentOutputs.color=outColor;\n#endif\n#if ORDER_INDEPENDENT_TRANSPARENCY\nif (fragDepth==nearestDepth) {fragmentOutputs.frontColor=vec4f(fragmentOutputs.frontColor.rgb+outColor.rgb*outColor.a*alphaMultiplier,1.0-alphaMultiplier*(1.0-outColor.a));} else {fragmentOutputs.backColor+=outColor;}\n#endif\n#define CUSTOM_FRAGMENT_MAIN_END\n}\n";e.v.ShadersStoreWGSL[n]||(e.v.ShadersStoreWGSL[n]=t);const i={name:n,shader:t}}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/*! filename:3917 */
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/*! For license information please see 4049.real-time-viewer.umd.min.js.LICENSE.txt */
|
|
2
|
-
"use strict";(self.webpackChunkCrystaldesignRealTimeViewer=self.webpackChunkCrystaldesignRealTimeViewer||[]).push([[4049],{94049:(o,r,a)=>{a.r(r),a.d(r,{FlowGraphAbsBlock:()=>FlowGraphAbsBlock,FlowGraphAcosBlock:()=>FlowGraphAcosBlock,FlowGraphAcoshBlock:()=>FlowGraphAcoshBlock,FlowGraphAddBlock:()=>FlowGraphAddBlock,FlowGraphAsinBlock:()=>FlowGraphAsinBlock,FlowGraphAsinhBlock:()=>FlowGraphAsinhBlock,FlowGraphAtan2Block:()=>FlowGraphAtan2Block,FlowGraphAtanBlock:()=>FlowGraphAtanBlock,FlowGraphAtanhBlock:()=>FlowGraphAtanhBlock,FlowGraphBitwiseAndBlock:()=>FlowGraphBitwiseAndBlock,FlowGraphBitwiseLeftShiftBlock:()=>FlowGraphBitwiseLeftShiftBlock,FlowGraphBitwiseNotBlock:()=>FlowGraphBitwiseNotBlock,FlowGraphBitwiseOrBlock:()=>FlowGraphBitwiseOrBlock,FlowGraphBitwiseRightShiftBlock:()=>FlowGraphBitwiseRightShiftBlock,FlowGraphBitwiseXorBlock:()=>FlowGraphBitwiseXorBlock,FlowGraphCeilBlock:()=>FlowGraphCeilBlock,FlowGraphClampBlock:()=>FlowGraphClampBlock,FlowGraphCosBlock:()=>FlowGraphCosBlock,FlowGraphCoshBlock:()=>FlowGraphCoshBlock,FlowGraphCubeRootBlock:()=>FlowGraphCubeRootBlock,FlowGraphDegToRadBlock:()=>FlowGraphDegToRadBlock,FlowGraphDivideBlock:()=>FlowGraphDivideBlock,FlowGraphEBlock:()=>FlowGraphEBlock,FlowGraphEqualityBlock:()=>FlowGraphEqualityBlock,FlowGraphExpBlock:()=>FlowGraphExpBlock,FlowGraphFloorBlock:()=>FlowGraphFloorBlock,FlowGraphFractionBlock:()=>FlowGraphFractionBlock,FlowGraphGreaterThanBlock:()=>FlowGraphGreaterThanBlock,FlowGraphGreaterThanOrEqualBlock:()=>FlowGraphGreaterThanOrEqualBlock,FlowGraphInfBlock:()=>FlowGraphInfBlock,FlowGraphIsInfinityBlock:()=>FlowGraphIsInfinityBlock,FlowGraphIsNanBlock:()=>FlowGraphIsNanBlock,FlowGraphLeadingZerosBlock:()=>FlowGraphLeadingZerosBlock,FlowGraphLessThanBlock:()=>FlowGraphLessThanBlock,FlowGraphLessThanOrEqualBlock:()=>FlowGraphLessThanOrEqualBlock,FlowGraphLog10Block:()=>FlowGraphLog10Block,FlowGraphLog2Block:()=>FlowGraphLog2Block,FlowGraphLogBlock:()=>FlowGraphLogBlock,FlowGraphMathInterpolationBlock:()=>FlowGraphMathInterpolationBlock,FlowGraphMaxBlock:()=>FlowGraphMaxBlock,FlowGraphMinBlock:()=>FlowGraphMinBlock,FlowGraphModuloBlock:()=>FlowGraphModuloBlock,FlowGraphMultiplyBlock:()=>FlowGraphMultiplyBlock,FlowGraphNaNBlock:()=>FlowGraphNaNBlock,FlowGraphNegationBlock:()=>FlowGraphNegationBlock,FlowGraphOneBitsCounterBlock:()=>FlowGraphOneBitsCounterBlock,FlowGraphPiBlock:()=>FlowGraphPiBlock,FlowGraphPowerBlock:()=>FlowGraphPowerBlock,FlowGraphRadToDegBlock:()=>FlowGraphRadToDegBlock,FlowGraphRandomBlock:()=>FlowGraphRandomBlock,FlowGraphRoundBlock:()=>FlowGraphRoundBlock,FlowGraphSaturateBlock:()=>FlowGraphSaturateBlock,FlowGraphSignBlock:()=>FlowGraphSignBlock,FlowGraphSinBlock:()=>FlowGraphSinBlock,FlowGraphSinhBlock:()=>FlowGraphSinhBlock,FlowGraphSquareRootBlock:()=>FlowGraphSquareRootBlock,FlowGraphSubtractBlock:()=>FlowGraphSubtractBlock,FlowGraphTanBlock:()=>FlowGraphTanBlock,FlowGraphTanhBlock:()=>FlowGraphTanhBlock,FlowGraphTrailingZerosBlock:()=>FlowGraphTrailingZerosBlock,FlowGraphTruncBlock:()=>FlowGraphTruncBlock});var l=a(20538),e=a(39426),t=a(41554),p=a(49492);class FlowGraphConstantOperationBlock extends p.D{constructor(o,r,a,l){super(o,l),this._operation=r,this._className=a}_doOperation(o){return this._operation(o)}getClassName(){return this._className}}var n=a(49486),s=a(86562);class FlowGraphTernaryOperationBlock extends p.D{constructor(o,r,a,l,e,t,p){super(l,p),this._operation=e,this._className=t,this.a=this.registerDataInput("a",o),this.b=this.registerDataInput("b",r),this.c=this.registerDataInput("c",a)}_doOperation(o){return this._operation(this.a.getValue(o),this.b.getValue(o),this.c.getValue(o))}getClassName(){return this._className}}var c=a(234),h=a(33203),i=a(7181);class FlowGraphAddBlock extends t.V{constructor(o){super((0,e._M)(o?.type),(0,e._M)(o?.type),(0,e._M)(o?.type),((o,r)=>this._polymorphicAdd(o,r)),"FlowGraphAddBlock",o)}_polymorphicAdd(o,r){const a=(0,i.JP)(o),l=(0,i.JP)(r);if((0,i.u7)(a,l)||(0,i.bh)(a,l)||(0,i.s1)(a,l))return o.add(r);if("Quaternion"===a||"Quaternion"===l)return o.add(r);if(this.config?.preventIntegerFloatArithmetic&&typeof o!=typeof r)throw new Error("Cannot add different types of numbers.");return(0,i.J0)(o)+(0,i.J0)(r)}}(0,l.H7)("FlowGraphAddBlock",FlowGraphAddBlock);class FlowGraphSubtractBlock extends t.V{constructor(o){super((0,e._M)(o?.type),(0,e._M)(o?.type),(0,e._M)(o?.type),((o,r)=>this._polymorphicSubtract(o,r)),"FlowGraphSubtractBlock",o)}_polymorphicSubtract(o,r){const a=(0,i.JP)(o),l=(0,i.JP)(r);if((0,i.u7)(a,l)||(0,i.s1)(a,l)||(0,i.bh)(a,l))return o.subtract(r);if("Quaternion"===a||"Quaternion"===l)return o.subtract(r);if(this.config?.preventIntegerFloatArithmetic&&typeof o!=typeof r)throw new Error("Cannot add different types of numbers.");return(0,i.J0)(o)-(0,i.J0)(r)}}(0,l.H7)("FlowGraphSubtractBlock",FlowGraphSubtractBlock);class FlowGraphMultiplyBlock extends t.V{constructor(o){super((0,e._M)(o?.type),(0,e._M)(o?.type),(0,e._M)(o?.type),((o,r)=>this._polymorphicMultiply(o,r)),"FlowGraphMultiplyBlock",o)}_polymorphicMultiply(o,r){const a=(0,i.JP)(o),l=(0,i.JP)(r);if((0,i.u7)(a,l)||(0,i.s1)(a,l))return o.multiply(r);if("Quaternion"===a||"Quaternion"===l){const a=o.clone();return a.x*=r.x,a.y*=r.y,a.z*=r.z,a.w*=r.w,a}if((0,i.bh)(a,l)){if(this.config?.useMatrixPerComponent){const l=o.m;for(let o=0;o<l.length;o++)l[o]*=r.m[o];return"Matrix2D"===a?new h.x(l):"Matrix3D"===a?new h.o(l):n.y3.FromArray(l)}return o=o,(r=r).multiply(o)}if(this.config?.preventIntegerFloatArithmetic&&typeof o!=typeof r)throw new Error("Cannot add different types of numbers.");return(0,i.J0)(o)*(0,i.J0)(r)}}(0,l.H7)("FlowGraphMultiplyBlock",FlowGraphMultiplyBlock);class FlowGraphDivideBlock extends t.V{constructor(o){super((0,e._M)(o?.type),(0,e._M)(o?.type),(0,e._M)(o?.type),((o,r)=>this._polymorphicDivide(o,r)),"FlowGraphDivideBlock",o)}_polymorphicDivide(o,r){const a=(0,i.JP)(o),l=(0,i.JP)(r);if((0,i.u7)(a,l)||(0,i.s1)(a,l))return o.divide(r);if("Quaternion"===a||"Quaternion"===l){const a=o.clone();return a.x/=r.x,a.y/=r.y,a.z/=r.z,a.w/=r.w,a}if((0,i.bh)(a,l)){if(this.config?.useMatrixPerComponent){const l=o.m;for(let o=0;o<l.length;o++)l[o]/=r.m[o];return"Matrix2D"===a?new h.x(l):"Matrix3D"===a?new h.o(l):n.y3.FromArray(l)}return r=r,(o=o).divide(r)}if(this.config?.preventIntegerFloatArithmetic&&typeof o!=typeof r)throw new Error("Cannot add different types of numbers.");return(0,i.J0)(o)/(0,i.J0)(r)}}(0,l.H7)("FlowGraphDivideBlock",FlowGraphDivideBlock);class FlowGraphRandomBlock extends FlowGraphConstantOperationBlock{constructor(o){super(e.ab,(o=>this._random(o)),"FlowGraphRandomBlock",o),this.min=this.registerDataInput("min",e.ab,o?.min??0),this.max=this.registerDataInput("max",e.ab,o?.max??1),o?.seed&&(this._seed=o.seed)}_isSeed(o=this._seed){return void 0!==o}_getRandomValue(){if(this._isSeed(this._seed)){const o=1e4*Math.sin(this._seed++);return o-Math.floor(o)}return Math.random()}_random(o){const r=this.min.getValue(o),a=this.max.getValue(o);return this._getRandomValue()*(a-r)+r}}(0,l.H7)("FlowGraphRandomBlock",FlowGraphRandomBlock);class FlowGraphEBlock extends FlowGraphConstantOperationBlock{constructor(o){super(e.ab,(()=>Math.E),"FlowGraphEBlock",o)}}(0,l.H7)("FlowGraphEBlock",FlowGraphEBlock);class FlowGraphPiBlock extends FlowGraphConstantOperationBlock{constructor(o){super(e.ab,(()=>Math.PI),"FlowGraphPIBlock",o)}}(0,l.H7)("FlowGraphPIBlock",FlowGraphPiBlock);class FlowGraphInfBlock extends FlowGraphConstantOperationBlock{constructor(o){super(e.ab,(()=>Number.POSITIVE_INFINITY),"FlowGraphInfBlock",o)}}(0,l.H7)("FlowGraphInfBlock",FlowGraphInfBlock);class FlowGraphNaNBlock extends FlowGraphConstantOperationBlock{constructor(o){super(e.ab,(()=>Number.NaN),"FlowGraphNaNBlock",o)}}function ComponentWiseUnaryOperation(o,r){switch((0,i.JP)(o)){case"FlowGraphInteger":return o=o,new c.K(r(o.value));case"Vector2":return o=o,new n.FM(r(o.x),r(o.y));case"Vector3":return o=o,new n.P(r(o.x),r(o.y),r(o.z));case"Vector4":return o=o,new n.Lt(r(o.x),r(o.y),r(o.z),r(o.w));case"Quaternion":return o=o,new n._f(r(o.x),r(o.y),r(o.z),r(o.w));case"Matrix":return o=o,n.y3.FromArray(o.m.map(r));case"Matrix2D":return o=o,new h.x(o.m.map(r));case"Matrix3D":return o=o,new h.o(o.m.map(r));default:return r(o=o)}}(0,l.H7)("FlowGraphNaNBlock",FlowGraphNaNBlock);class FlowGraphAbsBlock extends s.p{constructor(o){super(e.ab,e.ab,(o=>this._polymorphicAbs(o)),"FlowGraphAbsBlock",o)}_polymorphicAbs(o){return ComponentWiseUnaryOperation(o,Math.abs)}}(0,l.H7)("FlowGraphAbsBlock",FlowGraphAbsBlock);class FlowGraphSignBlock extends s.p{constructor(o){super(e.ab,e.ab,(o=>this._polymorphicSign(o)),"FlowGraphSignBlock",o)}_polymorphicSign(o){return ComponentWiseUnaryOperation(o,Math.sign)}}(0,l.H7)("FlowGraphSignBlock",FlowGraphSignBlock);class FlowGraphTruncBlock extends s.p{constructor(o){super(e.ab,e.ab,(o=>this._polymorphicTrunc(o)),"FlowGraphTruncBlock",o)}_polymorphicTrunc(o){return ComponentWiseUnaryOperation(o,Math.trunc)}}(0,l.H7)("FlowGraphTruncBlock",FlowGraphTruncBlock);class FlowGraphFloorBlock extends s.p{constructor(o){super(e.ab,e.ab,(o=>this._polymorphicFloor(o)),"FlowGraphFloorBlock",o)}_polymorphicFloor(o){return ComponentWiseUnaryOperation(o,Math.floor)}}(0,l.H7)("FlowGraphFloorBlock",FlowGraphFloorBlock);class FlowGraphCeilBlock extends s.p{constructor(o){super(e.s8,e.s8,(o=>this._polymorphicCeiling(o)),"FlowGraphCeilBlock",o)}_polymorphicCeiling(o){return ComponentWiseUnaryOperation(o,Math.ceil)}}(0,l.H7)("FlowGraphCeilBlock",FlowGraphCeilBlock);class FlowGraphRoundBlock extends s.p{constructor(o){super(e.s8,e.s8,(o=>this._polymorphicRound(o)),"FlowGraphRoundBlock",o)}_polymorphicRound(o){return ComponentWiseUnaryOperation(o,(o=>o<0&&this.config?.roundHalfAwayFromZero?-Math.round(-o):Math.round(o)))}}(0,l.H7)("FlowGraphRoundBlock",FlowGraphRoundBlock);class FlowGraphFractionBlock extends s.p{constructor(o){super(e.s8,e.s8,(o=>this._polymorphicFraction(o)),"FlowGraphFractBlock",o)}_polymorphicFraction(o){return ComponentWiseUnaryOperation(o,(o=>o-Math.floor(o)))}}(0,l.H7)("FlowGraphFractBlock",FlowGraphFractionBlock);class FlowGraphNegationBlock extends s.p{constructor(o){super(e.s8,e.s8,(o=>this._polymorphicNeg(o)),"FlowGraphNegationBlock",o)}_polymorphicNeg(o){return ComponentWiseUnaryOperation(o,(o=>-o))}}function ComponentWiseBinaryOperation(o,r,a){switch((0,i.JP)(o)){case"FlowGraphInteger":return o=o,r=r,new c.K(a(o.value,r.value));case"Vector2":return o=o,r=r,new n.FM(a(o.x,r.x),a(o.y,r.y));case"Vector3":return o=o,r=r,new n.P(a(o.x,r.x),a(o.y,r.y),a(o.z,r.z));case"Vector4":return o=o,r=r,new n.Lt(a(o.x,r.x),a(o.y,r.y),a(o.z,r.z),a(o.w,r.w));case"Quaternion":return o=o,r=r,new n._f(a(o.x,r.x),a(o.y,r.y),a(o.z,r.z),a(o.w,r.w));case"Matrix":return o=o,n.y3.FromArray(o.m.map(((o,l)=>a(o,r.m[l]))));case"Matrix2D":return o=o,new h.x(o.m.map(((o,l)=>a(o,r.m[l]))));case"Matrix3D":return o=o,new h.o(o.m.map(((o,l)=>a(o,r.m[l]))));default:return a((0,i.J0)(o),(0,i.J0)(r))}}(0,l.H7)("FlowGraphNegationBlock",FlowGraphNegationBlock);class FlowGraphModuloBlock extends t.V{constructor(o){super(e.s8,e.s8,e.s8,((o,r)=>this._polymorphicRemainder(o,r)),"FlowGraphModuloBlock",o)}_polymorphicRemainder(o,r){return ComponentWiseBinaryOperation(o,r,((o,r)=>o%r))}}(0,l.H7)("FlowGraphModuloBlock",FlowGraphModuloBlock);class FlowGraphMinBlock extends t.V{constructor(o){super(e.s8,e.s8,e.s8,((o,r)=>this._polymorphicMin(o,r)),"FlowGraphMinBlock",o)}_polymorphicMin(o,r){return ComponentWiseBinaryOperation(o,r,Math.min)}}(0,l.H7)("FlowGraphMinBlock",FlowGraphMinBlock);class FlowGraphMaxBlock extends t.V{constructor(o){super(e.s8,e.s8,e.s8,((o,r)=>this._polymorphicMax(o,r)),"FlowGraphMaxBlock",o)}_polymorphicMax(o,r){return ComponentWiseBinaryOperation(o,r,Math.max)}}function Clamp(o,r,a){return Math.min(Math.max(o,Math.min(r,a)),Math.max(r,a))}function ComponentWiseTernaryOperation(o,r,a,l){switch((0,i.JP)(o)){case"FlowGraphInteger":return o=o,r=r,a=a,new c.K(l(o.value,r.value,a.value));case"Vector2":return o=o,r=r,a=a,new n.FM(l(o.x,r.x,a.x),l(o.y,r.y,a.y));case"Vector3":return o=o,r=r,a=a,new n.P(l(o.x,r.x,a.x),l(o.y,r.y,a.y),l(o.z,r.z,a.z));case"Vector4":return o=o,r=r,a=a,new n.Lt(l(o.x,r.x,a.x),l(o.y,r.y,a.y),l(o.z,r.z,a.z),l(o.w,r.w,a.w));case"Quaternion":return o=o,r=r,a=a,new n._f(l(o.x,r.x,a.x),l(o.y,r.y,a.y),l(o.z,r.z,a.z),l(o.w,r.w,a.w));case"Matrix":return n.y3.FromArray(o.m.map(((o,e)=>l(o,r.m[e],a.m[e]))));case"Matrix2D":return new h.x(o.m.map(((o,e)=>l(o,r.m[e],a.m[e]))));case"Matrix3D":return new h.o(o.m.map(((o,e)=>l(o,r.m[e],a.m[e]))));default:return l((0,i.J0)(o),(0,i.J0)(r),(0,i.J0)(a))}}(0,l.H7)("FlowGraphMaxBlock",FlowGraphMaxBlock);class FlowGraphClampBlock extends FlowGraphTernaryOperationBlock{constructor(o){super(e.s8,e.s8,e.s8,e.s8,((o,r,a)=>this._polymorphicClamp(o,r,a)),"FlowGraphClampBlock",o)}_polymorphicClamp(o,r,a){return ComponentWiseTernaryOperation(o,r,a,Clamp)}}function Saturate(o){return Math.min(Math.max(o,0),1)}(0,l.H7)("FlowGraphClampBlock",FlowGraphClampBlock);class FlowGraphSaturateBlock extends s.p{constructor(o){super(e.s8,e.s8,(o=>this._polymorphicSaturate(o)),"FlowGraphSaturateBlock",o)}_polymorphicSaturate(o){return ComponentWiseUnaryOperation(o,Saturate)}}function Interpolate(o,r,a){return(1-a)*o+a*r}(0,l.H7)("FlowGraphSaturateBlock",FlowGraphSaturateBlock);class FlowGraphMathInterpolationBlock extends FlowGraphTernaryOperationBlock{constructor(o){super(e.s8,e.s8,e.s8,e.s8,((o,r,a)=>this._polymorphicInterpolate(o,r,a)),"FlowGraphMathInterpolationBlock",o)}_polymorphicInterpolate(o,r,a){return ComponentWiseTernaryOperation(o,r,a,Interpolate)}}(0,l.H7)("FlowGraphMathInterpolationBlock",FlowGraphMathInterpolationBlock);class FlowGraphEqualityBlock extends t.V{constructor(o){super(e.s8,e.s8,e.PE,((o,r)=>this._polymorphicEq(o,r)),"FlowGraphEqualityBlock",o)}_polymorphicEq(o,r){const a=(0,i.JP)(o),l=(0,i.JP)(r);return typeof o==typeof r&&((0,i.u7)(a,l)||(0,i.bh)(a,l)||(0,i.s1)(a,l)?o.equals(r):o===r)}}function ComparisonOperators(o,r,a){if((0,i.kE)(o)&&(0,i.kE)(r))return a((0,i.J0)(o),(0,i.J0)(r));throw new Error(`Cannot compare ${o} and ${r}`)}(0,l.H7)("FlowGraphEqualityBlock",FlowGraphEqualityBlock);class FlowGraphLessThanBlock extends t.V{constructor(o){super(e.s8,e.s8,e.PE,((o,r)=>this._polymorphicLessThan(o,r)),"FlowGraphLessThanBlock",o)}_polymorphicLessThan(o,r){return ComparisonOperators(o,r,((o,r)=>o<r))}}(0,l.H7)("FlowGraphLessThanBlock",FlowGraphLessThanBlock);class FlowGraphLessThanOrEqualBlock extends t.V{constructor(o){super(e.s8,e.s8,e.PE,((o,r)=>this._polymorphicLessThanOrEqual(o,r)),"FlowGraphLessThanOrEqualBlock",o)}_polymorphicLessThanOrEqual(o,r){return ComparisonOperators(o,r,((o,r)=>o<=r))}}(0,l.H7)("FlowGraphLessThanOrEqualBlock",FlowGraphLessThanOrEqualBlock);class FlowGraphGreaterThanBlock extends t.V{constructor(o){super(e.s8,e.s8,e.PE,((o,r)=>this._polymorphicGreaterThan(o,r)),"FlowGraphGreaterThanBlock",o)}_polymorphicGreaterThan(o,r){return ComparisonOperators(o,r,((o,r)=>o>r))}}(0,l.H7)("FlowGraphGreaterThanBlock",FlowGraphGreaterThanBlock);class FlowGraphGreaterThanOrEqualBlock extends t.V{constructor(o){super(e.s8,e.s8,e.PE,((o,r)=>this._polymorphicGreaterThanOrEqual(o,r)),"FlowGraphGreaterThanOrEqualBlock",o)}_polymorphicGreaterThanOrEqual(o,r){return ComparisonOperators(o,r,((o,r)=>o>=r))}}(0,l.H7)("FlowGraphGreaterThanOrEqualBlock",FlowGraphGreaterThanOrEqualBlock);class FlowGraphIsNanBlock extends s.p{constructor(o){super(e.s8,e.PE,(o=>this._polymorphicIsNan(o)),"FlowGraphIsNaNBlock",o)}_polymorphicIsNan(o){if((0,i.kE)(o,!0))return isNaN((0,i.J0)(o));throw new Error(`Cannot get NaN of ${o}`)}}(0,l.H7)("FlowGraphIsNaNBlock",FlowGraphIsNanBlock);class FlowGraphIsInfinityBlock extends s.p{constructor(o){super(e.s8,e.PE,(o=>this._polymorphicIsInf(o)),"FlowGraphIsInfBlock",o)}_polymorphicIsInf(o){if((0,i.kE)(o))return!isFinite((0,i.J0)(o));throw new Error(`Cannot get isInf of ${o}`)}}(0,l.H7)("FlowGraphIsInfBlock",FlowGraphIsInfinityBlock);class FlowGraphDegToRadBlock extends s.p{constructor(o){super(e.s8,e.s8,(o=>this._polymorphicDegToRad(o)),"FlowGraphDegToRadBlock",o)}_degToRad(o){return o*Math.PI/180}_polymorphicDegToRad(o){return ComponentWiseUnaryOperation(o,this._degToRad)}}(0,l.H7)("FlowGraphDegToRadBlock",FlowGraphDegToRadBlock);class FlowGraphRadToDegBlock extends s.p{constructor(o){super(e.s8,e.s8,(o=>this._polymorphicRadToDeg(o)),"FlowGraphRadToDegBlock",o)}_radToDeg(o){return 180*o/Math.PI}_polymorphicRadToDeg(o){return ComponentWiseUnaryOperation(o,this._radToDeg)}}(0,l.H7)("FlowGraphRadToDegBlock",FlowGraphRadToDegBlock);class FlowGraphSinBlock extends s.p{constructor(o){super(e.ab,e.ab,(o=>this._polymorphicSin(o)),"FlowGraphSinBlock",o)}_polymorphicSin(o){return ComponentWiseUnaryOperation(o,Math.sin)}}class FlowGraphCosBlock extends s.p{constructor(o){super(e.ab,e.ab,(o=>this._polymorphicCos(o)),"FlowGraphCosBlock",o)}_polymorphicCos(o){return ComponentWiseUnaryOperation(o,Math.cos)}}class FlowGraphTanBlock extends s.p{constructor(o){super(e.ab,e.ab,(o=>this._polymorphicTan(o)),"FlowGraphTanBlock",o)}_polymorphicTan(o){return ComponentWiseUnaryOperation(o,Math.tan)}}class FlowGraphAsinBlock extends s.p{constructor(o){super(e.ab,e.ab,(o=>this._polymorphicAsin(o)),"FlowGraphASinBlock",o)}_polymorphicAsin(o){return ComponentWiseUnaryOperation(o,Math.asin)}}(0,l.H7)("FlowGraphASinBlock",FlowGraphAsinBlock);class FlowGraphAcosBlock extends s.p{constructor(o){super(e.ab,e.ab,(o=>this._polymorphicAcos(o)),"FlowGraphACosBlock",o)}_polymorphicAcos(o){return ComponentWiseUnaryOperation(o,Math.acos)}}(0,l.H7)("FlowGraphACosBlock",FlowGraphAcosBlock);class FlowGraphAtanBlock extends s.p{constructor(o){super(e.ab,e.ab,(o=>this._polymorphicAtan(o)),"FlowGraphATanBlock",o)}_polymorphicAtan(o){return ComponentWiseUnaryOperation(o,Math.atan)}}(0,l.H7)("FlowGraphATanBlock",FlowGraphAtanBlock);class FlowGraphAtan2Block extends t.V{constructor(o){super(e.s8,e.s8,e.s8,((o,r)=>this._polymorphicAtan2(o,r)),"FlowGraphATan2Block",o)}_polymorphicAtan2(o,r){return ComponentWiseBinaryOperation(o,r,Math.atan2)}}(0,l.H7)("FlowGraphATan2Block",FlowGraphAtan2Block);class FlowGraphSinhBlock extends s.p{constructor(o){super(e.s8,e.s8,(o=>this._polymorphicSinh(o)),"FlowGraphSinhBlock",o)}_polymorphicSinh(o){return ComponentWiseUnaryOperation(o,Math.sinh)}}(0,l.H7)("FlowGraphSinhBlock",FlowGraphSinhBlock);class FlowGraphCoshBlock extends s.p{constructor(o){super(e.s8,e.s8,(o=>this._polymorphicCosh(o)),"FlowGraphCoshBlock",o)}_polymorphicCosh(o){return ComponentWiseUnaryOperation(o,Math.cosh)}}(0,l.H7)("FlowGraphCoshBlock",FlowGraphCoshBlock);class FlowGraphTanhBlock extends s.p{constructor(o){super(e.s8,e.s8,(o=>this._polymorphicTanh(o)),"FlowGraphTanhBlock",o)}_polymorphicTanh(o){return ComponentWiseUnaryOperation(o,Math.tanh)}}(0,l.H7)("FlowGraphTanhBlock",FlowGraphTanhBlock);class FlowGraphAsinhBlock extends s.p{constructor(o){super(e.s8,e.ab,(o=>this._polymorphicAsinh(o)),"FlowGraphASinhBlock",o)}_polymorphicAsinh(o){return ComponentWiseUnaryOperation(o,Math.asinh)}}(0,l.H7)("FlowGraphASinhBlock",FlowGraphAsinhBlock);class FlowGraphAcoshBlock extends s.p{constructor(o){super(e.s8,e.ab,(o=>this._polymorphicAcosh(o)),"FlowGraphACoshBlock",o)}_polymorphicAcosh(o){return ComponentWiseUnaryOperation(o,Math.acosh)}}(0,l.H7)("FlowGraphACoshBlock",FlowGraphAcoshBlock);class FlowGraphAtanhBlock extends s.p{constructor(o){super(e.s8,e.ab,(o=>this._polymorphicAtanh(o)),"FlowGraphATanhBlock",o)}_polymorphicAtanh(o){return ComponentWiseUnaryOperation(o,Math.atanh)}}(0,l.H7)("FlowGraphATanhBlock",FlowGraphAtanhBlock);class FlowGraphExpBlock extends s.p{constructor(o){super(e.s8,e.ab,(o=>this._polymorphicExp(o)),"FlowGraphExponentialBlock",o)}_polymorphicExp(o){return ComponentWiseUnaryOperation(o,Math.exp)}}(0,l.H7)("FlowGraphExponentialBlock",FlowGraphExpBlock);class FlowGraphLogBlock extends s.p{constructor(o){super(e.s8,e.ab,(o=>this._polymorphicLog(o)),"FlowGraphLogBlock",o)}_polymorphicLog(o){return ComponentWiseUnaryOperation(o,Math.log)}}(0,l.H7)("FlowGraphLogBlock",FlowGraphLogBlock);class FlowGraphLog2Block extends s.p{constructor(o){super(e.s8,e.ab,(o=>this._polymorphicLog2(o)),"FlowGraphLog2Block",o)}_polymorphicLog2(o){return ComponentWiseUnaryOperation(o,Math.log2)}}(0,l.H7)("FlowGraphLog2Block",FlowGraphLog2Block);class FlowGraphLog10Block extends s.p{constructor(o){super(e.s8,e.ab,(o=>this._polymorphicLog10(o)),"FlowGraphLog10Block",o)}_polymorphicLog10(o){return ComponentWiseUnaryOperation(o,Math.log10)}}(0,l.H7)("FlowGraphLog10Block",FlowGraphLog10Block);class FlowGraphSquareRootBlock extends s.p{constructor(o){super(e.s8,e.ab,(o=>this._polymorphicSqrt(o)),"FlowGraphSquareRootBlock",o)}_polymorphicSqrt(o){return ComponentWiseUnaryOperation(o,Math.sqrt)}}(0,l.H7)("FlowGraphSquareRootBlock",FlowGraphSquareRootBlock);class FlowGraphCubeRootBlock extends s.p{constructor(o){super(e.s8,e.ab,(o=>this._polymorphicCubeRoot(o)),"FlowGraphCubeRootBlock",o)}_polymorphicCubeRoot(o){return ComponentWiseUnaryOperation(o,Math.cbrt)}}(0,l.H7)("FlowGraphCubeRootBlock",FlowGraphCubeRootBlock);class FlowGraphPowerBlock extends t.V{constructor(o){super(e.s8,e.ab,e.ab,((o,r)=>this._polymorphicPow(o,r)),"FlowGraphPowerBlock",o)}_polymorphicPow(o,r){return ComponentWiseBinaryOperation(o,r,Math.pow)}}(0,l.H7)("FlowGraphPowerBlock",FlowGraphPowerBlock);class FlowGraphBitwiseNotBlock extends s.p{constructor(o){super((0,e._M)(o?.valueType||"FlowGraphInteger"),(0,e._M)(o?.valueType||"FlowGraphInteger"),(o=>"boolean"==typeof o?!o:"number"==typeof o?~o:new c.K(~o.value)),"FlowGraphBitwiseNotBlock",o)}}(0,l.H7)("FlowGraphBitwiseNotBlock",FlowGraphBitwiseNotBlock);class FlowGraphBitwiseAndBlock extends t.V{constructor(o){super((0,e._M)(o?.valueType||"FlowGraphInteger"),(0,e._M)(o?.valueType||"FlowGraphInteger"),(0,e._M)(o?.valueType||"FlowGraphInteger"),((o,r)=>{if("boolean"==typeof o&&"boolean"==typeof r)return o&&r;if("number"==typeof o&&"number"==typeof r)return o&r;if("object"==typeof o&&"object"==typeof r)return new c.K(o.value&r.value);throw new Error(`Cannot perform bitwise AND on ${o} and ${r}`)}),"FlowGraphBitwiseAndBlock",o)}}(0,l.H7)("FlowGraphBitwiseAndBlock",FlowGraphBitwiseAndBlock);class FlowGraphBitwiseOrBlock extends t.V{constructor(o){super((0,e._M)(o?.valueType||"FlowGraphInteger"),(0,e._M)(o?.valueType||"FlowGraphInteger"),(0,e._M)(o?.valueType||"FlowGraphInteger"),((o,r)=>{if("boolean"==typeof o&&"boolean"==typeof r)return o||r;if("number"==typeof o&&"number"==typeof r)return o|r;if("object"==typeof o&&"object"==typeof r)return new c.K(o.value|r.value);throw new Error(`Cannot perform bitwise OR on ${o} and ${r}`)}),"FlowGraphBitwiseOrBlock",o)}}(0,l.H7)("FlowGraphBitwiseOrBlock",FlowGraphBitwiseOrBlock);class FlowGraphBitwiseXorBlock extends t.V{constructor(o){super((0,e._M)(o?.valueType||"FlowGraphInteger"),(0,e._M)(o?.valueType||"FlowGraphInteger"),(0,e._M)(o?.valueType||"FlowGraphInteger"),((o,r)=>{if("boolean"==typeof o&&"boolean"==typeof r)return o!==r;if("number"==typeof o&&"number"==typeof r)return o^r;if("object"==typeof o&&"object"==typeof r)return new c.K(o.value^r.value);throw new Error(`Cannot perform bitwise XOR on ${o} and ${r}`)}),"FlowGraphBitwiseXorBlock",o)}}(0,l.H7)("FlowGraphBitwiseXorBlock",FlowGraphBitwiseXorBlock);class FlowGraphBitwiseLeftShiftBlock extends t.V{constructor(o){super(e.fj,e.fj,e.fj,((o,r)=>new c.K(o.value<<r.value)),"FlowGraphBitwiseLeftShiftBlock",o)}}(0,l.H7)("FlowGraphBitwiseLeftShiftBlock",FlowGraphBitwiseLeftShiftBlock);class FlowGraphBitwiseRightShiftBlock extends t.V{constructor(o){super(e.fj,e.fj,e.fj,((o,r)=>new c.K(o.value>>r.value)),"FlowGraphBitwiseRightShiftBlock",o)}}(0,l.H7)("FlowGraphBitwiseRightShiftBlock",FlowGraphBitwiseRightShiftBlock);class FlowGraphLeadingZerosBlock extends s.p{constructor(o){super(e.fj,e.fj,(o=>new c.K(Math.clz32(o.value))),"FlowGraphLeadingZerosBlock",o)}}(0,l.H7)("FlowGraphLeadingZerosBlock",FlowGraphLeadingZerosBlock);class FlowGraphTrailingZerosBlock extends s.p{constructor(o){super(e.fj,e.fj,(o=>new c.K(o.value?31-Math.clz32(o.value&-o.value):32)),"FlowGraphTrailingZerosBlock",o)}}(0,l.H7)("FlowGraphTrailingZerosBlock",FlowGraphTrailingZerosBlock);class FlowGraphOneBitsCounterBlock extends s.p{constructor(o){super(e.fj,e.fj,(o=>new c.K(function CountOnes(o){let r=0;for(;o;)r+=1&o,o>>=1;return r}(o.value))),"FlowGraphOneBitsCounterBlock",o)}}(0,l.H7)("FlowGraphOneBitsCounterBlock",FlowGraphOneBitsCounterBlock)},41554:(o,r,a)=>{a.d(r,{V:()=>FlowGraphBinaryOperationBlock});var l=a(49492);class FlowGraphBinaryOperationBlock extends l.D{constructor(o,r,a,l,e,t){super(a,t),this._operation=l,this._className=e,this.a=this.registerDataInput("a",o),this.b=this.registerDataInput("b",r)}_doOperation(o){const r=this.a.getValue(o),a=this.b.getValue(o);return this._operation(r,a)}getClassName(){return this._className}}},49492:(o,r,a)=>{a.d(r,{D:()=>FlowGraphCachedOperationBlock});var l=a(43890),e=a(39426);const t="cachedOperationValue",p="cachedExecutionId";class FlowGraphCachedOperationBlock extends l.A{constructor(o,r){super(r),this.value=this.registerDataOutput("value",o),this.isValid=this.registerDataOutput("isValid",e.PE)}_updateOutputs(o){const r=o._getExecutionVariable(this,p,-1),a=o._getExecutionVariable(this,t,null);if(null!=a&&r===o.executionId)this.isValid.setValue(!0,o),this.value.setValue(a,o);else try{const r=this._doOperation(o);if(null==r)return void this.isValid.setValue(!1,o);o._setExecutionVariable(this,t,r),o._setExecutionVariable(this,p,o.executionId),this.value.setValue(r,o),this.isValid.setValue(!0,o)}catch(r){this.isValid.setValue(!1,o)}}}},86562:(o,r,a)=>{a.d(r,{p:()=>FlowGraphUnaryOperationBlock});var l=a(49492);class FlowGraphUnaryOperationBlock extends l.D{constructor(o,r,a,l,e){super(r,e),this._operation=a,this._className=l,this.a=this.registerDataInput("a",o)}_doOperation(o){return this._operation(this.a.getValue(o))}getClassName(){return this._className}}}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/*! filename:4049 */
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/*! For license information please see 4051.real-time-viewer.umd.min.js.LICENSE.txt */
|
|
2
|
-
"use strict";(self.webpackChunkCrystaldesignRealTimeViewer=self.webpackChunkCrystaldesignRealTimeViewer||[]).push([[4051],{54051:(e,r,f)=>{f.r(r),f.d(r,{iblCdfDebugPixelShaderWGSL:()=>a});var c=f(17416);const i="iblCdfDebugPixelShader",t="#define PI 3.1415927\nvarying vUV: vec2f;var cdfySampler: sampler;var cdfy: texture_2d<f32>;var cdfxSampler: sampler;var cdfx: texture_2d<f32>;var icdfSampler: sampler;var icdf: texture_2d<f32>;\n#ifdef IBL_USE_CUBE_MAP\nvar iblSourceSampler: sampler;var iblSource: texture_cube<f32>;\n#else\nvar iblSourceSampler: sampler;var iblSource: texture_2d<f32>;\n#endif\nvar textureSamplerSampler: sampler;var textureSampler: texture_2d<f32>;\n#define cdfyVSize (0.8/3.0)\n#define cdfxVSize 0.1\n#define cdfyHSize 0.5\nuniform sizeParams: vec4f;\n#ifdef IBL_USE_CUBE_MAP\nfn equirectangularToCubemapDirection(uv: vec2f)->vec3f {var longitude: f32=uv.x*2.0*PI-PI;var latitude: f32=PI*0.5-uv.y*PI;var direction: vec3f;direction.x=cos(latitude)*sin(longitude);direction.y=sin(latitude);direction.z=cos(latitude)*cos(longitude);return direction;}\n#endif\n@fragment\nfn main(input: FragmentInputs)->FragmentOutputs { \nvar colour: vec3f= vec3f(0.0);var uv: vec2f =\nvec2f((uniforms.sizeParams.x+input.vUV.x)*uniforms.sizeParams.z,(uniforms.sizeParams.y+input.vUV.y)*uniforms.sizeParams.w);var backgroundColour: vec3f=textureSample(textureSampler,textureSamplerSampler,input.vUV).rgb;var cdfxWidth: u32=textureDimensions(cdfx,0).x;var cdfyHeight: u32=textureDimensions(cdfy,0).y;const iblStart: f32=1.0-cdfyVSize;const pdfStart: f32=1.0-2.0*cdfyVSize;const cdfyStart: f32=1.0-3.0*cdfyVSize;const cdfxStart: f32=1.0-3.0*cdfyVSize-cdfxVSize;const icdfxStart: f32=1.0-3.0*cdfyVSize-2.0*cdfxVSize;\n#ifdef IBL_USE_CUBE_MAP\nvar direction: vec3f=equirectangularToCubemapDirection(\n(uv- vec2f(0.0,iblStart))* vec2f(1.0,1.0/cdfyVSize));var iblColour: vec3f=textureSampleLevel(iblSource,iblSourceSampler,direction,0.0).rgb;\n#else\nvar iblColour: vec3f=textureSample(iblSource,iblSourceSampler,(uv- vec2f(0.0,iblStart)) *\nvec2f(1.0,1.0/cdfyVSize))\n.rgb;\n#endif\nvar pdfColour: vec3f =\ntextureSample(icdf,icdfSampler,(uv- vec2f(0.0,pdfStart))* vec2f(1.0,1.0/cdfyVSize)).zzz;var cdfyColour: f32 =\ntextureSample(cdfy,cdfySampler,(uv- vec2f(0.0,cdfyStart))* vec2f(2.0,1.0/cdfyVSize)).r;var icdfyColour: f32 =\ntextureSample(icdf,icdfSampler,(uv- vec2f(0.5,cdfyStart))* vec2f(2.0,1.0/cdfyVSize)).g;var cdfxColour: f32 =\ntextureSample(cdfx,cdfxSampler,(uv- vec2f(0.0,cdfxStart))* vec2f(1.0,1.0/cdfxVSize)).r;var icdfxColour: f32=textureSample(icdf,icdfSampler,(uv- vec2f(0.0,icdfxStart)) *\nvec2f(1.0,1.0/cdfxVSize)).r;if (uv.x<0.0 || uv.x>1.0 || uv.y<0.0 || uv.y>1.0) {colour=backgroundColour;} else if (uv.y>iblStart) {colour+=iblColour;} else if (uv.y>pdfStart) {colour+=pdfColour;} else if (uv.y>cdfyStart && uv.x<0.5) {colour.r+=cdfyColour/f32(cdfyHeight);} else if (uv.y>cdfyStart && uv.x>0.5) {colour.r+=icdfyColour;} else if (uv.y>cdfxStart) {colour.r+=cdfxColour/f32(cdfxWidth);} else if (uv.y>icdfxStart) {colour.r+=icdfxColour;}\nfragmentOutputs.color =vec4(mix(colour,backgroundColour,0.5),1.0);}";c.v.ShadersStoreWGSL[i]||(c.v.ShadersStoreWGSL[i]=t);const a={name:i,shader:t}}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/*! filename:4051 */
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/*! For license information please see 4358.real-time-viewer.umd.min.js.LICENSE.txt */
|
|
2
|
-
"use strict";(self.webpackChunkCrystaldesignRealTimeViewer=self.webpackChunkCrystaldesignRealTimeViewer||[]).push([[4358],{64358:(e,l,t)=>{t.r(l),t.d(l,{FlowGraphFlipFlopBlock:()=>FlowGraphFlipFlopBlock});var a=t(17693),i=t(39426),s=t(20538);class FlowGraphFlipFlopBlock extends a.Q{constructor(e){super(e),this.onOn=this._registerSignalOutput("onOn"),this.onOff=this._registerSignalOutput("onOff"),this.value=this.registerDataOutput("value",i.PE)}_execute(e,l){let t=e._getExecutionVariable(this,"value","boolean"==typeof this.config?.startValue&&!this.config.startValue);t=!t,e._setExecutionVariable(this,"value",t),this.value.setValue(t,e),t?this.onOn._activateSignal(e):this.onOff._activateSignal(e)}getClassName(){return"FlowGraphFlipFlopBlock"}}(0,s.H7)("FlowGraphFlipFlopBlock",FlowGraphFlipFlopBlock)}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/*! filename:4358 */
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/*! For license information please see 4478.real-time-viewer.umd.min.js.LICENSE.txt */
|
|
2
|
-
"use strict";(self.webpackChunkCrystaldesignRealTimeViewer=self.webpackChunkCrystaldesignRealTimeViewer||[]).push([[4478],{4478:(e,t,s)=>{s.r(t),s.d(t,{FlowGraphCodeExecutionBlock:()=>FlowGraphCodeExecutionBlock});var u=s(43890),i=s(39426);class FlowGraphCodeExecutionBlock extends u.A{constructor(e){super(e),this.config=e,this.executionFunction=this.registerDataInput("function",i.s8),this.value=this.registerDataInput("value",i.s8),this.result=this.registerDataOutput("result",i.s8)}_updateOutputs(e){const t=this.executionFunction.getValue(e),s=this.value.getValue(e);t&&this.result.setValue(t(s,e),e)}getClassName(){return"FlowGraphCodeExecutionBlock"}}}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/*! filename:4478 */
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/*! For license information please see 4486.real-time-viewer.umd.min.js.LICENSE.txt */
|
|
2
|
-
"use strict";(self.webpackChunkCrystaldesignRealTimeViewer=self.webpackChunkCrystaldesignRealTimeViewer||[]).push([[4486],{58632:(e,n,f)=>{var r=f(17416);const a="hdrFilteringFunctions",t="#ifdef NUM_SAMPLES\n#if NUM_SAMPLES>0\nfn radicalInverse_VdC(value: u32)->f32 \n{var bits=(value<<16u) | (value>>16u);bits=((bits & 0x55555555u)<<1u) | ((bits & 0xAAAAAAAAu)>>1u);bits=((bits & 0x33333333u)<<2u) | ((bits & 0xCCCCCCCCu)>>2u);bits=((bits & 0x0F0F0F0Fu)<<4u) | ((bits & 0xF0F0F0F0u)>>4u);bits=((bits & 0x00FF00FFu)<<8u) | ((bits & 0xFF00FF00u)>>8u);return f32(bits)*2.3283064365386963e-10; }\nfn hammersley(i: u32,N: u32)->vec2f\n{return vec2f( f32(i)/ f32(N),radicalInverse_VdC(i));}\nfn log4(x: f32)->f32 {return log2(x)/2.;}\nfn uv_to_normal(uv: vec2f)->vec3f {var N: vec3f;var uvRange: vec2f=uv;var theta: f32=uvRange.x*2.0*PI;var phi: f32=uvRange.y*PI;N.x=cos(theta)*sin(phi);N.z=sin(theta)*sin(phi);N.y=cos(phi);return N;}\nconst NUM_SAMPLES_FLOAT: f32= f32(NUM_SAMPLES);const NUM_SAMPLES_FLOAT_INVERSED: f32=1./NUM_SAMPLES_FLOAT;const K: f32=4.;fn irradiance(inputTexture: texture_cube<f32>,inputSampler: sampler,inputN: vec3f,filteringInfo: vec2f,diffuseRoughness: f32,surfaceAlbedo: vec3f,inputV: vec3f\n#ifdef IBL_CDF_FILTERING\n,icdfSampler: texture_2d<f32>,icdfSamplerSampler: sampler\n#endif\n)->vec3f\n{var n: vec3f=normalize(inputN);var result: vec3f= vec3f(0.0);\n#ifndef IBL_CDF_FILTERING\nvar tangent: vec3f=select(vec3f(1.,0.,0.),vec3f(0.,0.,1.),abs(n.z)<0.999);tangent=normalize(cross(tangent,n));var bitangent: vec3f=cross(n,tangent);var tbn: mat3x3f= mat3x3f(tangent,bitangent,n);var tbnInverse: mat3x3f=transpose(tbn);\n#endif\nvar maxLevel: f32=filteringInfo.y;var dim0: f32=filteringInfo.x;var omegaP: f32=(4.*PI)/(6.*dim0*dim0);var clampedAlbedo: vec3f=clamp(surfaceAlbedo,vec3f(0.1),vec3f(1.0));for(var i: u32=0u; i<NUM_SAMPLES; i++)\n{var Xi: vec2f=hammersley(i,NUM_SAMPLES);\n#ifdef IBL_CDF_FILTERING\nvar T: vec2f;T.x=textureSampleLevel(icdfSampler,icdfSamplerSampler,vec2(Xi.x,0.0),0.0).x;T.y=textureSampleLevel(icdfSampler,icdfSamplerSampler,vec2(T.x,Xi.y),0.0).y;var Ls: vec3f=uv_to_normal(vec2f(1.0-fract(T.x+0.25),T.y));var NoL: f32=dot(n,Ls);var NoV: f32=dot(n,inputV);\n#if BASE_DIFFUSE_MODEL==BRDF_DIFFUSE_MODEL_EON\nvar LoV: f32=dot(Ls,inputV);\n#elif BASE_DIFFUSE_MODEL==BRDF_DIFFUSE_MODEL_BURLEY\nvar H: vec3f=(inputV+Ls)*0.5;var VoH: f32=dot(inputV,H);\n#endif \n#else\nvar Ls: vec3f=hemisphereCosSample(Xi);Ls=normalize(Ls);var Ns: vec3f= vec3f(0.,0.,1.);var NoL: f32=dot(Ns,Ls);var V: vec3f=tbnInverse*inputV;var NoV: f32=dot(Ns,V);\n#if BASE_DIFFUSE_MODEL==BRDF_DIFFUSE_MODEL_EON\nvar LoV: f32=dot(Ls,V);\n#elif BASE_DIFFUSE_MODEL==BRDF_DIFFUSE_MODEL_BURLEY\nvar H: vec3f=(V+Ls)*0.5;var VoH: f32=dot(V,H);\n#endif\n#endif\nif (NoL>0.) {\n#ifdef IBL_CDF_FILTERING\nvar pdf: f32=textureSampleLevel(icdfSampler,icdfSamplerSampler,T,0.0).z;var c: vec3f=textureSampleLevel(inputTexture,inputSampler,Ls,0.0).rgb;\n#else\nvar pdf_inversed: f32=PI/NoL;var omegaS: f32=NUM_SAMPLES_FLOAT_INVERSED*pdf_inversed;var l: f32=log4(omegaS)-log4(omegaP)+log4(K);var mipLevel: f32=clamp(l,0.0,maxLevel);var c: vec3f=textureSampleLevel(inputTexture,inputSampler,tbn*Ls,mipLevel).rgb;\n#endif\n#ifdef GAMMA_INPUT\nc=toLinearSpaceVec3(c);\n#endif\nvar diffuseRoughnessTerm: vec3f=vec3f(1.0);\n#if BASE_DIFFUSE_MODEL==BRDF_DIFFUSE_MODEL_EON\ndiffuseRoughnessTerm=diffuseBRDF_EON(clampedAlbedo,diffuseRoughness,NoL,NoV,LoV)*PI;\n#elif BASE_DIFFUSE_MODEL==BRDF_DIFFUSE_MODEL_BURLEY\ndiffuseRoughnessTerm=vec3f(diffuseBRDF_Burley(NoL,NoV,VoH,diffuseRoughness)*PI);\n#endif\n#ifdef IBL_CDF_FILTERING\nvar light: vec3f=vec3f(0.0);if (pdf>1e-6) {light=vec3f(1.0)/vec3f(pdf)*c;}\nresult+=NoL*diffuseRoughnessTerm*light;\n#else\nresult+=c*diffuseRoughnessTerm;\n#endif\n}}\nresult=result*NUM_SAMPLES_FLOAT_INVERSED;\n#if BASE_DIFFUSE_MODEL==BRDF_DIFFUSE_MODEL_EON\nresult=result/clampedAlbedo;\n#endif\nreturn result;}\nfn radiance(alphaG: f32,inputTexture: texture_cube<f32>,inputSampler: sampler,inputN: vec3f,filteringInfo: vec2f)->vec3f\n{var n: vec3f=normalize(inputN);var c: vec3f=textureSample(inputTexture,inputSampler,n).rgb; \nif (alphaG==0.) {\n#ifdef GAMMA_INPUT\nc=toLinearSpace(c);\n#endif\nreturn c;} else {var result: vec3f= vec3f(0.);var tangent: vec3f=select(vec3f(1.,0.,0.),vec3f(0.,0.,1.),abs(n.z)<0.999);tangent=normalize(cross(tangent,n));var bitangent: vec3f=cross(n,tangent);var tbn: mat3x3f= mat3x3f(tangent,bitangent,n);var maxLevel: f32=filteringInfo.y;var dim0: f32=filteringInfo.x;var omegaP: f32=(4.*PI)/(6.*dim0*dim0);var weight: f32=0.;for(var i: u32=0u; i<NUM_SAMPLES; i++)\n{var Xi: vec2f=hammersley(i,NUM_SAMPLES);var H: vec3f=hemisphereImportanceSampleDggx(Xi,alphaG);var NoV: f32=1.;var NoH: f32=H.z;var NoH2: f32=H.z*H.z;var NoL: f32=2.*NoH2-1.;var L: vec3f= vec3f(2.*NoH*H.x,2.*NoH*H.y,NoL);L=normalize(L);if (NoL>0.) {var pdf_inversed: f32=4./normalDistributionFunction_TrowbridgeReitzGGX(NoH,alphaG);var omegaS: f32=NUM_SAMPLES_FLOAT_INVERSED*pdf_inversed;var l: f32=log4(omegaS)-log4(omegaP)+log4(K);var mipLevel: f32=clamp( f32(l),0.0,maxLevel);weight+=NoL;var c: vec3f=textureSampleLevel(inputTexture,inputSampler,tbn*L,mipLevel).rgb;\n#ifdef GAMMA_INPUT\nc=toLinearSpace(c);\n#endif\nresult+=c*NoL;}}\nresult=result/weight;return result;}}\n#endif\n#endif\n";r.v.IncludesShadersStoreWGSL[a]||(r.v.IncludesShadersStoreWGSL[a]=t)},5442:(e,n,f)=>{var r=f(17416);const a="importanceSampling",t="fn hemisphereCosSample(u: vec2f)->vec3f {var phi: f32=2.*PI*u.x;var cosTheta2: f32=1.-u.y;var cosTheta: f32=sqrt(cosTheta2);var sinTheta: f32=sqrt(1.-cosTheta2);return vec3f(sinTheta*cos(phi),sinTheta*sin(phi),cosTheta);}\nfn hemisphereImportanceSampleDggx(u: vec2f,a: f32)->vec3f {var phi: f32=2.*PI*u.x;var cosTheta2: f32=(1.-u.y)/(1.+(a+1.)*((a-1.)*u.y));var cosTheta: f32=sqrt(cosTheta2);var sinTheta: f32=sqrt(1.-cosTheta2);return vec3f(sinTheta*cos(phi),sinTheta*sin(phi),cosTheta);}\nfn hemisphereImportanceSampleDCharlie(u: vec2f,a: f32)->vec3f { \nvar phi: f32=2.*PI*u.x;var sinTheta: f32=pow(u.y,a/(2.*a+1.));var cosTheta: f32=sqrt(1.-sinTheta*sinTheta);return vec3f(sinTheta*cos(phi),sinTheta*sin(phi),cosTheta);}";r.v.IncludesShadersStoreWGSL[a]||(r.v.IncludesShadersStoreWGSL[a]=t)},34366:(e,n,f)=>{var r=f(17416);const a="pbrBRDFFunctions",t="#define FRESNEL_MAXIMUM_ON_ROUGH 0.25\n#define BRDF_DIFFUSE_MODEL_EON 0\n#define BRDF_DIFFUSE_MODEL_BURLEY 1\n#define BRDF_DIFFUSE_MODEL_LAMBERT 2\n#define BRDF_DIFFUSE_MODEL_LEGACY 3\n#define DIELECTRIC_SPECULAR_MODEL_GLTF 0\n#define DIELECTRIC_SPECULAR_MODEL_OPENPBR 1\n#define CONDUCTOR_SPECULAR_MODEL_GLTF 0\n#define CONDUCTOR_SPECULAR_MODEL_OPENPBR 1\n#ifndef PBR_VERTEX_SHADER\n#ifdef MS_BRDF_ENERGY_CONSERVATION\nfn getEnergyConservationFactor(specularEnvironmentR0: vec3f,environmentBrdf: vec3f)->vec3f {return 1.0+specularEnvironmentR0*(1.0/environmentBrdf.y-1.0);}\n#endif\n#if CONDUCTOR_SPECULAR_MODEL==CONDUCTOR_SPECULAR_MODEL_OPENPBR \nfn getF82Specular(NdotV: f32,F0: vec3f,edgeTint: vec3f,roughness: f32)->vec3f {const cos_theta_max: f32=0.142857143; \nconst one_minus_cos_theta_max_to_the_fifth: f32=0.462664366; \nconst one_minus_cos_theta_max_to_the_sixth: f32=0.396569457; \nlet white_minus_F0: vec3f=vec3f(1.0f)-F0;let b_numerator: vec3f=(F0+white_minus_F0*one_minus_cos_theta_max_to_the_fifth)*(vec3f(1.0)-edgeTint);const b_denominator: f32=cos_theta_max*one_minus_cos_theta_max_to_the_sixth;const b_denominator_reciprocal: f32=1.0f/b_denominator;let b: vec3f=b_numerator*b_denominator_reciprocal; \nlet cos_theta: f32=max(roughness,NdotV);let one_minus_cos_theta: f32=1.0-cos_theta;let offset_from_F0: vec3f=(white_minus_F0-b*cos_theta*one_minus_cos_theta)*pow(one_minus_cos_theta,5.0f);return clamp(F0+offset_from_F0,vec3f(0.0f),vec3f(1.0f));}\n#endif\n#ifdef ENVIRONMENTBRDF\nfn getBRDFLookup(NdotV: f32,perceptualRoughness: f32)->vec3f {var UV: vec2f= vec2f(NdotV,perceptualRoughness);var brdfLookup: vec4f= textureSample(environmentBrdfSampler,environmentBrdfSamplerSampler,UV);\n#ifdef ENVIRONMENTBRDF_RGBD\nbrdfLookup=vec4f(fromRGBD(brdfLookup.rgba),brdfLookup.a);\n#endif\nreturn brdfLookup.rgb;}\nfn getReflectanceFromBRDFWithEnvLookup(specularEnvironmentR0: vec3f,specularEnvironmentR90: vec3f,environmentBrdf: vec3f)->vec3f {\n#ifdef BRDF_V_HEIGHT_CORRELATED\nvar reflectance: vec3f=(specularEnvironmentR90-specularEnvironmentR0)*environmentBrdf.x+specularEnvironmentR0*environmentBrdf.y;\n#else\nvar reflectance: vec3f=specularEnvironmentR0*environmentBrdf.x+specularEnvironmentR90*environmentBrdf.y;\n#endif\nreturn reflectance;}\nfn getReflectanceFromBRDFLookup(specularEnvironmentR0: vec3f,environmentBrdf: vec3f)->vec3f {\n#ifdef BRDF_V_HEIGHT_CORRELATED\nvar reflectance: vec3f=mix(environmentBrdf.xxx,environmentBrdf.yyy,specularEnvironmentR0);\n#else\nvar reflectance: vec3f=specularEnvironmentR0*environmentBrdf.x+environmentBrdf.y;\n#endif\nreturn reflectance;}\n#endif\n/* NOT USED\n#if defined(SHEEN) && defined(SHEEN_SOFTER)\nfn getBRDFLookupCharlieSheen(NdotV: f32,perceptualRoughness: f32)->f32\n{var c: f32=1.0-NdotV;var c3: f32=c*c*c;return 0.65584461*c3+1.0/(4.16526551+exp(-7.97291361*perceptualRoughness+6.33516894));}\n#endif\n*/\n#if !defined(ENVIRONMENTBRDF) || defined(REFLECTIONMAP_SKYBOX) || defined(ALPHAFRESNEL)\nfn getReflectanceFromAnalyticalBRDFLookup_Jones(VdotN: f32,reflectance0: vec3f,reflectance90: vec3f,smoothness: f32)->vec3f\n{var weight: f32=mix(FRESNEL_MAXIMUM_ON_ROUGH,1.0,smoothness);return reflectance0+weight*(reflectance90-reflectance0)*pow5(saturate(1.0-VdotN));}\n#endif\n#if defined(SHEEN) && defined(ENVIRONMENTBRDF)\n/**\n* The sheen BRDF not containing F can be easily stored in the blue channel of the BRDF texture.\n* The blue channel contains DCharlie*VAshikhmin*NdotL as a lokkup table\n*/\nfn getSheenReflectanceFromBRDFLookup(reflectance0: vec3f,environmentBrdf: vec3f)->vec3f {var sheenEnvironmentReflectance: vec3f=reflectance0*environmentBrdf.b;return sheenEnvironmentReflectance;}\n#endif\nfn fresnelSchlickGGXVec3(VdotH: f32,reflectance0: vec3f,reflectance90: vec3f)->vec3f\n{return reflectance0+(reflectance90-reflectance0)*pow5(1.0-VdotH);}\nfn fresnelSchlickGGX(VdotH: f32,reflectance0: f32,reflectance90: f32)->f32\n{return reflectance0+(reflectance90-reflectance0)*pow5(1.0-VdotH);}\n#ifdef CLEARCOAT\nfn getR0RemappedForClearCoat(f0: vec3f)->vec3f {\n#ifdef CLEARCOAT_DEFAULTIOR\n#ifdef MOBILE\nreturn saturateVec3(f0*(f0*0.526868+0.529324)-0.0482256);\n#else\nreturn saturateVec3(f0*(f0*(0.941892-0.263008*f0)+0.346479)-0.0285998);\n#endif\n#else\nvar s: vec3f=sqrt(f0);var t: vec3f=(uniforms.vClearCoatRefractionParams.z+uniforms.vClearCoatRefractionParams.w*s)/(uniforms.vClearCoatRefractionParams.w+uniforms.vClearCoatRefractionParams.z*s);return squareVec3(t);\n#endif\n}\n#endif\n#ifdef IRIDESCENCE\nconst XYZ_TO_REC709: mat3x3f= mat3x3f(\n3.2404542,-0.9692660, 0.0556434,\n-1.5371385, 1.8760108,-0.2040259,\n-0.4985314, 0.0415560, 1.0572252\n);fn getIORTfromAirToSurfaceR0(f0: vec3f)->vec3f {var sqrtF0: vec3f=sqrt(f0);return (1.+sqrtF0)/(1.-sqrtF0);}\nfn getR0fromIORsVec3(iorT: vec3f,iorI: f32)->vec3f {return squareVec3((iorT- vec3f(iorI))/(iorT+ vec3f(iorI)));}\nfn getR0fromIORs(iorT: f32,iorI: f32)->f32 {return square((iorT-iorI)/(iorT+iorI));}\nfn evalSensitivity(opd: f32,shift: vec3f)->vec3f {var phase: f32=2.0*PI*opd*1.0e-9;const val: vec3f= vec3f(5.4856e-13,4.4201e-13,5.2481e-13);const pos: vec3f= vec3f(1.6810e+06,1.7953e+06,2.2084e+06);const vr: vec3f= vec3f(4.3278e+09,9.3046e+09,6.6121e+09);var xyz: vec3f=val*sqrt(2.0*PI*vr)*cos(pos*phase+shift)*exp(-square(phase)*vr);xyz.x+=9.7470e-14*sqrt(2.0*PI*4.5282e+09)*cos(2.2399e+06*phase+shift[0])*exp(-4.5282e+09*square(phase));xyz/=1.0685e-7;var srgb: vec3f=XYZ_TO_REC709*xyz;return srgb;}\nfn evalIridescence(outsideIOR: f32,eta2: f32,cosTheta1: f32,thinFilmThickness: f32,baseF0: vec3f)->vec3f {var I: vec3f= vec3f(1.0);var iridescenceIOR: f32=mix(outsideIOR,eta2,smoothstep(0.0,0.03,thinFilmThickness));var sinTheta2Sq: f32=square(outsideIOR/iridescenceIOR)*(1.0-square(cosTheta1));var cosTheta2Sq: f32=1.0-sinTheta2Sq;if (cosTheta2Sq<0.0) {return I;}\nvar cosTheta2: f32=sqrt(cosTheta2Sq);var R0: f32=getR0fromIORs(iridescenceIOR,outsideIOR);var R12: f32=fresnelSchlickGGX(cosTheta1,R0,1.);var R21: f32=R12;var T121: f32=1.0-R12;var phi12: f32=0.0;if (iridescenceIOR<outsideIOR) {phi12=PI;}\nvar phi21: f32=PI-phi12;var baseIOR: vec3f=getIORTfromAirToSurfaceR0(clamp(baseF0,vec3f(0.0),vec3f(0.9999))); \nvar R1: vec3f=getR0fromIORsVec3(baseIOR,iridescenceIOR);var R23: vec3f=fresnelSchlickGGXVec3(cosTheta2,R1, vec3f(1.));var phi23: vec3f= vec3f(0.0);if (baseIOR[0]<iridescenceIOR) {phi23[0]=PI;}\nif (baseIOR[1]<iridescenceIOR) {phi23[1]=PI;}\nif (baseIOR[2]<iridescenceIOR) {phi23[2]=PI;}\nvar opd: f32=2.0*iridescenceIOR*thinFilmThickness*cosTheta2;var phi: vec3f= vec3f(phi21)+phi23;var R123: vec3f=clamp(R12*R23,vec3f(1e-5),vec3f(0.9999));var r123: vec3f=sqrt(R123);var Rs: vec3f=(T121*T121)*R23/( vec3f(1.0)-R123);var C0: vec3f=R12+Rs;I=C0;var Cm: vec3f=Rs-T121;for (var m: i32=1; m<=2; m++)\n{Cm*=r123;var Sm: vec3f=2.0*evalSensitivity( f32(m)*opd, f32(m)*phi);I+=Cm*Sm;}\nreturn max(I, vec3f(0.0));}\n#endif\nfn normalDistributionFunction_TrowbridgeReitzGGX(NdotH: f32,alphaG: f32)->f32\n{var a2: f32=alphaG*alphaG;var d: f32=NdotH*NdotH*(a2-1.0)+1.0;return a2/(PI*d*d);}\n#ifdef SHEEN\nfn normalDistributionFunction_CharlieSheen(NdotH: f32,alphaG: f32)->f32\n{var invR: f32=1./alphaG;var cos2h: f32=NdotH*NdotH;var sin2h: f32=1.-cos2h;return (2.+invR)*pow(sin2h,invR*.5)/(2.*PI);}\n#endif\n#ifdef ANISOTROPIC\nfn normalDistributionFunction_BurleyGGX_Anisotropic(NdotH: f32,TdotH: f32,BdotH: f32,alphaTB: vec2f)->f32 {var a2: f32=alphaTB.x*alphaTB.y;var v: vec3f= vec3f(alphaTB.y*TdotH,alphaTB.x *BdotH,a2*NdotH);var v2: f32=dot(v,v);var w2: f32=a2/v2;return a2*w2*w2*RECIPROCAL_PI;}\n#endif\n#ifdef BRDF_V_HEIGHT_CORRELATED\nfn smithVisibility_GGXCorrelated(NdotL: f32,NdotV: f32,alphaG: f32)->f32 {\n#ifdef MOBILE\nvar GGXV: f32=NdotL*(NdotV*(1.0-alphaG)+alphaG);var GGXL: f32=NdotV*(NdotL*(1.0-alphaG)+alphaG);return 0.5/(GGXV+GGXL);\n#else\nvar a2: f32=alphaG*alphaG;var GGXV: f32=NdotL*sqrt(NdotV*(NdotV-a2*NdotV)+a2);var GGXL: f32=NdotV*sqrt(NdotL*(NdotL-a2*NdotL)+a2);return 0.5/(GGXV+GGXL);\n#endif\n}\n#else\nfn smithVisibilityG1_TrowbridgeReitzGGXFast(dot: f32,alphaG: f32)->f32\n{\n#ifdef MOBILE\nreturn 1.0/(dot+alphaG+(1.0-alphaG)*dot ));\n#else\nvar alphaSquared: f32=alphaG*alphaG;return 1.0/(dot+sqrt(alphaSquared+(1.0-alphaSquared)*dot*dot));\n#endif\n}\nfn smithVisibility_TrowbridgeReitzGGXFast(NdotL: f32,NdotV: f32,alphaG: f32)->f32\n{var visibility: f32=smithVisibilityG1_TrowbridgeReitzGGXFast(NdotL,alphaG)*smithVisibilityG1_TrowbridgeReitzGGXFast(NdotV,alphaG);return visibility;}\n#endif\n#ifdef ANISOTROPIC\nfn smithVisibility_GGXCorrelated_Anisotropic(NdotL: f32,NdotV: f32,TdotV: f32,BdotV: f32,TdotL: f32,BdotL: f32,alphaTB: vec2f)->f32 {var lambdaV: f32=NdotL*length( vec3f(alphaTB.x*TdotV,alphaTB.y*BdotV,NdotV));var lambdaL: f32=NdotV*length( vec3f(alphaTB.x*TdotL,alphaTB.y*BdotL,NdotL));var v: f32=0.5/(lambdaV+lambdaL);return v;}\n#endif\n#ifdef CLEARCOAT\nfn visibility_Kelemen(VdotH: f32)->f32 {return 0.25/(VdotH*VdotH); }\n#endif\n#ifdef SHEEN\nfn visibility_Ashikhmin(NdotL: f32,NdotV: f32)->f32\n{return 1./(4.*(NdotL+NdotV-NdotL*NdotV));}\n/* NOT USED\n#ifdef SHEEN_SOFTER\nfn l(x: f32,alphaG: f32)->f32\n{var oneMinusAlphaSq: f32=(1.0-alphaG)*(1.0-alphaG);var a: f32=mix(21.5473,25.3245,oneMinusAlphaSq);var b: f32=mix(3.82987,3.32435,oneMinusAlphaSq);var c: f32=mix(0.19823,0.16801,oneMinusAlphaSq);var d: f32=mix(-1.97760,-1.27393,oneMinusAlphaSq);var e: f32=mix(-4.32054,-4.85967,oneMinusAlphaSq);return a/(1.0+b*pow(x,c))+d*x+e;}\nfn lambdaSheen(cosTheta: f32,alphaG: f32)->f32\n{return abs(cosTheta)<0.5 ? exp(l(cosTheta,alphaG)) : exp(2.0*l(0.5,alphaG)-l(1.0-cosTheta,alphaG));}\nfn visibility_CharlieSheen(NdotL: f32,NdotV: f32,alphaG: f32)->f32\n{var G: f32=1.0/(1.0+lambdaSheen(NdotV,alphaG)+lambdaSheen(NdotL,alphaG));return G/(4.0*NdotV*NdotL);}\n#endif\n*/\n#endif\nconst constant1_FON: f32=0.5f-2.0f/(3.0f*PI);const constant2_FON: f32=2.0f/3.0f-28.0f/(15.0f*PI);fn E_FON_approx(mu: f32,roughness: f32)->f32\n{var sigma: f32=roughness; \nvar mucomp: f32=1.0f-mu;var mucomp2: f32=mucomp*mucomp;const Gcoeffs: mat2x2f=mat2x2f(0.0571085289f,-0.332181442f,\n0.491881867f,0.0714429953f);var GoverPi: f32=dot(Gcoeffs*vec2f(mucomp,mucomp2),vec2f(1.0f,mucomp2));return (1.0f+sigma*GoverPi)/(1.0f+constant1_FON*sigma);}\nfn diffuseBRDF_EON(albedo: vec3f,roughness: f32,NdotL: f32,NdotV: f32,LdotV: f32)->vec3f\n{var rho: vec3f=albedo;var sigma: f32=roughness; \nvar mu_i: f32=NdotL; \nvar mu_o: f32=NdotV; \nvar s: f32=LdotV-mu_i*mu_o; \nvar sovertF: f32=select(s,s/max(mu_i,mu_o),s>0.0f); \nvar AF: f32=1.0f/(1.0f+constant1_FON*sigma); \nvar f_ss: vec3f=(rho*RECIPROCAL_PI)*AF*(1.0f+sigma*sovertF); \nvar EFo: f32=E_FON_approx(mu_o,sigma); \nvar EFi: f32=E_FON_approx(mu_i,sigma); \nvar avgEF: f32=AF*(1.0f+constant2_FON*sigma); \nvar rho_ms: vec3f=(rho*rho)*avgEF/(vec3f(1.0f)-rho*(1.0f-avgEF));const eps: f32=1.0e-7f;var f_ms: vec3f=(rho_ms*RECIPROCAL_PI)*max(eps,1.0f-EFo) \n* max(eps,1.0f-EFi)\n/ max(eps,1.0f-avgEF);return (f_ss+f_ms);}\nfn diffuseBRDF_Burley(NdotL: f32,NdotV: f32,VdotH: f32,roughness: f32)->f32 {var diffuseFresnelNV: f32=pow5(saturateEps(1.0-NdotL));var diffuseFresnelNL: f32=pow5(saturateEps(1.0-NdotV));var diffuseFresnel90: f32=0.5+2.0*VdotH*VdotH*roughness;var fresnel: f32 =\n(1.0+(diffuseFresnel90-1.0)*diffuseFresnelNL) *\n(1.0+(diffuseFresnel90-1.0)*diffuseFresnelNV);return fresnel/PI;}\n#ifdef SS_TRANSLUCENCY\nfn transmittanceBRDF_Burley(tintColor: vec3f,diffusionDistance: vec3f,thickness: f32)->vec3f {var S: vec3f=1./maxEpsVec3(diffusionDistance);var temp: vec3f=exp((-0.333333333*thickness)*S);return tintColor.rgb*0.25*(temp*temp*temp+3.0*temp);}\nfn computeWrappedDiffuseNdotL(NdotL: f32,w: f32)->f32 {var t: f32=1.0+w;var invt2: f32=1.0/(t*t);return saturate((NdotL+w)*invt2);}\n#endif\n#endif \n";r.v.IncludesShadersStoreWGSL[a]||(r.v.IncludesShadersStoreWGSL[a]=t)},34486:(e,n,f)=>{f.r(n),f.d(n,{hdrIrradianceFilteringPixelShaderWGSL:()=>i});var r=f(17416);f(22842),f(5442),f(34366),f(58632);const a="hdrIrradianceFilteringPixelShader",t="#include<helperFunctions>\n#include<importanceSampling>\n#include<pbrBRDFFunctions>\n#include<hdrFilteringFunctions>\nvar inputTextureSampler: sampler;var inputTexture: texture_cube<f32>;\n#ifdef IBL_CDF_FILTERING\nvar icdfTextureSampler: sampler;var icdfTexture: texture_2d<f32>;\n#endif\nuniform vFilteringInfo: vec2f;uniform hdrScale: f32;varying direction: vec3f;@fragment\nfn main(input: FragmentInputs)->FragmentOutputs {var color: vec3f=irradiance(inputTexture,inputTextureSampler,input.direction,uniforms.vFilteringInfo,0.0,vec3f(1.0),input.direction\n#ifdef IBL_CDF_FILTERING\n,icdfTexture,icdfTextureSampler\n#endif\n);fragmentOutputs.color= vec4f(color*uniforms.hdrScale,1.0);}";r.v.ShadersStoreWGSL[a]||(r.v.ShadersStoreWGSL[a]=t);const i={name:a,shader:t}}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/*! filename:4486 */
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/*! For license information please see 4555.real-time-viewer.umd.min.js.LICENSE.txt */
|
|
2
|
-
"use strict";(self.webpackChunkCrystaldesignRealTimeViewer=self.webpackChunkCrystaldesignRealTimeViewer||[]).push([[4555],{44555:(t,e,i)=>{i.r(e),i.d(e,{FlowGraphMultiGateBlock:()=>FlowGraphMultiGateBlock});var s=i(20538),n=i(17693),a=i(39426),l=i(234);class FlowGraphMultiGateBlock extends n.Q{constructor(t){super(t),this.config=t,this.outputSignals=[],this.reset=this._registerSignalInput("reset"),this.lastIndex=this.registerDataOutput("lastIndex",a.fj,new l.K(-1)),this.setNumberOfOutputSignals(t?.outputSignalCount)}_getNextIndex(t){if(t.includes(!1)||this.config.isLoop&&t.fill(!1),this.config.isRandom){const e=t.map(((t,e)=>t?-1:e)).filter((t=>-1!==t));return e.length?e[Math.floor(Math.random()*e.length)]:-1}return t.indexOf(!1)}setNumberOfOutputSignals(t=1){for(;this.outputSignals.length>t;){const t=this.outputSignals.pop();t&&(t.disconnectFromAll(),this._unregisterSignalOutput(t.name))}for(;this.outputSignals.length<t;)this.outputSignals.push(this._registerSignalOutput(`out_${this.outputSignals.length}`))}_execute(t,e){if(t._hasExecutionVariable(this,"indexesUsed")||t._setExecutionVariable(this,"indexesUsed",this.outputSignals.map((()=>!1))),e===this.reset)return t._deleteExecutionVariable(this,"indexesUsed"),void this.lastIndex.setValue(new l.K(-1),t);const i=t._getExecutionVariable(this,"indexesUsed",[]),s=this._getNextIndex(i);s>-1&&(this.lastIndex.setValue(new l.K(s),t),i[s]=!0,t._setExecutionVariable(this,"indexesUsed",i),this.outputSignals[s]._activateSignal(t))}getClassName(){return"FlowGraphMultiGateBlock"}serialize(t){super.serialize(t),t.config.outputSignalCount=this.config.outputSignalCount,t.config.isRandom=this.config.isRandom,t.config.loop=this.config.isLoop,t.config.startIndex=this.config.startIndex}}(0,s.H7)("FlowGraphMultiGateBlock",FlowGraphMultiGateBlock)}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/*! filename:4555 */
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/*! For license information please see 4560.real-time-viewer.umd.min.js.LICENSE.txt */
|
|
2
|
-
"use strict";(self.webpackChunkCrystaldesignRealTimeViewer=self.webpackChunkCrystaldesignRealTimeViewer||[]).push([[4560],{94560:(a,e,r)=>{r.r(e),r.d(e,{FlowGraphSetVariableBlock:()=>FlowGraphSetVariableBlock});var i=r(20538),t=r(36442),l=r(39426);class FlowGraphSetVariableBlock extends t.F{constructor(a){if(super(a),!a.variable&&!a.variables)throw new Error("FlowGraphSetVariableBlock: variable/variables is not defined");if(a.variables&&a.variable)throw new Error("FlowGraphSetVariableBlock: variable and variables are both defined");if(a.variables)for(const e of a.variables)this.registerDataInput(e,l.s8);else this.registerDataInput("value",l.s8)}_execute(a,e){if(this.config?.variables)for(const e of this.config.variables)this._saveVariable(a,e);else this._saveVariable(a,this.config?.variable,"value");this.out._activateSignal(a)}_saveVariable(a,e,r){const i=a._getGlobalContextVariable("currentlyRunningAnimationGroups",[]);for(const r of i){const t=a.assetsContext.animationGroups[r];for(const l of t.targetedAnimations)if(l.target===a&&l.target===a&&l.animation.targetProperty===e){t.stop();const e=i.indexOf(r);e>-1&&i.splice(e,1),a._setGlobalContextVariable("currentlyRunningAnimationGroups",i);break}}const t=this.getDataInput(r||e)?.getValue(a);a.setVariable(e,t)}getClassName(){return"FlowGraphSetVariableBlock"}serialize(a){super.serialize(a),a.config.variable=this.config?.variable}}(0,i.H7)("FlowGraphSetVariableBlock",FlowGraphSetVariableBlock)}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/*! filename:4560 */
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/*! For license information please see 4667.real-time-viewer.umd.min.js.LICENSE.txt */
|
|
2
|
-
"use strict";(self.webpackChunkCrystaldesignRealTimeViewer=self.webpackChunkCrystaldesignRealTimeViewer||[]).push([[4667],{64667:(t,e,a)=>{a.r(e),a.d(e,{FlowGraphDeterminantBlock:()=>FlowGraphDeterminantBlock,FlowGraphInvertMatrixBlock:()=>FlowGraphInvertMatrixBlock,FlowGraphMatrixComposeBlock:()=>FlowGraphMatrixComposeBlock,FlowGraphMatrixDecomposeBlock:()=>FlowGraphMatrixDecomposeBlock,FlowGraphMatrixMultiplicationBlock:()=>FlowGraphMatrixMultiplicationBlock,FlowGraphTransposeBlock:()=>FlowGraphTransposeBlock});var i=a(43890),s=a(39426),o=a(49486),r=a(20538),l=a(86562),n=a(41554);class FlowGraphTransposeBlock extends l.p{constructor(t){super((0,s._M)(t?.matrixType||"Matrix"),(0,s._M)(t?.matrixType||"Matrix"),(t=>t.transpose?t.transpose():o.y3.Transpose(t)),"FlowGraphTransposeBlock",t)}}(0,r.H7)("FlowGraphTransposeBlock",FlowGraphTransposeBlock);class FlowGraphDeterminantBlock extends l.p{constructor(t){super((0,s._M)(t?.matrixType||"Matrix"),s.ab,(t=>t.determinant()),"FlowGraphDeterminantBlock",t)}}(0,r.H7)("FlowGraphDeterminantBlock",FlowGraphDeterminantBlock);class FlowGraphInvertMatrixBlock extends l.p{constructor(t){super((0,s._M)(t?.matrixType||"Matrix"),(0,s._M)(t?.matrixType||"Matrix"),(t=>t.inverse?t.inverse():o.y3.Invert(t)),"FlowGraphInvertMatrixBlock",t)}}(0,r.H7)("FlowGraphInvertMatrixBlock",FlowGraphInvertMatrixBlock);class FlowGraphMatrixMultiplicationBlock extends n.V{constructor(t){super((0,s._M)(t?.matrixType||"Matrix"),(0,s._M)(t?.matrixType||"Matrix"),(0,s._M)(t?.matrixType||"Matrix"),((t,e)=>e.multiply(t)),"FlowGraphMatrixMultiplicationBlock",t)}}(0,r.H7)("FlowGraphMatrixMultiplicationBlock",FlowGraphMatrixMultiplicationBlock);class FlowGraphMatrixDecomposeBlock extends i.A{constructor(t){super(t),this.input=this.registerDataInput("input",s.WT),this.position=this.registerDataOutput("position",s.FO),this.rotationQuaternion=this.registerDataOutput("rotationQuaternion",s.N3),this.scaling=this.registerDataOutput("scaling",s.FO),this.isValid=this.registerDataOutput("isValid",s.PE,!1)}_updateOutputs(t){const e=t._getExecutionVariable(this,"executionId",-1),a=t._getExecutionVariable(this,"cachedPosition",null),i=t._getExecutionVariable(this,"cachedRotation",null),s=t._getExecutionVariable(this,"cachedScaling",null);if(e===t.executionId&&a&&i&&s)this.position.setValue(a,t),this.rotationQuaternion.setValue(i,t),this.scaling.setValue(s,t);else{const e=this.input.getValue(t),r=a||new o.P,l=i||new o._f,n=s||new o.P,c=Math.round(1e4*e.m[3])/1e4,u=Math.round(1e4*e.m[7])/1e4,h=Math.round(1e4*e.m[11])/1e4,p=Math.round(1e4*e.m[15])/1e4;if(0!==c||0!==u||0!==h||1!==p)return this.isValid.setValue(!1,t),this.position.setValue(o.P.Zero(),t),this.rotationQuaternion.setValue(o._f.Identity(),t),void this.scaling.setValue(o.P.One(),t);const x=e.decompose(n,l,r);this.isValid.setValue(x,t),this.position.setValue(r,t),this.rotationQuaternion.setValue(l,t),this.scaling.setValue(n,t),t._setExecutionVariable(this,"cachedPosition",r),t._setExecutionVariable(this,"cachedRotation",l),t._setExecutionVariable(this,"cachedScaling",n),t._setExecutionVariable(this,"executionId",t.executionId)}}getClassName(){return"FlowGraphMatrixDecompose"}}(0,r.H7)("FlowGraphMatrixDecompose",FlowGraphMatrixDecomposeBlock);class FlowGraphMatrixComposeBlock extends i.A{constructor(t){super(t),this.position=this.registerDataInput("position",s.FO),this.rotationQuaternion=this.registerDataInput("rotationQuaternion",s.N3),this.scaling=this.registerDataInput("scaling",s.FO),this.value=this.registerDataOutput("value",s.WT)}_updateOutputs(t){const e=t._getExecutionVariable(this,"executionId",-1),a=t._getExecutionVariable(this,"cachedMatrix",null);if(e===t.executionId&&a)this.value.setValue(a,t);else{const e=o.y3.Compose(this.scaling.getValue(t),this.rotationQuaternion.getValue(t),this.position.getValue(t));this.value.setValue(e,t),t._setExecutionVariable(this,"cachedMatrix",e),t._setExecutionVariable(this,"executionId",t.executionId)}}getClassName(){return"FlowGraphMatrixCompose"}}(0,r.H7)("FlowGraphMatrixCompose",FlowGraphMatrixComposeBlock)},41554:(t,e,a)=>{a.d(e,{V:()=>FlowGraphBinaryOperationBlock});var i=a(49492);class FlowGraphBinaryOperationBlock extends i.D{constructor(t,e,a,i,s,o){super(a,o),this._operation=i,this._className=s,this.a=this.registerDataInput("a",t),this.b=this.registerDataInput("b",e)}_doOperation(t){const e=this.a.getValue(t),a=this.b.getValue(t);return this._operation(e,a)}getClassName(){return this._className}}},49492:(t,e,a)=>{a.d(e,{D:()=>FlowGraphCachedOperationBlock});var i=a(43890),s=a(39426);const o="cachedOperationValue",r="cachedExecutionId";class FlowGraphCachedOperationBlock extends i.A{constructor(t,e){super(e),this.value=this.registerDataOutput("value",t),this.isValid=this.registerDataOutput("isValid",s.PE)}_updateOutputs(t){const e=t._getExecutionVariable(this,r,-1),a=t._getExecutionVariable(this,o,null);if(null!=a&&e===t.executionId)this.isValid.setValue(!0,t),this.value.setValue(a,t);else try{const e=this._doOperation(t);if(null==e)return void this.isValid.setValue(!1,t);t._setExecutionVariable(this,o,e),t._setExecutionVariable(this,r,t.executionId),this.value.setValue(e,t),this.isValid.setValue(!0,t)}catch(e){this.isValid.setValue(!1,t)}}}},86562:(t,e,a)=>{a.d(e,{p:()=>FlowGraphUnaryOperationBlock});var i=a(49492);class FlowGraphUnaryOperationBlock extends i.D{constructor(t,e,a,i,s){super(e,s),this._operation=a,this._className=i,this.a=this.registerDataInput("a",t)}_doOperation(t){return this._operation(this.a.getValue(t))}getClassName(){return this._className}}}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/*! filename:4667 */
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/*! For license information please see 4806.real-time-viewer.umd.min.js.LICENSE.txt */
|
|
2
|
-
"use strict";(self.webpackChunkCrystaldesignRealTimeViewer=self.webpackChunkCrystaldesignRealTimeViewer||[]).push([[4806],{44806:(t,e,l)=>{l.r(e),l.d(e,{FlowGraphCallCounterBlock:()=>FlowGraphCallCounterBlock});var a=l(39426),s=l(36442),r=l(20538);class FlowGraphCallCounterBlock extends s.F{constructor(t){super(t),this.count=this.registerDataOutput("count",a.ab),this.reset=this._registerSignalInput("reset")}_execute(t,e){if(e===this.reset)return t._setExecutionVariable(this,"count",0),void this.count.setValue(0,t);const l=t._getExecutionVariable(this,"count",0)+1;t._setExecutionVariable(this,"count",l),this.count.setValue(l,t),this.out._activateSignal(t)}getClassName(){return"FlowGraphCallCounterBlock"}}(0,r.H7)("FlowGraphCallCounterBlock",FlowGraphCallCounterBlock)}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/*! filename:4806 */
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/*! For license information please see 4953.real-time-viewer.umd.min.js.LICENSE.txt */
|
|
2
|
-
"use strict";(self.webpackChunkCrystaldesignRealTimeViewer=self.webpackChunkCrystaldesignRealTimeViewer||[]).push([[4953],{64953:(e,i,r)=>{r.r(i),r.d(i,{hdrIrradianceFilteringVertexShader:()=>o});var n=r(17416);const t="hdrIrradianceFilteringVertexShader",a="attribute vec2 position;varying vec3 direction;uniform vec3 up;uniform vec3 right;uniform vec3 front;\n#define CUSTOM_VERTEX_DEFINITIONS\nvoid main(void) {\n#define CUSTOM_VERTEX_MAIN_BEGIN\nmat3 view=mat3(up,right,front);direction=view*vec3(position,1.0);gl_Position=vec4(position,0.0,1.0);\n#define CUSTOM_VERTEX_MAIN_END\n}";n.v.ShadersStore[t]||(n.v.ShadersStore[t]=a);const o={name:t,shader:a}}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/*! filename:4953 */
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/*! For license information please see 5197.real-time-viewer.umd.min.js.LICENSE.txt */
|
|
2
|
-
"use strict";(self.webpackChunkCrystaldesignRealTimeViewer=self.webpackChunkCrystaldesignRealTimeViewer||[]).push([[5197],{95197:(e,s,t)=>{t.r(s),t.d(s,{FlowGraphConsoleLogBlock:()=>FlowGraphConsoleLogBlock});var o=t(36442),a=t(39426),l=t(20538),r=t(3146);class FlowGraphConsoleLogBlock extends o.F{constructor(e){if(super(e),this.message=this.registerDataInput("message",a.s8),this.logType=this.registerDataInput("logType",a.s8,"log"),e?.messageTemplate){const s=this._getTemplateMatches(e.messageTemplate);for(const e of s)this.registerDataInput(e,a.s8)}}_execute(e){const s=this.logType.getValue(e),t=this._getMessageValue(e);"warn"===s?r.Y.Warn(t):"error"===s?r.Y.Error(t):r.Y.Log(t),this.out._activateSignal(e)}getClassName(){return"FlowGraphConsoleLogBlock"}_getMessageValue(e){if(this.config?.messageTemplate){let s=this.config.messageTemplate;const t=this._getTemplateMatches(s);for(const o of t){const t=this.getDataInput(o)?.getValue(e);void 0!==t&&(s=s.replace(new RegExp(`\\{${o}\\}`,"g"),t.toString()))}return s}return this.message.getValue(e)}_getTemplateMatches(e){const s=/\{([^}]+)\}/g,t=[];let o;for(;null!==(o=s.exec(e));)t.push(o[1]);return t}}(0,l.H7)("FlowGraphConsoleLogBlock",FlowGraphConsoleLogBlock)}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/*! filename:5197 */
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/*! For license information please see 539.real-time-viewer.umd.min.js.LICENSE.txt */
|
|
2
|
-
"use strict";(self.webpackChunkCrystaldesignRealTimeViewer=self.webpackChunkCrystaldesignRealTimeViewer||[]).push([[539],{10539:(e,t,i)=>{i.r(t),i.d(t,{FlowGraphBezierCurveEasingBlock:()=>FlowGraphBezierCurveEasingBlock});var s=i(48309),n=i(43890),r=i(39426),o=i(20538);class FlowGraphBezierCurveEasingBlock extends n.A{constructor(e){super(e),this.config=e,this._easingFunctions={},this.mode=this.registerDataInput("mode",r.ab,0),this.controlPoint1=this.registerDataInput("controlPoint1",r.rh),this.controlPoint2=this.registerDataInput("controlPoint2",r.rh),this.easingFunction=this.registerDataOutput("easingFunction",r.s8)}_updateOutputs(e){const t=this.mode.getValue(e),i=this.controlPoint1.getValue(e),n=this.controlPoint2.getValue(e);if(void 0===t)return;const r=`${t}-${i.x}-${i.y}-${n.x}-${n.y}`;if(!this._easingFunctions[r]){const e=new s.sj(i.x,i.y,n.x,n.y);e.setEasingMode(t),this._easingFunctions[r]=e}this.easingFunction.setValue(this._easingFunctions[r],e)}getClassName(){return"FlowGraphBezierCurveEasing"}}(0,o.H7)("FlowGraphBezierCurveEasing",FlowGraphBezierCurveEasingBlock)}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/*! filename:539 */
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/*! For license information please see 5477.real-time-viewer.umd.min.js.LICENSE.txt */
|
|
2
|
-
"use strict";(self.webpackChunkCrystaldesignRealTimeViewer=self.webpackChunkCrystaldesignRealTimeViewer||[]).push([[5477],{55477:(e,r,i)=>{i.r(r),i.d(r,{iblCdfDebugPixelShader:()=>f});var c=i(17416);const t="iblCdfDebugPixelShader",o="precision highp samplerCube;\n#define PI 3.1415927\nvarying vec2 vUV;uniform sampler2D cdfy;uniform sampler2D cdfx;uniform sampler2D icdf;uniform sampler2D pdf;\n#ifdef IBL_USE_CUBE_MAP\nuniform samplerCube iblSource;\n#else\nuniform sampler2D iblSource;\n#endif\nuniform sampler2D textureSampler;\n#define cdfyVSize (0.8/3.0)\n#define cdfxVSize 0.1\n#define cdfyHSize 0.5\nuniform vec4 sizeParams;\n#define offsetX sizeParams.x\n#define offsetY sizeParams.y\n#define widthScale sizeParams.z\n#define heightScale sizeParams.w\n#ifdef IBL_USE_CUBE_MAP\nvec3 equirectangularToCubemapDirection(vec2 uv) {float longitude=uv.x*2.0*PI-PI;float latitude=PI*0.5-uv.y*PI;vec3 direction;direction.x=cos(latitude)*sin(longitude);direction.y=sin(latitude);direction.z=cos(latitude)*cos(longitude);return direction;}\n#endif\nvoid main(void) {vec3 colour=vec3(0.0);vec2 uv =\nvec2((offsetX+vUV.x)*widthScale,(offsetY+vUV.y)*heightScale);vec3 backgroundColour=texture2D(textureSampler,vUV).rgb;int cdfxWidth=textureSize(cdfx,0).x;int cdfyHeight=textureSize(cdfy,0).y;const float iblStart=1.0-cdfyVSize;const float pdfStart=1.0-2.0*cdfyVSize;const float cdfyStart=1.0-3.0*cdfyVSize;const float cdfxStart=1.0-3.0*cdfyVSize-cdfxVSize;const float icdfxStart=1.0-3.0*cdfyVSize-2.0*cdfxVSize;\n#ifdef IBL_USE_CUBE_MAP\nvec3 direction=equirectangularToCubemapDirection(\n(uv-vec2(0.0,iblStart))*vec2(1.0,1.0/cdfyVSize));vec3 iblColour=textureCubeLodEXT(iblSource,direction,0.0).rgb;\n#else\nvec3 iblColour=texture2D(iblSource,(uv-vec2(0.0,iblStart)) *\nvec2(1.0,1.0/cdfyVSize))\n.rgb;\n#endif\nvec3 pdfColour=texture(icdf,(uv-vec2(0.0,pdfStart)) *\nvec2(1.0,1.0/cdfyVSize)).zzz;float cdfyColour =\ntexture2D(cdfy,(uv-vec2(0.0,cdfyStart))*vec2(2.0,1.0/cdfyVSize))\n.r;float icdfyColour =\ntexture2D(icdf,(uv-vec2(0.5,cdfyStart))*vec2(2.0,1.0/cdfyVSize))\n.g;float cdfxColour =\ntexture2D(cdfx,(uv-vec2(0.0,cdfxStart))*vec2(1.0,1.0/cdfxVSize))\n.r;float icdfxColour=texture2D(icdf,(uv-vec2(0.0,icdfxStart)) *\nvec2(1.0,1.0/cdfxVSize))\n.r;if (uv.x<0.0 || uv.x>1.0 || uv.y<0.0 || uv.y>1.0) {colour=backgroundColour;} else if (uv.y>iblStart) {colour+=iblColour;} else if (uv.y>pdfStart) {colour+=pdfColour;} else if (uv.y>cdfyStart && uv.x<0.5) {colour.r+=cdfyColour/float(cdfyHeight);} else if (uv.y>cdfyStart && uv.x>0.5) {colour.r+=icdfyColour;} else if (uv.y>cdfxStart) {colour.r+=cdfxColour/float(cdfxWidth);} else if (uv.y>icdfxStart) {colour.r+=icdfxColour;}\ngl_FragColor=vec4(colour,1.0);glFragColor.rgb=mix(gl_FragColor.rgb,backgroundColour,0.5);}\n";c.v.ShadersStore[t]||(c.v.ShadersStore[t]=o);const f={name:t,shader:o}}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/*! filename:5477 */
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/*! For license information please see 5645.real-time-viewer.umd.min.js.LICENSE.txt */
|
|
2
|
-
"use strict";(self.webpackChunkCrystaldesignRealTimeViewer=self.webpackChunkCrystaldesignRealTimeViewer||[]).push([[5645],{55645:(e,r,t)=>{t.r(r),t.d(r,{iblCdfxPixelShaderWGSL:()=>s});var n=t(17416);const a="iblCdfxPixelShader",f="#define PI 3.1415927\nvarying vUV: vec2f;var cdfy: texture_2d<f32>;@fragment\nfn main(input: FragmentInputs)->FragmentOutputs {var cdfyRes=textureDimensions(cdfy,0);var currentPixel=vec2u(fragmentInputs.position.xy);var cdfx: f32=0.0;for (var x: u32=1; x<=currentPixel.x; x++) {cdfx+=textureLoad(cdfy, vec2u(x-1,cdfyRes.y-1),0).x;}\nfragmentOutputs.color= vec4f( vec3f(cdfx),1.0);}";n.v.ShadersStoreWGSL[a]||(n.v.ShadersStoreWGSL[a]=f);const s={name:a,shader:f}}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/*! filename:5645 */
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/*! For license information please see 5650.real-time-viewer.umd.min.js.LICENSE.txt */
|
|
2
|
-
"use strict";(self.webpackChunkCrystaldesignRealTimeViewer=self.webpackChunkCrystaldesignRealTimeViewer||[]).push([[5650],{85650:(e,a,l)=>{l.r(a),l.d(a,{FlowGraphCancelDelayBlock:()=>FlowGraphCancelDelayBlock});var t=l(20538),s=l(36442),r=l(39426),n=l(7181);class FlowGraphCancelDelayBlock extends s.F{constructor(e){super(e),this.delayIndex=this.registerDataInput("delayIndex",r.fj)}_execute(e,a){const l=(0,n.J0)(this.delayIndex.getValue(e));if(l<=0||isNaN(l)||!isFinite(l))return this._reportError(e,"Invalid delay index");const t=e._getGlobalContextVariable("pendingDelays",[])[l];t&&t.dispose(),this.out._activateSignal(e)}getClassName(){return"FlowGraphCancelDelayBlock"}}(0,t.H7)("FlowGraphCancelDelayBlock",FlowGraphCancelDelayBlock)}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/*! filename:5650 */
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/*! For license information please see 5779.real-time-viewer.umd.min.js.LICENSE.txt */
|
|
2
|
-
"use strict";(self.webpackChunkCrystaldesignRealTimeViewer=self.webpackChunkCrystaldesignRealTimeViewer||[]).push([[5779],{65779:(e,n,r)=>{r.r(n),r.d(n,{iblCdfyPixelShaderWGSL:()=>c});var i=r(17416);const t="iblCdfyPixelShader",a="varying vUV : vec2f;\n#include <helperFunctions>\n#ifdef IBL_USE_CUBE_MAP\nvar iblSourceSampler: sampler;var iblSource: texture_cube<f32>;\n#else\nvar iblSourceSampler: sampler;var iblSource: texture_2d<f32>;\n#endif\nuniform iblHeight: i32;\n#ifdef IBL_USE_CUBE_MAP\nfn fetchCube(uv: vec2f)->f32 {var direction: vec3f=equirectangularToCubemapDirection(uv);return sin(PI*uv.y) *\ndot(textureSampleLevel(iblSource,iblSourceSampler,direction,0.0)\n.rgb,\nLuminanceEncodeApprox);}\n#else\nfn fetchPanoramic(Coords: vec2i,envmapHeight: f32)->f32 {return sin(PI*(f32(Coords.y)+0.5)/envmapHeight) *\ndot(textureLoad(iblSource,Coords,0).rgb,LuminanceEncodeApprox);}\n#endif\n@fragment\nfn main(input: FragmentInputs)->FragmentOutputs {var coords: vec2i= vec2i(fragmentInputs.position.xy);var cdfy: f32=0.0;for (var y: i32=1; y<=coords.y; y++) {\n#ifdef IBL_USE_CUBE_MAP\nvar uv: vec2f= vec2f(input.vUV.x,( f32(y-1)+0.5)/ f32(uniforms.iblHeight));cdfy+=fetchCube(uv);\n#else\ncdfy+=fetchPanoramic( vec2i(coords.x,y-1), f32(uniforms.iblHeight));\n#endif\n}\nfragmentOutputs.color= vec4f(cdfy,0.0,0.0,1.0);}";i.v.ShadersStoreWGSL[t]||(i.v.ShadersStoreWGSL[t]=a);const c={name:t,shader:a}}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/*! filename:5779 */
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/*! For license information please see 5880.real-time-viewer.umd.min.js.LICENSE.txt */
|
|
2
|
-
"use strict";(self.webpackChunkCrystaldesignRealTimeViewer=self.webpackChunkCrystaldesignRealTimeViewer||[]).push([[5880],{55880:(e,t,n)=>{n.r(t),n.d(t,{FlowGraphFunctionReferenceBlock:()=>FlowGraphFunctionReferenceBlock});var s=n(43890),u=n(39426),i=n(20538);class FlowGraphFunctionReferenceBlock extends s.A{constructor(e){super(e),this.functionName=this.registerDataInput("functionName",u.w9),this.object=this.registerDataInput("object",u.s8),this.context=this.registerDataInput("context",u.s8,null),this.output=this.registerDataOutput("output",u.s8)}_updateOutputs(e){const t=this.functionName.getValue(e),n=this.object.getValue(e),s=this.context.getValue(e);if(n&&t){const u=n[t];u&&"function"==typeof u&&this.output.setValue(u.bind(s),e)}}getClassName(){return"FlowGraphFunctionReference"}}(0,i.H7)("FlowGraphFunctionReference",FlowGraphFunctionReferenceBlock)}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/*! filename:5880 */
|