publicbooleanrend_test=false;// RT full-render product (CuasRender.testRenderSequence): per scene raw /jp4/ -> conditionSceneToGpu -> virtual-grid render at BORROWED stored pose+ERS rates -> -CUAS-RT-RENDER hyperstack [s00..s15, merged][scenes], comparable to -CUAS-INDIVIDUAL/MERGED-CUAS-DBG. NON-exclusive: runs AFTER the pose stage when both are ON (the pose stage is part of the RT cycle - Andrey 07/06/2026). // By Claude on 07/05/2026
publicbooleanlog_test=false;// LoG A/B with the RT render (CuasRender): also save -CUAS-RT-RENDER-LOG-ORACLE (product convolved with the EXISTING pre-DNN pixel LoG, LINEAR alpha=1) and -CUAS-RT-RENDER-LOG-FOLDED (same render, LoG folded into the GPU aberration kernels via CuasLogFold - no pixel convolution; originals restored). The aberration+LoG kernel-fold validation (RT-seed step 1b). // By Claude on 07/06/2026
publicbooleanlog_ident=false;// LoG ISOLATION test with the RT render (CuasRender): render with IDENTITY kernels (-CUAS-RT-RENDER-ID, aberrations skipped), pixel-LoG it (-ID-LOG-ORACLE), and render with PURE-LoG kernels (-LOG-ONLY). If -LOG-ONLY vs -ID-LOG-ORACLE residual persists, the fold/L0 is wrong; if it collapses to the wrap floor, the aberration-kernel interaction was responsible (Andrey 07/06/2026). // By Claude on 07/06/2026
publicbooleanshow_kernels=false;// show selected convolution kernel
publicbooleandbg_fpixels=true;// save the ORACLE debug renders during ingest (prepareFpixels): -CUAS-INDIVIDUAL-CUAS-DBG (an EXTRA per-sensor render pass, ~11GB) + -CUAS-MERGED-CUAS-DBG (save only - the merged render is the production input regardless). Was hardcoded. Turn OFF to save the render time and disk once the RT chain (-CUAS-RT-RENDER) is the trusted full render. // By Claude on 07/05/2026
publicdoublefz_inter=10000.0;// RT fat zero, INTER (pose/motion: scene x virtual-center correlation). DECOUPLED from the legacy gpu_fatz*/AUX switches (which stay untouched for non-RT/FOPEN). Value is for a single physical-pair amplitude; FZ ~ amplitude^2 in the GPU normalize - scale down x4..x16 for consolidated-average applications as needed. 10000 = the proven oracle INTER operating point (the lean code erroneously used the INTRA value before). // By Claude on 07/05/2026
publicdoublefz_intra=2000.0;// RT fat zero, INTRA (ranging/disparity: sensor-pair correlations within one scene). Reserved for the RT ranging path; same decoupling/scaling notes as fz_inter. // By Claude on 07/05/2026
...
...
@@ -119,6 +120,10 @@ public class CuasRtParameters {
"With the RT render ON: also save -CUAS-RT-RENDER-LOG-ORACLE (the product convolved with the EXISTING pre-DNN pixel-domain LoG, LINEAR) and -CUAS-RT-RENDER-LOG-FOLDED (same render with the LoG FOLDED into the GPU aberration kernels - no pixel convolution; original kernels restored after). Compare offline: the aberration+LoG kernel-fold validation (roadmap RT-seed step 1b).");
gd.addCheckbox("RT render LoG isolation (identity krnl)",this.log_ident,// By Claude on 07/06/2026
"With the RT render ON: render with IDENTITY kernels (-ID, aberrations skipped), apply the pixel LoG (-ID-LOG-ORACLE), then render with PURE-LoG kernels (-LOG-ONLY). Isolates the LoG fold mechanism from the aberration-kernel content: persistent -LOG-ONLY vs -ID-LOG-ORACLE residual = the fold is wrong; collapse to the wrap floor = kernel interaction. Two extra render passes.");
"Show convolution kernels for selected in General tab tile (ktilex = tileX/2, ktileY=tileY/2.");
gd.addCheckbox("Save oracle DBG renders (11GB)",this.dbg_fpixels,// By Claude on 07/05/2026
"Save -CUAS-INDIVIDUAL-CUAS-DBG (an EXTRA per-sensor render pass, ~11GB) and -CUAS-MERGED-CUAS-DBG during ingest. Turn OFF to save render time and disk once -CUAS-RT-RENDER (RT render test) is the trusted full render.");
gd.addNumericField("RT fat zero INTER (pose/motion)",this.fz_inter,1,9,"",// By Claude on 07/05/2026
...
...
@@ -264,6 +269,7 @@ public class CuasRtParameters {
this.rend_test=gd.getNextBoolean();// By Claude on 07/05/2026
this.log_test=gd.getNextBoolean();// By Claude on 07/06/2026
this.log_ident=gd.getNextBoolean();// By Claude on 07/06/2026
this.show_kernels=gd.getNextBoolean();
this.dbg_fpixels=gd.getNextBoolean();// By Claude on 07/05/2026
this.fz_inter=gd.getNextNumber();// By Claude on 07/05/2026
this.fz_intra=gd.getNextNumber();// By Claude on 07/05/2026
...
...
@@ -349,6 +355,7 @@ public class CuasRtParameters {
properties.setProperty(prefix+"rend_test",this.rend_test+"");// boolean // By Claude on 07/05/2026
properties.setProperty(prefix+"log_test",this.log_test+"");// boolean // By Claude on 07/06/2026
properties.setProperty(prefix+"log_ident",this.log_ident+"");// boolean // By Claude on 07/06/2026
properties.setProperty(prefix+"dbg_fpixels",this.dbg_fpixels+"");// boolean // By Claude on 07/05/2026
properties.setProperty(prefix+"fz_inter",this.fz_inter+"");// double // By Claude on 07/05/2026
properties.setProperty(prefix+"fz_intra",this.fz_intra+"");// double // By Claude on 07/05/2026
...
...
@@ -434,6 +441,7 @@ public class CuasRtParameters {
if(properties.getProperty(prefix+"rend_test")!=null)this.rend_test=Boolean.parseBoolean(properties.getProperty(prefix+"rend_test"));// By Claude on 07/05/2026
if(properties.getProperty(prefix+"log_test")!=null)this.log_test=Boolean.parseBoolean(properties.getProperty(prefix+"log_test"));// By Claude on 07/06/2026
if(properties.getProperty(prefix+"log_ident")!=null)this.log_ident=Boolean.parseBoolean(properties.getProperty(prefix+"log_ident"));// By Claude on 07/06/2026
if(properties.getProperty(prefix+"dbg_fpixels")!=null)this.dbg_fpixels=Boolean.parseBoolean(properties.getProperty(prefix+"dbg_fpixels"));// By Claude on 07/05/2026
if(properties.getProperty(prefix+"fz_inter")!=null)this.fz_inter=Double.parseDouble(properties.getProperty(prefix+"fz_inter"));// By Claude on 07/05/2026
if(properties.getProperty(prefix+"fz_intra")!=null)this.fz_intra=Double.parseDouble(properties.getProperty(prefix+"fz_intra"));// By Claude on 07/05/2026
...
...
@@ -522,6 +530,7 @@ public class CuasRtParameters {
cp.rend_test=this.rend_test;// By Claude on 07/05/2026
cp.log_test=this.log_test;// By Claude on 07/06/2026
cp.log_ident=this.log_ident;// By Claude on 07/06/2026
cp.show_kernels=this.show_kernels;
cp.dbg_fpixels=this.dbg_fpixels;// By Claude on 07/05/2026
cp.fz_inter=this.fz_inter;// By Claude on 07/05/2026
cp.fz_intra=this.fz_intra;// By Claude on 07/05/2026
clt_kernels[chn]=extractCLTKernels(// per color, save 4 kernelas and displacement as (2*dtt_size+1)*(2*dtt_size) tiles in an image (last row - shift x,y)
clt_kernels[chn]=extractCLTKernels(// per color, save 4 kernels and displacement as (2*dtt_size+1)*(2*dtt_size) tiles in an image (last row - shift x,y)
flat_kernels,// per color/per tileY/ per tileX/per quadrant (plus offset as 5-th)/per pixel