diff --git a/dev/windows-cpu/crash_dump.log b/dev/windows-cpu/crash_dump.log
new file mode 100644
index 0000000..e69de29
diff --git a/dev/windows-cpu/index.html b/dev/windows-cpu/index.html
new file mode 100644
index 0000000..8aed951
--- /dev/null
+++ b/dev/windows-cpu/index.html
@@ -0,0 +1,1541 @@
+
+
+
+
+
+ PozzettiAndrea/ComfyUI-GaussianPack - Test Results
+
+
+
+
+
+
+
+
+
+
+
+ 1 passed
+
+ 1/1 tests
+
+
+
+
+
+
+
+
+

+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
![]()
+
+
+
+
Resource Usage
+
+
+ RAM (GB)
+ VRAM (GB)
+
+
+
+
+
+
+
+
+
![]()
+
+
+
+
+
+
+
diff --git a/dev/windows-cpu/logs/merge_splats.log b/dev/windows-cpu/logs/merge_splats.log
new file mode 100644
index 0000000..e01cb04
--- /dev/null
+++ b/dev/windows-cpu/logs/merge_splats.log
@@ -0,0 +1,150 @@
+Capturing execution frames: merge_splats.json
+ Frame 1 saved (frame_000.jpg, t=0.0s)
+ Validating workflow...
+ [ComfyUI] === /validate endpoint called ===
+ [ComfyUI] Received JSON with keys: ['prompt']
+ [ComfyUI] Prompt has 4 nodes
+ [ComfyUI] Node 1: LoadPLY
+ [ComfyUI] Inputs: {"ply_file": "apple.ply"}
+ [ComfyUI] Node 2: PreviewGaussians
+ Queuing workflow for execution...
+ [ComfyUI] Inputs: {"fov_degrees": 50, "image_width": 512, "image_height": 512, "renderer": "spark", "transport_format": "ply", "ply_path": ["1", 0]}
+ [ComfyUI] Node 3: GaussianMerge
+ [ComfyUI] Inputs: {"target_count": 100000, "output_filename": "merged", "opacity_threshold": 0, "k": 24, "ply_path": ["1", 0]}
+ [ComfyUI] Node 4: PreviewGaussians
+ [ComfyUI] Inputs: {"fov_degrees": 50, "image_width": 512, "image_height": 512, "renderer": "spark", "transport_format": "ply", "ply_path": ["3", 0]}
+ [ComfyUI] Generated prompt_id: 04b382ba-8864-4fca-8f15-db25eba359f2
+ [ComfyUI] Calling execution.validate_prompt()...
+ [ComfyUI] Validation result: valid=True
+ [ComfyUI] === Validation PASSED ===
+ [ComfyUI] got prompt
+ [ComfyUI] LoadPLY: apple.ply -> D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\GaussianPack-1807\ComfyUI\input\apple.ply
+ [ComfyUI] GaussianMerge: 200000 -> 100000 splats (ratio=0.5000) via NanoGS MPMM on D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\GaussianPack-1807\ComfyUI\input\apple.ply
+ Node executed (1 total), capturing...
+ Frame 2 saved (frame_001.jpg, t=0.5s)
+ [capture-node] freeze=124ms shot=167ms unfreeze=4ms saved=True
+ Frame 3 saved (frame_002.jpg, t=3.9s)
+ [capture-periodic] freeze=2037ms shot=2124ms unfreeze=2ms saved=True
+ [ComfyUI] Loading PLY: D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\GaussianPack-1807\ComfyUI\input\apple.ply
+ [ComfyUI] Initial splats: 200000
+ [ComfyUI] Pruned splats: 200000, target: 100000
+ [ComfyUI] Opacity Mean: 0.53443545 Median: 0.48362076
+ [ComfyUI] Pruning splats with opacity below 0.0000
+ [ComfyUI] Original count: 200000, after opacity pruning: 200000
+ [ComfyUI] After opacity pruning, 200000 splats remain.
+ [ComfyUI]
+ [ComfyUI] Pass 1: 200000 splats
+ [ComfyUI] Edge costs: 0%| | 0/27 [00:00, ?it/s]
+ [ComfyUI] Edge costs: 4%|3 | 1/27 [00:00<00:24, 1.06it/s]
+ [ComfyUI] Edge costs: 7%|7 | 2/27 [00:02<00:25, 1.03s/it]
+ [ComfyUI] Edge costs: 11%|#1 | 3/27 [00:03<00:26, 1.11s/it]
+ [ComfyUI] Edge costs: 15%|#4 | 4/27 [00:04<00:28, 1.22s/it]
+ [ComfyUI] Edge costs: 19%|#8 | 5/27 [00:05<00:27, 1.26s/it]
+ [ComfyUI] Edge costs: 22%|##2 | 6/27 [00:07<00:28, 1.34s/it]
+ [ComfyUI] Edge costs: 26%|##5 | 7/27 [00:08<00:27, 1.37s/it]
+ [ComfyUI] Edge costs: 30%|##9 | 8/27 [00:09<00:22, 1.18s/it]
+ [ComfyUI] Edge costs: 33%|###3 | 9/27 [00:10<00:20, 1.17s/it]
+ [ComfyUI] Edge costs: 37%|###7 | 10/27 [00:12<00:22, 1.30s/it]
+ [ComfyUI] Edge costs: 41%|#### | 11/27 [00:13<00:21, 1.34s/it]
+ [ComfyUI] Edge costs: 44%|####4 | 12/27 [00:15<00:20, 1.39s/it]
+ [ComfyUI] Edge costs: 48%|####8 | 13/27 [00:16<00:19, 1.41s/it]
+ [ComfyUI] Edge costs: 52%|#####1 | 14/27 [00:17<00:15, 1.21s/it]
+ [ComfyUI] Edge costs: 56%|#####5 | 15/27 [00:18<00:15, 1.29s/it]
+ [ComfyUI] Edge costs: 59%|#####9 | 16/27 [00:20<00:14, 1.35s/it]
+ [ComfyUI] Edge costs: 63%|######2 | 17/27 [00:21<00:13, 1.37s/it]
+ [ComfyUI] Edge costs: 67%|######6 | 18/27 [00:23<00:12, 1.38s/it]
+ [ComfyUI] Edge costs: 70%|####### | 19/27 [00:24<00:09, 1.19s/it]
+ [ComfyUI] Edge costs: 74%|#######4 | 20/27 [00:25<00:08, 1.16s/it]
+ [ComfyUI] Edge costs: 78%|#######7 | 21/27 [00:28<00:10, 1.73s/it]
+ [ComfyUI] Edge costs: 81%|########1 | 22/27 [00:31<00:10, 2.18s/it]
+ [ComfyUI] Edge costs: 85%|########5 | 23/27 [00:32<00:07, 1.94s/it]
+ [ComfyUI] Edge costs: 89%|########8 | 24/27 [00:35<00:06, 2.08s/it]
+ Frame 4 saved (frame_003.jpg, t=76.1s)
+ [capture-periodic] freeze=2098ms shot=2169ms unfreeze=4ms saved=True
+ [ComfyUI] Edge costs: 93%|#########2| 25/27 [00:37<00:04, 2.28s/it]
+ [ComfyUI] Edge costs: 96%|#########6| 26/27 [00:39<00:02, 2.07s/it]
+ [ComfyUI] Edge costs: 100%|##########| 27/27 [00:42<00:00, 2.48s/it]
+ Frame 5 saved (frame_004.jpg, t=84.5s)
+ [capture-periodic] freeze=2083ms shot=2209ms unfreeze=5ms saved=True
+ Frame 6 saved (frame_005.jpg, t=105.5s)
+ [capture-periodic] freeze=1989ms shot=2198ms unfreeze=5ms saved=True
+ Frame 7 saved (frame_006.jpg, t=112.9s)
+ [capture-periodic] freeze=1592ms shot=1555ms unfreeze=7ms saved=True
+ Frame 8 saved (frame_007.jpg, t=133.1s)
+ [capture-periodic] freeze=1847ms shot=2185ms unfreeze=4ms saved=True
+ Frame 9 saved (frame_008.jpg, t=141.3s)
+ [capture-periodic] freeze=2061ms shot=2184ms unfreeze=5ms saved=True
+ [capture-loop] iter=50 t=220.4s state={'complete': False, 'error': None, 'executedCount': 1, 'wsState': 1} eval_ms=6869 ram=4.4/16.0GB (27%) swap=0.4/2.9GB (15%) cpu=92% browser_rss=0.52GB
+ Frame 10 saved (frame_009.jpg, t=242.5s)
+ [capture-periodic] freeze=2055ms shot=2183ms unfreeze=6ms saved=True
+ [ComfyUI] Edge costs: 100%|##########| 27/27 [00:42<00:00, 1.59s/it]
+ [ComfyUI] edges: 2697139, pairs: 97792 (need 100000)
+ [ComfyUI] Merging 97792 pairs
+ [ComfyUI] Pass 2: 102208 splats
+ [ComfyUI]
+ Frame 11 saved (frame_010.jpg, t=250.8s)
+ [capture-periodic] freeze=2069ms shot=2190ms unfreeze=4ms saved=True
+ [ComfyUI] Edge costs: 0%| | 0/14 [00:00, ?it/s]
+ [ComfyUI] Edge costs: 7%|7 | 1/14 [00:05<01:08, 5.24s/it]
+ [ComfyUI] Edge costs: 14%|#4 | 2/14 [00:11<01:10, 5.87s/it]
+ [ComfyUI] Edge costs: 21%|##1 | 3/14 [00:16<00:58, 5.30s/it]
+ [ComfyUI] Edge costs: 29%|##8 | 4/14 [00:19<00:46, 4.60s/it]
+ Frame 12 saved (frame_011.jpg, t=271.9s)
+ [capture-periodic] freeze=2149ms shot=2137ms unfreeze=4ms saved=True
+ [ComfyUI] Edge costs: 36%|###5 | 5/14 [00:24<00:41, 4.58s/it]
+ Frame 13 saved (frame_012.jpg, t=280.3s)
+ [capture-periodic] freeze=2045ms shot=2192ms unfreeze=4ms saved=True
+ [ComfyUI] Edge costs: 43%|####2 | 6/14 [00:30<00:41, 5.13s/it]
+ [ComfyUI] Edge costs: 50%|##### | 7/14 [00:34<00:34, 4.88s/it]
+ [ComfyUI] Edge costs: 57%|#####7 | 8/14 [00:40<00:31, 5.29s/it]
+ Frame 14 saved (frame_013.jpg, t=295.0s)
+ [capture-periodic] freeze=2071ms shot=2211ms unfreeze=5ms saved=True
+ [ComfyUI] Edge costs: 64%|######4 | 9/14 [00:45<00:24, 4.93s/it]
+ [ComfyUI] Edge costs: 71%|#######1 | 10/14 [00:49<00:19, 4.84s/it]
+ Frame 15 saved (frame_014.jpg, t=303.4s)
+ [capture-periodic] freeze=2074ms shot=2208ms unfreeze=4ms saved=True
+ [ComfyUI] Edge costs: 79%|#######8 | 11/14 [00:55<00:15, 5.18s/it]
+ [ComfyUI] Edge costs: 86%|########5 | 12/14 [01:00<00:10, 5.07s/it]
+ [ComfyUI] Edge costs: 93%|#########2| 13/14 [01:04<00:04, 4.73s/it]
+ [ComfyUI] Edge costs: 100%|##########| 14/14 [01:06<00:00, 3.81s/it]
+ Frame 16 saved (frame_015.jpg, t=318.1s)
+ [capture-periodic] freeze=2063ms shot=2192ms unfreeze=5ms saved=True
+ Frame 17 saved (frame_016.jpg, t=326.5s)
+ [capture-periodic] freeze=2101ms shot=2206ms unfreeze=5ms saved=True
+ Frame 18 saved (frame_017.jpg, t=354.1s)
+ [capture-periodic] freeze=2085ms shot=2209ms unfreeze=5ms saved=True
+ Frame 19 saved (frame_018.jpg, t=362.6s)
+ [capture-periodic] freeze=2072ms shot=2206ms unfreeze=13ms saved=True
+ Frame 20 saved (frame_019.jpg, t=377.3s)
+ [capture-periodic] freeze=2055ms shot=2204ms unfreeze=4ms saved=True
+ Frame 21 saved (frame_020.jpg, t=387.5s)
+ [capture-periodic] freeze=2453ms shot=2235ms unfreeze=18ms saved=True
+ Frame 22 saved (frame_021.jpg, t=409.0s)
+ [capture-periodic] freeze=2077ms shot=2243ms unfreeze=6ms saved=True
+ Frame 23 saved (frame_022.jpg, t=417.4s)
+ [capture-periodic] freeze=1975ms shot=2120ms unfreeze=5ms saved=True
+ [ComfyUI] Edge costs: 100%|##########| 14/14 [01:06<00:00, 4.73s/it]
+ [ComfyUI] GaussianMerge: wrote D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\GaussianPack-1807\ComfyUI\output\merged.ply (100000 splats, 23.7 MB)
+ [ComfyUI] Prompt executed in 439.52 seconds
+ Frame 24 saved (frame_023.jpg, t=438.1s)
+ [capture-periodic] freeze=2053ms shot=2262ms unfreeze=38ms saved=True
+ Node executed (2 total), capturing...
+ Frame 25 saved (frame_024.jpg, t=444.6s)
+ [capture-node] freeze=1819ms shot=2127ms unfreeze=0ms saved=True
+ Execution complete (t=444.6s)
+ [3d-wait] Phase 1: Waiting for 'Loading 3D Model' text to disappear...
+ [3d-wait] Phase 1 done in 0.0s
+ [3d-wait] Phase 2: iframes=2
+ [3d-wait] iframe viewer_ready=True (matched 2 console logs)
+ [3d-wait] Unfrozen in 0.003s, rendering for 5s...
+ [3d-wait] JS halted via CDP after 6.7s
+ [3d-wait] Re-frozen in 12.1s
+ [3d-wait] Total 3D wait: 12.1s
+ Captured 25 unique frames over 460.67s
+ [debug] iframes: 2
+ [debug] iframe[0]: src=http://127.0.0.1:41887/extensions/ComfyUI-GaussianPack/viewer_gaussian.html?v=17, canvas=486x223, rafFrozen=True
+ [debug] iframe[1]: src=http://127.0.0.1:41887/extensions/ComfyUI-GaussianPack/viewer_gaussian.html?v=17, canvas=486x223, rafFrozen=True
+ [timing] trigger_3d_previews: 0.0s
+ Saved high-quality screenshot: merge_splats_executed.png
+ [timing] final_screenshot: 0.3s
+ Captured 26 video frames
\ No newline at end of file
diff --git a/dev/windows-cpu/logs/merge_splats_console.log b/dev/windows-cpu/logs/merge_splats_console.log
new file mode 100644
index 0000000..6a37327
--- /dev/null
+++ b/dev/windows-cpu/logs/merge_splats_console.log
@@ -0,0 +1,87 @@
+[Console-error] Failed to load resource: the server responded with a status of 404 (Not Found)
+[Console-error] Failed to load resource: the server responded with a status of 404 (Not Found)
+[Console-warning] [ComfyUI] The legacy queue/history menu is deprecated. Core functionality in this menu may break at any time. Issues and feature requests related to the legacy menu will not be addressed. To switch to the new menu: Settings → search "Use new menu" → change from "Disabled" to "Top".
+[Console-warning] [ComfyUI] The legacy queue/history menu is deprecated. Core functionality in this menu may break at any time. Issues and feature requests related to the legacy menu will not be addressed. To switch to the new menu: Settings → search "Use new menu" → change from "Disabled" to "Top".
+[Console-error] Failed to load resource: the server responded with a status of 404 (Not Found)
+[Console-error] ComfyApp graph accessed before initialization
+[Console-error] Failed to load resource: the server responded with a status of 404 (Not Found)
+[Console-error] Failed to load resource: the server responded with a status of 404 (Not Found)
+[Console-error] Failed to load resource: the server responded with a status of 404 (Not Found)
+[Console-error] [vite:preloadError] {url: null, fileType: unknown, chunkName: null, message: Failed to resolve module specifier "three". Relati…ences must start with either "/", "./", or "../".}
+[Console-warning] THREE.WARNING: Multiple instances of Three.js being imported.
+[Console-error] [vite:preloadError] {url: null, fileType: unknown, chunkName: null, message: Failed to resolve module specifier "playcanvas". R…ences must start with either "/", "./", or "../".}
+[Console-error] [vite:preloadError] {url: null, fileType: unknown, chunkName: null, message: Failed to resolve module specifier "three". Relati…ences must start with either "/", "./", or "../".}
+[Console-error] [vite:preloadError] {url: null, fileType: unknown, chunkName: null, message: Failed to resolve module specifier "playcanvas". R…ences must start with either "/", "./", or "../".}
+[Console-log] [GaussianPack] Loading extension...
+[Console-error] [vite:preloadError] {url: null, fileType: unknown, chunkName: null, message: Failed to resolve module specifier "three". Relati…ences must start with either "/", "./", or "../".}
+[Console-error] [vite:preloadError] {url: null, fileType: unknown, chunkName: null, message: Failed to resolve module specifier "playcanvas". R…ences must start with either "/", "./", or "../".}
+[Console-warning] [MaskEditor] ComfyApp.open_maskeditor is deprecated. Plugins should migrate to using the command system or direct node context menu integration.
+[Console-log] [GaussianPack] Registering Preview Gaussians node
+[Console-log] [GaussianViewer] Ready — waiting for LOAD_MESH_DATA
+[Console-log] [GaussianViewer] Ready — waiting for LOAD_MESH_DATA
+[Console-log] [comfy-test] graphToPrompt: 4 nodes, missing class_type: [], sample: {"inputs":{"ply_file":"apple.ply"},"class_type":"LoadPLY","_meta":{"title":"Load PLY"}}
+[Console-log] [GaussianPack] onExecuted called with: {ply_file: Array(1), filename: Array(1), ply_type: Array(1), ply_subfolder: Array(1), file_size_mb: Array(1)}
+[Console-log] [GaussianPack] Resized node to: 512 x 572 (aspect ratio: 1.00 )
+[Console-log] [GaussianPack] fetch start: /view?filename=apple.ply&type=input&subfolder=
+[Console-log] [GaussianPack] fetch response 200; content-length=49601531
+[Console-log] [GaussianPack] download 20% 9.6/47.3 MB
+[Console-log] [GaussianPack] download 25% 11.9/47.3 MB
+[Console-log] [GaussianPack] download 30% 14.3/47.3 MB
+[Console-log] [GaussianPack] download 40% 19.0/47.3 MB
+[Console-log] [GaussianPack] download 50% 24.0/47.3 MB
+[Console-log] [GaussianPack] download 60% 28.8/47.3 MB
+[Console-log] [GaussianPack] download 75% 35.6/47.3 MB
+[Console-log] [GaussianPack] download 80% 38.0/47.3 MB
+[Console-log] [GaussianPack] download 90% 42.9/47.3 MB
+[Console-log] [GaussianPack] download 95% 45.2/47.3 MB
+[Console-log] [GaussianPack] download 100% 47.3/47.3 MB
+[Console-log] [GaussianPack] fetch done: 49601531 bytes in 239 ms (197.8 MB/s)
+[Console-log] [GaussianPack] posting LOAD_MESH_DATA to iframe, renderer: spark filename: apple.ply
+[Console-log] [GaussianViewer] Received LOAD_MESH_DATA, size: 49601531 renderer: spark
+[Console-log] [GaussianViewer] ensureRenderer('spark') starting...
+[Console-log] [Spark] init: canvas client=486x223 dpr=1.00
+[Console-warning] THREE.Clock: This module has been deprecated. Please use THREE.Timer instead.
+[Console-log] [Spark] first frame rendered.
+[Console-log] [GaussianViewer] Adapter ready: spark
+[Console-log] [GaussianViewer] Loading splat (49,601,531 bytes) via spark...
+[Console-log] [Spark] new SplatMesh url=apple.ply
+[Console-warning] [.WebGL-0x363c03d15200]GL Driver Message (OpenGL, Performance, GL_CLOSE_PATH_NV, High): GPU stall due to ReadPixels
+[Console-warning] [.WebGL-0x363c03d15200]GL Driver Message (OpenGL, Performance, GL_CLOSE_PATH_NV, High): GPU stall due to ReadPixels
+[Console-warning] [.WebGL-0x363c03d15200]GL Driver Message (OpenGL, Performance, GL_CLOSE_PATH_NV, High): GPU stall due to ReadPixels
+[Console-warning] [.WebGL-0x363c03d15200]GL Driver Message (OpenGL, Performance, GL_CLOSE_PATH_NV, High): GPU stall due to ReadPixels (this message will no longer repeat)
+[Console-log] [Spark] parse 1%
+[Console-log] [Spark] parse 1%
+[Console-log] [Spark] parse 51%
+[Console-log] [Spark] parse 80%
+[Console-log] [Spark] parse 100%
+[Console-log] [Spark] loaded 200000 splats in 891 ms
+[Console-log] [GaussianViewer] adapter.loadSplat resolved in 892 ms
+[Console-log] [GaussianViewer] frameOnBounds: bounds center=(0.002, -0.005, -0.015) size=(1.808, 1.857, 1.969)
+[Console-log] [GaussianViewer] Framed: cam=(0.00, -0.01, -2.44) target=(0.00, -0.01, -0.02) maxExtent=1.97 radius=2.43 fov=50
+[Console-log] [GaussianViewer] Loaded successfully
+[Console-log] [GaussianPack] onExecuted called with: {ply_file: Array(1), filename: Array(1), ply_type: Array(1), ply_subfolder: Array(1), file_size_mb: Array(1)}
+[Console-log] [GaussianPack] Resized node to: 512 x 572 (aspect ratio: 1.00 )
+[Console-log] [GaussianPack] fetch start: /view?filename=merged.ply&type=output&subfolder=
+[Console-log] [GaussianPack] fetch response 200; content-length=24801531
+[Console-log] [GaussianPack] download 25% 6.0/23.7 MB
+[Console-log] [GaussianPack] download 50% 12.0/23.7 MB
+[Console-log] [GaussianPack] download 65% 15.6/23.7 MB
+[Console-log] [GaussianPack] download 80% 19.1/23.7 MB
+[Console-log] [GaussianPack] download 100% 23.7/23.7 MB
+[Console-log] [GaussianPack] fetch done: 24801531 bytes in 119 ms (199.1 MB/s)
+[Console-log] [GaussianPack] posting LOAD_MESH_DATA to iframe, renderer: spark filename: merged.ply
+[Console-log] [GaussianViewer] Received LOAD_MESH_DATA, size: 24801531 renderer: spark
+[Console-log] [GaussianViewer] ensureRenderer('spark') starting...
+[Console-log] [Spark] init: canvas client=486x223 dpr=1.00
+[Console-warning] THREE.Clock: This module has been deprecated. Please use THREE.Timer instead.
+[Console-log] [Spark] first frame rendered.
+[Console-log] [GaussianViewer] Adapter ready: spark
+[Console-log] [GaussianViewer] Loading splat (24,801,531 bytes) via spark...
+[Console-log] [Spark] new SplatMesh url=merged.ply
+[Console-log] [Spark] parse 51%
+[Console-log] [Spark] parse 100%
+[Console-log] [Spark] loaded 100000 splats in 4023 ms
+[Console-log] [GaussianViewer] adapter.loadSplat resolved in 4024 ms
+[Console-log] [GaussianViewer] frameOnBounds: bounds center=(0.001, -0.005, -0.015) size=(1.807, 1.857, 1.968)
+[Console-log] [GaussianViewer] Framed: cam=(0.00, -0.01, -2.44) target=(0.00, -0.01, -0.02) maxExtent=1.97 radius=2.43 fov=50
+[Console-log] [GaussianViewer] Loaded successfully
\ No newline at end of file
diff --git a/dev/windows-cpu/logs/merge_splats_resources.csv b/dev/windows-cpu/logs/merge_splats_resources.csv
new file mode 100644
index 0000000..4be551e
--- /dev/null
+++ b/dev/windows-cpu/logs/merge_splats_resources.csv
@@ -0,0 +1,362 @@
+# total_ram_gb=16.0
+t,ram_gb,vram_gb
+0.0,0.5,
+1.0,0.5,
+2.0,0.51,
+3.0,0.51,
+4.0,0.51,
+5.0,0.51,
+6.0,0.51,
+7.0,0.51,
+8.1,0.51,
+9.1,0.56,
+10.1,0.74,
+11.2,0.74,
+12.2,0.74,
+13.2,0.74,
+14.3,0.74,
+15.3,0.74,
+16.3,0.74,
+17.4,0.74,
+18.4,0.74,
+19.5,0.74,
+20.6,0.74,
+21.7,0.74,
+22.8,0.74,
+23.9,0.74,
+24.9,0.74,
+25.9,0.74,
+26.9,0.74,
+28.0,0.74,
+29.0,0.74,
+30.0,0.74,
+31.0,0.74,
+32.1,0.74,
+33.1,0.74,
+34.1,0.74,
+35.3,0.74,
+36.3,0.74,
+37.4,0.74,
+38.4,0.74,
+39.4,0.74,
+40.4,0.74,
+41.5,0.74,
+42.5,0.74,
+43.5,0.74,
+44.6,0.74,
+45.6,0.74,
+46.6,0.74,
+47.6,0.74,
+48.7,0.74,
+49.7,0.74,
+50.8,0.7,
+51.8,0.7,
+52.8,0.7,
+53.8,0.7,
+54.9,0.7,
+55.9,0.69,
+56.9,0.67,
+58.0,0.71,
+59.0,0.69,
+60.0,0.7,
+61.0,0.7,
+62.1,0.69,
+63.1,0.71,
+64.1,0.71,
+65.2,0.69,
+66.2,0.67,
+67.3,0.71,
+68.3,0.74,
+69.4,0.7,
+70.4,0.7,
+71.4,0.67,
+72.5,0.71,
+73.5,0.7,
+74.6,0.71,
+75.6,0.71,
+76.6,0.7,
+77.8,0.71,
+78.9,0.76,
+80.1,0.68,
+81.2,0.7,
+82.3,0.67,
+83.3,0.71,
+84.4,0.69,
+85.4,0.71,
+86.5,0.69,
+87.6,0.71,
+88.6,0.71,
+89.7,0.71,
+90.9,0.68,
+92.2,0.69,
+93.2,0.71,
+94.3,0.68,
+95.3,0.68,
+96.4,0.67,
+97.9,0.66,
+99.0,0.66,
+100.0,0.65,
+101.1,0.65,
+102.2,0.64,
+103.3,0.64,
+104.4,0.63,
+105.5,0.63,
+106.5,0.63,
+108.2,0.62,
+109.4,0.62,
+110.7,0.62,
+111.8,0.62,
+112.9,0.62,
+114.1,0.62,
+115.3,0.62,
+116.5,0.62,
+117.5,0.62,
+118.7,0.61,
+120.3,0.61,
+122.1,0.61,
+123.7,0.6,
+125.3,0.6,
+126.7,0.59,
+127.9,0.59,
+129.3,0.58,
+132.5,0.57,
+133.8,0.56,
+135.1,0.56,
+136.7,0.56,
+137.9,0.55,
+139.3,0.55,
+140.4,0.55,
+141.8,0.55,
+143.1,0.55,
+144.2,0.55,
+145.4,0.54,
+146.7,0.54,
+147.9,0.54,
+149.0,0.54,
+150.1,0.49,
+151.2,0.52,
+152.3,0.54,
+153.7,0.55,
+155.7,0.55,
+157.0,0.55,
+158.2,0.55,
+159.4,0.54,
+160.5,0.55,
+161.7,0.58,
+163.9,0.46,
+165.9,0.45,
+168.1,0.45,
+169.8,0.46,
+170.9,0.48,
+172.5,0.48,
+173.6,0.48,
+174.8,0.47,
+176.0,0.47,
+177.2,0.46,
+178.6,0.45,
+179.8,0.45,
+181.0,0.45,
+182.1,0.44,
+183.8,0.43,
+184.9,0.43,
+186.2,0.43,
+187.4,0.42,
+188.5,0.42,
+189.9,0.41,
+191.4,0.41,
+194.1,0.39,
+195.7,0.39,
+198.6,0.39,
+200.2,0.38,
+201.4,0.38,
+202.5,0.38,
+203.7,0.37,
+204.7,0.37,
+206.1,0.37,
+207.2,0.36,
+208.7,0.36,
+209.8,0.36,
+210.9,0.35,
+212.0,0.35,
+213.1,0.35,
+214.2,0.35,
+215.2,0.34,
+219.4,0.33,
+221.5,0.33,
+227.7,0.31,
+228.7,0.31,
+238.3,0.28,
+239.3,0.28,
+240.3,0.28,
+241.8,0.27,
+242.9,0.27,
+244.1,0.27,
+245.3,0.27,
+246.5,0.26,
+247.7,0.26,
+248.8,0.26,
+249.9,0.26,
+251.6,0.26,
+252.8,0.26,
+253.9,0.26,
+255.0,0.26,
+256.2,0.26,
+257.3,0.26,
+258.5,0.26,
+259.7,0.27,
+260.9,0.18,
+262.4,0.21,
+263.5,0.24,
+264.8,0.26,
+266.0,0.22,
+267.1,0.22,
+268.3,0.25,
+269.5,0.25,
+271.0,0.26,
+272.0,0.22,
+273.1,0.25,
+274.3,0.26,
+275.4,0.26,
+276.5,0.29,
+278.0,0.23,
+279.2,0.26,
+280.3,0.22,
+281.5,0.23,
+282.6,0.25,
+284.0,0.26,
+285.4,0.23,
+286.5,0.23,
+287.6,0.25,
+288.9,0.26,
+290.1,0.26,
+291.3,0.22,
+292.5,0.23,
+293.7,0.26,
+294.8,0.27,
+296.0,0.23,
+297.2,0.23,
+298.6,0.25,
+299.7,0.26,
+301.1,0.26,
+302.1,0.25,
+303.3,0.26,
+304.6,0.26,
+305.8,0.22,
+307.0,0.24,
+308.2,0.27,
+309.5,0.26,
+310.8,0.23,
+312.0,0.22,
+313.1,0.25,
+314.5,0.26,
+315.6,0.26,
+316.7,0.25,
+317.9,0.25,
+319.1,0.26,
+320.3,0.26,
+321.6,0.23,
+322.7,0.24,
+323.8,0.26,
+324.9,0.24,
+326.0,0.21,
+327.2,0.2,
+328.4,0.2,
+329.7,0.2,
+330.8,0.19,
+332.0,0.18,
+333.4,0.18,
+334.5,0.17,
+335.7,0.17,
+336.8,0.17,
+338.0,0.17,
+339.2,0.17,
+340.6,0.17,
+341.8,0.17,
+342.9,0.17,
+344.2,0.17,
+345.4,0.17,
+346.6,0.16,
+347.7,0.16,
+348.8,0.16,
+349.9,0.16,
+351.2,0.16,
+352.4,0.16,
+353.5,0.16,
+355.7,0.16,
+357.8,0.16,
+360.5,0.16,
+362.6,0.15,
+364.2,0.15,
+365.7,0.15,
+366.8,0.15,
+368.1,0.15,
+369.6,0.15,
+370.7,0.15,
+372.0,0.15,
+373.1,0.15,
+374.4,0.15,
+375.4,0.15,
+376.7,0.14,
+377.9,0.14,
+379.0,0.14,
+380.2,0.14,
+381.3,0.14,
+382.5,0.14,
+383.6,0.14,
+384.7,0.14,
+385.8,0.14,
+387.0,0.14,
+388.1,0.14,
+389.2,0.14,
+390.3,0.14,
+398.7,0.14,
+399.7,0.14,
+400.7,0.14,
+401.7,0.14,
+402.7,0.14,
+403.7,0.14,
+404.7,0.14,
+410.1,0.14,
+415.4,0.14,
+421.8,0.14,
+425.1,0.13,
+427.0,0.13,
+428.5,0.13,
+429.6,0.13,
+430.6,0.13,
+431.6,0.13,
+432.7,0.13,
+433.7,0.13,
+434.7,0.13,
+435.8,0.13,
+436.8,0.13,
+437.8,0.13,
+438.9,0.13,
+439.9,0.13,
+440.9,0.13,
+442.0,0.13,
+443.0,0.13,
+444.0,0.13,
+445.1,0.13,
+446.1,0.13,
+447.1,0.13,
+448.2,0.13,
+449.2,0.22,
+450.2,0.33,
+451.5,0.33,
+452.5,0.33,
+453.5,0.33,
+454.6,0.33,
+455.6,0.33,
+456.6,0.33,
+457.6,0.33,
+458.7,0.33,
+460.7,0.33,
+462.0,0.33,
+463.8,0.33,
+464.9,0.33,
+466.1,0.33,
+467.3,0.33,
+468.8,0.33,
+469.8,0.33,
+470.8,0.33,
diff --git a/dev/windows-cpu/results.json b/dev/windows-cpu/results.json
new file mode 100644
index 0000000..44137d4
--- /dev/null
+++ b/dev/windows-cpu/results.json
@@ -0,0 +1,36 @@
+{
+ "timestamp": "2026-05-16T18:17:09.396109+00:00",
+ "platform": "windows",
+ "hardware": {
+ "os": "Windows-2025Server-10.0.26100-SP0",
+ "cpu": "AMD64 Family 25 Model 1 Stepping 1, AuthenticAMD"
+ },
+ "commit_hash": "b8de26b68c86492ec5a22cb7d73b11a347f6f1d3",
+ "run_url": "https://github.com/PozzettiAndrea/comfy-gpu-ci/actions/runs/25969150202",
+ "success": true,
+ "summary": {
+ "total": 1,
+ "passed": 1,
+ "failed": 0
+ },
+ "workflows": [
+ {
+ "name": "merge_splats",
+ "status": "pass",
+ "duration_seconds": 471.54,
+ "error": null,
+ "hardware": {
+ "os": "Windows-2025Server-10.0.26100-SP0",
+ "cpu": "AMD64 Family 25 Model 1 Stepping 1, AuthenticAMD"
+ },
+ "resources": {
+ "ram": {
+ "peak": 0.76,
+ "avg": 0.41
+ },
+ "total_ram_gb": 16.0,
+ "samples": 360
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/dev/windows-cpu/screenshots/merge_splats_executed.png b/dev/windows-cpu/screenshots/merge_splats_executed.png
new file mode 100644
index 0000000..392ecdf
Binary files /dev/null and b/dev/windows-cpu/screenshots/merge_splats_executed.png differ
diff --git a/dev/windows-cpu/session.log b/dev/windows-cpu/session.log
new file mode 100644
index 0000000..ae531ff
--- /dev/null
+++ b/dev/windows-cpu/session.log
@@ -0,0 +1,323 @@
+[00:00] Crash dump logging enabled: D:\a\comfy-gpu-ci\comfy-gpu-ci\comfy-test-logs\GaussianPack-1807\dev\windows-cpu\crash_dump.log
+[00:00]
+[00:00] [1/5] SYNTAX
+[00:00] ----------------------------------------
+[00:00]
+[DEBUG] server=None, api=None
+[00:00] Found pyproject.toml (modern format)
+[00:00] Found requirements.txt (legacy format)
+[00:00] Unicode check: OK (all characters cp1252-safe)
+[00:00] Forbidden patterns check: OK
+[00:00] [SYNTAX] PASSED
+[00:00]
+[00:00] [2/5] INSTALL
+[00:00] ----------------------------------------
+[00:00]
+[DEBUG] server=None, api=None
+[00:00]
+Setting up ComfyUI...
+[00:00] Creating virtual environment at D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\GaussianPack-1807\.venv...
+[00:00] Running: uv venv D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\GaussianPack-1807\.venv --python 3.12
+[00:00] torch_version='2.10.0' -> pinning torch==2.10.0 torchvision==0.25.0 torchaudio==2.10.0
+[00:00] Cloning ComfyUI (latest) to D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\GaussianPack-1807\ComfyUI...
+[00:00] Running: git clone --depth 1 https://github.com/comfyanonymous/ComfyUI.git D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\GaussianPack-1807\ComfyUI
+[00:01] Pinning torch family from https://download.pytorch.org/whl/cpu: torch==2.10.0 torchvision==0.25.0 torchaudio==2.10.0
+[00:01] Running: uv pip install --python D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\GaussianPack-1807\.venv\Scripts\python.exe --index-url https://download.pytorch.org/whl/cpu --extra-index-url https://pypi.org/simple --index-strategy unsafe-best-match torch==2.10.0 torchvision==0.25.0 torchaudio==2.10.0
+[00:29] Installing ComfyUI requirements into D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\GaussianPack-1807\.venv...
+[00:29] comfyui-frontend-package==1.43.18
+[00:29] comfyui-workflow-templates==0.9.77
+[00:29] comfyui-embedded-docs==0.5.0
+[00:29] torch
+[00:29] torchsde
+[00:29] torchvision
+[00:29] torchaudio
+[00:29] numpy>=1.25.0
+[00:29] einops
+[00:29] transformers>=4.50.3
+[00:29] tokenizers>=0.13.3
+[00:29] sentencepiece
+[00:29] safetensors>=0.4.2
+[00:29] aiohttp>=3.11.8
+[00:29] yarl>=1.18.0
+[00:29] pyyaml
+[00:29] Pillow
+[00:29] scipy
+[00:29] tqdm
+[00:29] psutil
+[00:29] alembic
+[00:29] SQLAlchemy>=2.0.0
+[00:29] filelock
+[00:29] av>=14.2.0
+[00:29] comfy-kitchen>=0.2.8
+[00:29] comfy-aimdo==0.3.0
+[00:29] requests
+[00:29] simpleeval>=1.0.0
+[00:29] blake3
+[00:29]
+[00:29] #non essential dependencies:
+[00:29] kornia>=0.7.1
+[00:29] spandrel
+[00:29] pydantic~=2.0
+[00:29] pydantic-settings~=2.0
+[00:29] PyOpenGL
+[00:29] glfw
+[00:29] Running: uv pip install --python D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\GaussianPack-1807\.venv\Scripts\python.exe --index-url https://download.pytorch.org/whl/cpu --extra-index-url https://pypi.org/simple --index-strategy unsafe-best-match -r D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\GaussianPack-1807\ComfyUI\requirements.txt
+[01:00]
+Installing custom node...
+[01:00] Copying ComfyUI-GaussianPack to D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\GaussianPack-1807\ComfyUI\custom_nodes\ComfyUI-GaussianPack...
+[01:00] Installing node requirements...
+[01:00] plyfile
+[01:00] git+https://github.com/saliteta/NanoGS.git
+[01:00] Running: uv pip install --python D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\GaussianPack-1807\.venv\Scripts\python.exe --index-url https://download.pytorch.org/whl/cpu --extra-index-url https://pypi.org/simple --index-strategy unsafe-best-match -r D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\GaussianPack-1807\ComfyUI\custom_nodes\ComfyUI-GaussianPack\requirements.txt
+[01:05] Installing validation endpoint...
+[01:05] Cloning PozzettiAndrea/ComfyUI-validate-endpoint...
+[01:05] Running: git clone --depth 1 https://x-access-token:***@github.com/PozzettiAndrea/ComfyUI-validate-endpoint.git D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\GaussianPack-1807\ComfyUI\custom_nodes\ComfyUI-validate-endpoint
+[01:06] [INSTALL] PASSED
+[01:06]
+[01:06] [3/5] REGISTRATION
+[01:06] ----------------------------------------
+[01:06]
+[DEBUG] server=None, api=None
+[01:06]
+Starting ComfyUI server...
+[01:06] Starting ComfyUI server on port 41887...
+[01:06] Starting ComfyUI server on port 41887...
+[01:06] Waiting for server to be ready (timeout: 600s)...
+[01:08] [ComfyUI] setup plugin alembic.autogenerate.schemas
+[01:08] [ComfyUI] setup plugin alembic.autogenerate.tables
+[01:08] [ComfyUI] setup plugin alembic.autogenerate.types
+[01:08] [ComfyUI] setup plugin alembic.autogenerate.constraints
+[01:08] [ComfyUI] setup plugin alembic.autogenerate.defaults
+[01:08] [ComfyUI] setup plugin alembic.autogenerate.comments
+[01:08] [ComfyUI]
+[01:08] [ComfyUI] Prestartup times for custom nodes:
+[01:08] [ComfyUI] 0.0 seconds: D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\GaussianPack-1807\ComfyUI\custom_nodes\ComfyUI-GaussianPack
+[01:08] [ComfyUI]
+[01:16] [ComfyUI] Found comfy_kitchen backend eager: {'available': True, 'disabled': False, 'unavailable_reason': None, 'capabilities': ['apply_rope', 'apply_rope1', 'dequantize_mxfp8', 'dequantize_nvfp4', 'dequantize_per_tensor_fp8', 'quantize_mxfp8', 'quantize_nvfp4', 'quantize_per_tensor_fp8', 'scaled_mm_mxfp8', 'scaled_mm_nvfp4']}
+[01:16] [ComfyUI] Found comfy_kitchen backend triton: {'available': False, 'disabled': True, 'unavailable_reason': "ImportError: No module named 'triton'", 'capabilities': []}
+[01:16] [ComfyUI] Found comfy_kitchen backend cuda: {'available': False, 'disabled': True, 'unavailable_reason': 'CUDA not available on this system', 'capabilities': []}
+[01:16] [ComfyUI] Checkpoint files will always be loaded safely.
+[01:16] [ComfyUI] Total VRAM 16379 MB, total RAM 16379 MB
+[01:16] [ComfyUI] pytorch version: 2.10.0+cpu
+[01:16] [ComfyUI] Set vram state to: DISABLED
+[01:16] [ComfyUI] Device: cpu
+[01:17] [ComfyUI] Using sub quadratic optimization for attention, if you have memory or speed issues try using: --use-split-cross-attention
+[01:24] [ComfyUI] Python version: 3.12.10 (tags/v3.12.10:0cc8128, Apr 8 2025, 12:21:36) [MSC v.1943 64 bit (AMD64)]
+[01:24] [ComfyUI] ComfyUI version: 0.21.1
+[01:24] [ComfyUI] comfy-aimdo version: 0.3.0
+[01:24] [ComfyUI] comfy-kitchen version: 0.2.8
+[01:24] [ComfyUI] ****** User settings have been changed to be stored on the server instead of browser storage. ******
+[01:24] [ComfyUI] ****** For multi-user setups add the --multi-user CLI argument to enable multiple user profiles. ******
+[01:24] [ComfyUI] comfyui-frontend-package version: 1.43.18
+[01:24] [ComfyUI] comfyui-workflow-templates version: 0.9.77
+[01:24] [ComfyUI] comfyui-embedded-docs version: 0.5.0
+[01:24] [ComfyUI] comfy-kitchen version: 0.2.8
+[01:24] [ComfyUI] comfy-aimdo version: 0.3.0
+[01:24] [ComfyUI] [Prompt Server] web root: D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\GaussianPack-1807\.venv\Lib\site-packages\comfyui_frontend_package\static
+[01:24] [ComfyUI] Asset seeder disabled
+[01:27] [ComfyUI] loading...
+[01:27] [ComfyUI]
+[01:27] [ComfyUI] Import times for custom nodes:
+[01:27] [ComfyUI] 0.0 seconds: D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\GaussianPack-1807\ComfyUI\custom_nodes\websocket_image_save.py
+[01:27] [ComfyUI] 0.0 seconds: D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\GaussianPack-1807\ComfyUI\custom_nodes\ComfyUI-validate-endpoint
+[01:27] [ComfyUI] 0.0 seconds: D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\GaussianPack-1807\ComfyUI\custom_nodes\ComfyUI-GaussianPack
+[01:27] [ComfyUI]
+[01:27] [ComfyUI] Context impl SQLiteImpl.
+[01:27] [ComfyUI] Will assume non-transactional DDL.
+[01:27] [ComfyUI] Context impl SQLiteImpl.
+[01:27] [ComfyUI] Will assume non-transactional DDL.
+[01:27] [ComfyUI] Running upgrade -> 0001_assets, Initial assets schema
+[01:27] [ComfyUI] Revision ID: 0001_assets
+[01:27] [ComfyUI] Revises: None
+[01:27] [ComfyUI] Create Date: 2025-12-10 00:00:00
+[01:27] [ComfyUI] Running upgrade 0001_assets -> 0002_merge_to_asset_references, Merge AssetInfo and AssetCacheState into unified asset_references table.
+[01:27] [ComfyUI] Running upgrade 0002_merge_to_asset_references -> 0003_add_metadata_job_id, Add system_metadata and job_id columns to asset_references.
+[01:27] [ComfyUI] Change preview_id FK from assets.id to asset_references.id.
+[01:27] [ComfyUI] Database upgraded from None to 0003_add_metadata_job_id
+[01:27] [ComfyUI] Starting server
+[01:27] [ComfyUI]
+[01:27] [ComfyUI] To see the GUI go to: http://127.0.0.1:41887
+[01:28] Server responding, waiting for nodes to load...
+[01:48] Server is ready!
+[01:48] Checking for import errors in server logs...
+[01:48] No import errors detected
+[01:48] Found 726 registered nodes
+[01:48] [REGISTRATION] PASSED
+[01:48]
+[01:48] [4/5] INSTANTIATION
+[01:48] ----------------------------------------
+[01:48]
+[DEBUG] server=, api=
+[01:48] Testing node constructors...
+[01:51] All 5 node(s) instantiated successfully!
+[01:51] [INSTANTIATION] PASSED
+[01:51]
+[01:51] [5/5] EXECUTION
+[01:51] ----------------------------------------
+[01:51]
+[DEBUG] server=, api=
+[01:51] CPU runner - will execute 1 workflow(s)
+[01:51] Running 1 workflow(s) (all with videos)...
+[01:51] Installing screenshot dependencies (playwright, pillow)...
+[01:54] Packages installed, downloading chromium browser...
+[02:08] Screenshot dependencies installed successfully
+[02:09] Starting headless browser...
+[02:09] Downloading Mesa llvmpipe for Windows...
+[02:13] Copied opengl32.dll to Chromium dir
+[02:13] Copied libgallium_wgl.dll to Chromium dir
+[02:13] Using Mesa llvmpipe (desktop GL) -- multithreaded CPU rendering
+[02:13] Capturing execution frames: merge_splats.json
+[02:22] Frame 1 saved (frame_000.jpg, t=0.0s)
+[02:22] Validating workflow...
+[02:22] [ComfyUI] === /validate endpoint called ===
+[02:22] [ComfyUI] Received JSON with keys: ['prompt']
+[02:22] [ComfyUI] Prompt has 4 nodes
+[02:22] [ComfyUI] Node 1: LoadPLY
+[02:22] [ComfyUI] Inputs: {"ply_file": "apple.ply"}
+[02:22] [ComfyUI] Node 2: PreviewGaussians
+[02:22] [ComfyUI] Inputs: {"fov_degrees": 50, "image_width": 512, "image_height": 512, "renderer": "spark", "transport_format": "ply", "ply_path": ["1", 0]}
+[02:22] Queuing workflow for execution...
+[02:22] [ComfyUI] Node 3: GaussianMerge
+[02:22] [ComfyUI] Inputs: {"target_count": 100000, "output_filename": "merged", "opacity_threshold": 0, "k": 24, "ply_path": ["1", 0]}
+[02:22] [ComfyUI] Node 4: PreviewGaussians
+[02:22] [ComfyUI] Inputs: {"fov_degrees": 50, "image_width": 512, "image_height": 512, "renderer": "spark", "transport_format": "ply", "ply_path": ["3", 0]}
+[02:22] [ComfyUI] Generated prompt_id: 04b382ba-8864-4fca-8f15-db25eba359f2
+[02:22] [ComfyUI] Calling execution.validate_prompt()...
+[02:22] [ComfyUI] Validation result: valid=True
+[02:22] [ComfyUI] === Validation PASSED ===
+[02:22] [ComfyUI] got prompt
+[02:22] [ComfyUI] LoadPLY: apple.ply -> D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\GaussianPack-1807\ComfyUI\input\apple.ply
+[02:22] [ComfyUI] GaussianMerge: 200000 -> 100000 splats (ratio=0.5000) via NanoGS MPMM on D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\GaussianPack-1807\ComfyUI\input\apple.ply
+[02:22] Node executed (1 total), capturing...
+[02:23] Frame 2 saved (frame_001.jpg, t=0.5s)
+[02:23] [capture-node] freeze=124ms shot=167ms unfreeze=4ms saved=True
+[02:30] Frame 3 saved (frame_002.jpg, t=3.9s)
+[02:30] [capture-periodic] freeze=2037ms shot=2124ms unfreeze=2ms saved=True
+[03:04] [ComfyUI] Loading PLY: D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\GaussianPack-1807\ComfyUI\input\apple.ply
+[03:04] [ComfyUI] Initial splats: 200000
+[03:04] [ComfyUI] Pruned splats: 200000, target: 100000
+[03:04] [ComfyUI] Opacity Mean: 0.53443545 Median: 0.48362076
+[03:04] [ComfyUI] Pruning splats with opacity below 0.0000
+[03:04] [ComfyUI] Original count: 200000, after opacity pruning: 200000
+[03:04] [ComfyUI] After opacity pruning, 200000 splats remain.
+[03:04] [ComfyUI]
+[03:04] [ComfyUI] Pass 1: 200000 splats
+[03:05] [ComfyUI] Edge costs: 0%| | 0/27 [00:00, ?it/s]
+[03:06] [ComfyUI] Edge costs: 4%|3 | 1/27 [00:00<00:24, 1.06it/s]
+[03:07] [ComfyUI] Edge costs: 7%|7 | 2/27 [00:02<00:25, 1.03s/it]
+[03:09] [ComfyUI] Edge costs: 11%|#1 | 3/27 [00:03<00:26, 1.11s/it]
+[03:10] [ComfyUI] Edge costs: 15%|#4 | 4/27 [00:04<00:28, 1.22s/it]
+[03:12] [ComfyUI] Edge costs: 19%|#8 | 5/27 [00:05<00:27, 1.26s/it]
+[03:13] [ComfyUI] Edge costs: 22%|##2 | 6/27 [00:07<00:28, 1.34s/it]
+[03:14] [ComfyUI] Edge costs: 26%|##5 | 7/27 [00:08<00:27, 1.37s/it]
+[03:15] [ComfyUI] Edge costs: 30%|##9 | 8/27 [00:09<00:22, 1.18s/it]
+[03:17] [ComfyUI] Edge costs: 33%|###3 | 9/27 [00:10<00:20, 1.17s/it]
+[03:18] [ComfyUI] Edge costs: 37%|###7 | 10/27 [00:12<00:22, 1.30s/it]
+[03:20] [ComfyUI] Edge costs: 41%|#### | 11/27 [00:13<00:21, 1.34s/it]
+[03:21] [ComfyUI] Edge costs: 44%|####4 | 12/27 [00:15<00:20, 1.39s/it]
+[03:22] [ComfyUI] Edge costs: 48%|####8 | 13/27 [00:16<00:19, 1.41s/it]
+[03:23] [ComfyUI] Edge costs: 52%|#####1 | 14/27 [00:17<00:15, 1.21s/it]
+[03:25] [ComfyUI] Edge costs: 56%|#####5 | 15/27 [00:18<00:15, 1.29s/it]
+[03:26] [ComfyUI] Edge costs: 59%|#####9 | 16/27 [00:20<00:14, 1.35s/it]
+[03:28] [ComfyUI] Edge costs: 63%|######2 | 17/27 [00:21<00:13, 1.37s/it]
+[03:28] [ComfyUI] Edge costs: 67%|######6 | 18/27 [00:23<00:12, 1.38s/it]
+[03:29] [ComfyUI] Edge costs: 70%|####### | 19/27 [00:24<00:09, 1.19s/it]
+[03:32] [ComfyUI] Edge costs: 74%|#######4 | 20/27 [00:25<00:08, 1.16s/it]
+[03:36] [ComfyUI] Edge costs: 78%|#######7 | 21/27 [00:28<00:10, 1.73s/it]
+[03:37] [ComfyUI] Edge costs: 81%|########1 | 22/27 [00:31<00:10, 2.18s/it]
+[03:39] [ComfyUI] Edge costs: 85%|########5 | 23/27 [00:32<00:07, 1.94s/it]
+[03:42] [ComfyUI] Edge costs: 89%|########8 | 24/27 [00:35<00:06, 2.08s/it]
+[03:42] Frame 4 saved (frame_003.jpg, t=76.1s)
+[03:42] [capture-periodic] freeze=2098ms shot=2169ms unfreeze=4ms saved=True
+[03:44] [ComfyUI] Edge costs: 93%|#########2| 25/27 [00:37<00:04, 2.28s/it]
+[03:47] [ComfyUI] Edge costs: 96%|#########6| 26/27 [00:39<00:02, 2.07s/it]
+[03:47] [ComfyUI] Edge costs: 100%|##########| 27/27 [00:42<00:00, 2.48s/it]
+[03:51] Frame 5 saved (frame_004.jpg, t=84.5s)
+[03:51] [capture-periodic] freeze=2083ms shot=2209ms unfreeze=5ms saved=True
+[04:12] Frame 6 saved (frame_005.jpg, t=105.5s)
+[04:12] [capture-periodic] freeze=1989ms shot=2198ms unfreeze=5ms saved=True
+[04:18] Frame 7 saved (frame_006.jpg, t=112.9s)
+[04:18] [capture-periodic] freeze=1592ms shot=1555ms unfreeze=7ms saved=True
+[04:40] Frame 8 saved (frame_007.jpg, t=133.1s)
+[04:40] [capture-periodic] freeze=1847ms shot=2185ms unfreeze=4ms saved=True
+[04:48] Frame 9 saved (frame_008.jpg, t=141.3s)
+[04:48] [capture-periodic] freeze=2061ms shot=2184ms unfreeze=5ms saved=True
+[06:12] [capture-loop] iter=50 t=220.4s state={'complete': False, 'error': None, 'executedCount': 1, 'wsState': 1} eval_ms=6869 ram=4.4/16.0GB (27%) swap=0.4/2.9GB (15%) cpu=92% browser_rss=0.52GB
+[06:29] Frame 10 saved (frame_009.jpg, t=242.5s)
+[06:29] [capture-periodic] freeze=2055ms shot=2183ms unfreeze=6ms saved=True
+[06:34] [ComfyUI] Edge costs: 100%|##########| 27/27 [00:42<00:00, 1.59s/it]
+[06:34] [ComfyUI] edges: 2697139, pairs: 97792 (need 100000)
+[06:34] [ComfyUI] Merging 97792 pairs
+[06:34] [ComfyUI] Pass 2: 102208 splats
+[06:34] [ComfyUI]
+[06:37] Frame 11 saved (frame_010.jpg, t=250.8s)
+[06:37] [capture-periodic] freeze=2069ms shot=2190ms unfreeze=4ms saved=True
+[06:39] [ComfyUI] Edge costs: 0%| | 0/14 [00:00, ?it/s]
+[06:45] [ComfyUI] Edge costs: 7%|7 | 1/14 [00:05<01:08, 5.24s/it]
+[06:50] [ComfyUI] Edge costs: 14%|#4 | 2/14 [00:11<01:10, 5.87s/it]
+[06:54] [ComfyUI] Edge costs: 21%|##1 | 3/14 [00:16<00:58, 5.30s/it]
+[06:58] [ComfyUI] Edge costs: 29%|##8 | 4/14 [00:19<00:46, 4.60s/it]
+[06:58] Frame 12 saved (frame_011.jpg, t=271.9s)
+[06:58] [capture-periodic] freeze=2149ms shot=2137ms unfreeze=4ms saved=True
+[07:04] [ComfyUI] Edge costs: 36%|###5 | 5/14 [00:24<00:41, 4.58s/it]
+[07:07] Frame 13 saved (frame_012.jpg, t=280.3s)
+[07:07] [capture-periodic] freeze=2045ms shot=2192ms unfreeze=4ms saved=True
+[07:09] [ComfyUI] Edge costs: 43%|####2 | 6/14 [00:30<00:41, 5.13s/it]
+[07:15] [ComfyUI] Edge costs: 50%|##### | 7/14 [00:34<00:34, 4.88s/it]
+[07:19] [ComfyUI] Edge costs: 57%|#####7 | 8/14 [00:40<00:31, 5.29s/it]
+[07:21] Frame 14 saved (frame_013.jpg, t=295.0s)
+[07:21] [capture-periodic] freeze=2071ms shot=2211ms unfreeze=5ms saved=True
+[07:24] [ComfyUI] Edge costs: 64%|######4 | 9/14 [00:45<00:24, 4.93s/it]
+[07:30] [ComfyUI] Edge costs: 71%|#######1 | 10/14 [00:49<00:19, 4.84s/it]
+[07:30] Frame 15 saved (frame_014.jpg, t=303.4s)
+[07:30] [capture-periodic] freeze=2074ms shot=2208ms unfreeze=4ms saved=True
+[07:34] [ComfyUI] Edge costs: 79%|#######8 | 11/14 [00:55<00:15, 5.18s/it]
+[07:38] [ComfyUI] Edge costs: 86%|########5 | 12/14 [01:00<00:10, 5.07s/it]
+[07:40] [ComfyUI] Edge costs: 93%|#########2| 13/14 [01:04<00:04, 4.73s/it]
+[07:40] [ComfyUI] Edge costs: 100%|##########| 14/14 [01:06<00:00, 3.81s/it]
+[07:45] Frame 16 saved (frame_015.jpg, t=318.1s)
+[07:45] [capture-periodic] freeze=2063ms shot=2192ms unfreeze=5ms saved=True
+[07:53] Frame 17 saved (frame_016.jpg, t=326.5s)
+[07:53] [capture-periodic] freeze=2101ms shot=2206ms unfreeze=5ms saved=True
+[08:21] Frame 18 saved (frame_017.jpg, t=354.1s)
+[08:21] [capture-periodic] freeze=2085ms shot=2209ms unfreeze=5ms saved=True
+[08:29] Frame 19 saved (frame_018.jpg, t=362.6s)
+[08:29] [capture-periodic] freeze=2072ms shot=2206ms unfreeze=13ms saved=True
+[08:44] Frame 20 saved (frame_019.jpg, t=377.3s)
+[08:44] [capture-periodic] freeze=2055ms shot=2204ms unfreeze=4ms saved=True
+[08:58] Frame 21 saved (frame_020.jpg, t=387.5s)
+[08:58] [capture-periodic] freeze=2453ms shot=2235ms unfreeze=18ms saved=True
+[09:16] Frame 22 saved (frame_021.jpg, t=409.0s)
+[09:16] [capture-periodic] freeze=2077ms shot=2243ms unfreeze=6ms saved=True
+[09:23] Frame 23 saved (frame_022.jpg, t=417.4s)
+[09:23] [capture-periodic] freeze=1975ms shot=2120ms unfreeze=5ms saved=True
+[09:42] [ComfyUI] Edge costs: 100%|##########| 14/14 [01:06<00:00, 4.73s/it]
+[09:42] [ComfyUI] GaussianMerge: wrote D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\GaussianPack-1807\ComfyUI\output\merged.ply (100000 splats, 23.7 MB)
+[09:42] [ComfyUI] Prompt executed in 439.52 seconds
+[09:44] Frame 24 saved (frame_023.jpg, t=438.1s)
+[09:44] [capture-periodic] freeze=2053ms shot=2262ms unfreeze=38ms saved=True
+[09:46] Node executed (2 total), capturing...
+[09:50] Frame 25 saved (frame_024.jpg, t=444.6s)
+[09:50] [capture-node] freeze=1819ms shot=2127ms unfreeze=0ms saved=True
+[09:50] Execution complete (t=444.6s)
+[09:50] [3d-wait] Phase 1: Waiting for 'Loading 3D Model' text to disappear...
+[09:51] [3d-wait] Phase 1 done in 0.0s
+[09:51] [3d-wait] Phase 2: iframes=2
+[09:51] [3d-wait] iframe viewer_ready=True (matched 2 console logs)
+[09:51] [3d-wait] Unfrozen in 0.003s, rendering for 5s...
+[09:57] [3d-wait] JS halted via CDP after 6.7s
+[10:03] [3d-wait] Re-frozen in 12.1s
+[10:03] [3d-wait] Total 3D wait: 12.1s
+[10:03] Captured 25 unique frames over 460.67s
+[10:03] [debug] iframes: 2
+[10:03] [debug] iframe[0]: src=http://127.0.0.1:41887/extensions/ComfyUI-GaussianPack/viewer_gaussian.html?v=17, canvas=486x223, rafFrozen=True
+[10:03] [debug] iframe[1]: src=http://127.0.0.1:41887/extensions/ComfyUI-GaussianPack/viewer_gaussian.html?v=17, canvas=486x223, rafFrozen=True
+[10:03] [timing] trigger_3d_previews: 0.0s
+[10:05] Saved high-quality screenshot: merge_splats_executed.png
+[10:05] [timing] final_screenshot: 0.3s
+[10:05] Results saved to D:\a\comfy-gpu-ci\comfy-gpu-ci\comfy-test-logs\GaussianPack-1807\dev\windows-cpu\results.json
+[10:05] Saved: D:\a\comfy-gpu-ci\comfy-gpu-ci\comfy-test-logs\GaussianPack-1807\dev\windows-cpu\index.html
+[10:05] [EXECUTION] PASSED
+[10:05]
+windows: PASSED
+[10:05] Stopping ComfyUI server...
diff --git a/dev/windows-cpu/videos/merge_splats/frame_000.jpg b/dev/windows-cpu/videos/merge_splats/frame_000.jpg
new file mode 100644
index 0000000..b683879
Binary files /dev/null and b/dev/windows-cpu/videos/merge_splats/frame_000.jpg differ
diff --git a/dev/windows-cpu/videos/merge_splats/frame_001.jpg b/dev/windows-cpu/videos/merge_splats/frame_001.jpg
new file mode 100644
index 0000000..ca3d7f7
Binary files /dev/null and b/dev/windows-cpu/videos/merge_splats/frame_001.jpg differ
diff --git a/dev/windows-cpu/videos/merge_splats/frame_002.jpg b/dev/windows-cpu/videos/merge_splats/frame_002.jpg
new file mode 100644
index 0000000..84b1ada
Binary files /dev/null and b/dev/windows-cpu/videos/merge_splats/frame_002.jpg differ
diff --git a/dev/windows-cpu/videos/merge_splats/frame_003.jpg b/dev/windows-cpu/videos/merge_splats/frame_003.jpg
new file mode 100644
index 0000000..84b1ada
Binary files /dev/null and b/dev/windows-cpu/videos/merge_splats/frame_003.jpg differ
diff --git a/dev/windows-cpu/videos/merge_splats/frame_004.jpg b/dev/windows-cpu/videos/merge_splats/frame_004.jpg
new file mode 100644
index 0000000..84b1ada
Binary files /dev/null and b/dev/windows-cpu/videos/merge_splats/frame_004.jpg differ
diff --git a/dev/windows-cpu/videos/merge_splats/frame_005.jpg b/dev/windows-cpu/videos/merge_splats/frame_005.jpg
new file mode 100644
index 0000000..84b1ada
Binary files /dev/null and b/dev/windows-cpu/videos/merge_splats/frame_005.jpg differ
diff --git a/dev/windows-cpu/videos/merge_splats/frame_006.jpg b/dev/windows-cpu/videos/merge_splats/frame_006.jpg
new file mode 100644
index 0000000..84b1ada
Binary files /dev/null and b/dev/windows-cpu/videos/merge_splats/frame_006.jpg differ
diff --git a/dev/windows-cpu/videos/merge_splats/frame_007.jpg b/dev/windows-cpu/videos/merge_splats/frame_007.jpg
new file mode 100644
index 0000000..84b1ada
Binary files /dev/null and b/dev/windows-cpu/videos/merge_splats/frame_007.jpg differ
diff --git a/dev/windows-cpu/videos/merge_splats/frame_008.jpg b/dev/windows-cpu/videos/merge_splats/frame_008.jpg
new file mode 100644
index 0000000..84b1ada
Binary files /dev/null and b/dev/windows-cpu/videos/merge_splats/frame_008.jpg differ
diff --git a/dev/windows-cpu/videos/merge_splats/frame_009.jpg b/dev/windows-cpu/videos/merge_splats/frame_009.jpg
new file mode 100644
index 0000000..84b1ada
Binary files /dev/null and b/dev/windows-cpu/videos/merge_splats/frame_009.jpg differ
diff --git a/dev/windows-cpu/videos/merge_splats/frame_010.jpg b/dev/windows-cpu/videos/merge_splats/frame_010.jpg
new file mode 100644
index 0000000..84b1ada
Binary files /dev/null and b/dev/windows-cpu/videos/merge_splats/frame_010.jpg differ
diff --git a/dev/windows-cpu/videos/merge_splats/frame_011.jpg b/dev/windows-cpu/videos/merge_splats/frame_011.jpg
new file mode 100644
index 0000000..84b1ada
Binary files /dev/null and b/dev/windows-cpu/videos/merge_splats/frame_011.jpg differ
diff --git a/dev/windows-cpu/videos/merge_splats/frame_012.jpg b/dev/windows-cpu/videos/merge_splats/frame_012.jpg
new file mode 100644
index 0000000..84b1ada
Binary files /dev/null and b/dev/windows-cpu/videos/merge_splats/frame_012.jpg differ
diff --git a/dev/windows-cpu/videos/merge_splats/frame_013.jpg b/dev/windows-cpu/videos/merge_splats/frame_013.jpg
new file mode 100644
index 0000000..84b1ada
Binary files /dev/null and b/dev/windows-cpu/videos/merge_splats/frame_013.jpg differ
diff --git a/dev/windows-cpu/videos/merge_splats/frame_014.jpg b/dev/windows-cpu/videos/merge_splats/frame_014.jpg
new file mode 100644
index 0000000..84b1ada
Binary files /dev/null and b/dev/windows-cpu/videos/merge_splats/frame_014.jpg differ
diff --git a/dev/windows-cpu/videos/merge_splats/frame_015.jpg b/dev/windows-cpu/videos/merge_splats/frame_015.jpg
new file mode 100644
index 0000000..84b1ada
Binary files /dev/null and b/dev/windows-cpu/videos/merge_splats/frame_015.jpg differ
diff --git a/dev/windows-cpu/videos/merge_splats/frame_016.jpg b/dev/windows-cpu/videos/merge_splats/frame_016.jpg
new file mode 100644
index 0000000..84b1ada
Binary files /dev/null and b/dev/windows-cpu/videos/merge_splats/frame_016.jpg differ
diff --git a/dev/windows-cpu/videos/merge_splats/frame_017.jpg b/dev/windows-cpu/videos/merge_splats/frame_017.jpg
new file mode 100644
index 0000000..84b1ada
Binary files /dev/null and b/dev/windows-cpu/videos/merge_splats/frame_017.jpg differ
diff --git a/dev/windows-cpu/videos/merge_splats/frame_018.jpg b/dev/windows-cpu/videos/merge_splats/frame_018.jpg
new file mode 100644
index 0000000..84b1ada
Binary files /dev/null and b/dev/windows-cpu/videos/merge_splats/frame_018.jpg differ
diff --git a/dev/windows-cpu/videos/merge_splats/frame_019.jpg b/dev/windows-cpu/videos/merge_splats/frame_019.jpg
new file mode 100644
index 0000000..84b1ada
Binary files /dev/null and b/dev/windows-cpu/videos/merge_splats/frame_019.jpg differ
diff --git a/dev/windows-cpu/videos/merge_splats/frame_020.jpg b/dev/windows-cpu/videos/merge_splats/frame_020.jpg
new file mode 100644
index 0000000..84b1ada
Binary files /dev/null and b/dev/windows-cpu/videos/merge_splats/frame_020.jpg differ
diff --git a/dev/windows-cpu/videos/merge_splats/frame_021.jpg b/dev/windows-cpu/videos/merge_splats/frame_021.jpg
new file mode 100644
index 0000000..84b1ada
Binary files /dev/null and b/dev/windows-cpu/videos/merge_splats/frame_021.jpg differ
diff --git a/dev/windows-cpu/videos/merge_splats/frame_022.jpg b/dev/windows-cpu/videos/merge_splats/frame_022.jpg
new file mode 100644
index 0000000..84b1ada
Binary files /dev/null and b/dev/windows-cpu/videos/merge_splats/frame_022.jpg differ
diff --git a/dev/windows-cpu/videos/merge_splats/frame_023.jpg b/dev/windows-cpu/videos/merge_splats/frame_023.jpg
new file mode 100644
index 0000000..60b830e
Binary files /dev/null and b/dev/windows-cpu/videos/merge_splats/frame_023.jpg differ
diff --git a/dev/windows-cpu/videos/merge_splats/frame_024.jpg b/dev/windows-cpu/videos/merge_splats/frame_024.jpg
new file mode 100644
index 0000000..fbf24f1
Binary files /dev/null and b/dev/windows-cpu/videos/merge_splats/frame_024.jpg differ
diff --git a/dev/windows-cpu/videos/merge_splats/frame_025.jpg b/dev/windows-cpu/videos/merge_splats/frame_025.jpg
new file mode 100644
index 0000000..643cf93
Binary files /dev/null and b/dev/windows-cpu/videos/merge_splats/frame_025.jpg differ
diff --git a/dev/windows-cpu/videos/merge_splats/metadata.json b/dev/windows-cpu/videos/merge_splats/metadata.json
new file mode 100644
index 0000000..7dbb35f
--- /dev/null
+++ b/dev/windows-cpu/videos/merge_splats/metadata.json
@@ -0,0 +1,135 @@
+{
+ "frames": [
+ {
+ "file": "frame_000.jpg",
+ "time": 0.0,
+ "log": "Capturing execution frames: merge_splats.json"
+ },
+ {
+ "file": "frame_001.jpg",
+ "time": 0.47,
+ "log": "Capturing execution frames: merge_splats.json\n Frame 1 saved (frame_000.jpg, t=0.0s)\n Validating workflow...\n [ComfyUI] === /validate endpoint called ===\n [ComfyUI] Received JSON with keys: ['prompt']\n [ComfyUI] Prompt has 4 nodes\n [ComfyUI] Node 1: LoadPLY\n [ComfyUI] Inputs: {\"ply_file\": \"apple.ply\"}\n [ComfyUI] Node 2: PreviewGaussians\n Queuing workflow for execution...\n [ComfyUI] Inputs: {\"fov_degrees\": 50, \"image_width\": 512, \"image_height\": 512, \"renderer\": \"spark\", \"transport_format\": \"ply\", \"ply_path\": [\"1\", 0]}\n [ComfyUI] Node 3: GaussianMerge\n [ComfyUI] Inputs: {\"target_count\": 100000, \"output_filename\": \"merged\", \"opacity_threshold\": 0, \"k\": 24, \"ply_path\": [\"1\", 0]}\n [ComfyUI] Node 4: PreviewGaussians\n [ComfyUI] Inputs: {\"fov_degrees\": 50, \"image_width\": 512, \"image_height\": 512, \"renderer\": \"spark\", \"transport_format\": \"ply\", \"ply_path\": [\"3\", 0]}\n [ComfyUI] Generated prompt_id: 04b382ba-8864-4fca-8f15-db25eba359f2\n [ComfyUI] Calling execution.validate_prompt()...\n [ComfyUI] Validation result: valid=True\n [ComfyUI] === Validation PASSED ===\n [ComfyUI] got prompt\n [ComfyUI] LoadPLY: apple.ply -> D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1807\\ComfyUI\\input\\apple.ply\n [ComfyUI] GaussianMerge: 200000 -> 100000 splats (ratio=0.5000) via NanoGS MPMM on D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1807\\ComfyUI\\input\\apple.ply"
+ },
+ {
+ "file": "frame_002.jpg",
+ "time": 3.87,
+ "log": "Capturing execution frames: merge_splats.json\n Frame 1 saved (frame_000.jpg, t=0.0s)\n Validating workflow...\n [ComfyUI] === /validate endpoint called ===\n [ComfyUI] Received JSON with keys: ['prompt']\n [ComfyUI] Prompt has 4 nodes\n [ComfyUI] Node 1: LoadPLY\n [ComfyUI] Inputs: {\"ply_file\": \"apple.ply\"}\n [ComfyUI] Node 2: PreviewGaussians\n Queuing workflow for execution...\n [ComfyUI] Inputs: {\"fov_degrees\": 50, \"image_width\": 512, \"image_height\": 512, \"renderer\": \"spark\", \"transport_format\": \"ply\", \"ply_path\": [\"1\", 0]}\n [ComfyUI] Node 3: GaussianMerge\n [ComfyUI] Inputs: {\"target_count\": 100000, \"output_filename\": \"merged\", \"opacity_threshold\": 0, \"k\": 24, \"ply_path\": [\"1\", 0]}\n [ComfyUI] Node 4: PreviewGaussians\n [ComfyUI] Inputs: {\"fov_degrees\": 50, \"image_width\": 512, \"image_height\": 512, \"renderer\": \"spark\", \"transport_format\": \"ply\", \"ply_path\": [\"3\", 0]}\n [ComfyUI] Generated prompt_id: 04b382ba-8864-4fca-8f15-db25eba359f2\n [ComfyUI] Calling execution.validate_prompt()...\n [ComfyUI] Validation result: valid=True\n [ComfyUI] === Validation PASSED ===\n [ComfyUI] got prompt\n [ComfyUI] LoadPLY: apple.ply -> D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1807\\ComfyUI\\input\\apple.ply\n [ComfyUI] GaussianMerge: 200000 -> 100000 splats (ratio=0.5000) via NanoGS MPMM on D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1807\\ComfyUI\\input\\apple.ply\n Node executed (1 total), capturing...\n Frame 2 saved (frame_001.jpg, t=0.5s)\n [capture-node] freeze=124ms shot=167ms unfreeze=4ms saved=True"
+ },
+ {
+ "file": "frame_003.jpg",
+ "time": 76.07,
+ "log": "Capturing execution frames: merge_splats.json\n Frame 1 saved (frame_000.jpg, t=0.0s)\n Validating workflow...\n [ComfyUI] === /validate endpoint called ===\n [ComfyUI] Received JSON with keys: ['prompt']\n [ComfyUI] Prompt has 4 nodes\n [ComfyUI] Node 1: LoadPLY\n [ComfyUI] Inputs: {\"ply_file\": \"apple.ply\"}\n [ComfyUI] Node 2: PreviewGaussians\n Queuing workflow for execution...\n [ComfyUI] Inputs: {\"fov_degrees\": 50, \"image_width\": 512, \"image_height\": 512, \"renderer\": \"spark\", \"transport_format\": \"ply\", \"ply_path\": [\"1\", 0]}\n [ComfyUI] Node 3: GaussianMerge\n [ComfyUI] Inputs: {\"target_count\": 100000, \"output_filename\": \"merged\", \"opacity_threshold\": 0, \"k\": 24, \"ply_path\": [\"1\", 0]}\n [ComfyUI] Node 4: PreviewGaussians\n [ComfyUI] Inputs: {\"fov_degrees\": 50, \"image_width\": 512, \"image_height\": 512, \"renderer\": \"spark\", \"transport_format\": \"ply\", \"ply_path\": [\"3\", 0]}\n [ComfyUI] Generated prompt_id: 04b382ba-8864-4fca-8f15-db25eba359f2\n [ComfyUI] Calling execution.validate_prompt()...\n [ComfyUI] Validation result: valid=True\n [ComfyUI] === Validation PASSED ===\n [ComfyUI] got prompt\n [ComfyUI] LoadPLY: apple.ply -> D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1807\\ComfyUI\\input\\apple.ply\n [ComfyUI] GaussianMerge: 200000 -> 100000 splats (ratio=0.5000) via NanoGS MPMM on D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1807\\ComfyUI\\input\\apple.ply\n Node executed (1 total), capturing...\n Frame 2 saved (frame_001.jpg, t=0.5s)\n [capture-node] freeze=124ms shot=167ms unfreeze=4ms saved=True\n Frame 3 saved (frame_002.jpg, t=3.9s)\n [capture-periodic] freeze=2037ms shot=2124ms unfreeze=2ms saved=True\n [ComfyUI] Loading PLY: D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1807\\ComfyUI\\input\\apple.ply\n [ComfyUI] Initial splats: 200000\n [ComfyUI] Pruned splats: 200000, target: 100000\n [ComfyUI] Opacity Mean: 0.53443545 Median: 0.48362076\n [ComfyUI] Pruning splats with opacity below 0.0000\n [ComfyUI] Original count: 200000, after opacity pruning: 200000\n [ComfyUI] After opacity pruning, 200000 splats remain.\n [ComfyUI] \n [ComfyUI] Pass 1: 200000 splats\n [ComfyUI] Edge costs: 0%| | 0/27 [00:00, ?it/s]\n [ComfyUI] Edge costs: 4%|3 | 1/27 [00:00<00:24, 1.06it/s]\n [ComfyUI] Edge costs: 7%|7 | 2/27 [00:02<00:25, 1.03s/it]\n [ComfyUI] Edge costs: 11%|#1 | 3/27 [00:03<00:26, 1.11s/it]\n [ComfyUI] Edge costs: 15%|#4 | 4/27 [00:04<00:28, 1.22s/it]\n [ComfyUI] Edge costs: 19%|#8 | 5/27 [00:05<00:27, 1.26s/it]\n [ComfyUI] Edge costs: 22%|##2 | 6/27 [00:07<00:28, 1.34s/it]\n [ComfyUI] Edge costs: 26%|##5 | 7/27 [00:08<00:27, 1.37s/it]\n [ComfyUI] Edge costs: 30%|##9 | 8/27 [00:09<00:22, 1.18s/it]\n [ComfyUI] Edge costs: 33%|###3 | 9/27 [00:10<00:20, 1.17s/it]\n [ComfyUI] Edge costs: 37%|###7 | 10/27 [00:12<00:22, 1.30s/it]\n [ComfyUI] Edge costs: 41%|#### | 11/27 [00:13<00:21, 1.34s/it]\n [ComfyUI] Edge costs: 44%|####4 | 12/27 [00:15<00:20, 1.39s/it]\n [ComfyUI] Edge costs: 48%|####8 | 13/27 [00:16<00:19, 1.41s/it]\n [ComfyUI] Edge costs: 52%|#####1 | 14/27 [00:17<00:15, 1.21s/it]\n [ComfyUI] Edge costs: 56%|#####5 | 15/27 [00:18<00:15, 1.29s/it]\n [ComfyUI] Edge costs: 59%|#####9 | 16/27 [00:20<00:14, 1.35s/it]\n [ComfyUI] Edge costs: 63%|######2 | 17/27 [00:21<00:13, 1.37s/it]\n [ComfyUI] Edge costs: 67%|######6 | 18/27 [00:23<00:12, 1.38s/it]\n [ComfyUI] Edge costs: 70%|####### | 19/27 [00:24<00:09, 1.19s/it]\n [ComfyUI] Edge costs: 74%|#######4 | 20/27 [00:25<00:08, 1.16s/it]\n [ComfyUI] Edge costs: 78%|#######7 | 21/27 [00:28<00:10, 1.73s/it]\n [ComfyUI] Edge costs: 81%|########1 | 22/27 [00:31<00:10, 2.18s/it]"
+ },
+ {
+ "file": "frame_004.jpg",
+ "time": 84.46,
+ "log": "Capturing execution frames: merge_splats.json\n Frame 1 saved (frame_000.jpg, t=0.0s)\n Validating workflow...\n [ComfyUI] === /validate endpoint called ===\n [ComfyUI] Received JSON with keys: ['prompt']\n [ComfyUI] Prompt has 4 nodes\n [ComfyUI] Node 1: LoadPLY\n [ComfyUI] Inputs: {\"ply_file\": \"apple.ply\"}\n [ComfyUI] Node 2: PreviewGaussians\n Queuing workflow for execution...\n [ComfyUI] Inputs: {\"fov_degrees\": 50, \"image_width\": 512, \"image_height\": 512, \"renderer\": \"spark\", \"transport_format\": \"ply\", \"ply_path\": [\"1\", 0]}\n [ComfyUI] Node 3: GaussianMerge\n [ComfyUI] Inputs: {\"target_count\": 100000, \"output_filename\": \"merged\", \"opacity_threshold\": 0, \"k\": 24, \"ply_path\": [\"1\", 0]}\n [ComfyUI] Node 4: PreviewGaussians\n [ComfyUI] Inputs: {\"fov_degrees\": 50, \"image_width\": 512, \"image_height\": 512, \"renderer\": \"spark\", \"transport_format\": \"ply\", \"ply_path\": [\"3\", 0]}\n [ComfyUI] Generated prompt_id: 04b382ba-8864-4fca-8f15-db25eba359f2\n [ComfyUI] Calling execution.validate_prompt()...\n [ComfyUI] Validation result: valid=True\n [ComfyUI] === Validation PASSED ===\n [ComfyUI] got prompt\n [ComfyUI] LoadPLY: apple.ply -> D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1807\\ComfyUI\\input\\apple.ply\n [ComfyUI] GaussianMerge: 200000 -> 100000 splats (ratio=0.5000) via NanoGS MPMM on D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1807\\ComfyUI\\input\\apple.ply\n Node executed (1 total), capturing...\n Frame 2 saved (frame_001.jpg, t=0.5s)\n [capture-node] freeze=124ms shot=167ms unfreeze=4ms saved=True\n Frame 3 saved (frame_002.jpg, t=3.9s)\n [capture-periodic] freeze=2037ms shot=2124ms unfreeze=2ms saved=True\n [ComfyUI] Loading PLY: D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1807\\ComfyUI\\input\\apple.ply\n [ComfyUI] Initial splats: 200000\n [ComfyUI] Pruned splats: 200000, target: 100000\n [ComfyUI] Opacity Mean: 0.53443545 Median: 0.48362076\n [ComfyUI] Pruning splats with opacity below 0.0000\n [ComfyUI] Original count: 200000, after opacity pruning: 200000\n [ComfyUI] After opacity pruning, 200000 splats remain.\n [ComfyUI] \n [ComfyUI] Pass 1: 200000 splats\n [ComfyUI] Edge costs: 0%| | 0/27 [00:00, ?it/s]\n [ComfyUI] Edge costs: 4%|3 | 1/27 [00:00<00:24, 1.06it/s]\n [ComfyUI] Edge costs: 7%|7 | 2/27 [00:02<00:25, 1.03s/it]\n [ComfyUI] Edge costs: 11%|#1 | 3/27 [00:03<00:26, 1.11s/it]\n [ComfyUI] Edge costs: 15%|#4 | 4/27 [00:04<00:28, 1.22s/it]\n [ComfyUI] Edge costs: 19%|#8 | 5/27 [00:05<00:27, 1.26s/it]\n [ComfyUI] Edge costs: 22%|##2 | 6/27 [00:07<00:28, 1.34s/it]\n [ComfyUI] Edge costs: 26%|##5 | 7/27 [00:08<00:27, 1.37s/it]\n [ComfyUI] Edge costs: 30%|##9 | 8/27 [00:09<00:22, 1.18s/it]\n [ComfyUI] Edge costs: 33%|###3 | 9/27 [00:10<00:20, 1.17s/it]\n [ComfyUI] Edge costs: 37%|###7 | 10/27 [00:12<00:22, 1.30s/it]\n [ComfyUI] Edge costs: 41%|#### | 11/27 [00:13<00:21, 1.34s/it]\n [ComfyUI] Edge costs: 44%|####4 | 12/27 [00:15<00:20, 1.39s/it]\n [ComfyUI] Edge costs: 48%|####8 | 13/27 [00:16<00:19, 1.41s/it]\n [ComfyUI] Edge costs: 52%|#####1 | 14/27 [00:17<00:15, 1.21s/it]\n [ComfyUI] Edge costs: 56%|#####5 | 15/27 [00:18<00:15, 1.29s/it]\n [ComfyUI] Edge costs: 59%|#####9 | 16/27 [00:20<00:14, 1.35s/it]\n [ComfyUI] Edge costs: 63%|######2 | 17/27 [00:21<00:13, 1.37s/it]\n [ComfyUI] Edge costs: 67%|######6 | 18/27 [00:23<00:12, 1.38s/it]\n [ComfyUI] Edge costs: 70%|####### | 19/27 [00:24<00:09, 1.19s/it]\n [ComfyUI] Edge costs: 74%|#######4 | 20/27 [00:25<00:08, 1.16s/it]\n [ComfyUI] Edge costs: 78%|#######7 | 21/27 [00:28<00:10, 1.73s/it]\n [ComfyUI] Edge costs: 81%|########1 | 22/27 [00:31<00:10, 2.18s/it]\n [ComfyUI] Edge costs: 85%|########5 | 23/27 [00:32<00:07, 1.94s/it]\n [ComfyUI] Edge costs: 89%|########8 | 24/27 [00:35<00:06, 2.08s/it]\n Frame 4 saved (frame_003.jpg, t=76.1s)\n [capture-periodic] freeze=2098ms shot=2169ms unfreeze=4ms saved=True\n [ComfyUI] Edge costs: 93%|#########2| 25/27 [00:37<00:04, 2.28s/it]"
+ },
+ {
+ "file": "frame_005.jpg",
+ "time": 105.52,
+ "log": "Capturing execution frames: merge_splats.json\n Frame 1 saved (frame_000.jpg, t=0.0s)\n Validating workflow...\n [ComfyUI] === /validate endpoint called ===\n [ComfyUI] Received JSON with keys: ['prompt']\n [ComfyUI] Prompt has 4 nodes\n [ComfyUI] Node 1: LoadPLY\n [ComfyUI] Inputs: {\"ply_file\": \"apple.ply\"}\n [ComfyUI] Node 2: PreviewGaussians\n Queuing workflow for execution...\n [ComfyUI] Inputs: {\"fov_degrees\": 50, \"image_width\": 512, \"image_height\": 512, \"renderer\": \"spark\", \"transport_format\": \"ply\", \"ply_path\": [\"1\", 0]}\n [ComfyUI] Node 3: GaussianMerge\n [ComfyUI] Inputs: {\"target_count\": 100000, \"output_filename\": \"merged\", \"opacity_threshold\": 0, \"k\": 24, \"ply_path\": [\"1\", 0]}\n [ComfyUI] Node 4: PreviewGaussians\n [ComfyUI] Inputs: {\"fov_degrees\": 50, \"image_width\": 512, \"image_height\": 512, \"renderer\": \"spark\", \"transport_format\": \"ply\", \"ply_path\": [\"3\", 0]}\n [ComfyUI] Generated prompt_id: 04b382ba-8864-4fca-8f15-db25eba359f2\n [ComfyUI] Calling execution.validate_prompt()...\n [ComfyUI] Validation result: valid=True\n [ComfyUI] === Validation PASSED ===\n [ComfyUI] got prompt\n [ComfyUI] LoadPLY: apple.ply -> D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1807\\ComfyUI\\input\\apple.ply\n [ComfyUI] GaussianMerge: 200000 -> 100000 splats (ratio=0.5000) via NanoGS MPMM on D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1807\\ComfyUI\\input\\apple.ply\n Node executed (1 total), capturing...\n Frame 2 saved (frame_001.jpg, t=0.5s)\n [capture-node] freeze=124ms shot=167ms unfreeze=4ms saved=True\n Frame 3 saved (frame_002.jpg, t=3.9s)\n [capture-periodic] freeze=2037ms shot=2124ms unfreeze=2ms saved=True\n [ComfyUI] Loading PLY: D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1807\\ComfyUI\\input\\apple.ply\n [ComfyUI] Initial splats: 200000\n [ComfyUI] Pruned splats: 200000, target: 100000\n [ComfyUI] Opacity Mean: 0.53443545 Median: 0.48362076\n [ComfyUI] Pruning splats with opacity below 0.0000\n [ComfyUI] Original count: 200000, after opacity pruning: 200000\n [ComfyUI] After opacity pruning, 200000 splats remain.\n [ComfyUI] \n [ComfyUI] Pass 1: 200000 splats\n [ComfyUI] Edge costs: 0%| | 0/27 [00:00, ?it/s]\n [ComfyUI] Edge costs: 4%|3 | 1/27 [00:00<00:24, 1.06it/s]\n [ComfyUI] Edge costs: 7%|7 | 2/27 [00:02<00:25, 1.03s/it]\n [ComfyUI] Edge costs: 11%|#1 | 3/27 [00:03<00:26, 1.11s/it]\n [ComfyUI] Edge costs: 15%|#4 | 4/27 [00:04<00:28, 1.22s/it]\n [ComfyUI] Edge costs: 19%|#8 | 5/27 [00:05<00:27, 1.26s/it]\n [ComfyUI] Edge costs: 22%|##2 | 6/27 [00:07<00:28, 1.34s/it]\n [ComfyUI] Edge costs: 26%|##5 | 7/27 [00:08<00:27, 1.37s/it]\n [ComfyUI] Edge costs: 30%|##9 | 8/27 [00:09<00:22, 1.18s/it]\n [ComfyUI] Edge costs: 33%|###3 | 9/27 [00:10<00:20, 1.17s/it]\n [ComfyUI] Edge costs: 37%|###7 | 10/27 [00:12<00:22, 1.30s/it]\n [ComfyUI] Edge costs: 41%|#### | 11/27 [00:13<00:21, 1.34s/it]\n [ComfyUI] Edge costs: 44%|####4 | 12/27 [00:15<00:20, 1.39s/it]\n [ComfyUI] Edge costs: 48%|####8 | 13/27 [00:16<00:19, 1.41s/it]\n [ComfyUI] Edge costs: 52%|#####1 | 14/27 [00:17<00:15, 1.21s/it]\n [ComfyUI] Edge costs: 56%|#####5 | 15/27 [00:18<00:15, 1.29s/it]\n [ComfyUI] Edge costs: 59%|#####9 | 16/27 [00:20<00:14, 1.35s/it]\n [ComfyUI] Edge costs: 63%|######2 | 17/27 [00:21<00:13, 1.37s/it]\n [ComfyUI] Edge costs: 67%|######6 | 18/27 [00:23<00:12, 1.38s/it]\n [ComfyUI] Edge costs: 70%|####### | 19/27 [00:24<00:09, 1.19s/it]\n [ComfyUI] Edge costs: 74%|#######4 | 20/27 [00:25<00:08, 1.16s/it]\n [ComfyUI] Edge costs: 78%|#######7 | 21/27 [00:28<00:10, 1.73s/it]\n [ComfyUI] Edge costs: 81%|########1 | 22/27 [00:31<00:10, 2.18s/it]\n [ComfyUI] Edge costs: 85%|########5 | 23/27 [00:32<00:07, 1.94s/it]\n [ComfyUI] Edge costs: 89%|########8 | 24/27 [00:35<00:06, 2.08s/it]\n Frame 4 saved (frame_003.jpg, t=76.1s)\n [capture-periodic] freeze=2098ms shot=2169ms unfreeze=4ms saved=True\n [ComfyUI] Edge costs: 93%|#########2| 25/27 [00:37<00:04, 2.28s/it]\n [ComfyUI] Edge costs: 96%|#########6| 26/27 [00:39<00:02, 2.07s/it]\n [ComfyUI] Edge costs: 100%|##########| 27/27 [00:42<00:00, 2.48s/it]\n Frame 5 saved (frame_004.jpg, t=84.5s)\n [capture-periodic] freeze=2083ms shot=2209ms unfreeze=5ms saved=True"
+ },
+ {
+ "file": "frame_006.jpg",
+ "time": 112.94,
+ "log": "Capturing execution frames: merge_splats.json\n Frame 1 saved (frame_000.jpg, t=0.0s)\n Validating workflow...\n [ComfyUI] === /validate endpoint called ===\n [ComfyUI] Received JSON with keys: ['prompt']\n [ComfyUI] Prompt has 4 nodes\n [ComfyUI] Node 1: LoadPLY\n [ComfyUI] Inputs: {\"ply_file\": \"apple.ply\"}\n [ComfyUI] Node 2: PreviewGaussians\n Queuing workflow for execution...\n [ComfyUI] Inputs: {\"fov_degrees\": 50, \"image_width\": 512, \"image_height\": 512, \"renderer\": \"spark\", \"transport_format\": \"ply\", \"ply_path\": [\"1\", 0]}\n [ComfyUI] Node 3: GaussianMerge\n [ComfyUI] Inputs: {\"target_count\": 100000, \"output_filename\": \"merged\", \"opacity_threshold\": 0, \"k\": 24, \"ply_path\": [\"1\", 0]}\n [ComfyUI] Node 4: PreviewGaussians\n [ComfyUI] Inputs: {\"fov_degrees\": 50, \"image_width\": 512, \"image_height\": 512, \"renderer\": \"spark\", \"transport_format\": \"ply\", \"ply_path\": [\"3\", 0]}\n [ComfyUI] Generated prompt_id: 04b382ba-8864-4fca-8f15-db25eba359f2\n [ComfyUI] Calling execution.validate_prompt()...\n [ComfyUI] Validation result: valid=True\n [ComfyUI] === Validation PASSED ===\n [ComfyUI] got prompt\n [ComfyUI] LoadPLY: apple.ply -> D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1807\\ComfyUI\\input\\apple.ply\n [ComfyUI] GaussianMerge: 200000 -> 100000 splats (ratio=0.5000) via NanoGS MPMM on D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1807\\ComfyUI\\input\\apple.ply\n Node executed (1 total), capturing...\n Frame 2 saved (frame_001.jpg, t=0.5s)\n [capture-node] freeze=124ms shot=167ms unfreeze=4ms saved=True\n Frame 3 saved (frame_002.jpg, t=3.9s)\n [capture-periodic] freeze=2037ms shot=2124ms unfreeze=2ms saved=True\n [ComfyUI] Loading PLY: D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1807\\ComfyUI\\input\\apple.ply\n [ComfyUI] Initial splats: 200000\n [ComfyUI] Pruned splats: 200000, target: 100000\n [ComfyUI] Opacity Mean: 0.53443545 Median: 0.48362076\n [ComfyUI] Pruning splats with opacity below 0.0000\n [ComfyUI] Original count: 200000, after opacity pruning: 200000\n [ComfyUI] After opacity pruning, 200000 splats remain.\n [ComfyUI] \n [ComfyUI] Pass 1: 200000 splats\n [ComfyUI] Edge costs: 0%| | 0/27 [00:00, ?it/s]\n [ComfyUI] Edge costs: 4%|3 | 1/27 [00:00<00:24, 1.06it/s]\n [ComfyUI] Edge costs: 7%|7 | 2/27 [00:02<00:25, 1.03s/it]\n [ComfyUI] Edge costs: 11%|#1 | 3/27 [00:03<00:26, 1.11s/it]\n [ComfyUI] Edge costs: 15%|#4 | 4/27 [00:04<00:28, 1.22s/it]\n [ComfyUI] Edge costs: 19%|#8 | 5/27 [00:05<00:27, 1.26s/it]\n [ComfyUI] Edge costs: 22%|##2 | 6/27 [00:07<00:28, 1.34s/it]\n [ComfyUI] Edge costs: 26%|##5 | 7/27 [00:08<00:27, 1.37s/it]\n [ComfyUI] Edge costs: 30%|##9 | 8/27 [00:09<00:22, 1.18s/it]\n [ComfyUI] Edge costs: 33%|###3 | 9/27 [00:10<00:20, 1.17s/it]\n [ComfyUI] Edge costs: 37%|###7 | 10/27 [00:12<00:22, 1.30s/it]\n [ComfyUI] Edge costs: 41%|#### | 11/27 [00:13<00:21, 1.34s/it]\n [ComfyUI] Edge costs: 44%|####4 | 12/27 [00:15<00:20, 1.39s/it]\n [ComfyUI] Edge costs: 48%|####8 | 13/27 [00:16<00:19, 1.41s/it]\n [ComfyUI] Edge costs: 52%|#####1 | 14/27 [00:17<00:15, 1.21s/it]\n [ComfyUI] Edge costs: 56%|#####5 | 15/27 [00:18<00:15, 1.29s/it]\n [ComfyUI] Edge costs: 59%|#####9 | 16/27 [00:20<00:14, 1.35s/it]\n [ComfyUI] Edge costs: 63%|######2 | 17/27 [00:21<00:13, 1.37s/it]\n [ComfyUI] Edge costs: 67%|######6 | 18/27 [00:23<00:12, 1.38s/it]\n [ComfyUI] Edge costs: 70%|####### | 19/27 [00:24<00:09, 1.19s/it]\n [ComfyUI] Edge costs: 74%|#######4 | 20/27 [00:25<00:08, 1.16s/it]\n [ComfyUI] Edge costs: 78%|#######7 | 21/27 [00:28<00:10, 1.73s/it]\n [ComfyUI] Edge costs: 81%|########1 | 22/27 [00:31<00:10, 2.18s/it]\n [ComfyUI] Edge costs: 85%|########5 | 23/27 [00:32<00:07, 1.94s/it]\n [ComfyUI] Edge costs: 89%|########8 | 24/27 [00:35<00:06, 2.08s/it]\n Frame 4 saved (frame_003.jpg, t=76.1s)\n [capture-periodic] freeze=2098ms shot=2169ms unfreeze=4ms saved=True\n [ComfyUI] Edge costs: 93%|#########2| 25/27 [00:37<00:04, 2.28s/it]\n [ComfyUI] Edge costs: 96%|#########6| 26/27 [00:39<00:02, 2.07s/it]\n [ComfyUI] Edge costs: 100%|##########| 27/27 [00:42<00:00, 2.48s/it]\n Frame 5 saved (frame_004.jpg, t=84.5s)\n [capture-periodic] freeze=2083ms shot=2209ms unfreeze=5ms saved=True\n Frame 6 saved (frame_005.jpg, t=105.5s)\n [capture-periodic] freeze=1989ms shot=2198ms unfreeze=5ms saved=True"
+ },
+ {
+ "file": "frame_007.jpg",
+ "time": 133.07,
+ "log": "Capturing execution frames: merge_splats.json\n Frame 1 saved (frame_000.jpg, t=0.0s)\n Validating workflow...\n [ComfyUI] === /validate endpoint called ===\n [ComfyUI] Received JSON with keys: ['prompt']\n [ComfyUI] Prompt has 4 nodes\n [ComfyUI] Node 1: LoadPLY\n [ComfyUI] Inputs: {\"ply_file\": \"apple.ply\"}\n [ComfyUI] Node 2: PreviewGaussians\n Queuing workflow for execution...\n [ComfyUI] Inputs: {\"fov_degrees\": 50, \"image_width\": 512, \"image_height\": 512, \"renderer\": \"spark\", \"transport_format\": \"ply\", \"ply_path\": [\"1\", 0]}\n [ComfyUI] Node 3: GaussianMerge\n [ComfyUI] Inputs: {\"target_count\": 100000, \"output_filename\": \"merged\", \"opacity_threshold\": 0, \"k\": 24, \"ply_path\": [\"1\", 0]}\n [ComfyUI] Node 4: PreviewGaussians\n [ComfyUI] Inputs: {\"fov_degrees\": 50, \"image_width\": 512, \"image_height\": 512, \"renderer\": \"spark\", \"transport_format\": \"ply\", \"ply_path\": [\"3\", 0]}\n [ComfyUI] Generated prompt_id: 04b382ba-8864-4fca-8f15-db25eba359f2\n [ComfyUI] Calling execution.validate_prompt()...\n [ComfyUI] Validation result: valid=True\n [ComfyUI] === Validation PASSED ===\n [ComfyUI] got prompt\n [ComfyUI] LoadPLY: apple.ply -> D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1807\\ComfyUI\\input\\apple.ply\n [ComfyUI] GaussianMerge: 200000 -> 100000 splats (ratio=0.5000) via NanoGS MPMM on D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1807\\ComfyUI\\input\\apple.ply\n Node executed (1 total), capturing...\n Frame 2 saved (frame_001.jpg, t=0.5s)\n [capture-node] freeze=124ms shot=167ms unfreeze=4ms saved=True\n Frame 3 saved (frame_002.jpg, t=3.9s)\n [capture-periodic] freeze=2037ms shot=2124ms unfreeze=2ms saved=True\n [ComfyUI] Loading PLY: D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1807\\ComfyUI\\input\\apple.ply\n [ComfyUI] Initial splats: 200000\n [ComfyUI] Pruned splats: 200000, target: 100000\n [ComfyUI] Opacity Mean: 0.53443545 Median: 0.48362076\n [ComfyUI] Pruning splats with opacity below 0.0000\n [ComfyUI] Original count: 200000, after opacity pruning: 200000\n [ComfyUI] After opacity pruning, 200000 splats remain.\n [ComfyUI] \n [ComfyUI] Pass 1: 200000 splats\n [ComfyUI] Edge costs: 0%| | 0/27 [00:00, ?it/s]\n [ComfyUI] Edge costs: 4%|3 | 1/27 [00:00<00:24, 1.06it/s]\n [ComfyUI] Edge costs: 7%|7 | 2/27 [00:02<00:25, 1.03s/it]\n [ComfyUI] Edge costs: 11%|#1 | 3/27 [00:03<00:26, 1.11s/it]\n [ComfyUI] Edge costs: 15%|#4 | 4/27 [00:04<00:28, 1.22s/it]\n [ComfyUI] Edge costs: 19%|#8 | 5/27 [00:05<00:27, 1.26s/it]\n [ComfyUI] Edge costs: 22%|##2 | 6/27 [00:07<00:28, 1.34s/it]\n [ComfyUI] Edge costs: 26%|##5 | 7/27 [00:08<00:27, 1.37s/it]\n [ComfyUI] Edge costs: 30%|##9 | 8/27 [00:09<00:22, 1.18s/it]\n [ComfyUI] Edge costs: 33%|###3 | 9/27 [00:10<00:20, 1.17s/it]\n [ComfyUI] Edge costs: 37%|###7 | 10/27 [00:12<00:22, 1.30s/it]\n [ComfyUI] Edge costs: 41%|#### | 11/27 [00:13<00:21, 1.34s/it]\n [ComfyUI] Edge costs: 44%|####4 | 12/27 [00:15<00:20, 1.39s/it]\n [ComfyUI] Edge costs: 48%|####8 | 13/27 [00:16<00:19, 1.41s/it]\n [ComfyUI] Edge costs: 52%|#####1 | 14/27 [00:17<00:15, 1.21s/it]\n [ComfyUI] Edge costs: 56%|#####5 | 15/27 [00:18<00:15, 1.29s/it]\n [ComfyUI] Edge costs: 59%|#####9 | 16/27 [00:20<00:14, 1.35s/it]\n [ComfyUI] Edge costs: 63%|######2 | 17/27 [00:21<00:13, 1.37s/it]\n [ComfyUI] Edge costs: 67%|######6 | 18/27 [00:23<00:12, 1.38s/it]\n [ComfyUI] Edge costs: 70%|####### | 19/27 [00:24<00:09, 1.19s/it]\n [ComfyUI] Edge costs: 74%|#######4 | 20/27 [00:25<00:08, 1.16s/it]\n [ComfyUI] Edge costs: 78%|#######7 | 21/27 [00:28<00:10, 1.73s/it]\n [ComfyUI] Edge costs: 81%|########1 | 22/27 [00:31<00:10, 2.18s/it]\n [ComfyUI] Edge costs: 85%|########5 | 23/27 [00:32<00:07, 1.94s/it]\n [ComfyUI] Edge costs: 89%|########8 | 24/27 [00:35<00:06, 2.08s/it]\n Frame 4 saved (frame_003.jpg, t=76.1s)\n [capture-periodic] freeze=2098ms shot=2169ms unfreeze=4ms saved=True\n [ComfyUI] Edge costs: 93%|#########2| 25/27 [00:37<00:04, 2.28s/it]\n [ComfyUI] Edge costs: 96%|#########6| 26/27 [00:39<00:02, 2.07s/it]\n [ComfyUI] Edge costs: 100%|##########| 27/27 [00:42<00:00, 2.48s/it]\n Frame 5 saved (frame_004.jpg, t=84.5s)\n [capture-periodic] freeze=2083ms shot=2209ms unfreeze=5ms saved=True\n Frame 6 saved (frame_005.jpg, t=105.5s)\n [capture-periodic] freeze=1989ms shot=2198ms unfreeze=5ms saved=True\n Frame 7 saved (frame_006.jpg, t=112.9s)\n [capture-periodic] freeze=1592ms shot=1555ms unfreeze=7ms saved=True"
+ },
+ {
+ "file": "frame_008.jpg",
+ "time": 141.27,
+ "log": "Capturing execution frames: merge_splats.json\n Frame 1 saved (frame_000.jpg, t=0.0s)\n Validating workflow...\n [ComfyUI] === /validate endpoint called ===\n [ComfyUI] Received JSON with keys: ['prompt']\n [ComfyUI] Prompt has 4 nodes\n [ComfyUI] Node 1: LoadPLY\n [ComfyUI] Inputs: {\"ply_file\": \"apple.ply\"}\n [ComfyUI] Node 2: PreviewGaussians\n Queuing workflow for execution...\n [ComfyUI] Inputs: {\"fov_degrees\": 50, \"image_width\": 512, \"image_height\": 512, \"renderer\": \"spark\", \"transport_format\": \"ply\", \"ply_path\": [\"1\", 0]}\n [ComfyUI] Node 3: GaussianMerge\n [ComfyUI] Inputs: {\"target_count\": 100000, \"output_filename\": \"merged\", \"opacity_threshold\": 0, \"k\": 24, \"ply_path\": [\"1\", 0]}\n [ComfyUI] Node 4: PreviewGaussians\n [ComfyUI] Inputs: {\"fov_degrees\": 50, \"image_width\": 512, \"image_height\": 512, \"renderer\": \"spark\", \"transport_format\": \"ply\", \"ply_path\": [\"3\", 0]}\n [ComfyUI] Generated prompt_id: 04b382ba-8864-4fca-8f15-db25eba359f2\n [ComfyUI] Calling execution.validate_prompt()...\n [ComfyUI] Validation result: valid=True\n [ComfyUI] === Validation PASSED ===\n [ComfyUI] got prompt\n [ComfyUI] LoadPLY: apple.ply -> D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1807\\ComfyUI\\input\\apple.ply\n [ComfyUI] GaussianMerge: 200000 -> 100000 splats (ratio=0.5000) via NanoGS MPMM on D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1807\\ComfyUI\\input\\apple.ply\n Node executed (1 total), capturing...\n Frame 2 saved (frame_001.jpg, t=0.5s)\n [capture-node] freeze=124ms shot=167ms unfreeze=4ms saved=True\n Frame 3 saved (frame_002.jpg, t=3.9s)\n [capture-periodic] freeze=2037ms shot=2124ms unfreeze=2ms saved=True\n [ComfyUI] Loading PLY: D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1807\\ComfyUI\\input\\apple.ply\n [ComfyUI] Initial splats: 200000\n [ComfyUI] Pruned splats: 200000, target: 100000\n [ComfyUI] Opacity Mean: 0.53443545 Median: 0.48362076\n [ComfyUI] Pruning splats with opacity below 0.0000\n [ComfyUI] Original count: 200000, after opacity pruning: 200000\n [ComfyUI] After opacity pruning, 200000 splats remain.\n [ComfyUI] \n [ComfyUI] Pass 1: 200000 splats\n [ComfyUI] Edge costs: 0%| | 0/27 [00:00, ?it/s]\n [ComfyUI] Edge costs: 4%|3 | 1/27 [00:00<00:24, 1.06it/s]\n [ComfyUI] Edge costs: 7%|7 | 2/27 [00:02<00:25, 1.03s/it]\n [ComfyUI] Edge costs: 11%|#1 | 3/27 [00:03<00:26, 1.11s/it]\n [ComfyUI] Edge costs: 15%|#4 | 4/27 [00:04<00:28, 1.22s/it]\n [ComfyUI] Edge costs: 19%|#8 | 5/27 [00:05<00:27, 1.26s/it]\n [ComfyUI] Edge costs: 22%|##2 | 6/27 [00:07<00:28, 1.34s/it]\n [ComfyUI] Edge costs: 26%|##5 | 7/27 [00:08<00:27, 1.37s/it]\n [ComfyUI] Edge costs: 30%|##9 | 8/27 [00:09<00:22, 1.18s/it]\n [ComfyUI] Edge costs: 33%|###3 | 9/27 [00:10<00:20, 1.17s/it]\n [ComfyUI] Edge costs: 37%|###7 | 10/27 [00:12<00:22, 1.30s/it]\n [ComfyUI] Edge costs: 41%|#### | 11/27 [00:13<00:21, 1.34s/it]\n [ComfyUI] Edge costs: 44%|####4 | 12/27 [00:15<00:20, 1.39s/it]\n [ComfyUI] Edge costs: 48%|####8 | 13/27 [00:16<00:19, 1.41s/it]\n [ComfyUI] Edge costs: 52%|#####1 | 14/27 [00:17<00:15, 1.21s/it]\n [ComfyUI] Edge costs: 56%|#####5 | 15/27 [00:18<00:15, 1.29s/it]\n [ComfyUI] Edge costs: 59%|#####9 | 16/27 [00:20<00:14, 1.35s/it]\n [ComfyUI] Edge costs: 63%|######2 | 17/27 [00:21<00:13, 1.37s/it]\n [ComfyUI] Edge costs: 67%|######6 | 18/27 [00:23<00:12, 1.38s/it]\n [ComfyUI] Edge costs: 70%|####### | 19/27 [00:24<00:09, 1.19s/it]\n [ComfyUI] Edge costs: 74%|#######4 | 20/27 [00:25<00:08, 1.16s/it]\n [ComfyUI] Edge costs: 78%|#######7 | 21/27 [00:28<00:10, 1.73s/it]\n [ComfyUI] Edge costs: 81%|########1 | 22/27 [00:31<00:10, 2.18s/it]\n [ComfyUI] Edge costs: 85%|########5 | 23/27 [00:32<00:07, 1.94s/it]\n [ComfyUI] Edge costs: 89%|########8 | 24/27 [00:35<00:06, 2.08s/it]\n Frame 4 saved (frame_003.jpg, t=76.1s)\n [capture-periodic] freeze=2098ms shot=2169ms unfreeze=4ms saved=True\n [ComfyUI] Edge costs: 93%|#########2| 25/27 [00:37<00:04, 2.28s/it]\n [ComfyUI] Edge costs: 96%|#########6| 26/27 [00:39<00:02, 2.07s/it]\n [ComfyUI] Edge costs: 100%|##########| 27/27 [00:42<00:00, 2.48s/it]\n Frame 5 saved (frame_004.jpg, t=84.5s)\n [capture-periodic] freeze=2083ms shot=2209ms unfreeze=5ms saved=True\n Frame 6 saved (frame_005.jpg, t=105.5s)\n [capture-periodic] freeze=1989ms shot=2198ms unfreeze=5ms saved=True\n Frame 7 saved (frame_006.jpg, t=112.9s)\n [capture-periodic] freeze=1592ms shot=1555ms unfreeze=7ms saved=True\n Frame 8 saved (frame_007.jpg, t=133.1s)\n [capture-periodic] freeze=1847ms shot=2185ms unfreeze=4ms saved=True"
+ },
+ {
+ "file": "frame_009.jpg",
+ "time": 242.48,
+ "log": "Capturing execution frames: merge_splats.json\n Frame 1 saved (frame_000.jpg, t=0.0s)\n Validating workflow...\n [ComfyUI] === /validate endpoint called ===\n [ComfyUI] Received JSON with keys: ['prompt']\n [ComfyUI] Prompt has 4 nodes\n [ComfyUI] Node 1: LoadPLY\n [ComfyUI] Inputs: {\"ply_file\": \"apple.ply\"}\n [ComfyUI] Node 2: PreviewGaussians\n Queuing workflow for execution...\n [ComfyUI] Inputs: {\"fov_degrees\": 50, \"image_width\": 512, \"image_height\": 512, \"renderer\": \"spark\", \"transport_format\": \"ply\", \"ply_path\": [\"1\", 0]}\n [ComfyUI] Node 3: GaussianMerge\n [ComfyUI] Inputs: {\"target_count\": 100000, \"output_filename\": \"merged\", \"opacity_threshold\": 0, \"k\": 24, \"ply_path\": [\"1\", 0]}\n [ComfyUI] Node 4: PreviewGaussians\n [ComfyUI] Inputs: {\"fov_degrees\": 50, \"image_width\": 512, \"image_height\": 512, \"renderer\": \"spark\", \"transport_format\": \"ply\", \"ply_path\": [\"3\", 0]}\n [ComfyUI] Generated prompt_id: 04b382ba-8864-4fca-8f15-db25eba359f2\n [ComfyUI] Calling execution.validate_prompt()...\n [ComfyUI] Validation result: valid=True\n [ComfyUI] === Validation PASSED ===\n [ComfyUI] got prompt\n [ComfyUI] LoadPLY: apple.ply -> D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1807\\ComfyUI\\input\\apple.ply\n [ComfyUI] GaussianMerge: 200000 -> 100000 splats (ratio=0.5000) via NanoGS MPMM on D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1807\\ComfyUI\\input\\apple.ply\n Node executed (1 total), capturing...\n Frame 2 saved (frame_001.jpg, t=0.5s)\n [capture-node] freeze=124ms shot=167ms unfreeze=4ms saved=True\n Frame 3 saved (frame_002.jpg, t=3.9s)\n [capture-periodic] freeze=2037ms shot=2124ms unfreeze=2ms saved=True\n [ComfyUI] Loading PLY: D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1807\\ComfyUI\\input\\apple.ply\n [ComfyUI] Initial splats: 200000\n [ComfyUI] Pruned splats: 200000, target: 100000\n [ComfyUI] Opacity Mean: 0.53443545 Median: 0.48362076\n [ComfyUI] Pruning splats with opacity below 0.0000\n [ComfyUI] Original count: 200000, after opacity pruning: 200000\n [ComfyUI] After opacity pruning, 200000 splats remain.\n [ComfyUI] \n [ComfyUI] Pass 1: 200000 splats\n [ComfyUI] Edge costs: 0%| | 0/27 [00:00, ?it/s]\n [ComfyUI] Edge costs: 4%|3 | 1/27 [00:00<00:24, 1.06it/s]\n [ComfyUI] Edge costs: 7%|7 | 2/27 [00:02<00:25, 1.03s/it]\n [ComfyUI] Edge costs: 11%|#1 | 3/27 [00:03<00:26, 1.11s/it]\n [ComfyUI] Edge costs: 15%|#4 | 4/27 [00:04<00:28, 1.22s/it]\n [ComfyUI] Edge costs: 19%|#8 | 5/27 [00:05<00:27, 1.26s/it]\n [ComfyUI] Edge costs: 22%|##2 | 6/27 [00:07<00:28, 1.34s/it]\n [ComfyUI] Edge costs: 26%|##5 | 7/27 [00:08<00:27, 1.37s/it]\n [ComfyUI] Edge costs: 30%|##9 | 8/27 [00:09<00:22, 1.18s/it]\n [ComfyUI] Edge costs: 33%|###3 | 9/27 [00:10<00:20, 1.17s/it]\n [ComfyUI] Edge costs: 37%|###7 | 10/27 [00:12<00:22, 1.30s/it]\n [ComfyUI] Edge costs: 41%|#### | 11/27 [00:13<00:21, 1.34s/it]\n [ComfyUI] Edge costs: 44%|####4 | 12/27 [00:15<00:20, 1.39s/it]\n [ComfyUI] Edge costs: 48%|####8 | 13/27 [00:16<00:19, 1.41s/it]\n [ComfyUI] Edge costs: 52%|#####1 | 14/27 [00:17<00:15, 1.21s/it]\n [ComfyUI] Edge costs: 56%|#####5 | 15/27 [00:18<00:15, 1.29s/it]\n [ComfyUI] Edge costs: 59%|#####9 | 16/27 [00:20<00:14, 1.35s/it]\n [ComfyUI] Edge costs: 63%|######2 | 17/27 [00:21<00:13, 1.37s/it]\n [ComfyUI] Edge costs: 67%|######6 | 18/27 [00:23<00:12, 1.38s/it]\n [ComfyUI] Edge costs: 70%|####### | 19/27 [00:24<00:09, 1.19s/it]\n [ComfyUI] Edge costs: 74%|#######4 | 20/27 [00:25<00:08, 1.16s/it]\n [ComfyUI] Edge costs: 78%|#######7 | 21/27 [00:28<00:10, 1.73s/it]\n [ComfyUI] Edge costs: 81%|########1 | 22/27 [00:31<00:10, 2.18s/it]\n [ComfyUI] Edge costs: 85%|########5 | 23/27 [00:32<00:07, 1.94s/it]\n [ComfyUI] Edge costs: 89%|########8 | 24/27 [00:35<00:06, 2.08s/it]\n Frame 4 saved (frame_003.jpg, t=76.1s)\n [capture-periodic] freeze=2098ms shot=2169ms unfreeze=4ms saved=True\n [ComfyUI] Edge costs: 93%|#########2| 25/27 [00:37<00:04, 2.28s/it]\n [ComfyUI] Edge costs: 96%|#########6| 26/27 [00:39<00:02, 2.07s/it]\n [ComfyUI] Edge costs: 100%|##########| 27/27 [00:42<00:00, 2.48s/it]\n Frame 5 saved (frame_004.jpg, t=84.5s)\n [capture-periodic] freeze=2083ms shot=2209ms unfreeze=5ms saved=True\n Frame 6 saved (frame_005.jpg, t=105.5s)\n [capture-periodic] freeze=1989ms shot=2198ms unfreeze=5ms saved=True\n Frame 7 saved (frame_006.jpg, t=112.9s)\n [capture-periodic] freeze=1592ms shot=1555ms unfreeze=7ms saved=True\n Frame 8 saved (frame_007.jpg, t=133.1s)\n [capture-periodic] freeze=1847ms shot=2185ms unfreeze=4ms saved=True\n Frame 9 saved (frame_008.jpg, t=141.3s)\n [capture-periodic] freeze=2061ms shot=2184ms unfreeze=5ms saved=True\n [capture-loop] iter=50 t=220.4s state={'complete': False, 'error': None, 'executedCount': 1, 'wsState': 1} eval_ms=6869 ram=4.4/16.0GB (27%) swap=0.4/2.9GB (15%) cpu=92% browser_rss=0.52GB"
+ },
+ {
+ "file": "frame_010.jpg",
+ "time": 250.83,
+ "log": "Capturing execution frames: merge_splats.json\n Frame 1 saved (frame_000.jpg, t=0.0s)\n Validating workflow...\n [ComfyUI] === /validate endpoint called ===\n [ComfyUI] Received JSON with keys: ['prompt']\n [ComfyUI] Prompt has 4 nodes\n [ComfyUI] Node 1: LoadPLY\n [ComfyUI] Inputs: {\"ply_file\": \"apple.ply\"}\n [ComfyUI] Node 2: PreviewGaussians\n Queuing workflow for execution...\n [ComfyUI] Inputs: {\"fov_degrees\": 50, \"image_width\": 512, \"image_height\": 512, \"renderer\": \"spark\", \"transport_format\": \"ply\", \"ply_path\": [\"1\", 0]}\n [ComfyUI] Node 3: GaussianMerge\n [ComfyUI] Inputs: {\"target_count\": 100000, \"output_filename\": \"merged\", \"opacity_threshold\": 0, \"k\": 24, \"ply_path\": [\"1\", 0]}\n [ComfyUI] Node 4: PreviewGaussians\n [ComfyUI] Inputs: {\"fov_degrees\": 50, \"image_width\": 512, \"image_height\": 512, \"renderer\": \"spark\", \"transport_format\": \"ply\", \"ply_path\": [\"3\", 0]}\n [ComfyUI] Generated prompt_id: 04b382ba-8864-4fca-8f15-db25eba359f2\n [ComfyUI] Calling execution.validate_prompt()...\n [ComfyUI] Validation result: valid=True\n [ComfyUI] === Validation PASSED ===\n [ComfyUI] got prompt\n [ComfyUI] LoadPLY: apple.ply -> D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1807\\ComfyUI\\input\\apple.ply\n [ComfyUI] GaussianMerge: 200000 -> 100000 splats (ratio=0.5000) via NanoGS MPMM on D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1807\\ComfyUI\\input\\apple.ply\n Node executed (1 total), capturing...\n Frame 2 saved (frame_001.jpg, t=0.5s)\n [capture-node] freeze=124ms shot=167ms unfreeze=4ms saved=True\n Frame 3 saved (frame_002.jpg, t=3.9s)\n [capture-periodic] freeze=2037ms shot=2124ms unfreeze=2ms saved=True\n [ComfyUI] Loading PLY: D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1807\\ComfyUI\\input\\apple.ply\n [ComfyUI] Initial splats: 200000\n [ComfyUI] Pruned splats: 200000, target: 100000\n [ComfyUI] Opacity Mean: 0.53443545 Median: 0.48362076\n [ComfyUI] Pruning splats with opacity below 0.0000\n [ComfyUI] Original count: 200000, after opacity pruning: 200000\n [ComfyUI] After opacity pruning, 200000 splats remain.\n [ComfyUI] \n [ComfyUI] Pass 1: 200000 splats\n [ComfyUI] Edge costs: 0%| | 0/27 [00:00, ?it/s]\n [ComfyUI] Edge costs: 4%|3 | 1/27 [00:00<00:24, 1.06it/s]\n [ComfyUI] Edge costs: 7%|7 | 2/27 [00:02<00:25, 1.03s/it]\n [ComfyUI] Edge costs: 11%|#1 | 3/27 [00:03<00:26, 1.11s/it]\n [ComfyUI] Edge costs: 15%|#4 | 4/27 [00:04<00:28, 1.22s/it]\n [ComfyUI] Edge costs: 19%|#8 | 5/27 [00:05<00:27, 1.26s/it]\n [ComfyUI] Edge costs: 22%|##2 | 6/27 [00:07<00:28, 1.34s/it]\n [ComfyUI] Edge costs: 26%|##5 | 7/27 [00:08<00:27, 1.37s/it]\n [ComfyUI] Edge costs: 30%|##9 | 8/27 [00:09<00:22, 1.18s/it]\n [ComfyUI] Edge costs: 33%|###3 | 9/27 [00:10<00:20, 1.17s/it]\n [ComfyUI] Edge costs: 37%|###7 | 10/27 [00:12<00:22, 1.30s/it]\n [ComfyUI] Edge costs: 41%|#### | 11/27 [00:13<00:21, 1.34s/it]\n [ComfyUI] Edge costs: 44%|####4 | 12/27 [00:15<00:20, 1.39s/it]\n [ComfyUI] Edge costs: 48%|####8 | 13/27 [00:16<00:19, 1.41s/it]\n [ComfyUI] Edge costs: 52%|#####1 | 14/27 [00:17<00:15, 1.21s/it]\n [ComfyUI] Edge costs: 56%|#####5 | 15/27 [00:18<00:15, 1.29s/it]\n [ComfyUI] Edge costs: 59%|#####9 | 16/27 [00:20<00:14, 1.35s/it]\n [ComfyUI] Edge costs: 63%|######2 | 17/27 [00:21<00:13, 1.37s/it]\n [ComfyUI] Edge costs: 67%|######6 | 18/27 [00:23<00:12, 1.38s/it]\n [ComfyUI] Edge costs: 70%|####### | 19/27 [00:24<00:09, 1.19s/it]\n [ComfyUI] Edge costs: 74%|#######4 | 20/27 [00:25<00:08, 1.16s/it]\n [ComfyUI] Edge costs: 78%|#######7 | 21/27 [00:28<00:10, 1.73s/it]\n [ComfyUI] Edge costs: 81%|########1 | 22/27 [00:31<00:10, 2.18s/it]\n [ComfyUI] Edge costs: 85%|########5 | 23/27 [00:32<00:07, 1.94s/it]\n [ComfyUI] Edge costs: 89%|########8 | 24/27 [00:35<00:06, 2.08s/it]\n Frame 4 saved (frame_003.jpg, t=76.1s)\n [capture-periodic] freeze=2098ms shot=2169ms unfreeze=4ms saved=True\n [ComfyUI] Edge costs: 93%|#########2| 25/27 [00:37<00:04, 2.28s/it]\n [ComfyUI] Edge costs: 96%|#########6| 26/27 [00:39<00:02, 2.07s/it]\n [ComfyUI] Edge costs: 100%|##########| 27/27 [00:42<00:00, 2.48s/it]\n Frame 5 saved (frame_004.jpg, t=84.5s)\n [capture-periodic] freeze=2083ms shot=2209ms unfreeze=5ms saved=True\n Frame 6 saved (frame_005.jpg, t=105.5s)\n [capture-periodic] freeze=1989ms shot=2198ms unfreeze=5ms saved=True\n Frame 7 saved (frame_006.jpg, t=112.9s)\n [capture-periodic] freeze=1592ms shot=1555ms unfreeze=7ms saved=True\n Frame 8 saved (frame_007.jpg, t=133.1s)\n [capture-periodic] freeze=1847ms shot=2185ms unfreeze=4ms saved=True\n Frame 9 saved (frame_008.jpg, t=141.3s)\n [capture-periodic] freeze=2061ms shot=2184ms unfreeze=5ms saved=True\n [capture-loop] iter=50 t=220.4s state={'complete': False, 'error': None, 'executedCount': 1, 'wsState': 1} eval_ms=6869 ram=4.4/16.0GB (27%) swap=0.4/2.9GB (15%) cpu=92% browser_rss=0.52GB\n Frame 10 saved (frame_009.jpg, t=242.5s)\n [capture-periodic] freeze=2055ms shot=2183ms unfreeze=6ms saved=True"
+ },
+ {
+ "file": "frame_011.jpg",
+ "time": 271.89,
+ "log": "Capturing execution frames: merge_splats.json\n Frame 1 saved (frame_000.jpg, t=0.0s)\n Validating workflow...\n [ComfyUI] === /validate endpoint called ===\n [ComfyUI] Received JSON with keys: ['prompt']\n [ComfyUI] Prompt has 4 nodes\n [ComfyUI] Node 1: LoadPLY\n [ComfyUI] Inputs: {\"ply_file\": \"apple.ply\"}\n [ComfyUI] Node 2: PreviewGaussians\n Queuing workflow for execution...\n [ComfyUI] Inputs: {\"fov_degrees\": 50, \"image_width\": 512, \"image_height\": 512, \"renderer\": \"spark\", \"transport_format\": \"ply\", \"ply_path\": [\"1\", 0]}\n [ComfyUI] Node 3: GaussianMerge\n [ComfyUI] Inputs: {\"target_count\": 100000, \"output_filename\": \"merged\", \"opacity_threshold\": 0, \"k\": 24, \"ply_path\": [\"1\", 0]}\n [ComfyUI] Node 4: PreviewGaussians\n [ComfyUI] Inputs: {\"fov_degrees\": 50, \"image_width\": 512, \"image_height\": 512, \"renderer\": \"spark\", \"transport_format\": \"ply\", \"ply_path\": [\"3\", 0]}\n [ComfyUI] Generated prompt_id: 04b382ba-8864-4fca-8f15-db25eba359f2\n [ComfyUI] Calling execution.validate_prompt()...\n [ComfyUI] Validation result: valid=True\n [ComfyUI] === Validation PASSED ===\n [ComfyUI] got prompt\n [ComfyUI] LoadPLY: apple.ply -> D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1807\\ComfyUI\\input\\apple.ply\n [ComfyUI] GaussianMerge: 200000 -> 100000 splats (ratio=0.5000) via NanoGS MPMM on D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1807\\ComfyUI\\input\\apple.ply\n Node executed (1 total), capturing...\n Frame 2 saved (frame_001.jpg, t=0.5s)\n [capture-node] freeze=124ms shot=167ms unfreeze=4ms saved=True\n Frame 3 saved (frame_002.jpg, t=3.9s)\n [capture-periodic] freeze=2037ms shot=2124ms unfreeze=2ms saved=True\n [ComfyUI] Loading PLY: D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1807\\ComfyUI\\input\\apple.ply\n [ComfyUI] Initial splats: 200000\n [ComfyUI] Pruned splats: 200000, target: 100000\n [ComfyUI] Opacity Mean: 0.53443545 Median: 0.48362076\n [ComfyUI] Pruning splats with opacity below 0.0000\n [ComfyUI] Original count: 200000, after opacity pruning: 200000\n [ComfyUI] After opacity pruning, 200000 splats remain.\n [ComfyUI] \n [ComfyUI] Pass 1: 200000 splats\n [ComfyUI] Edge costs: 0%| | 0/27 [00:00, ?it/s]\n [ComfyUI] Edge costs: 4%|3 | 1/27 [00:00<00:24, 1.06it/s]\n [ComfyUI] Edge costs: 7%|7 | 2/27 [00:02<00:25, 1.03s/it]\n [ComfyUI] Edge costs: 11%|#1 | 3/27 [00:03<00:26, 1.11s/it]\n [ComfyUI] Edge costs: 15%|#4 | 4/27 [00:04<00:28, 1.22s/it]\n [ComfyUI] Edge costs: 19%|#8 | 5/27 [00:05<00:27, 1.26s/it]\n [ComfyUI] Edge costs: 22%|##2 | 6/27 [00:07<00:28, 1.34s/it]\n [ComfyUI] Edge costs: 26%|##5 | 7/27 [00:08<00:27, 1.37s/it]\n [ComfyUI] Edge costs: 30%|##9 | 8/27 [00:09<00:22, 1.18s/it]\n [ComfyUI] Edge costs: 33%|###3 | 9/27 [00:10<00:20, 1.17s/it]\n [ComfyUI] Edge costs: 37%|###7 | 10/27 [00:12<00:22, 1.30s/it]\n [ComfyUI] Edge costs: 41%|#### | 11/27 [00:13<00:21, 1.34s/it]\n [ComfyUI] Edge costs: 44%|####4 | 12/27 [00:15<00:20, 1.39s/it]\n [ComfyUI] Edge costs: 48%|####8 | 13/27 [00:16<00:19, 1.41s/it]\n [ComfyUI] Edge costs: 52%|#####1 | 14/27 [00:17<00:15, 1.21s/it]\n [ComfyUI] Edge costs: 56%|#####5 | 15/27 [00:18<00:15, 1.29s/it]\n [ComfyUI] Edge costs: 59%|#####9 | 16/27 [00:20<00:14, 1.35s/it]\n [ComfyUI] Edge costs: 63%|######2 | 17/27 [00:21<00:13, 1.37s/it]\n [ComfyUI] Edge costs: 67%|######6 | 18/27 [00:23<00:12, 1.38s/it]\n [ComfyUI] Edge costs: 70%|####### | 19/27 [00:24<00:09, 1.19s/it]\n [ComfyUI] Edge costs: 74%|#######4 | 20/27 [00:25<00:08, 1.16s/it]\n [ComfyUI] Edge costs: 78%|#######7 | 21/27 [00:28<00:10, 1.73s/it]\n [ComfyUI] Edge costs: 81%|########1 | 22/27 [00:31<00:10, 2.18s/it]\n [ComfyUI] Edge costs: 85%|########5 | 23/27 [00:32<00:07, 1.94s/it]\n [ComfyUI] Edge costs: 89%|########8 | 24/27 [00:35<00:06, 2.08s/it]\n Frame 4 saved (frame_003.jpg, t=76.1s)\n [capture-periodic] freeze=2098ms shot=2169ms unfreeze=4ms saved=True\n [ComfyUI] Edge costs: 93%|#########2| 25/27 [00:37<00:04, 2.28s/it]\n [ComfyUI] Edge costs: 96%|#########6| 26/27 [00:39<00:02, 2.07s/it]\n [ComfyUI] Edge costs: 100%|##########| 27/27 [00:42<00:00, 2.48s/it]\n Frame 5 saved (frame_004.jpg, t=84.5s)\n [capture-periodic] freeze=2083ms shot=2209ms unfreeze=5ms saved=True\n Frame 6 saved (frame_005.jpg, t=105.5s)\n [capture-periodic] freeze=1989ms shot=2198ms unfreeze=5ms saved=True\n Frame 7 saved (frame_006.jpg, t=112.9s)\n [capture-periodic] freeze=1592ms shot=1555ms unfreeze=7ms saved=True\n Frame 8 saved (frame_007.jpg, t=133.1s)\n [capture-periodic] freeze=1847ms shot=2185ms unfreeze=4ms saved=True\n Frame 9 saved (frame_008.jpg, t=141.3s)\n [capture-periodic] freeze=2061ms shot=2184ms unfreeze=5ms saved=True\n [capture-loop] iter=50 t=220.4s state={'complete': False, 'error': None, 'executedCount': 1, 'wsState': 1} eval_ms=6869 ram=4.4/16.0GB (27%) swap=0.4/2.9GB (15%) cpu=92% browser_rss=0.52GB\n Frame 10 saved (frame_009.jpg, t=242.5s)\n [capture-periodic] freeze=2055ms shot=2183ms unfreeze=6ms saved=True\n [ComfyUI] Edge costs: 100%|##########| 27/27 [00:42<00:00, 1.59s/it]\n [ComfyUI] edges: 2697139, pairs: 97792 (need 100000)\n [ComfyUI] Merging 97792 pairs\n [ComfyUI] Pass 2: 102208 splats\n [ComfyUI] \n Frame 11 saved (frame_010.jpg, t=250.8s)\n [capture-periodic] freeze=2069ms shot=2190ms unfreeze=4ms saved=True\n [ComfyUI] Edge costs: 0%| | 0/14 [00:00, ?it/s]\n [ComfyUI] Edge costs: 7%|7 | 1/14 [00:05<01:08, 5.24s/it]\n [ComfyUI] Edge costs: 14%|#4 | 2/14 [00:11<01:10, 5.87s/it]\n [ComfyUI] Edge costs: 21%|##1 | 3/14 [00:16<00:58, 5.30s/it]"
+ },
+ {
+ "file": "frame_012.jpg",
+ "time": 280.31,
+ "log": "Capturing execution frames: merge_splats.json\n Frame 1 saved (frame_000.jpg, t=0.0s)\n Validating workflow...\n [ComfyUI] === /validate endpoint called ===\n [ComfyUI] Received JSON with keys: ['prompt']\n [ComfyUI] Prompt has 4 nodes\n [ComfyUI] Node 1: LoadPLY\n [ComfyUI] Inputs: {\"ply_file\": \"apple.ply\"}\n [ComfyUI] Node 2: PreviewGaussians\n Queuing workflow for execution...\n [ComfyUI] Inputs: {\"fov_degrees\": 50, \"image_width\": 512, \"image_height\": 512, \"renderer\": \"spark\", \"transport_format\": \"ply\", \"ply_path\": [\"1\", 0]}\n [ComfyUI] Node 3: GaussianMerge\n [ComfyUI] Inputs: {\"target_count\": 100000, \"output_filename\": \"merged\", \"opacity_threshold\": 0, \"k\": 24, \"ply_path\": [\"1\", 0]}\n [ComfyUI] Node 4: PreviewGaussians\n [ComfyUI] Inputs: {\"fov_degrees\": 50, \"image_width\": 512, \"image_height\": 512, \"renderer\": \"spark\", \"transport_format\": \"ply\", \"ply_path\": [\"3\", 0]}\n [ComfyUI] Generated prompt_id: 04b382ba-8864-4fca-8f15-db25eba359f2\n [ComfyUI] Calling execution.validate_prompt()...\n [ComfyUI] Validation result: valid=True\n [ComfyUI] === Validation PASSED ===\n [ComfyUI] got prompt\n [ComfyUI] LoadPLY: apple.ply -> D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1807\\ComfyUI\\input\\apple.ply\n [ComfyUI] GaussianMerge: 200000 -> 100000 splats (ratio=0.5000) via NanoGS MPMM on D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1807\\ComfyUI\\input\\apple.ply\n Node executed (1 total), capturing...\n Frame 2 saved (frame_001.jpg, t=0.5s)\n [capture-node] freeze=124ms shot=167ms unfreeze=4ms saved=True\n Frame 3 saved (frame_002.jpg, t=3.9s)\n [capture-periodic] freeze=2037ms shot=2124ms unfreeze=2ms saved=True\n [ComfyUI] Loading PLY: D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1807\\ComfyUI\\input\\apple.ply\n [ComfyUI] Initial splats: 200000\n [ComfyUI] Pruned splats: 200000, target: 100000\n [ComfyUI] Opacity Mean: 0.53443545 Median: 0.48362076\n [ComfyUI] Pruning splats with opacity below 0.0000\n [ComfyUI] Original count: 200000, after opacity pruning: 200000\n [ComfyUI] After opacity pruning, 200000 splats remain.\n [ComfyUI] \n [ComfyUI] Pass 1: 200000 splats\n [ComfyUI] Edge costs: 0%| | 0/27 [00:00, ?it/s]\n [ComfyUI] Edge costs: 4%|3 | 1/27 [00:00<00:24, 1.06it/s]\n [ComfyUI] Edge costs: 7%|7 | 2/27 [00:02<00:25, 1.03s/it]\n [ComfyUI] Edge costs: 11%|#1 | 3/27 [00:03<00:26, 1.11s/it]\n [ComfyUI] Edge costs: 15%|#4 | 4/27 [00:04<00:28, 1.22s/it]\n [ComfyUI] Edge costs: 19%|#8 | 5/27 [00:05<00:27, 1.26s/it]\n [ComfyUI] Edge costs: 22%|##2 | 6/27 [00:07<00:28, 1.34s/it]\n [ComfyUI] Edge costs: 26%|##5 | 7/27 [00:08<00:27, 1.37s/it]\n [ComfyUI] Edge costs: 30%|##9 | 8/27 [00:09<00:22, 1.18s/it]\n [ComfyUI] Edge costs: 33%|###3 | 9/27 [00:10<00:20, 1.17s/it]\n [ComfyUI] Edge costs: 37%|###7 | 10/27 [00:12<00:22, 1.30s/it]\n [ComfyUI] Edge costs: 41%|#### | 11/27 [00:13<00:21, 1.34s/it]\n [ComfyUI] Edge costs: 44%|####4 | 12/27 [00:15<00:20, 1.39s/it]\n [ComfyUI] Edge costs: 48%|####8 | 13/27 [00:16<00:19, 1.41s/it]\n [ComfyUI] Edge costs: 52%|#####1 | 14/27 [00:17<00:15, 1.21s/it]\n [ComfyUI] Edge costs: 56%|#####5 | 15/27 [00:18<00:15, 1.29s/it]\n [ComfyUI] Edge costs: 59%|#####9 | 16/27 [00:20<00:14, 1.35s/it]\n [ComfyUI] Edge costs: 63%|######2 | 17/27 [00:21<00:13, 1.37s/it]\n [ComfyUI] Edge costs: 67%|######6 | 18/27 [00:23<00:12, 1.38s/it]\n [ComfyUI] Edge costs: 70%|####### | 19/27 [00:24<00:09, 1.19s/it]\n [ComfyUI] Edge costs: 74%|#######4 | 20/27 [00:25<00:08, 1.16s/it]\n [ComfyUI] Edge costs: 78%|#######7 | 21/27 [00:28<00:10, 1.73s/it]\n [ComfyUI] Edge costs: 81%|########1 | 22/27 [00:31<00:10, 2.18s/it]\n [ComfyUI] Edge costs: 85%|########5 | 23/27 [00:32<00:07, 1.94s/it]\n [ComfyUI] Edge costs: 89%|########8 | 24/27 [00:35<00:06, 2.08s/it]\n Frame 4 saved (frame_003.jpg, t=76.1s)\n [capture-periodic] freeze=2098ms shot=2169ms unfreeze=4ms saved=True\n [ComfyUI] Edge costs: 93%|#########2| 25/27 [00:37<00:04, 2.28s/it]\n [ComfyUI] Edge costs: 96%|#########6| 26/27 [00:39<00:02, 2.07s/it]\n [ComfyUI] Edge costs: 100%|##########| 27/27 [00:42<00:00, 2.48s/it]\n Frame 5 saved (frame_004.jpg, t=84.5s)\n [capture-periodic] freeze=2083ms shot=2209ms unfreeze=5ms saved=True\n Frame 6 saved (frame_005.jpg, t=105.5s)\n [capture-periodic] freeze=1989ms shot=2198ms unfreeze=5ms saved=True\n Frame 7 saved (frame_006.jpg, t=112.9s)\n [capture-periodic] freeze=1592ms shot=1555ms unfreeze=7ms saved=True\n Frame 8 saved (frame_007.jpg, t=133.1s)\n [capture-periodic] freeze=1847ms shot=2185ms unfreeze=4ms saved=True\n Frame 9 saved (frame_008.jpg, t=141.3s)\n [capture-periodic] freeze=2061ms shot=2184ms unfreeze=5ms saved=True\n [capture-loop] iter=50 t=220.4s state={'complete': False, 'error': None, 'executedCount': 1, 'wsState': 1} eval_ms=6869 ram=4.4/16.0GB (27%) swap=0.4/2.9GB (15%) cpu=92% browser_rss=0.52GB\n Frame 10 saved (frame_009.jpg, t=242.5s)\n [capture-periodic] freeze=2055ms shot=2183ms unfreeze=6ms saved=True\n [ComfyUI] Edge costs: 100%|##########| 27/27 [00:42<00:00, 1.59s/it]\n [ComfyUI] edges: 2697139, pairs: 97792 (need 100000)\n [ComfyUI] Merging 97792 pairs\n [ComfyUI] Pass 2: 102208 splats\n [ComfyUI] \n Frame 11 saved (frame_010.jpg, t=250.8s)\n [capture-periodic] freeze=2069ms shot=2190ms unfreeze=4ms saved=True\n [ComfyUI] Edge costs: 0%| | 0/14 [00:00, ?it/s]\n [ComfyUI] Edge costs: 7%|7 | 1/14 [00:05<01:08, 5.24s/it]\n [ComfyUI] Edge costs: 14%|#4 | 2/14 [00:11<01:10, 5.87s/it]\n [ComfyUI] Edge costs: 21%|##1 | 3/14 [00:16<00:58, 5.30s/it]\n [ComfyUI] Edge costs: 29%|##8 | 4/14 [00:19<00:46, 4.60s/it]\n Frame 12 saved (frame_011.jpg, t=271.9s)\n [capture-periodic] freeze=2149ms shot=2137ms unfreeze=4ms saved=True"
+ },
+ {
+ "file": "frame_013.jpg",
+ "time": 294.98,
+ "log": "Capturing execution frames: merge_splats.json\n Frame 1 saved (frame_000.jpg, t=0.0s)\n Validating workflow...\n [ComfyUI] === /validate endpoint called ===\n [ComfyUI] Received JSON with keys: ['prompt']\n [ComfyUI] Prompt has 4 nodes\n [ComfyUI] Node 1: LoadPLY\n [ComfyUI] Inputs: {\"ply_file\": \"apple.ply\"}\n [ComfyUI] Node 2: PreviewGaussians\n Queuing workflow for execution...\n [ComfyUI] Inputs: {\"fov_degrees\": 50, \"image_width\": 512, \"image_height\": 512, \"renderer\": \"spark\", \"transport_format\": \"ply\", \"ply_path\": [\"1\", 0]}\n [ComfyUI] Node 3: GaussianMerge\n [ComfyUI] Inputs: {\"target_count\": 100000, \"output_filename\": \"merged\", \"opacity_threshold\": 0, \"k\": 24, \"ply_path\": [\"1\", 0]}\n [ComfyUI] Node 4: PreviewGaussians\n [ComfyUI] Inputs: {\"fov_degrees\": 50, \"image_width\": 512, \"image_height\": 512, \"renderer\": \"spark\", \"transport_format\": \"ply\", \"ply_path\": [\"3\", 0]}\n [ComfyUI] Generated prompt_id: 04b382ba-8864-4fca-8f15-db25eba359f2\n [ComfyUI] Calling execution.validate_prompt()...\n [ComfyUI] Validation result: valid=True\n [ComfyUI] === Validation PASSED ===\n [ComfyUI] got prompt\n [ComfyUI] LoadPLY: apple.ply -> D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1807\\ComfyUI\\input\\apple.ply\n [ComfyUI] GaussianMerge: 200000 -> 100000 splats (ratio=0.5000) via NanoGS MPMM on D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1807\\ComfyUI\\input\\apple.ply\n Node executed (1 total), capturing...\n Frame 2 saved (frame_001.jpg, t=0.5s)\n [capture-node] freeze=124ms shot=167ms unfreeze=4ms saved=True\n Frame 3 saved (frame_002.jpg, t=3.9s)\n [capture-periodic] freeze=2037ms shot=2124ms unfreeze=2ms saved=True\n [ComfyUI] Loading PLY: D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1807\\ComfyUI\\input\\apple.ply\n [ComfyUI] Initial splats: 200000\n [ComfyUI] Pruned splats: 200000, target: 100000\n [ComfyUI] Opacity Mean: 0.53443545 Median: 0.48362076\n [ComfyUI] Pruning splats with opacity below 0.0000\n [ComfyUI] Original count: 200000, after opacity pruning: 200000\n [ComfyUI] After opacity pruning, 200000 splats remain.\n [ComfyUI] \n [ComfyUI] Pass 1: 200000 splats\n [ComfyUI] Edge costs: 0%| | 0/27 [00:00, ?it/s]\n [ComfyUI] Edge costs: 4%|3 | 1/27 [00:00<00:24, 1.06it/s]\n [ComfyUI] Edge costs: 7%|7 | 2/27 [00:02<00:25, 1.03s/it]\n [ComfyUI] Edge costs: 11%|#1 | 3/27 [00:03<00:26, 1.11s/it]\n [ComfyUI] Edge costs: 15%|#4 | 4/27 [00:04<00:28, 1.22s/it]\n [ComfyUI] Edge costs: 19%|#8 | 5/27 [00:05<00:27, 1.26s/it]\n [ComfyUI] Edge costs: 22%|##2 | 6/27 [00:07<00:28, 1.34s/it]\n [ComfyUI] Edge costs: 26%|##5 | 7/27 [00:08<00:27, 1.37s/it]\n [ComfyUI] Edge costs: 30%|##9 | 8/27 [00:09<00:22, 1.18s/it]\n [ComfyUI] Edge costs: 33%|###3 | 9/27 [00:10<00:20, 1.17s/it]\n [ComfyUI] Edge costs: 37%|###7 | 10/27 [00:12<00:22, 1.30s/it]\n [ComfyUI] Edge costs: 41%|#### | 11/27 [00:13<00:21, 1.34s/it]\n [ComfyUI] Edge costs: 44%|####4 | 12/27 [00:15<00:20, 1.39s/it]\n [ComfyUI] Edge costs: 48%|####8 | 13/27 [00:16<00:19, 1.41s/it]\n [ComfyUI] Edge costs: 52%|#####1 | 14/27 [00:17<00:15, 1.21s/it]\n [ComfyUI] Edge costs: 56%|#####5 | 15/27 [00:18<00:15, 1.29s/it]\n [ComfyUI] Edge costs: 59%|#####9 | 16/27 [00:20<00:14, 1.35s/it]\n [ComfyUI] Edge costs: 63%|######2 | 17/27 [00:21<00:13, 1.37s/it]\n [ComfyUI] Edge costs: 67%|######6 | 18/27 [00:23<00:12, 1.38s/it]\n [ComfyUI] Edge costs: 70%|####### | 19/27 [00:24<00:09, 1.19s/it]\n [ComfyUI] Edge costs: 74%|#######4 | 20/27 [00:25<00:08, 1.16s/it]\n [ComfyUI] Edge costs: 78%|#######7 | 21/27 [00:28<00:10, 1.73s/it]\n [ComfyUI] Edge costs: 81%|########1 | 22/27 [00:31<00:10, 2.18s/it]\n [ComfyUI] Edge costs: 85%|########5 | 23/27 [00:32<00:07, 1.94s/it]\n [ComfyUI] Edge costs: 89%|########8 | 24/27 [00:35<00:06, 2.08s/it]\n Frame 4 saved (frame_003.jpg, t=76.1s)\n [capture-periodic] freeze=2098ms shot=2169ms unfreeze=4ms saved=True\n [ComfyUI] Edge costs: 93%|#########2| 25/27 [00:37<00:04, 2.28s/it]\n [ComfyUI] Edge costs: 96%|#########6| 26/27 [00:39<00:02, 2.07s/it]\n [ComfyUI] Edge costs: 100%|##########| 27/27 [00:42<00:00, 2.48s/it]\n Frame 5 saved (frame_004.jpg, t=84.5s)\n [capture-periodic] freeze=2083ms shot=2209ms unfreeze=5ms saved=True\n Frame 6 saved (frame_005.jpg, t=105.5s)\n [capture-periodic] freeze=1989ms shot=2198ms unfreeze=5ms saved=True\n Frame 7 saved (frame_006.jpg, t=112.9s)\n [capture-periodic] freeze=1592ms shot=1555ms unfreeze=7ms saved=True\n Frame 8 saved (frame_007.jpg, t=133.1s)\n [capture-periodic] freeze=1847ms shot=2185ms unfreeze=4ms saved=True\n Frame 9 saved (frame_008.jpg, t=141.3s)\n [capture-periodic] freeze=2061ms shot=2184ms unfreeze=5ms saved=True\n [capture-loop] iter=50 t=220.4s state={'complete': False, 'error': None, 'executedCount': 1, 'wsState': 1} eval_ms=6869 ram=4.4/16.0GB (27%) swap=0.4/2.9GB (15%) cpu=92% browser_rss=0.52GB\n Frame 10 saved (frame_009.jpg, t=242.5s)\n [capture-periodic] freeze=2055ms shot=2183ms unfreeze=6ms saved=True\n [ComfyUI] Edge costs: 100%|##########| 27/27 [00:42<00:00, 1.59s/it]\n [ComfyUI] edges: 2697139, pairs: 97792 (need 100000)\n [ComfyUI] Merging 97792 pairs\n [ComfyUI] Pass 2: 102208 splats\n [ComfyUI] \n Frame 11 saved (frame_010.jpg, t=250.8s)\n [capture-periodic] freeze=2069ms shot=2190ms unfreeze=4ms saved=True\n [ComfyUI] Edge costs: 0%| | 0/14 [00:00, ?it/s]\n [ComfyUI] Edge costs: 7%|7 | 1/14 [00:05<01:08, 5.24s/it]\n [ComfyUI] Edge costs: 14%|#4 | 2/14 [00:11<01:10, 5.87s/it]\n [ComfyUI] Edge costs: 21%|##1 | 3/14 [00:16<00:58, 5.30s/it]\n [ComfyUI] Edge costs: 29%|##8 | 4/14 [00:19<00:46, 4.60s/it]\n Frame 12 saved (frame_011.jpg, t=271.9s)\n [capture-periodic] freeze=2149ms shot=2137ms unfreeze=4ms saved=True\n [ComfyUI] Edge costs: 36%|###5 | 5/14 [00:24<00:41, 4.58s/it]\n Frame 13 saved (frame_012.jpg, t=280.3s)\n [capture-periodic] freeze=2045ms shot=2192ms unfreeze=4ms saved=True\n [ComfyUI] Edge costs: 43%|####2 | 6/14 [00:30<00:41, 5.13s/it]\n [ComfyUI] Edge costs: 50%|##### | 7/14 [00:34<00:34, 4.88s/it]"
+ },
+ {
+ "file": "frame_014.jpg",
+ "time": 303.42,
+ "log": "Capturing execution frames: merge_splats.json\n Frame 1 saved (frame_000.jpg, t=0.0s)\n Validating workflow...\n [ComfyUI] === /validate endpoint called ===\n [ComfyUI] Received JSON with keys: ['prompt']\n [ComfyUI] Prompt has 4 nodes\n [ComfyUI] Node 1: LoadPLY\n [ComfyUI] Inputs: {\"ply_file\": \"apple.ply\"}\n [ComfyUI] Node 2: PreviewGaussians\n Queuing workflow for execution...\n [ComfyUI] Inputs: {\"fov_degrees\": 50, \"image_width\": 512, \"image_height\": 512, \"renderer\": \"spark\", \"transport_format\": \"ply\", \"ply_path\": [\"1\", 0]}\n [ComfyUI] Node 3: GaussianMerge\n [ComfyUI] Inputs: {\"target_count\": 100000, \"output_filename\": \"merged\", \"opacity_threshold\": 0, \"k\": 24, \"ply_path\": [\"1\", 0]}\n [ComfyUI] Node 4: PreviewGaussians\n [ComfyUI] Inputs: {\"fov_degrees\": 50, \"image_width\": 512, \"image_height\": 512, \"renderer\": \"spark\", \"transport_format\": \"ply\", \"ply_path\": [\"3\", 0]}\n [ComfyUI] Generated prompt_id: 04b382ba-8864-4fca-8f15-db25eba359f2\n [ComfyUI] Calling execution.validate_prompt()...\n [ComfyUI] Validation result: valid=True\n [ComfyUI] === Validation PASSED ===\n [ComfyUI] got prompt\n [ComfyUI] LoadPLY: apple.ply -> D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1807\\ComfyUI\\input\\apple.ply\n [ComfyUI] GaussianMerge: 200000 -> 100000 splats (ratio=0.5000) via NanoGS MPMM on D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1807\\ComfyUI\\input\\apple.ply\n Node executed (1 total), capturing...\n Frame 2 saved (frame_001.jpg, t=0.5s)\n [capture-node] freeze=124ms shot=167ms unfreeze=4ms saved=True\n Frame 3 saved (frame_002.jpg, t=3.9s)\n [capture-periodic] freeze=2037ms shot=2124ms unfreeze=2ms saved=True\n [ComfyUI] Loading PLY: D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1807\\ComfyUI\\input\\apple.ply\n [ComfyUI] Initial splats: 200000\n [ComfyUI] Pruned splats: 200000, target: 100000\n [ComfyUI] Opacity Mean: 0.53443545 Median: 0.48362076\n [ComfyUI] Pruning splats with opacity below 0.0000\n [ComfyUI] Original count: 200000, after opacity pruning: 200000\n [ComfyUI] After opacity pruning, 200000 splats remain.\n [ComfyUI] \n [ComfyUI] Pass 1: 200000 splats\n [ComfyUI] Edge costs: 0%| | 0/27 [00:00, ?it/s]\n [ComfyUI] Edge costs: 4%|3 | 1/27 [00:00<00:24, 1.06it/s]\n [ComfyUI] Edge costs: 7%|7 | 2/27 [00:02<00:25, 1.03s/it]\n [ComfyUI] Edge costs: 11%|#1 | 3/27 [00:03<00:26, 1.11s/it]\n [ComfyUI] Edge costs: 15%|#4 | 4/27 [00:04<00:28, 1.22s/it]\n [ComfyUI] Edge costs: 19%|#8 | 5/27 [00:05<00:27, 1.26s/it]\n [ComfyUI] Edge costs: 22%|##2 | 6/27 [00:07<00:28, 1.34s/it]\n [ComfyUI] Edge costs: 26%|##5 | 7/27 [00:08<00:27, 1.37s/it]\n [ComfyUI] Edge costs: 30%|##9 | 8/27 [00:09<00:22, 1.18s/it]\n [ComfyUI] Edge costs: 33%|###3 | 9/27 [00:10<00:20, 1.17s/it]\n [ComfyUI] Edge costs: 37%|###7 | 10/27 [00:12<00:22, 1.30s/it]\n [ComfyUI] Edge costs: 41%|#### | 11/27 [00:13<00:21, 1.34s/it]\n [ComfyUI] Edge costs: 44%|####4 | 12/27 [00:15<00:20, 1.39s/it]\n [ComfyUI] Edge costs: 48%|####8 | 13/27 [00:16<00:19, 1.41s/it]\n [ComfyUI] Edge costs: 52%|#####1 | 14/27 [00:17<00:15, 1.21s/it]\n [ComfyUI] Edge costs: 56%|#####5 | 15/27 [00:18<00:15, 1.29s/it]\n [ComfyUI] Edge costs: 59%|#####9 | 16/27 [00:20<00:14, 1.35s/it]\n [ComfyUI] Edge costs: 63%|######2 | 17/27 [00:21<00:13, 1.37s/it]\n [ComfyUI] Edge costs: 67%|######6 | 18/27 [00:23<00:12, 1.38s/it]\n [ComfyUI] Edge costs: 70%|####### | 19/27 [00:24<00:09, 1.19s/it]\n [ComfyUI] Edge costs: 74%|#######4 | 20/27 [00:25<00:08, 1.16s/it]\n [ComfyUI] Edge costs: 78%|#######7 | 21/27 [00:28<00:10, 1.73s/it]\n [ComfyUI] Edge costs: 81%|########1 | 22/27 [00:31<00:10, 2.18s/it]\n [ComfyUI] Edge costs: 85%|########5 | 23/27 [00:32<00:07, 1.94s/it]\n [ComfyUI] Edge costs: 89%|########8 | 24/27 [00:35<00:06, 2.08s/it]\n Frame 4 saved (frame_003.jpg, t=76.1s)\n [capture-periodic] freeze=2098ms shot=2169ms unfreeze=4ms saved=True\n [ComfyUI] Edge costs: 93%|#########2| 25/27 [00:37<00:04, 2.28s/it]\n [ComfyUI] Edge costs: 96%|#########6| 26/27 [00:39<00:02, 2.07s/it]\n [ComfyUI] Edge costs: 100%|##########| 27/27 [00:42<00:00, 2.48s/it]\n Frame 5 saved (frame_004.jpg, t=84.5s)\n [capture-periodic] freeze=2083ms shot=2209ms unfreeze=5ms saved=True\n Frame 6 saved (frame_005.jpg, t=105.5s)\n [capture-periodic] freeze=1989ms shot=2198ms unfreeze=5ms saved=True\n Frame 7 saved (frame_006.jpg, t=112.9s)\n [capture-periodic] freeze=1592ms shot=1555ms unfreeze=7ms saved=True\n Frame 8 saved (frame_007.jpg, t=133.1s)\n [capture-periodic] freeze=1847ms shot=2185ms unfreeze=4ms saved=True\n Frame 9 saved (frame_008.jpg, t=141.3s)\n [capture-periodic] freeze=2061ms shot=2184ms unfreeze=5ms saved=True\n [capture-loop] iter=50 t=220.4s state={'complete': False, 'error': None, 'executedCount': 1, 'wsState': 1} eval_ms=6869 ram=4.4/16.0GB (27%) swap=0.4/2.9GB (15%) cpu=92% browser_rss=0.52GB\n Frame 10 saved (frame_009.jpg, t=242.5s)\n [capture-periodic] freeze=2055ms shot=2183ms unfreeze=6ms saved=True\n [ComfyUI] Edge costs: 100%|##########| 27/27 [00:42<00:00, 1.59s/it]\n [ComfyUI] edges: 2697139, pairs: 97792 (need 100000)\n [ComfyUI] Merging 97792 pairs\n [ComfyUI] Pass 2: 102208 splats\n [ComfyUI] \n Frame 11 saved (frame_010.jpg, t=250.8s)\n [capture-periodic] freeze=2069ms shot=2190ms unfreeze=4ms saved=True\n [ComfyUI] Edge costs: 0%| | 0/14 [00:00, ?it/s]\n [ComfyUI] Edge costs: 7%|7 | 1/14 [00:05<01:08, 5.24s/it]\n [ComfyUI] Edge costs: 14%|#4 | 2/14 [00:11<01:10, 5.87s/it]\n [ComfyUI] Edge costs: 21%|##1 | 3/14 [00:16<00:58, 5.30s/it]\n [ComfyUI] Edge costs: 29%|##8 | 4/14 [00:19<00:46, 4.60s/it]\n Frame 12 saved (frame_011.jpg, t=271.9s)\n [capture-periodic] freeze=2149ms shot=2137ms unfreeze=4ms saved=True\n [ComfyUI] Edge costs: 36%|###5 | 5/14 [00:24<00:41, 4.58s/it]\n Frame 13 saved (frame_012.jpg, t=280.3s)\n [capture-periodic] freeze=2045ms shot=2192ms unfreeze=4ms saved=True\n [ComfyUI] Edge costs: 43%|####2 | 6/14 [00:30<00:41, 5.13s/it]\n [ComfyUI] Edge costs: 50%|##### | 7/14 [00:34<00:34, 4.88s/it]\n [ComfyUI] Edge costs: 57%|#####7 | 8/14 [00:40<00:31, 5.29s/it]\n Frame 14 saved (frame_013.jpg, t=295.0s)\n [capture-periodic] freeze=2071ms shot=2211ms unfreeze=5ms saved=True\n [ComfyUI] Edge costs: 64%|######4 | 9/14 [00:45<00:24, 4.93s/it]"
+ },
+ {
+ "file": "frame_015.jpg",
+ "time": 318.12,
+ "log": "Capturing execution frames: merge_splats.json\n Frame 1 saved (frame_000.jpg, t=0.0s)\n Validating workflow...\n [ComfyUI] === /validate endpoint called ===\n [ComfyUI] Received JSON with keys: ['prompt']\n [ComfyUI] Prompt has 4 nodes\n [ComfyUI] Node 1: LoadPLY\n [ComfyUI] Inputs: {\"ply_file\": \"apple.ply\"}\n [ComfyUI] Node 2: PreviewGaussians\n Queuing workflow for execution...\n [ComfyUI] Inputs: {\"fov_degrees\": 50, \"image_width\": 512, \"image_height\": 512, \"renderer\": \"spark\", \"transport_format\": \"ply\", \"ply_path\": [\"1\", 0]}\n [ComfyUI] Node 3: GaussianMerge\n [ComfyUI] Inputs: {\"target_count\": 100000, \"output_filename\": \"merged\", \"opacity_threshold\": 0, \"k\": 24, \"ply_path\": [\"1\", 0]}\n [ComfyUI] Node 4: PreviewGaussians\n [ComfyUI] Inputs: {\"fov_degrees\": 50, \"image_width\": 512, \"image_height\": 512, \"renderer\": \"spark\", \"transport_format\": \"ply\", \"ply_path\": [\"3\", 0]}\n [ComfyUI] Generated prompt_id: 04b382ba-8864-4fca-8f15-db25eba359f2\n [ComfyUI] Calling execution.validate_prompt()...\n [ComfyUI] Validation result: valid=True\n [ComfyUI] === Validation PASSED ===\n [ComfyUI] got prompt\n [ComfyUI] LoadPLY: apple.ply -> D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1807\\ComfyUI\\input\\apple.ply\n [ComfyUI] GaussianMerge: 200000 -> 100000 splats (ratio=0.5000) via NanoGS MPMM on D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1807\\ComfyUI\\input\\apple.ply\n Node executed (1 total), capturing...\n Frame 2 saved (frame_001.jpg, t=0.5s)\n [capture-node] freeze=124ms shot=167ms unfreeze=4ms saved=True\n Frame 3 saved (frame_002.jpg, t=3.9s)\n [capture-periodic] freeze=2037ms shot=2124ms unfreeze=2ms saved=True\n [ComfyUI] Loading PLY: D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1807\\ComfyUI\\input\\apple.ply\n [ComfyUI] Initial splats: 200000\n [ComfyUI] Pruned splats: 200000, target: 100000\n [ComfyUI] Opacity Mean: 0.53443545 Median: 0.48362076\n [ComfyUI] Pruning splats with opacity below 0.0000\n [ComfyUI] Original count: 200000, after opacity pruning: 200000\n [ComfyUI] After opacity pruning, 200000 splats remain.\n [ComfyUI] \n [ComfyUI] Pass 1: 200000 splats\n [ComfyUI] Edge costs: 0%| | 0/27 [00:00, ?it/s]\n [ComfyUI] Edge costs: 4%|3 | 1/27 [00:00<00:24, 1.06it/s]\n [ComfyUI] Edge costs: 7%|7 | 2/27 [00:02<00:25, 1.03s/it]\n [ComfyUI] Edge costs: 11%|#1 | 3/27 [00:03<00:26, 1.11s/it]\n [ComfyUI] Edge costs: 15%|#4 | 4/27 [00:04<00:28, 1.22s/it]\n [ComfyUI] Edge costs: 19%|#8 | 5/27 [00:05<00:27, 1.26s/it]\n [ComfyUI] Edge costs: 22%|##2 | 6/27 [00:07<00:28, 1.34s/it]\n [ComfyUI] Edge costs: 26%|##5 | 7/27 [00:08<00:27, 1.37s/it]\n [ComfyUI] Edge costs: 30%|##9 | 8/27 [00:09<00:22, 1.18s/it]\n [ComfyUI] Edge costs: 33%|###3 | 9/27 [00:10<00:20, 1.17s/it]\n [ComfyUI] Edge costs: 37%|###7 | 10/27 [00:12<00:22, 1.30s/it]\n [ComfyUI] Edge costs: 41%|#### | 11/27 [00:13<00:21, 1.34s/it]\n [ComfyUI] Edge costs: 44%|####4 | 12/27 [00:15<00:20, 1.39s/it]\n [ComfyUI] Edge costs: 48%|####8 | 13/27 [00:16<00:19, 1.41s/it]\n [ComfyUI] Edge costs: 52%|#####1 | 14/27 [00:17<00:15, 1.21s/it]\n [ComfyUI] Edge costs: 56%|#####5 | 15/27 [00:18<00:15, 1.29s/it]\n [ComfyUI] Edge costs: 59%|#####9 | 16/27 [00:20<00:14, 1.35s/it]\n [ComfyUI] Edge costs: 63%|######2 | 17/27 [00:21<00:13, 1.37s/it]\n [ComfyUI] Edge costs: 67%|######6 | 18/27 [00:23<00:12, 1.38s/it]\n [ComfyUI] Edge costs: 70%|####### | 19/27 [00:24<00:09, 1.19s/it]\n [ComfyUI] Edge costs: 74%|#######4 | 20/27 [00:25<00:08, 1.16s/it]\n [ComfyUI] Edge costs: 78%|#######7 | 21/27 [00:28<00:10, 1.73s/it]\n [ComfyUI] Edge costs: 81%|########1 | 22/27 [00:31<00:10, 2.18s/it]\n [ComfyUI] Edge costs: 85%|########5 | 23/27 [00:32<00:07, 1.94s/it]\n [ComfyUI] Edge costs: 89%|########8 | 24/27 [00:35<00:06, 2.08s/it]\n Frame 4 saved (frame_003.jpg, t=76.1s)\n [capture-periodic] freeze=2098ms shot=2169ms unfreeze=4ms saved=True\n [ComfyUI] Edge costs: 93%|#########2| 25/27 [00:37<00:04, 2.28s/it]\n [ComfyUI] Edge costs: 96%|#########6| 26/27 [00:39<00:02, 2.07s/it]\n [ComfyUI] Edge costs: 100%|##########| 27/27 [00:42<00:00, 2.48s/it]\n Frame 5 saved (frame_004.jpg, t=84.5s)\n [capture-periodic] freeze=2083ms shot=2209ms unfreeze=5ms saved=True\n Frame 6 saved (frame_005.jpg, t=105.5s)\n [capture-periodic] freeze=1989ms shot=2198ms unfreeze=5ms saved=True\n Frame 7 saved (frame_006.jpg, t=112.9s)\n [capture-periodic] freeze=1592ms shot=1555ms unfreeze=7ms saved=True\n Frame 8 saved (frame_007.jpg, t=133.1s)\n [capture-periodic] freeze=1847ms shot=2185ms unfreeze=4ms saved=True\n Frame 9 saved (frame_008.jpg, t=141.3s)\n [capture-periodic] freeze=2061ms shot=2184ms unfreeze=5ms saved=True\n [capture-loop] iter=50 t=220.4s state={'complete': False, 'error': None, 'executedCount': 1, 'wsState': 1} eval_ms=6869 ram=4.4/16.0GB (27%) swap=0.4/2.9GB (15%) cpu=92% browser_rss=0.52GB\n Frame 10 saved (frame_009.jpg, t=242.5s)\n [capture-periodic] freeze=2055ms shot=2183ms unfreeze=6ms saved=True\n [ComfyUI] Edge costs: 100%|##########| 27/27 [00:42<00:00, 1.59s/it]\n [ComfyUI] edges: 2697139, pairs: 97792 (need 100000)\n [ComfyUI] Merging 97792 pairs\n [ComfyUI] Pass 2: 102208 splats\n [ComfyUI] \n Frame 11 saved (frame_010.jpg, t=250.8s)\n [capture-periodic] freeze=2069ms shot=2190ms unfreeze=4ms saved=True\n [ComfyUI] Edge costs: 0%| | 0/14 [00:00, ?it/s]\n [ComfyUI] Edge costs: 7%|7 | 1/14 [00:05<01:08, 5.24s/it]\n [ComfyUI] Edge costs: 14%|#4 | 2/14 [00:11<01:10, 5.87s/it]\n [ComfyUI] Edge costs: 21%|##1 | 3/14 [00:16<00:58, 5.30s/it]\n [ComfyUI] Edge costs: 29%|##8 | 4/14 [00:19<00:46, 4.60s/it]\n Frame 12 saved (frame_011.jpg, t=271.9s)\n [capture-periodic] freeze=2149ms shot=2137ms unfreeze=4ms saved=True\n [ComfyUI] Edge costs: 36%|###5 | 5/14 [00:24<00:41, 4.58s/it]\n Frame 13 saved (frame_012.jpg, t=280.3s)\n [capture-periodic] freeze=2045ms shot=2192ms unfreeze=4ms saved=True\n [ComfyUI] Edge costs: 43%|####2 | 6/14 [00:30<00:41, 5.13s/it]\n [ComfyUI] Edge costs: 50%|##### | 7/14 [00:34<00:34, 4.88s/it]\n [ComfyUI] Edge costs: 57%|#####7 | 8/14 [00:40<00:31, 5.29s/it]\n Frame 14 saved (frame_013.jpg, t=295.0s)\n [capture-periodic] freeze=2071ms shot=2211ms unfreeze=5ms saved=True\n [ComfyUI] Edge costs: 64%|######4 | 9/14 [00:45<00:24, 4.93s/it]\n [ComfyUI] Edge costs: 71%|#######1 | 10/14 [00:49<00:19, 4.84s/it]\n Frame 15 saved (frame_014.jpg, t=303.4s)\n [capture-periodic] freeze=2074ms shot=2208ms unfreeze=4ms saved=True\n [ComfyUI] Edge costs: 79%|#######8 | 11/14 [00:55<00:15, 5.18s/it]\n [ComfyUI] Edge costs: 86%|########5 | 12/14 [01:00<00:10, 5.07s/it]\n [ComfyUI] Edge costs: 93%|#########2| 13/14 [01:04<00:04, 4.73s/it]\n [ComfyUI] Edge costs: 100%|##########| 14/14 [01:06<00:00, 3.81s/it]"
+ },
+ {
+ "file": "frame_016.jpg",
+ "time": 326.53,
+ "log": "Capturing execution frames: merge_splats.json\n Frame 1 saved (frame_000.jpg, t=0.0s)\n Validating workflow...\n [ComfyUI] === /validate endpoint called ===\n [ComfyUI] Received JSON with keys: ['prompt']\n [ComfyUI] Prompt has 4 nodes\n [ComfyUI] Node 1: LoadPLY\n [ComfyUI] Inputs: {\"ply_file\": \"apple.ply\"}\n [ComfyUI] Node 2: PreviewGaussians\n Queuing workflow for execution...\n [ComfyUI] Inputs: {\"fov_degrees\": 50, \"image_width\": 512, \"image_height\": 512, \"renderer\": \"spark\", \"transport_format\": \"ply\", \"ply_path\": [\"1\", 0]}\n [ComfyUI] Node 3: GaussianMerge\n [ComfyUI] Inputs: {\"target_count\": 100000, \"output_filename\": \"merged\", \"opacity_threshold\": 0, \"k\": 24, \"ply_path\": [\"1\", 0]}\n [ComfyUI] Node 4: PreviewGaussians\n [ComfyUI] Inputs: {\"fov_degrees\": 50, \"image_width\": 512, \"image_height\": 512, \"renderer\": \"spark\", \"transport_format\": \"ply\", \"ply_path\": [\"3\", 0]}\n [ComfyUI] Generated prompt_id: 04b382ba-8864-4fca-8f15-db25eba359f2\n [ComfyUI] Calling execution.validate_prompt()...\n [ComfyUI] Validation result: valid=True\n [ComfyUI] === Validation PASSED ===\n [ComfyUI] got prompt\n [ComfyUI] LoadPLY: apple.ply -> D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1807\\ComfyUI\\input\\apple.ply\n [ComfyUI] GaussianMerge: 200000 -> 100000 splats (ratio=0.5000) via NanoGS MPMM on D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1807\\ComfyUI\\input\\apple.ply\n Node executed (1 total), capturing...\n Frame 2 saved (frame_001.jpg, t=0.5s)\n [capture-node] freeze=124ms shot=167ms unfreeze=4ms saved=True\n Frame 3 saved (frame_002.jpg, t=3.9s)\n [capture-periodic] freeze=2037ms shot=2124ms unfreeze=2ms saved=True\n [ComfyUI] Loading PLY: D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1807\\ComfyUI\\input\\apple.ply\n [ComfyUI] Initial splats: 200000\n [ComfyUI] Pruned splats: 200000, target: 100000\n [ComfyUI] Opacity Mean: 0.53443545 Median: 0.48362076\n [ComfyUI] Pruning splats with opacity below 0.0000\n [ComfyUI] Original count: 200000, after opacity pruning: 200000\n [ComfyUI] After opacity pruning, 200000 splats remain.\n [ComfyUI] \n [ComfyUI] Pass 1: 200000 splats\n [ComfyUI] Edge costs: 0%| | 0/27 [00:00, ?it/s]\n [ComfyUI] Edge costs: 4%|3 | 1/27 [00:00<00:24, 1.06it/s]\n [ComfyUI] Edge costs: 7%|7 | 2/27 [00:02<00:25, 1.03s/it]\n [ComfyUI] Edge costs: 11%|#1 | 3/27 [00:03<00:26, 1.11s/it]\n [ComfyUI] Edge costs: 15%|#4 | 4/27 [00:04<00:28, 1.22s/it]\n [ComfyUI] Edge costs: 19%|#8 | 5/27 [00:05<00:27, 1.26s/it]\n [ComfyUI] Edge costs: 22%|##2 | 6/27 [00:07<00:28, 1.34s/it]\n [ComfyUI] Edge costs: 26%|##5 | 7/27 [00:08<00:27, 1.37s/it]\n [ComfyUI] Edge costs: 30%|##9 | 8/27 [00:09<00:22, 1.18s/it]\n [ComfyUI] Edge costs: 33%|###3 | 9/27 [00:10<00:20, 1.17s/it]\n [ComfyUI] Edge costs: 37%|###7 | 10/27 [00:12<00:22, 1.30s/it]\n [ComfyUI] Edge costs: 41%|#### | 11/27 [00:13<00:21, 1.34s/it]\n [ComfyUI] Edge costs: 44%|####4 | 12/27 [00:15<00:20, 1.39s/it]\n [ComfyUI] Edge costs: 48%|####8 | 13/27 [00:16<00:19, 1.41s/it]\n [ComfyUI] Edge costs: 52%|#####1 | 14/27 [00:17<00:15, 1.21s/it]\n [ComfyUI] Edge costs: 56%|#####5 | 15/27 [00:18<00:15, 1.29s/it]\n [ComfyUI] Edge costs: 59%|#####9 | 16/27 [00:20<00:14, 1.35s/it]\n [ComfyUI] Edge costs: 63%|######2 | 17/27 [00:21<00:13, 1.37s/it]\n [ComfyUI] Edge costs: 67%|######6 | 18/27 [00:23<00:12, 1.38s/it]\n [ComfyUI] Edge costs: 70%|####### | 19/27 [00:24<00:09, 1.19s/it]\n [ComfyUI] Edge costs: 74%|#######4 | 20/27 [00:25<00:08, 1.16s/it]\n [ComfyUI] Edge costs: 78%|#######7 | 21/27 [00:28<00:10, 1.73s/it]\n [ComfyUI] Edge costs: 81%|########1 | 22/27 [00:31<00:10, 2.18s/it]\n [ComfyUI] Edge costs: 85%|########5 | 23/27 [00:32<00:07, 1.94s/it]\n [ComfyUI] Edge costs: 89%|########8 | 24/27 [00:35<00:06, 2.08s/it]\n Frame 4 saved (frame_003.jpg, t=76.1s)\n [capture-periodic] freeze=2098ms shot=2169ms unfreeze=4ms saved=True\n [ComfyUI] Edge costs: 93%|#########2| 25/27 [00:37<00:04, 2.28s/it]\n [ComfyUI] Edge costs: 96%|#########6| 26/27 [00:39<00:02, 2.07s/it]\n [ComfyUI] Edge costs: 100%|##########| 27/27 [00:42<00:00, 2.48s/it]\n Frame 5 saved (frame_004.jpg, t=84.5s)\n [capture-periodic] freeze=2083ms shot=2209ms unfreeze=5ms saved=True\n Frame 6 saved (frame_005.jpg, t=105.5s)\n [capture-periodic] freeze=1989ms shot=2198ms unfreeze=5ms saved=True\n Frame 7 saved (frame_006.jpg, t=112.9s)\n [capture-periodic] freeze=1592ms shot=1555ms unfreeze=7ms saved=True\n Frame 8 saved (frame_007.jpg, t=133.1s)\n [capture-periodic] freeze=1847ms shot=2185ms unfreeze=4ms saved=True\n Frame 9 saved (frame_008.jpg, t=141.3s)\n [capture-periodic] freeze=2061ms shot=2184ms unfreeze=5ms saved=True\n [capture-loop] iter=50 t=220.4s state={'complete': False, 'error': None, 'executedCount': 1, 'wsState': 1} eval_ms=6869 ram=4.4/16.0GB (27%) swap=0.4/2.9GB (15%) cpu=92% browser_rss=0.52GB\n Frame 10 saved (frame_009.jpg, t=242.5s)\n [capture-periodic] freeze=2055ms shot=2183ms unfreeze=6ms saved=True\n [ComfyUI] Edge costs: 100%|##########| 27/27 [00:42<00:00, 1.59s/it]\n [ComfyUI] edges: 2697139, pairs: 97792 (need 100000)\n [ComfyUI] Merging 97792 pairs\n [ComfyUI] Pass 2: 102208 splats\n [ComfyUI] \n Frame 11 saved (frame_010.jpg, t=250.8s)\n [capture-periodic] freeze=2069ms shot=2190ms unfreeze=4ms saved=True\n [ComfyUI] Edge costs: 0%| | 0/14 [00:00, ?it/s]\n [ComfyUI] Edge costs: 7%|7 | 1/14 [00:05<01:08, 5.24s/it]\n [ComfyUI] Edge costs: 14%|#4 | 2/14 [00:11<01:10, 5.87s/it]\n [ComfyUI] Edge costs: 21%|##1 | 3/14 [00:16<00:58, 5.30s/it]\n [ComfyUI] Edge costs: 29%|##8 | 4/14 [00:19<00:46, 4.60s/it]\n Frame 12 saved (frame_011.jpg, t=271.9s)\n [capture-periodic] freeze=2149ms shot=2137ms unfreeze=4ms saved=True\n [ComfyUI] Edge costs: 36%|###5 | 5/14 [00:24<00:41, 4.58s/it]\n Frame 13 saved (frame_012.jpg, t=280.3s)\n [capture-periodic] freeze=2045ms shot=2192ms unfreeze=4ms saved=True\n [ComfyUI] Edge costs: 43%|####2 | 6/14 [00:30<00:41, 5.13s/it]\n [ComfyUI] Edge costs: 50%|##### | 7/14 [00:34<00:34, 4.88s/it]\n [ComfyUI] Edge costs: 57%|#####7 | 8/14 [00:40<00:31, 5.29s/it]\n Frame 14 saved (frame_013.jpg, t=295.0s)\n [capture-periodic] freeze=2071ms shot=2211ms unfreeze=5ms saved=True\n [ComfyUI] Edge costs: 64%|######4 | 9/14 [00:45<00:24, 4.93s/it]\n [ComfyUI] Edge costs: 71%|#######1 | 10/14 [00:49<00:19, 4.84s/it]\n Frame 15 saved (frame_014.jpg, t=303.4s)\n [capture-periodic] freeze=2074ms shot=2208ms unfreeze=4ms saved=True\n [ComfyUI] Edge costs: 79%|#######8 | 11/14 [00:55<00:15, 5.18s/it]\n [ComfyUI] Edge costs: 86%|########5 | 12/14 [01:00<00:10, 5.07s/it]\n [ComfyUI] Edge costs: 93%|#########2| 13/14 [01:04<00:04, 4.73s/it]\n [ComfyUI] Edge costs: 100%|##########| 14/14 [01:06<00:00, 3.81s/it]\n Frame 16 saved (frame_015.jpg, t=318.1s)\n [capture-periodic] freeze=2063ms shot=2192ms unfreeze=5ms saved=True"
+ },
+ {
+ "file": "frame_017.jpg",
+ "time": 354.1,
+ "log": "Capturing execution frames: merge_splats.json\n Frame 1 saved (frame_000.jpg, t=0.0s)\n Validating workflow...\n [ComfyUI] === /validate endpoint called ===\n [ComfyUI] Received JSON with keys: ['prompt']\n [ComfyUI] Prompt has 4 nodes\n [ComfyUI] Node 1: LoadPLY\n [ComfyUI] Inputs: {\"ply_file\": \"apple.ply\"}\n [ComfyUI] Node 2: PreviewGaussians\n Queuing workflow for execution...\n [ComfyUI] Inputs: {\"fov_degrees\": 50, \"image_width\": 512, \"image_height\": 512, \"renderer\": \"spark\", \"transport_format\": \"ply\", \"ply_path\": [\"1\", 0]}\n [ComfyUI] Node 3: GaussianMerge\n [ComfyUI] Inputs: {\"target_count\": 100000, \"output_filename\": \"merged\", \"opacity_threshold\": 0, \"k\": 24, \"ply_path\": [\"1\", 0]}\n [ComfyUI] Node 4: PreviewGaussians\n [ComfyUI] Inputs: {\"fov_degrees\": 50, \"image_width\": 512, \"image_height\": 512, \"renderer\": \"spark\", \"transport_format\": \"ply\", \"ply_path\": [\"3\", 0]}\n [ComfyUI] Generated prompt_id: 04b382ba-8864-4fca-8f15-db25eba359f2\n [ComfyUI] Calling execution.validate_prompt()...\n [ComfyUI] Validation result: valid=True\n [ComfyUI] === Validation PASSED ===\n [ComfyUI] got prompt\n [ComfyUI] LoadPLY: apple.ply -> D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1807\\ComfyUI\\input\\apple.ply\n [ComfyUI] GaussianMerge: 200000 -> 100000 splats (ratio=0.5000) via NanoGS MPMM on D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1807\\ComfyUI\\input\\apple.ply\n Node executed (1 total), capturing...\n Frame 2 saved (frame_001.jpg, t=0.5s)\n [capture-node] freeze=124ms shot=167ms unfreeze=4ms saved=True\n Frame 3 saved (frame_002.jpg, t=3.9s)\n [capture-periodic] freeze=2037ms shot=2124ms unfreeze=2ms saved=True\n [ComfyUI] Loading PLY: D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1807\\ComfyUI\\input\\apple.ply\n [ComfyUI] Initial splats: 200000\n [ComfyUI] Pruned splats: 200000, target: 100000\n [ComfyUI] Opacity Mean: 0.53443545 Median: 0.48362076\n [ComfyUI] Pruning splats with opacity below 0.0000\n [ComfyUI] Original count: 200000, after opacity pruning: 200000\n [ComfyUI] After opacity pruning, 200000 splats remain.\n [ComfyUI] \n [ComfyUI] Pass 1: 200000 splats\n [ComfyUI] Edge costs: 0%| | 0/27 [00:00, ?it/s]\n [ComfyUI] Edge costs: 4%|3 | 1/27 [00:00<00:24, 1.06it/s]\n [ComfyUI] Edge costs: 7%|7 | 2/27 [00:02<00:25, 1.03s/it]\n [ComfyUI] Edge costs: 11%|#1 | 3/27 [00:03<00:26, 1.11s/it]\n [ComfyUI] Edge costs: 15%|#4 | 4/27 [00:04<00:28, 1.22s/it]\n [ComfyUI] Edge costs: 19%|#8 | 5/27 [00:05<00:27, 1.26s/it]\n [ComfyUI] Edge costs: 22%|##2 | 6/27 [00:07<00:28, 1.34s/it]\n [ComfyUI] Edge costs: 26%|##5 | 7/27 [00:08<00:27, 1.37s/it]\n [ComfyUI] Edge costs: 30%|##9 | 8/27 [00:09<00:22, 1.18s/it]\n [ComfyUI] Edge costs: 33%|###3 | 9/27 [00:10<00:20, 1.17s/it]\n [ComfyUI] Edge costs: 37%|###7 | 10/27 [00:12<00:22, 1.30s/it]\n [ComfyUI] Edge costs: 41%|#### | 11/27 [00:13<00:21, 1.34s/it]\n [ComfyUI] Edge costs: 44%|####4 | 12/27 [00:15<00:20, 1.39s/it]\n [ComfyUI] Edge costs: 48%|####8 | 13/27 [00:16<00:19, 1.41s/it]\n [ComfyUI] Edge costs: 52%|#####1 | 14/27 [00:17<00:15, 1.21s/it]\n [ComfyUI] Edge costs: 56%|#####5 | 15/27 [00:18<00:15, 1.29s/it]\n [ComfyUI] Edge costs: 59%|#####9 | 16/27 [00:20<00:14, 1.35s/it]\n [ComfyUI] Edge costs: 63%|######2 | 17/27 [00:21<00:13, 1.37s/it]\n [ComfyUI] Edge costs: 67%|######6 | 18/27 [00:23<00:12, 1.38s/it]\n [ComfyUI] Edge costs: 70%|####### | 19/27 [00:24<00:09, 1.19s/it]\n [ComfyUI] Edge costs: 74%|#######4 | 20/27 [00:25<00:08, 1.16s/it]\n [ComfyUI] Edge costs: 78%|#######7 | 21/27 [00:28<00:10, 1.73s/it]\n [ComfyUI] Edge costs: 81%|########1 | 22/27 [00:31<00:10, 2.18s/it]\n [ComfyUI] Edge costs: 85%|########5 | 23/27 [00:32<00:07, 1.94s/it]\n [ComfyUI] Edge costs: 89%|########8 | 24/27 [00:35<00:06, 2.08s/it]\n Frame 4 saved (frame_003.jpg, t=76.1s)\n [capture-periodic] freeze=2098ms shot=2169ms unfreeze=4ms saved=True\n [ComfyUI] Edge costs: 93%|#########2| 25/27 [00:37<00:04, 2.28s/it]\n [ComfyUI] Edge costs: 96%|#########6| 26/27 [00:39<00:02, 2.07s/it]\n [ComfyUI] Edge costs: 100%|##########| 27/27 [00:42<00:00, 2.48s/it]\n Frame 5 saved (frame_004.jpg, t=84.5s)\n [capture-periodic] freeze=2083ms shot=2209ms unfreeze=5ms saved=True\n Frame 6 saved (frame_005.jpg, t=105.5s)\n [capture-periodic] freeze=1989ms shot=2198ms unfreeze=5ms saved=True\n Frame 7 saved (frame_006.jpg, t=112.9s)\n [capture-periodic] freeze=1592ms shot=1555ms unfreeze=7ms saved=True\n Frame 8 saved (frame_007.jpg, t=133.1s)\n [capture-periodic] freeze=1847ms shot=2185ms unfreeze=4ms saved=True\n Frame 9 saved (frame_008.jpg, t=141.3s)\n [capture-periodic] freeze=2061ms shot=2184ms unfreeze=5ms saved=True\n [capture-loop] iter=50 t=220.4s state={'complete': False, 'error': None, 'executedCount': 1, 'wsState': 1} eval_ms=6869 ram=4.4/16.0GB (27%) swap=0.4/2.9GB (15%) cpu=92% browser_rss=0.52GB\n Frame 10 saved (frame_009.jpg, t=242.5s)\n [capture-periodic] freeze=2055ms shot=2183ms unfreeze=6ms saved=True\n [ComfyUI] Edge costs: 100%|##########| 27/27 [00:42<00:00, 1.59s/it]\n [ComfyUI] edges: 2697139, pairs: 97792 (need 100000)\n [ComfyUI] Merging 97792 pairs\n [ComfyUI] Pass 2: 102208 splats\n [ComfyUI] \n Frame 11 saved (frame_010.jpg, t=250.8s)\n [capture-periodic] freeze=2069ms shot=2190ms unfreeze=4ms saved=True\n [ComfyUI] Edge costs: 0%| | 0/14 [00:00, ?it/s]\n [ComfyUI] Edge costs: 7%|7 | 1/14 [00:05<01:08, 5.24s/it]\n [ComfyUI] Edge costs: 14%|#4 | 2/14 [00:11<01:10, 5.87s/it]\n [ComfyUI] Edge costs: 21%|##1 | 3/14 [00:16<00:58, 5.30s/it]\n [ComfyUI] Edge costs: 29%|##8 | 4/14 [00:19<00:46, 4.60s/it]\n Frame 12 saved (frame_011.jpg, t=271.9s)\n [capture-periodic] freeze=2149ms shot=2137ms unfreeze=4ms saved=True\n [ComfyUI] Edge costs: 36%|###5 | 5/14 [00:24<00:41, 4.58s/it]\n Frame 13 saved (frame_012.jpg, t=280.3s)\n [capture-periodic] freeze=2045ms shot=2192ms unfreeze=4ms saved=True\n [ComfyUI] Edge costs: 43%|####2 | 6/14 [00:30<00:41, 5.13s/it]\n [ComfyUI] Edge costs: 50%|##### | 7/14 [00:34<00:34, 4.88s/it]\n [ComfyUI] Edge costs: 57%|#####7 | 8/14 [00:40<00:31, 5.29s/it]\n Frame 14 saved (frame_013.jpg, t=295.0s)\n [capture-periodic] freeze=2071ms shot=2211ms unfreeze=5ms saved=True\n [ComfyUI] Edge costs: 64%|######4 | 9/14 [00:45<00:24, 4.93s/it]\n [ComfyUI] Edge costs: 71%|#######1 | 10/14 [00:49<00:19, 4.84s/it]\n Frame 15 saved (frame_014.jpg, t=303.4s)\n [capture-periodic] freeze=2074ms shot=2208ms unfreeze=4ms saved=True\n [ComfyUI] Edge costs: 79%|#######8 | 11/14 [00:55<00:15, 5.18s/it]\n [ComfyUI] Edge costs: 86%|########5 | 12/14 [01:00<00:10, 5.07s/it]\n [ComfyUI] Edge costs: 93%|#########2| 13/14 [01:04<00:04, 4.73s/it]\n [ComfyUI] Edge costs: 100%|##########| 14/14 [01:06<00:00, 3.81s/it]\n Frame 16 saved (frame_015.jpg, t=318.1s)\n [capture-periodic] freeze=2063ms shot=2192ms unfreeze=5ms saved=True\n Frame 17 saved (frame_016.jpg, t=326.5s)\n [capture-periodic] freeze=2101ms shot=2206ms unfreeze=5ms saved=True"
+ },
+ {
+ "file": "frame_018.jpg",
+ "time": 362.55,
+ "log": "Capturing execution frames: merge_splats.json\n Frame 1 saved (frame_000.jpg, t=0.0s)\n Validating workflow...\n [ComfyUI] === /validate endpoint called ===\n [ComfyUI] Received JSON with keys: ['prompt']\n [ComfyUI] Prompt has 4 nodes\n [ComfyUI] Node 1: LoadPLY\n [ComfyUI] Inputs: {\"ply_file\": \"apple.ply\"}\n [ComfyUI] Node 2: PreviewGaussians\n Queuing workflow for execution...\n [ComfyUI] Inputs: {\"fov_degrees\": 50, \"image_width\": 512, \"image_height\": 512, \"renderer\": \"spark\", \"transport_format\": \"ply\", \"ply_path\": [\"1\", 0]}\n [ComfyUI] Node 3: GaussianMerge\n [ComfyUI] Inputs: {\"target_count\": 100000, \"output_filename\": \"merged\", \"opacity_threshold\": 0, \"k\": 24, \"ply_path\": [\"1\", 0]}\n [ComfyUI] Node 4: PreviewGaussians\n [ComfyUI] Inputs: {\"fov_degrees\": 50, \"image_width\": 512, \"image_height\": 512, \"renderer\": \"spark\", \"transport_format\": \"ply\", \"ply_path\": [\"3\", 0]}\n [ComfyUI] Generated prompt_id: 04b382ba-8864-4fca-8f15-db25eba359f2\n [ComfyUI] Calling execution.validate_prompt()...\n [ComfyUI] Validation result: valid=True\n [ComfyUI] === Validation PASSED ===\n [ComfyUI] got prompt\n [ComfyUI] LoadPLY: apple.ply -> D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1807\\ComfyUI\\input\\apple.ply\n [ComfyUI] GaussianMerge: 200000 -> 100000 splats (ratio=0.5000) via NanoGS MPMM on D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1807\\ComfyUI\\input\\apple.ply\n Node executed (1 total), capturing...\n Frame 2 saved (frame_001.jpg, t=0.5s)\n [capture-node] freeze=124ms shot=167ms unfreeze=4ms saved=True\n Frame 3 saved (frame_002.jpg, t=3.9s)\n [capture-periodic] freeze=2037ms shot=2124ms unfreeze=2ms saved=True\n [ComfyUI] Loading PLY: D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1807\\ComfyUI\\input\\apple.ply\n [ComfyUI] Initial splats: 200000\n [ComfyUI] Pruned splats: 200000, target: 100000\n [ComfyUI] Opacity Mean: 0.53443545 Median: 0.48362076\n [ComfyUI] Pruning splats with opacity below 0.0000\n [ComfyUI] Original count: 200000, after opacity pruning: 200000\n [ComfyUI] After opacity pruning, 200000 splats remain.\n [ComfyUI] \n [ComfyUI] Pass 1: 200000 splats\n [ComfyUI] Edge costs: 0%| | 0/27 [00:00, ?it/s]\n [ComfyUI] Edge costs: 4%|3 | 1/27 [00:00<00:24, 1.06it/s]\n [ComfyUI] Edge costs: 7%|7 | 2/27 [00:02<00:25, 1.03s/it]\n [ComfyUI] Edge costs: 11%|#1 | 3/27 [00:03<00:26, 1.11s/it]\n [ComfyUI] Edge costs: 15%|#4 | 4/27 [00:04<00:28, 1.22s/it]\n [ComfyUI] Edge costs: 19%|#8 | 5/27 [00:05<00:27, 1.26s/it]\n [ComfyUI] Edge costs: 22%|##2 | 6/27 [00:07<00:28, 1.34s/it]\n [ComfyUI] Edge costs: 26%|##5 | 7/27 [00:08<00:27, 1.37s/it]\n [ComfyUI] Edge costs: 30%|##9 | 8/27 [00:09<00:22, 1.18s/it]\n [ComfyUI] Edge costs: 33%|###3 | 9/27 [00:10<00:20, 1.17s/it]\n [ComfyUI] Edge costs: 37%|###7 | 10/27 [00:12<00:22, 1.30s/it]\n [ComfyUI] Edge costs: 41%|#### | 11/27 [00:13<00:21, 1.34s/it]\n [ComfyUI] Edge costs: 44%|####4 | 12/27 [00:15<00:20, 1.39s/it]\n [ComfyUI] Edge costs: 48%|####8 | 13/27 [00:16<00:19, 1.41s/it]\n [ComfyUI] Edge costs: 52%|#####1 | 14/27 [00:17<00:15, 1.21s/it]\n [ComfyUI] Edge costs: 56%|#####5 | 15/27 [00:18<00:15, 1.29s/it]\n [ComfyUI] Edge costs: 59%|#####9 | 16/27 [00:20<00:14, 1.35s/it]\n [ComfyUI] Edge costs: 63%|######2 | 17/27 [00:21<00:13, 1.37s/it]\n [ComfyUI] Edge costs: 67%|######6 | 18/27 [00:23<00:12, 1.38s/it]\n [ComfyUI] Edge costs: 70%|####### | 19/27 [00:24<00:09, 1.19s/it]\n [ComfyUI] Edge costs: 74%|#######4 | 20/27 [00:25<00:08, 1.16s/it]\n [ComfyUI] Edge costs: 78%|#######7 | 21/27 [00:28<00:10, 1.73s/it]\n [ComfyUI] Edge costs: 81%|########1 | 22/27 [00:31<00:10, 2.18s/it]\n [ComfyUI] Edge costs: 85%|########5 | 23/27 [00:32<00:07, 1.94s/it]\n [ComfyUI] Edge costs: 89%|########8 | 24/27 [00:35<00:06, 2.08s/it]\n Frame 4 saved (frame_003.jpg, t=76.1s)\n [capture-periodic] freeze=2098ms shot=2169ms unfreeze=4ms saved=True\n [ComfyUI] Edge costs: 93%|#########2| 25/27 [00:37<00:04, 2.28s/it]\n [ComfyUI] Edge costs: 96%|#########6| 26/27 [00:39<00:02, 2.07s/it]\n [ComfyUI] Edge costs: 100%|##########| 27/27 [00:42<00:00, 2.48s/it]\n Frame 5 saved (frame_004.jpg, t=84.5s)\n [capture-periodic] freeze=2083ms shot=2209ms unfreeze=5ms saved=True\n Frame 6 saved (frame_005.jpg, t=105.5s)\n [capture-periodic] freeze=1989ms shot=2198ms unfreeze=5ms saved=True\n Frame 7 saved (frame_006.jpg, t=112.9s)\n [capture-periodic] freeze=1592ms shot=1555ms unfreeze=7ms saved=True\n Frame 8 saved (frame_007.jpg, t=133.1s)\n [capture-periodic] freeze=1847ms shot=2185ms unfreeze=4ms saved=True\n Frame 9 saved (frame_008.jpg, t=141.3s)\n [capture-periodic] freeze=2061ms shot=2184ms unfreeze=5ms saved=True\n [capture-loop] iter=50 t=220.4s state={'complete': False, 'error': None, 'executedCount': 1, 'wsState': 1} eval_ms=6869 ram=4.4/16.0GB (27%) swap=0.4/2.9GB (15%) cpu=92% browser_rss=0.52GB\n Frame 10 saved (frame_009.jpg, t=242.5s)\n [capture-periodic] freeze=2055ms shot=2183ms unfreeze=6ms saved=True\n [ComfyUI] Edge costs: 100%|##########| 27/27 [00:42<00:00, 1.59s/it]\n [ComfyUI] edges: 2697139, pairs: 97792 (need 100000)\n [ComfyUI] Merging 97792 pairs\n [ComfyUI] Pass 2: 102208 splats\n [ComfyUI] \n Frame 11 saved (frame_010.jpg, t=250.8s)\n [capture-periodic] freeze=2069ms shot=2190ms unfreeze=4ms saved=True\n [ComfyUI] Edge costs: 0%| | 0/14 [00:00, ?it/s]\n [ComfyUI] Edge costs: 7%|7 | 1/14 [00:05<01:08, 5.24s/it]\n [ComfyUI] Edge costs: 14%|#4 | 2/14 [00:11<01:10, 5.87s/it]\n [ComfyUI] Edge costs: 21%|##1 | 3/14 [00:16<00:58, 5.30s/it]\n [ComfyUI] Edge costs: 29%|##8 | 4/14 [00:19<00:46, 4.60s/it]\n Frame 12 saved (frame_011.jpg, t=271.9s)\n [capture-periodic] freeze=2149ms shot=2137ms unfreeze=4ms saved=True\n [ComfyUI] Edge costs: 36%|###5 | 5/14 [00:24<00:41, 4.58s/it]\n Frame 13 saved (frame_012.jpg, t=280.3s)\n [capture-periodic] freeze=2045ms shot=2192ms unfreeze=4ms saved=True\n [ComfyUI] Edge costs: 43%|####2 | 6/14 [00:30<00:41, 5.13s/it]\n [ComfyUI] Edge costs: 50%|##### | 7/14 [00:34<00:34, 4.88s/it]\n [ComfyUI] Edge costs: 57%|#####7 | 8/14 [00:40<00:31, 5.29s/it]\n Frame 14 saved (frame_013.jpg, t=295.0s)\n [capture-periodic] freeze=2071ms shot=2211ms unfreeze=5ms saved=True\n [ComfyUI] Edge costs: 64%|######4 | 9/14 [00:45<00:24, 4.93s/it]\n [ComfyUI] Edge costs: 71%|#######1 | 10/14 [00:49<00:19, 4.84s/it]\n Frame 15 saved (frame_014.jpg, t=303.4s)\n [capture-periodic] freeze=2074ms shot=2208ms unfreeze=4ms saved=True\n [ComfyUI] Edge costs: 79%|#######8 | 11/14 [00:55<00:15, 5.18s/it]\n [ComfyUI] Edge costs: 86%|########5 | 12/14 [01:00<00:10, 5.07s/it]\n [ComfyUI] Edge costs: 93%|#########2| 13/14 [01:04<00:04, 4.73s/it]\n [ComfyUI] Edge costs: 100%|##########| 14/14 [01:06<00:00, 3.81s/it]\n Frame 16 saved (frame_015.jpg, t=318.1s)\n [capture-periodic] freeze=2063ms shot=2192ms unfreeze=5ms saved=True\n Frame 17 saved (frame_016.jpg, t=326.5s)\n [capture-periodic] freeze=2101ms shot=2206ms unfreeze=5ms saved=True\n Frame 18 saved (frame_017.jpg, t=354.1s)\n [capture-periodic] freeze=2085ms shot=2209ms unfreeze=5ms saved=True"
+ },
+ {
+ "file": "frame_019.jpg",
+ "time": 377.3,
+ "log": "Capturing execution frames: merge_splats.json\n Frame 1 saved (frame_000.jpg, t=0.0s)\n Validating workflow...\n [ComfyUI] === /validate endpoint called ===\n [ComfyUI] Received JSON with keys: ['prompt']\n [ComfyUI] Prompt has 4 nodes\n [ComfyUI] Node 1: LoadPLY\n [ComfyUI] Inputs: {\"ply_file\": \"apple.ply\"}\n [ComfyUI] Node 2: PreviewGaussians\n Queuing workflow for execution...\n [ComfyUI] Inputs: {\"fov_degrees\": 50, \"image_width\": 512, \"image_height\": 512, \"renderer\": \"spark\", \"transport_format\": \"ply\", \"ply_path\": [\"1\", 0]}\n [ComfyUI] Node 3: GaussianMerge\n [ComfyUI] Inputs: {\"target_count\": 100000, \"output_filename\": \"merged\", \"opacity_threshold\": 0, \"k\": 24, \"ply_path\": [\"1\", 0]}\n [ComfyUI] Node 4: PreviewGaussians\n [ComfyUI] Inputs: {\"fov_degrees\": 50, \"image_width\": 512, \"image_height\": 512, \"renderer\": \"spark\", \"transport_format\": \"ply\", \"ply_path\": [\"3\", 0]}\n [ComfyUI] Generated prompt_id: 04b382ba-8864-4fca-8f15-db25eba359f2\n [ComfyUI] Calling execution.validate_prompt()...\n [ComfyUI] Validation result: valid=True\n [ComfyUI] === Validation PASSED ===\n [ComfyUI] got prompt\n [ComfyUI] LoadPLY: apple.ply -> D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1807\\ComfyUI\\input\\apple.ply\n [ComfyUI] GaussianMerge: 200000 -> 100000 splats (ratio=0.5000) via NanoGS MPMM on D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1807\\ComfyUI\\input\\apple.ply\n Node executed (1 total), capturing...\n Frame 2 saved (frame_001.jpg, t=0.5s)\n [capture-node] freeze=124ms shot=167ms unfreeze=4ms saved=True\n Frame 3 saved (frame_002.jpg, t=3.9s)\n [capture-periodic] freeze=2037ms shot=2124ms unfreeze=2ms saved=True\n [ComfyUI] Loading PLY: D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1807\\ComfyUI\\input\\apple.ply\n [ComfyUI] Initial splats: 200000\n [ComfyUI] Pruned splats: 200000, target: 100000\n [ComfyUI] Opacity Mean: 0.53443545 Median: 0.48362076\n [ComfyUI] Pruning splats with opacity below 0.0000\n [ComfyUI] Original count: 200000, after opacity pruning: 200000\n [ComfyUI] After opacity pruning, 200000 splats remain.\n [ComfyUI] \n [ComfyUI] Pass 1: 200000 splats\n [ComfyUI] Edge costs: 0%| | 0/27 [00:00, ?it/s]\n [ComfyUI] Edge costs: 4%|3 | 1/27 [00:00<00:24, 1.06it/s]\n [ComfyUI] Edge costs: 7%|7 | 2/27 [00:02<00:25, 1.03s/it]\n [ComfyUI] Edge costs: 11%|#1 | 3/27 [00:03<00:26, 1.11s/it]\n [ComfyUI] Edge costs: 15%|#4 | 4/27 [00:04<00:28, 1.22s/it]\n [ComfyUI] Edge costs: 19%|#8 | 5/27 [00:05<00:27, 1.26s/it]\n [ComfyUI] Edge costs: 22%|##2 | 6/27 [00:07<00:28, 1.34s/it]\n [ComfyUI] Edge costs: 26%|##5 | 7/27 [00:08<00:27, 1.37s/it]\n [ComfyUI] Edge costs: 30%|##9 | 8/27 [00:09<00:22, 1.18s/it]\n [ComfyUI] Edge costs: 33%|###3 | 9/27 [00:10<00:20, 1.17s/it]\n [ComfyUI] Edge costs: 37%|###7 | 10/27 [00:12<00:22, 1.30s/it]\n [ComfyUI] Edge costs: 41%|#### | 11/27 [00:13<00:21, 1.34s/it]\n [ComfyUI] Edge costs: 44%|####4 | 12/27 [00:15<00:20, 1.39s/it]\n [ComfyUI] Edge costs: 48%|####8 | 13/27 [00:16<00:19, 1.41s/it]\n [ComfyUI] Edge costs: 52%|#####1 | 14/27 [00:17<00:15, 1.21s/it]\n [ComfyUI] Edge costs: 56%|#####5 | 15/27 [00:18<00:15, 1.29s/it]\n [ComfyUI] Edge costs: 59%|#####9 | 16/27 [00:20<00:14, 1.35s/it]\n [ComfyUI] Edge costs: 63%|######2 | 17/27 [00:21<00:13, 1.37s/it]\n [ComfyUI] Edge costs: 67%|######6 | 18/27 [00:23<00:12, 1.38s/it]\n [ComfyUI] Edge costs: 70%|####### | 19/27 [00:24<00:09, 1.19s/it]\n [ComfyUI] Edge costs: 74%|#######4 | 20/27 [00:25<00:08, 1.16s/it]\n [ComfyUI] Edge costs: 78%|#######7 | 21/27 [00:28<00:10, 1.73s/it]\n [ComfyUI] Edge costs: 81%|########1 | 22/27 [00:31<00:10, 2.18s/it]\n [ComfyUI] Edge costs: 85%|########5 | 23/27 [00:32<00:07, 1.94s/it]\n [ComfyUI] Edge costs: 89%|########8 | 24/27 [00:35<00:06, 2.08s/it]\n Frame 4 saved (frame_003.jpg, t=76.1s)\n [capture-periodic] freeze=2098ms shot=2169ms unfreeze=4ms saved=True\n [ComfyUI] Edge costs: 93%|#########2| 25/27 [00:37<00:04, 2.28s/it]\n [ComfyUI] Edge costs: 96%|#########6| 26/27 [00:39<00:02, 2.07s/it]\n [ComfyUI] Edge costs: 100%|##########| 27/27 [00:42<00:00, 2.48s/it]\n Frame 5 saved (frame_004.jpg, t=84.5s)\n [capture-periodic] freeze=2083ms shot=2209ms unfreeze=5ms saved=True\n Frame 6 saved (frame_005.jpg, t=105.5s)\n [capture-periodic] freeze=1989ms shot=2198ms unfreeze=5ms saved=True\n Frame 7 saved (frame_006.jpg, t=112.9s)\n [capture-periodic] freeze=1592ms shot=1555ms unfreeze=7ms saved=True\n Frame 8 saved (frame_007.jpg, t=133.1s)\n [capture-periodic] freeze=1847ms shot=2185ms unfreeze=4ms saved=True\n Frame 9 saved (frame_008.jpg, t=141.3s)\n [capture-periodic] freeze=2061ms shot=2184ms unfreeze=5ms saved=True\n [capture-loop] iter=50 t=220.4s state={'complete': False, 'error': None, 'executedCount': 1, 'wsState': 1} eval_ms=6869 ram=4.4/16.0GB (27%) swap=0.4/2.9GB (15%) cpu=92% browser_rss=0.52GB\n Frame 10 saved (frame_009.jpg, t=242.5s)\n [capture-periodic] freeze=2055ms shot=2183ms unfreeze=6ms saved=True\n [ComfyUI] Edge costs: 100%|##########| 27/27 [00:42<00:00, 1.59s/it]\n [ComfyUI] edges: 2697139, pairs: 97792 (need 100000)\n [ComfyUI] Merging 97792 pairs\n [ComfyUI] Pass 2: 102208 splats\n [ComfyUI] \n Frame 11 saved (frame_010.jpg, t=250.8s)\n [capture-periodic] freeze=2069ms shot=2190ms unfreeze=4ms saved=True\n [ComfyUI] Edge costs: 0%| | 0/14 [00:00, ?it/s]\n [ComfyUI] Edge costs: 7%|7 | 1/14 [00:05<01:08, 5.24s/it]\n [ComfyUI] Edge costs: 14%|#4 | 2/14 [00:11<01:10, 5.87s/it]\n [ComfyUI] Edge costs: 21%|##1 | 3/14 [00:16<00:58, 5.30s/it]\n [ComfyUI] Edge costs: 29%|##8 | 4/14 [00:19<00:46, 4.60s/it]\n Frame 12 saved (frame_011.jpg, t=271.9s)\n [capture-periodic] freeze=2149ms shot=2137ms unfreeze=4ms saved=True\n [ComfyUI] Edge costs: 36%|###5 | 5/14 [00:24<00:41, 4.58s/it]\n Frame 13 saved (frame_012.jpg, t=280.3s)\n [capture-periodic] freeze=2045ms shot=2192ms unfreeze=4ms saved=True\n [ComfyUI] Edge costs: 43%|####2 | 6/14 [00:30<00:41, 5.13s/it]\n [ComfyUI] Edge costs: 50%|##### | 7/14 [00:34<00:34, 4.88s/it]\n [ComfyUI] Edge costs: 57%|#####7 | 8/14 [00:40<00:31, 5.29s/it]\n Frame 14 saved (frame_013.jpg, t=295.0s)\n [capture-periodic] freeze=2071ms shot=2211ms unfreeze=5ms saved=True\n [ComfyUI] Edge costs: 64%|######4 | 9/14 [00:45<00:24, 4.93s/it]\n [ComfyUI] Edge costs: 71%|#######1 | 10/14 [00:49<00:19, 4.84s/it]\n Frame 15 saved (frame_014.jpg, t=303.4s)\n [capture-periodic] freeze=2074ms shot=2208ms unfreeze=4ms saved=True\n [ComfyUI] Edge costs: 79%|#######8 | 11/14 [00:55<00:15, 5.18s/it]\n [ComfyUI] Edge costs: 86%|########5 | 12/14 [01:00<00:10, 5.07s/it]\n [ComfyUI] Edge costs: 93%|#########2| 13/14 [01:04<00:04, 4.73s/it]\n [ComfyUI] Edge costs: 100%|##########| 14/14 [01:06<00:00, 3.81s/it]\n Frame 16 saved (frame_015.jpg, t=318.1s)\n [capture-periodic] freeze=2063ms shot=2192ms unfreeze=5ms saved=True\n Frame 17 saved (frame_016.jpg, t=326.5s)\n [capture-periodic] freeze=2101ms shot=2206ms unfreeze=5ms saved=True\n Frame 18 saved (frame_017.jpg, t=354.1s)\n [capture-periodic] freeze=2085ms shot=2209ms unfreeze=5ms saved=True\n Frame 19 saved (frame_018.jpg, t=362.6s)\n [capture-periodic] freeze=2072ms shot=2206ms unfreeze=13ms saved=True"
+ },
+ {
+ "file": "frame_020.jpg",
+ "time": 387.51,
+ "log": "Capturing execution frames: merge_splats.json\n Frame 1 saved (frame_000.jpg, t=0.0s)\n Validating workflow...\n [ComfyUI] === /validate endpoint called ===\n [ComfyUI] Received JSON with keys: ['prompt']\n [ComfyUI] Prompt has 4 nodes\n [ComfyUI] Node 1: LoadPLY\n [ComfyUI] Inputs: {\"ply_file\": \"apple.ply\"}\n [ComfyUI] Node 2: PreviewGaussians\n Queuing workflow for execution...\n [ComfyUI] Inputs: {\"fov_degrees\": 50, \"image_width\": 512, \"image_height\": 512, \"renderer\": \"spark\", \"transport_format\": \"ply\", \"ply_path\": [\"1\", 0]}\n [ComfyUI] Node 3: GaussianMerge\n [ComfyUI] Inputs: {\"target_count\": 100000, \"output_filename\": \"merged\", \"opacity_threshold\": 0, \"k\": 24, \"ply_path\": [\"1\", 0]}\n [ComfyUI] Node 4: PreviewGaussians\n [ComfyUI] Inputs: {\"fov_degrees\": 50, \"image_width\": 512, \"image_height\": 512, \"renderer\": \"spark\", \"transport_format\": \"ply\", \"ply_path\": [\"3\", 0]}\n [ComfyUI] Generated prompt_id: 04b382ba-8864-4fca-8f15-db25eba359f2\n [ComfyUI] Calling execution.validate_prompt()...\n [ComfyUI] Validation result: valid=True\n [ComfyUI] === Validation PASSED ===\n [ComfyUI] got prompt\n [ComfyUI] LoadPLY: apple.ply -> D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1807\\ComfyUI\\input\\apple.ply\n [ComfyUI] GaussianMerge: 200000 -> 100000 splats (ratio=0.5000) via NanoGS MPMM on D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1807\\ComfyUI\\input\\apple.ply\n Node executed (1 total), capturing...\n Frame 2 saved (frame_001.jpg, t=0.5s)\n [capture-node] freeze=124ms shot=167ms unfreeze=4ms saved=True\n Frame 3 saved (frame_002.jpg, t=3.9s)\n [capture-periodic] freeze=2037ms shot=2124ms unfreeze=2ms saved=True\n [ComfyUI] Loading PLY: D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1807\\ComfyUI\\input\\apple.ply\n [ComfyUI] Initial splats: 200000\n [ComfyUI] Pruned splats: 200000, target: 100000\n [ComfyUI] Opacity Mean: 0.53443545 Median: 0.48362076\n [ComfyUI] Pruning splats with opacity below 0.0000\n [ComfyUI] Original count: 200000, after opacity pruning: 200000\n [ComfyUI] After opacity pruning, 200000 splats remain.\n [ComfyUI] \n [ComfyUI] Pass 1: 200000 splats\n [ComfyUI] Edge costs: 0%| | 0/27 [00:00, ?it/s]\n [ComfyUI] Edge costs: 4%|3 | 1/27 [00:00<00:24, 1.06it/s]\n [ComfyUI] Edge costs: 7%|7 | 2/27 [00:02<00:25, 1.03s/it]\n [ComfyUI] Edge costs: 11%|#1 | 3/27 [00:03<00:26, 1.11s/it]\n [ComfyUI] Edge costs: 15%|#4 | 4/27 [00:04<00:28, 1.22s/it]\n [ComfyUI] Edge costs: 19%|#8 | 5/27 [00:05<00:27, 1.26s/it]\n [ComfyUI] Edge costs: 22%|##2 | 6/27 [00:07<00:28, 1.34s/it]\n [ComfyUI] Edge costs: 26%|##5 | 7/27 [00:08<00:27, 1.37s/it]\n [ComfyUI] Edge costs: 30%|##9 | 8/27 [00:09<00:22, 1.18s/it]\n [ComfyUI] Edge costs: 33%|###3 | 9/27 [00:10<00:20, 1.17s/it]\n [ComfyUI] Edge costs: 37%|###7 | 10/27 [00:12<00:22, 1.30s/it]\n [ComfyUI] Edge costs: 41%|#### | 11/27 [00:13<00:21, 1.34s/it]\n [ComfyUI] Edge costs: 44%|####4 | 12/27 [00:15<00:20, 1.39s/it]\n [ComfyUI] Edge costs: 48%|####8 | 13/27 [00:16<00:19, 1.41s/it]\n [ComfyUI] Edge costs: 52%|#####1 | 14/27 [00:17<00:15, 1.21s/it]\n [ComfyUI] Edge costs: 56%|#####5 | 15/27 [00:18<00:15, 1.29s/it]\n [ComfyUI] Edge costs: 59%|#####9 | 16/27 [00:20<00:14, 1.35s/it]\n [ComfyUI] Edge costs: 63%|######2 | 17/27 [00:21<00:13, 1.37s/it]\n [ComfyUI] Edge costs: 67%|######6 | 18/27 [00:23<00:12, 1.38s/it]\n [ComfyUI] Edge costs: 70%|####### | 19/27 [00:24<00:09, 1.19s/it]\n [ComfyUI] Edge costs: 74%|#######4 | 20/27 [00:25<00:08, 1.16s/it]\n [ComfyUI] Edge costs: 78%|#######7 | 21/27 [00:28<00:10, 1.73s/it]\n [ComfyUI] Edge costs: 81%|########1 | 22/27 [00:31<00:10, 2.18s/it]\n [ComfyUI] Edge costs: 85%|########5 | 23/27 [00:32<00:07, 1.94s/it]\n [ComfyUI] Edge costs: 89%|########8 | 24/27 [00:35<00:06, 2.08s/it]\n Frame 4 saved (frame_003.jpg, t=76.1s)\n [capture-periodic] freeze=2098ms shot=2169ms unfreeze=4ms saved=True\n [ComfyUI] Edge costs: 93%|#########2| 25/27 [00:37<00:04, 2.28s/it]\n [ComfyUI] Edge costs: 96%|#########6| 26/27 [00:39<00:02, 2.07s/it]\n [ComfyUI] Edge costs: 100%|##########| 27/27 [00:42<00:00, 2.48s/it]\n Frame 5 saved (frame_004.jpg, t=84.5s)\n [capture-periodic] freeze=2083ms shot=2209ms unfreeze=5ms saved=True\n Frame 6 saved (frame_005.jpg, t=105.5s)\n [capture-periodic] freeze=1989ms shot=2198ms unfreeze=5ms saved=True\n Frame 7 saved (frame_006.jpg, t=112.9s)\n [capture-periodic] freeze=1592ms shot=1555ms unfreeze=7ms saved=True\n Frame 8 saved (frame_007.jpg, t=133.1s)\n [capture-periodic] freeze=1847ms shot=2185ms unfreeze=4ms saved=True\n Frame 9 saved (frame_008.jpg, t=141.3s)\n [capture-periodic] freeze=2061ms shot=2184ms unfreeze=5ms saved=True\n [capture-loop] iter=50 t=220.4s state={'complete': False, 'error': None, 'executedCount': 1, 'wsState': 1} eval_ms=6869 ram=4.4/16.0GB (27%) swap=0.4/2.9GB (15%) cpu=92% browser_rss=0.52GB\n Frame 10 saved (frame_009.jpg, t=242.5s)\n [capture-periodic] freeze=2055ms shot=2183ms unfreeze=6ms saved=True\n [ComfyUI] Edge costs: 100%|##########| 27/27 [00:42<00:00, 1.59s/it]\n [ComfyUI] edges: 2697139, pairs: 97792 (need 100000)\n [ComfyUI] Merging 97792 pairs\n [ComfyUI] Pass 2: 102208 splats\n [ComfyUI] \n Frame 11 saved (frame_010.jpg, t=250.8s)\n [capture-periodic] freeze=2069ms shot=2190ms unfreeze=4ms saved=True\n [ComfyUI] Edge costs: 0%| | 0/14 [00:00, ?it/s]\n [ComfyUI] Edge costs: 7%|7 | 1/14 [00:05<01:08, 5.24s/it]\n [ComfyUI] Edge costs: 14%|#4 | 2/14 [00:11<01:10, 5.87s/it]\n [ComfyUI] Edge costs: 21%|##1 | 3/14 [00:16<00:58, 5.30s/it]\n [ComfyUI] Edge costs: 29%|##8 | 4/14 [00:19<00:46, 4.60s/it]\n Frame 12 saved (frame_011.jpg, t=271.9s)\n [capture-periodic] freeze=2149ms shot=2137ms unfreeze=4ms saved=True\n [ComfyUI] Edge costs: 36%|###5 | 5/14 [00:24<00:41, 4.58s/it]\n Frame 13 saved (frame_012.jpg, t=280.3s)\n [capture-periodic] freeze=2045ms shot=2192ms unfreeze=4ms saved=True\n [ComfyUI] Edge costs: 43%|####2 | 6/14 [00:30<00:41, 5.13s/it]\n [ComfyUI] Edge costs: 50%|##### | 7/14 [00:34<00:34, 4.88s/it]\n [ComfyUI] Edge costs: 57%|#####7 | 8/14 [00:40<00:31, 5.29s/it]\n Frame 14 saved (frame_013.jpg, t=295.0s)\n [capture-periodic] freeze=2071ms shot=2211ms unfreeze=5ms saved=True\n [ComfyUI] Edge costs: 64%|######4 | 9/14 [00:45<00:24, 4.93s/it]\n [ComfyUI] Edge costs: 71%|#######1 | 10/14 [00:49<00:19, 4.84s/it]\n Frame 15 saved (frame_014.jpg, t=303.4s)\n [capture-periodic] freeze=2074ms shot=2208ms unfreeze=4ms saved=True\n [ComfyUI] Edge costs: 79%|#######8 | 11/14 [00:55<00:15, 5.18s/it]\n [ComfyUI] Edge costs: 86%|########5 | 12/14 [01:00<00:10, 5.07s/it]\n [ComfyUI] Edge costs: 93%|#########2| 13/14 [01:04<00:04, 4.73s/it]\n [ComfyUI] Edge costs: 100%|##########| 14/14 [01:06<00:00, 3.81s/it]\n Frame 16 saved (frame_015.jpg, t=318.1s)\n [capture-periodic] freeze=2063ms shot=2192ms unfreeze=5ms saved=True\n Frame 17 saved (frame_016.jpg, t=326.5s)\n [capture-periodic] freeze=2101ms shot=2206ms unfreeze=5ms saved=True\n Frame 18 saved (frame_017.jpg, t=354.1s)\n [capture-periodic] freeze=2085ms shot=2209ms unfreeze=5ms saved=True\n Frame 19 saved (frame_018.jpg, t=362.6s)\n [capture-periodic] freeze=2072ms shot=2206ms unfreeze=13ms saved=True\n Frame 20 saved (frame_019.jpg, t=377.3s)\n [capture-periodic] freeze=2055ms shot=2204ms unfreeze=4ms saved=True"
+ },
+ {
+ "file": "frame_021.jpg",
+ "time": 408.97,
+ "log": "Capturing execution frames: merge_splats.json\n Frame 1 saved (frame_000.jpg, t=0.0s)\n Validating workflow...\n [ComfyUI] === /validate endpoint called ===\n [ComfyUI] Received JSON with keys: ['prompt']\n [ComfyUI] Prompt has 4 nodes\n [ComfyUI] Node 1: LoadPLY\n [ComfyUI] Inputs: {\"ply_file\": \"apple.ply\"}\n [ComfyUI] Node 2: PreviewGaussians\n Queuing workflow for execution...\n [ComfyUI] Inputs: {\"fov_degrees\": 50, \"image_width\": 512, \"image_height\": 512, \"renderer\": \"spark\", \"transport_format\": \"ply\", \"ply_path\": [\"1\", 0]}\n [ComfyUI] Node 3: GaussianMerge\n [ComfyUI] Inputs: {\"target_count\": 100000, \"output_filename\": \"merged\", \"opacity_threshold\": 0, \"k\": 24, \"ply_path\": [\"1\", 0]}\n [ComfyUI] Node 4: PreviewGaussians\n [ComfyUI] Inputs: {\"fov_degrees\": 50, \"image_width\": 512, \"image_height\": 512, \"renderer\": \"spark\", \"transport_format\": \"ply\", \"ply_path\": [\"3\", 0]}\n [ComfyUI] Generated prompt_id: 04b382ba-8864-4fca-8f15-db25eba359f2\n [ComfyUI] Calling execution.validate_prompt()...\n [ComfyUI] Validation result: valid=True\n [ComfyUI] === Validation PASSED ===\n [ComfyUI] got prompt\n [ComfyUI] LoadPLY: apple.ply -> D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1807\\ComfyUI\\input\\apple.ply\n [ComfyUI] GaussianMerge: 200000 -> 100000 splats (ratio=0.5000) via NanoGS MPMM on D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1807\\ComfyUI\\input\\apple.ply\n Node executed (1 total), capturing...\n Frame 2 saved (frame_001.jpg, t=0.5s)\n [capture-node] freeze=124ms shot=167ms unfreeze=4ms saved=True\n Frame 3 saved (frame_002.jpg, t=3.9s)\n [capture-periodic] freeze=2037ms shot=2124ms unfreeze=2ms saved=True\n [ComfyUI] Loading PLY: D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1807\\ComfyUI\\input\\apple.ply\n [ComfyUI] Initial splats: 200000\n [ComfyUI] Pruned splats: 200000, target: 100000\n [ComfyUI] Opacity Mean: 0.53443545 Median: 0.48362076\n [ComfyUI] Pruning splats with opacity below 0.0000\n [ComfyUI] Original count: 200000, after opacity pruning: 200000\n [ComfyUI] After opacity pruning, 200000 splats remain.\n [ComfyUI] \n [ComfyUI] Pass 1: 200000 splats\n [ComfyUI] Edge costs: 0%| | 0/27 [00:00, ?it/s]\n [ComfyUI] Edge costs: 4%|3 | 1/27 [00:00<00:24, 1.06it/s]\n [ComfyUI] Edge costs: 7%|7 | 2/27 [00:02<00:25, 1.03s/it]\n [ComfyUI] Edge costs: 11%|#1 | 3/27 [00:03<00:26, 1.11s/it]\n [ComfyUI] Edge costs: 15%|#4 | 4/27 [00:04<00:28, 1.22s/it]\n [ComfyUI] Edge costs: 19%|#8 | 5/27 [00:05<00:27, 1.26s/it]\n [ComfyUI] Edge costs: 22%|##2 | 6/27 [00:07<00:28, 1.34s/it]\n [ComfyUI] Edge costs: 26%|##5 | 7/27 [00:08<00:27, 1.37s/it]\n [ComfyUI] Edge costs: 30%|##9 | 8/27 [00:09<00:22, 1.18s/it]\n [ComfyUI] Edge costs: 33%|###3 | 9/27 [00:10<00:20, 1.17s/it]\n [ComfyUI] Edge costs: 37%|###7 | 10/27 [00:12<00:22, 1.30s/it]\n [ComfyUI] Edge costs: 41%|#### | 11/27 [00:13<00:21, 1.34s/it]\n [ComfyUI] Edge costs: 44%|####4 | 12/27 [00:15<00:20, 1.39s/it]\n [ComfyUI] Edge costs: 48%|####8 | 13/27 [00:16<00:19, 1.41s/it]\n [ComfyUI] Edge costs: 52%|#####1 | 14/27 [00:17<00:15, 1.21s/it]\n [ComfyUI] Edge costs: 56%|#####5 | 15/27 [00:18<00:15, 1.29s/it]\n [ComfyUI] Edge costs: 59%|#####9 | 16/27 [00:20<00:14, 1.35s/it]\n [ComfyUI] Edge costs: 63%|######2 | 17/27 [00:21<00:13, 1.37s/it]\n [ComfyUI] Edge costs: 67%|######6 | 18/27 [00:23<00:12, 1.38s/it]\n [ComfyUI] Edge costs: 70%|####### | 19/27 [00:24<00:09, 1.19s/it]\n [ComfyUI] Edge costs: 74%|#######4 | 20/27 [00:25<00:08, 1.16s/it]\n [ComfyUI] Edge costs: 78%|#######7 | 21/27 [00:28<00:10, 1.73s/it]\n [ComfyUI] Edge costs: 81%|########1 | 22/27 [00:31<00:10, 2.18s/it]\n [ComfyUI] Edge costs: 85%|########5 | 23/27 [00:32<00:07, 1.94s/it]\n [ComfyUI] Edge costs: 89%|########8 | 24/27 [00:35<00:06, 2.08s/it]\n Frame 4 saved (frame_003.jpg, t=76.1s)\n [capture-periodic] freeze=2098ms shot=2169ms unfreeze=4ms saved=True\n [ComfyUI] Edge costs: 93%|#########2| 25/27 [00:37<00:04, 2.28s/it]\n [ComfyUI] Edge costs: 96%|#########6| 26/27 [00:39<00:02, 2.07s/it]\n [ComfyUI] Edge costs: 100%|##########| 27/27 [00:42<00:00, 2.48s/it]\n Frame 5 saved (frame_004.jpg, t=84.5s)\n [capture-periodic] freeze=2083ms shot=2209ms unfreeze=5ms saved=True\n Frame 6 saved (frame_005.jpg, t=105.5s)\n [capture-periodic] freeze=1989ms shot=2198ms unfreeze=5ms saved=True\n Frame 7 saved (frame_006.jpg, t=112.9s)\n [capture-periodic] freeze=1592ms shot=1555ms unfreeze=7ms saved=True\n Frame 8 saved (frame_007.jpg, t=133.1s)\n [capture-periodic] freeze=1847ms shot=2185ms unfreeze=4ms saved=True\n Frame 9 saved (frame_008.jpg, t=141.3s)\n [capture-periodic] freeze=2061ms shot=2184ms unfreeze=5ms saved=True\n [capture-loop] iter=50 t=220.4s state={'complete': False, 'error': None, 'executedCount': 1, 'wsState': 1} eval_ms=6869 ram=4.4/16.0GB (27%) swap=0.4/2.9GB (15%) cpu=92% browser_rss=0.52GB\n Frame 10 saved (frame_009.jpg, t=242.5s)\n [capture-periodic] freeze=2055ms shot=2183ms unfreeze=6ms saved=True\n [ComfyUI] Edge costs: 100%|##########| 27/27 [00:42<00:00, 1.59s/it]\n [ComfyUI] edges: 2697139, pairs: 97792 (need 100000)\n [ComfyUI] Merging 97792 pairs\n [ComfyUI] Pass 2: 102208 splats\n [ComfyUI] \n Frame 11 saved (frame_010.jpg, t=250.8s)\n [capture-periodic] freeze=2069ms shot=2190ms unfreeze=4ms saved=True\n [ComfyUI] Edge costs: 0%| | 0/14 [00:00, ?it/s]\n [ComfyUI] Edge costs: 7%|7 | 1/14 [00:05<01:08, 5.24s/it]\n [ComfyUI] Edge costs: 14%|#4 | 2/14 [00:11<01:10, 5.87s/it]\n [ComfyUI] Edge costs: 21%|##1 | 3/14 [00:16<00:58, 5.30s/it]\n [ComfyUI] Edge costs: 29%|##8 | 4/14 [00:19<00:46, 4.60s/it]\n Frame 12 saved (frame_011.jpg, t=271.9s)\n [capture-periodic] freeze=2149ms shot=2137ms unfreeze=4ms saved=True\n [ComfyUI] Edge costs: 36%|###5 | 5/14 [00:24<00:41, 4.58s/it]\n Frame 13 saved (frame_012.jpg, t=280.3s)\n [capture-periodic] freeze=2045ms shot=2192ms unfreeze=4ms saved=True\n [ComfyUI] Edge costs: 43%|####2 | 6/14 [00:30<00:41, 5.13s/it]\n [ComfyUI] Edge costs: 50%|##### | 7/14 [00:34<00:34, 4.88s/it]\n [ComfyUI] Edge costs: 57%|#####7 | 8/14 [00:40<00:31, 5.29s/it]\n Frame 14 saved (frame_013.jpg, t=295.0s)\n [capture-periodic] freeze=2071ms shot=2211ms unfreeze=5ms saved=True\n [ComfyUI] Edge costs: 64%|######4 | 9/14 [00:45<00:24, 4.93s/it]\n [ComfyUI] Edge costs: 71%|#######1 | 10/14 [00:49<00:19, 4.84s/it]\n Frame 15 saved (frame_014.jpg, t=303.4s)\n [capture-periodic] freeze=2074ms shot=2208ms unfreeze=4ms saved=True\n [ComfyUI] Edge costs: 79%|#######8 | 11/14 [00:55<00:15, 5.18s/it]\n [ComfyUI] Edge costs: 86%|########5 | 12/14 [01:00<00:10, 5.07s/it]\n [ComfyUI] Edge costs: 93%|#########2| 13/14 [01:04<00:04, 4.73s/it]\n [ComfyUI] Edge costs: 100%|##########| 14/14 [01:06<00:00, 3.81s/it]\n Frame 16 saved (frame_015.jpg, t=318.1s)\n [capture-periodic] freeze=2063ms shot=2192ms unfreeze=5ms saved=True\n Frame 17 saved (frame_016.jpg, t=326.5s)\n [capture-periodic] freeze=2101ms shot=2206ms unfreeze=5ms saved=True\n Frame 18 saved (frame_017.jpg, t=354.1s)\n [capture-periodic] freeze=2085ms shot=2209ms unfreeze=5ms saved=True\n Frame 19 saved (frame_018.jpg, t=362.6s)\n [capture-periodic] freeze=2072ms shot=2206ms unfreeze=13ms saved=True\n Frame 20 saved (frame_019.jpg, t=377.3s)\n [capture-periodic] freeze=2055ms shot=2204ms unfreeze=4ms saved=True\n Frame 21 saved (frame_020.jpg, t=387.5s)\n [capture-periodic] freeze=2453ms shot=2235ms unfreeze=18ms saved=True"
+ },
+ {
+ "file": "frame_022.jpg",
+ "time": 417.36,
+ "log": "Capturing execution frames: merge_splats.json\n Frame 1 saved (frame_000.jpg, t=0.0s)\n Validating workflow...\n [ComfyUI] === /validate endpoint called ===\n [ComfyUI] Received JSON with keys: ['prompt']\n [ComfyUI] Prompt has 4 nodes\n [ComfyUI] Node 1: LoadPLY\n [ComfyUI] Inputs: {\"ply_file\": \"apple.ply\"}\n [ComfyUI] Node 2: PreviewGaussians\n Queuing workflow for execution...\n [ComfyUI] Inputs: {\"fov_degrees\": 50, \"image_width\": 512, \"image_height\": 512, \"renderer\": \"spark\", \"transport_format\": \"ply\", \"ply_path\": [\"1\", 0]}\n [ComfyUI] Node 3: GaussianMerge\n [ComfyUI] Inputs: {\"target_count\": 100000, \"output_filename\": \"merged\", \"opacity_threshold\": 0, \"k\": 24, \"ply_path\": [\"1\", 0]}\n [ComfyUI] Node 4: PreviewGaussians\n [ComfyUI] Inputs: {\"fov_degrees\": 50, \"image_width\": 512, \"image_height\": 512, \"renderer\": \"spark\", \"transport_format\": \"ply\", \"ply_path\": [\"3\", 0]}\n [ComfyUI] Generated prompt_id: 04b382ba-8864-4fca-8f15-db25eba359f2\n [ComfyUI] Calling execution.validate_prompt()...\n [ComfyUI] Validation result: valid=True\n [ComfyUI] === Validation PASSED ===\n [ComfyUI] got prompt\n [ComfyUI] LoadPLY: apple.ply -> D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1807\\ComfyUI\\input\\apple.ply\n [ComfyUI] GaussianMerge: 200000 -> 100000 splats (ratio=0.5000) via NanoGS MPMM on D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1807\\ComfyUI\\input\\apple.ply\n Node executed (1 total), capturing...\n Frame 2 saved (frame_001.jpg, t=0.5s)\n [capture-node] freeze=124ms shot=167ms unfreeze=4ms saved=True\n Frame 3 saved (frame_002.jpg, t=3.9s)\n [capture-periodic] freeze=2037ms shot=2124ms unfreeze=2ms saved=True\n [ComfyUI] Loading PLY: D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1807\\ComfyUI\\input\\apple.ply\n [ComfyUI] Initial splats: 200000\n [ComfyUI] Pruned splats: 200000, target: 100000\n [ComfyUI] Opacity Mean: 0.53443545 Median: 0.48362076\n [ComfyUI] Pruning splats with opacity below 0.0000\n [ComfyUI] Original count: 200000, after opacity pruning: 200000\n [ComfyUI] After opacity pruning, 200000 splats remain.\n [ComfyUI] \n [ComfyUI] Pass 1: 200000 splats\n [ComfyUI] Edge costs: 0%| | 0/27 [00:00, ?it/s]\n [ComfyUI] Edge costs: 4%|3 | 1/27 [00:00<00:24, 1.06it/s]\n [ComfyUI] Edge costs: 7%|7 | 2/27 [00:02<00:25, 1.03s/it]\n [ComfyUI] Edge costs: 11%|#1 | 3/27 [00:03<00:26, 1.11s/it]\n [ComfyUI] Edge costs: 15%|#4 | 4/27 [00:04<00:28, 1.22s/it]\n [ComfyUI] Edge costs: 19%|#8 | 5/27 [00:05<00:27, 1.26s/it]\n [ComfyUI] Edge costs: 22%|##2 | 6/27 [00:07<00:28, 1.34s/it]\n [ComfyUI] Edge costs: 26%|##5 | 7/27 [00:08<00:27, 1.37s/it]\n [ComfyUI] Edge costs: 30%|##9 | 8/27 [00:09<00:22, 1.18s/it]\n [ComfyUI] Edge costs: 33%|###3 | 9/27 [00:10<00:20, 1.17s/it]\n [ComfyUI] Edge costs: 37%|###7 | 10/27 [00:12<00:22, 1.30s/it]\n [ComfyUI] Edge costs: 41%|#### | 11/27 [00:13<00:21, 1.34s/it]\n [ComfyUI] Edge costs: 44%|####4 | 12/27 [00:15<00:20, 1.39s/it]\n [ComfyUI] Edge costs: 48%|####8 | 13/27 [00:16<00:19, 1.41s/it]\n [ComfyUI] Edge costs: 52%|#####1 | 14/27 [00:17<00:15, 1.21s/it]\n [ComfyUI] Edge costs: 56%|#####5 | 15/27 [00:18<00:15, 1.29s/it]\n [ComfyUI] Edge costs: 59%|#####9 | 16/27 [00:20<00:14, 1.35s/it]\n [ComfyUI] Edge costs: 63%|######2 | 17/27 [00:21<00:13, 1.37s/it]\n [ComfyUI] Edge costs: 67%|######6 | 18/27 [00:23<00:12, 1.38s/it]\n [ComfyUI] Edge costs: 70%|####### | 19/27 [00:24<00:09, 1.19s/it]\n [ComfyUI] Edge costs: 74%|#######4 | 20/27 [00:25<00:08, 1.16s/it]\n [ComfyUI] Edge costs: 78%|#######7 | 21/27 [00:28<00:10, 1.73s/it]\n [ComfyUI] Edge costs: 81%|########1 | 22/27 [00:31<00:10, 2.18s/it]\n [ComfyUI] Edge costs: 85%|########5 | 23/27 [00:32<00:07, 1.94s/it]\n [ComfyUI] Edge costs: 89%|########8 | 24/27 [00:35<00:06, 2.08s/it]\n Frame 4 saved (frame_003.jpg, t=76.1s)\n [capture-periodic] freeze=2098ms shot=2169ms unfreeze=4ms saved=True\n [ComfyUI] Edge costs: 93%|#########2| 25/27 [00:37<00:04, 2.28s/it]\n [ComfyUI] Edge costs: 96%|#########6| 26/27 [00:39<00:02, 2.07s/it]\n [ComfyUI] Edge costs: 100%|##########| 27/27 [00:42<00:00, 2.48s/it]\n Frame 5 saved (frame_004.jpg, t=84.5s)\n [capture-periodic] freeze=2083ms shot=2209ms unfreeze=5ms saved=True\n Frame 6 saved (frame_005.jpg, t=105.5s)\n [capture-periodic] freeze=1989ms shot=2198ms unfreeze=5ms saved=True\n Frame 7 saved (frame_006.jpg, t=112.9s)\n [capture-periodic] freeze=1592ms shot=1555ms unfreeze=7ms saved=True\n Frame 8 saved (frame_007.jpg, t=133.1s)\n [capture-periodic] freeze=1847ms shot=2185ms unfreeze=4ms saved=True\n Frame 9 saved (frame_008.jpg, t=141.3s)\n [capture-periodic] freeze=2061ms shot=2184ms unfreeze=5ms saved=True\n [capture-loop] iter=50 t=220.4s state={'complete': False, 'error': None, 'executedCount': 1, 'wsState': 1} eval_ms=6869 ram=4.4/16.0GB (27%) swap=0.4/2.9GB (15%) cpu=92% browser_rss=0.52GB\n Frame 10 saved (frame_009.jpg, t=242.5s)\n [capture-periodic] freeze=2055ms shot=2183ms unfreeze=6ms saved=True\n [ComfyUI] Edge costs: 100%|##########| 27/27 [00:42<00:00, 1.59s/it]\n [ComfyUI] edges: 2697139, pairs: 97792 (need 100000)\n [ComfyUI] Merging 97792 pairs\n [ComfyUI] Pass 2: 102208 splats\n [ComfyUI] \n Frame 11 saved (frame_010.jpg, t=250.8s)\n [capture-periodic] freeze=2069ms shot=2190ms unfreeze=4ms saved=True\n [ComfyUI] Edge costs: 0%| | 0/14 [00:00, ?it/s]\n [ComfyUI] Edge costs: 7%|7 | 1/14 [00:05<01:08, 5.24s/it]\n [ComfyUI] Edge costs: 14%|#4 | 2/14 [00:11<01:10, 5.87s/it]\n [ComfyUI] Edge costs: 21%|##1 | 3/14 [00:16<00:58, 5.30s/it]\n [ComfyUI] Edge costs: 29%|##8 | 4/14 [00:19<00:46, 4.60s/it]\n Frame 12 saved (frame_011.jpg, t=271.9s)\n [capture-periodic] freeze=2149ms shot=2137ms unfreeze=4ms saved=True\n [ComfyUI] Edge costs: 36%|###5 | 5/14 [00:24<00:41, 4.58s/it]\n Frame 13 saved (frame_012.jpg, t=280.3s)\n [capture-periodic] freeze=2045ms shot=2192ms unfreeze=4ms saved=True\n [ComfyUI] Edge costs: 43%|####2 | 6/14 [00:30<00:41, 5.13s/it]\n [ComfyUI] Edge costs: 50%|##### | 7/14 [00:34<00:34, 4.88s/it]\n [ComfyUI] Edge costs: 57%|#####7 | 8/14 [00:40<00:31, 5.29s/it]\n Frame 14 saved (frame_013.jpg, t=295.0s)\n [capture-periodic] freeze=2071ms shot=2211ms unfreeze=5ms saved=True\n [ComfyUI] Edge costs: 64%|######4 | 9/14 [00:45<00:24, 4.93s/it]\n [ComfyUI] Edge costs: 71%|#######1 | 10/14 [00:49<00:19, 4.84s/it]\n Frame 15 saved (frame_014.jpg, t=303.4s)\n [capture-periodic] freeze=2074ms shot=2208ms unfreeze=4ms saved=True\n [ComfyUI] Edge costs: 79%|#######8 | 11/14 [00:55<00:15, 5.18s/it]\n [ComfyUI] Edge costs: 86%|########5 | 12/14 [01:00<00:10, 5.07s/it]\n [ComfyUI] Edge costs: 93%|#########2| 13/14 [01:04<00:04, 4.73s/it]\n [ComfyUI] Edge costs: 100%|##########| 14/14 [01:06<00:00, 3.81s/it]\n Frame 16 saved (frame_015.jpg, t=318.1s)\n [capture-periodic] freeze=2063ms shot=2192ms unfreeze=5ms saved=True\n Frame 17 saved (frame_016.jpg, t=326.5s)\n [capture-periodic] freeze=2101ms shot=2206ms unfreeze=5ms saved=True\n Frame 18 saved (frame_017.jpg, t=354.1s)\n [capture-periodic] freeze=2085ms shot=2209ms unfreeze=5ms saved=True\n Frame 19 saved (frame_018.jpg, t=362.6s)\n [capture-periodic] freeze=2072ms shot=2206ms unfreeze=13ms saved=True\n Frame 20 saved (frame_019.jpg, t=377.3s)\n [capture-periodic] freeze=2055ms shot=2204ms unfreeze=4ms saved=True\n Frame 21 saved (frame_020.jpg, t=387.5s)\n [capture-periodic] freeze=2453ms shot=2235ms unfreeze=18ms saved=True\n Frame 22 saved (frame_021.jpg, t=409.0s)\n [capture-periodic] freeze=2077ms shot=2243ms unfreeze=6ms saved=True"
+ },
+ {
+ "file": "frame_023.jpg",
+ "time": 438.09,
+ "log": "Capturing execution frames: merge_splats.json\n Frame 1 saved (frame_000.jpg, t=0.0s)\n Validating workflow...\n [ComfyUI] === /validate endpoint called ===\n [ComfyUI] Received JSON with keys: ['prompt']\n [ComfyUI] Prompt has 4 nodes\n [ComfyUI] Node 1: LoadPLY\n [ComfyUI] Inputs: {\"ply_file\": \"apple.ply\"}\n [ComfyUI] Node 2: PreviewGaussians\n Queuing workflow for execution...\n [ComfyUI] Inputs: {\"fov_degrees\": 50, \"image_width\": 512, \"image_height\": 512, \"renderer\": \"spark\", \"transport_format\": \"ply\", \"ply_path\": [\"1\", 0]}\n [ComfyUI] Node 3: GaussianMerge\n [ComfyUI] Inputs: {\"target_count\": 100000, \"output_filename\": \"merged\", \"opacity_threshold\": 0, \"k\": 24, \"ply_path\": [\"1\", 0]}\n [ComfyUI] Node 4: PreviewGaussians\n [ComfyUI] Inputs: {\"fov_degrees\": 50, \"image_width\": 512, \"image_height\": 512, \"renderer\": \"spark\", \"transport_format\": \"ply\", \"ply_path\": [\"3\", 0]}\n [ComfyUI] Generated prompt_id: 04b382ba-8864-4fca-8f15-db25eba359f2\n [ComfyUI] Calling execution.validate_prompt()...\n [ComfyUI] Validation result: valid=True\n [ComfyUI] === Validation PASSED ===\n [ComfyUI] got prompt\n [ComfyUI] LoadPLY: apple.ply -> D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1807\\ComfyUI\\input\\apple.ply\n [ComfyUI] GaussianMerge: 200000 -> 100000 splats (ratio=0.5000) via NanoGS MPMM on D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1807\\ComfyUI\\input\\apple.ply\n Node executed (1 total), capturing...\n Frame 2 saved (frame_001.jpg, t=0.5s)\n [capture-node] freeze=124ms shot=167ms unfreeze=4ms saved=True\n Frame 3 saved (frame_002.jpg, t=3.9s)\n [capture-periodic] freeze=2037ms shot=2124ms unfreeze=2ms saved=True\n [ComfyUI] Loading PLY: D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1807\\ComfyUI\\input\\apple.ply\n [ComfyUI] Initial splats: 200000\n [ComfyUI] Pruned splats: 200000, target: 100000\n [ComfyUI] Opacity Mean: 0.53443545 Median: 0.48362076\n [ComfyUI] Pruning splats with opacity below 0.0000\n [ComfyUI] Original count: 200000, after opacity pruning: 200000\n [ComfyUI] After opacity pruning, 200000 splats remain.\n [ComfyUI] \n [ComfyUI] Pass 1: 200000 splats\n [ComfyUI] Edge costs: 0%| | 0/27 [00:00, ?it/s]\n [ComfyUI] Edge costs: 4%|3 | 1/27 [00:00<00:24, 1.06it/s]\n [ComfyUI] Edge costs: 7%|7 | 2/27 [00:02<00:25, 1.03s/it]\n [ComfyUI] Edge costs: 11%|#1 | 3/27 [00:03<00:26, 1.11s/it]\n [ComfyUI] Edge costs: 15%|#4 | 4/27 [00:04<00:28, 1.22s/it]\n [ComfyUI] Edge costs: 19%|#8 | 5/27 [00:05<00:27, 1.26s/it]\n [ComfyUI] Edge costs: 22%|##2 | 6/27 [00:07<00:28, 1.34s/it]\n [ComfyUI] Edge costs: 26%|##5 | 7/27 [00:08<00:27, 1.37s/it]\n [ComfyUI] Edge costs: 30%|##9 | 8/27 [00:09<00:22, 1.18s/it]\n [ComfyUI] Edge costs: 33%|###3 | 9/27 [00:10<00:20, 1.17s/it]\n [ComfyUI] Edge costs: 37%|###7 | 10/27 [00:12<00:22, 1.30s/it]\n [ComfyUI] Edge costs: 41%|#### | 11/27 [00:13<00:21, 1.34s/it]\n [ComfyUI] Edge costs: 44%|####4 | 12/27 [00:15<00:20, 1.39s/it]\n [ComfyUI] Edge costs: 48%|####8 | 13/27 [00:16<00:19, 1.41s/it]\n [ComfyUI] Edge costs: 52%|#####1 | 14/27 [00:17<00:15, 1.21s/it]\n [ComfyUI] Edge costs: 56%|#####5 | 15/27 [00:18<00:15, 1.29s/it]\n [ComfyUI] Edge costs: 59%|#####9 | 16/27 [00:20<00:14, 1.35s/it]\n [ComfyUI] Edge costs: 63%|######2 | 17/27 [00:21<00:13, 1.37s/it]\n [ComfyUI] Edge costs: 67%|######6 | 18/27 [00:23<00:12, 1.38s/it]\n [ComfyUI] Edge costs: 70%|####### | 19/27 [00:24<00:09, 1.19s/it]\n [ComfyUI] Edge costs: 74%|#######4 | 20/27 [00:25<00:08, 1.16s/it]\n [ComfyUI] Edge costs: 78%|#######7 | 21/27 [00:28<00:10, 1.73s/it]\n [ComfyUI] Edge costs: 81%|########1 | 22/27 [00:31<00:10, 2.18s/it]\n [ComfyUI] Edge costs: 85%|########5 | 23/27 [00:32<00:07, 1.94s/it]\n [ComfyUI] Edge costs: 89%|########8 | 24/27 [00:35<00:06, 2.08s/it]\n Frame 4 saved (frame_003.jpg, t=76.1s)\n [capture-periodic] freeze=2098ms shot=2169ms unfreeze=4ms saved=True\n [ComfyUI] Edge costs: 93%|#########2| 25/27 [00:37<00:04, 2.28s/it]\n [ComfyUI] Edge costs: 96%|#########6| 26/27 [00:39<00:02, 2.07s/it]\n [ComfyUI] Edge costs: 100%|##########| 27/27 [00:42<00:00, 2.48s/it]\n Frame 5 saved (frame_004.jpg, t=84.5s)\n [capture-periodic] freeze=2083ms shot=2209ms unfreeze=5ms saved=True\n Frame 6 saved (frame_005.jpg, t=105.5s)\n [capture-periodic] freeze=1989ms shot=2198ms unfreeze=5ms saved=True\n Frame 7 saved (frame_006.jpg, t=112.9s)\n [capture-periodic] freeze=1592ms shot=1555ms unfreeze=7ms saved=True\n Frame 8 saved (frame_007.jpg, t=133.1s)\n [capture-periodic] freeze=1847ms shot=2185ms unfreeze=4ms saved=True\n Frame 9 saved (frame_008.jpg, t=141.3s)\n [capture-periodic] freeze=2061ms shot=2184ms unfreeze=5ms saved=True\n [capture-loop] iter=50 t=220.4s state={'complete': False, 'error': None, 'executedCount': 1, 'wsState': 1} eval_ms=6869 ram=4.4/16.0GB (27%) swap=0.4/2.9GB (15%) cpu=92% browser_rss=0.52GB\n Frame 10 saved (frame_009.jpg, t=242.5s)\n [capture-periodic] freeze=2055ms shot=2183ms unfreeze=6ms saved=True\n [ComfyUI] Edge costs: 100%|##########| 27/27 [00:42<00:00, 1.59s/it]\n [ComfyUI] edges: 2697139, pairs: 97792 (need 100000)\n [ComfyUI] Merging 97792 pairs\n [ComfyUI] Pass 2: 102208 splats\n [ComfyUI] \n Frame 11 saved (frame_010.jpg, t=250.8s)\n [capture-periodic] freeze=2069ms shot=2190ms unfreeze=4ms saved=True\n [ComfyUI] Edge costs: 0%| | 0/14 [00:00, ?it/s]\n [ComfyUI] Edge costs: 7%|7 | 1/14 [00:05<01:08, 5.24s/it]\n [ComfyUI] Edge costs: 14%|#4 | 2/14 [00:11<01:10, 5.87s/it]\n [ComfyUI] Edge costs: 21%|##1 | 3/14 [00:16<00:58, 5.30s/it]\n [ComfyUI] Edge costs: 29%|##8 | 4/14 [00:19<00:46, 4.60s/it]\n Frame 12 saved (frame_011.jpg, t=271.9s)\n [capture-periodic] freeze=2149ms shot=2137ms unfreeze=4ms saved=True\n [ComfyUI] Edge costs: 36%|###5 | 5/14 [00:24<00:41, 4.58s/it]\n Frame 13 saved (frame_012.jpg, t=280.3s)\n [capture-periodic] freeze=2045ms shot=2192ms unfreeze=4ms saved=True\n [ComfyUI] Edge costs: 43%|####2 | 6/14 [00:30<00:41, 5.13s/it]\n [ComfyUI] Edge costs: 50%|##### | 7/14 [00:34<00:34, 4.88s/it]\n [ComfyUI] Edge costs: 57%|#####7 | 8/14 [00:40<00:31, 5.29s/it]\n Frame 14 saved (frame_013.jpg, t=295.0s)\n [capture-periodic] freeze=2071ms shot=2211ms unfreeze=5ms saved=True\n [ComfyUI] Edge costs: 64%|######4 | 9/14 [00:45<00:24, 4.93s/it]\n [ComfyUI] Edge costs: 71%|#######1 | 10/14 [00:49<00:19, 4.84s/it]\n Frame 15 saved (frame_014.jpg, t=303.4s)\n [capture-periodic] freeze=2074ms shot=2208ms unfreeze=4ms saved=True\n [ComfyUI] Edge costs: 79%|#######8 | 11/14 [00:55<00:15, 5.18s/it]\n [ComfyUI] Edge costs: 86%|########5 | 12/14 [01:00<00:10, 5.07s/it]\n [ComfyUI] Edge costs: 93%|#########2| 13/14 [01:04<00:04, 4.73s/it]\n [ComfyUI] Edge costs: 100%|##########| 14/14 [01:06<00:00, 3.81s/it]\n Frame 16 saved (frame_015.jpg, t=318.1s)\n [capture-periodic] freeze=2063ms shot=2192ms unfreeze=5ms saved=True\n Frame 17 saved (frame_016.jpg, t=326.5s)\n [capture-periodic] freeze=2101ms shot=2206ms unfreeze=5ms saved=True\n Frame 18 saved (frame_017.jpg, t=354.1s)\n [capture-periodic] freeze=2085ms shot=2209ms unfreeze=5ms saved=True\n Frame 19 saved (frame_018.jpg, t=362.6s)\n [capture-periodic] freeze=2072ms shot=2206ms unfreeze=13ms saved=True\n Frame 20 saved (frame_019.jpg, t=377.3s)\n [capture-periodic] freeze=2055ms shot=2204ms unfreeze=4ms saved=True\n Frame 21 saved (frame_020.jpg, t=387.5s)\n [capture-periodic] freeze=2453ms shot=2235ms unfreeze=18ms saved=True\n Frame 22 saved (frame_021.jpg, t=409.0s)\n [capture-periodic] freeze=2077ms shot=2243ms unfreeze=6ms saved=True\n Frame 23 saved (frame_022.jpg, t=417.4s)\n [capture-periodic] freeze=1975ms shot=2120ms unfreeze=5ms saved=True"
+ },
+ {
+ "file": "frame_024.jpg",
+ "time": 444.6,
+ "log": "Capturing execution frames: merge_splats.json\n Frame 1 saved (frame_000.jpg, t=0.0s)\n Validating workflow...\n [ComfyUI] === /validate endpoint called ===\n [ComfyUI] Received JSON with keys: ['prompt']\n [ComfyUI] Prompt has 4 nodes\n [ComfyUI] Node 1: LoadPLY\n [ComfyUI] Inputs: {\"ply_file\": \"apple.ply\"}\n [ComfyUI] Node 2: PreviewGaussians\n Queuing workflow for execution...\n [ComfyUI] Inputs: {\"fov_degrees\": 50, \"image_width\": 512, \"image_height\": 512, \"renderer\": \"spark\", \"transport_format\": \"ply\", \"ply_path\": [\"1\", 0]}\n [ComfyUI] Node 3: GaussianMerge\n [ComfyUI] Inputs: {\"target_count\": 100000, \"output_filename\": \"merged\", \"opacity_threshold\": 0, \"k\": 24, \"ply_path\": [\"1\", 0]}\n [ComfyUI] Node 4: PreviewGaussians\n [ComfyUI] Inputs: {\"fov_degrees\": 50, \"image_width\": 512, \"image_height\": 512, \"renderer\": \"spark\", \"transport_format\": \"ply\", \"ply_path\": [\"3\", 0]}\n [ComfyUI] Generated prompt_id: 04b382ba-8864-4fca-8f15-db25eba359f2\n [ComfyUI] Calling execution.validate_prompt()...\n [ComfyUI] Validation result: valid=True\n [ComfyUI] === Validation PASSED ===\n [ComfyUI] got prompt\n [ComfyUI] LoadPLY: apple.ply -> D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1807\\ComfyUI\\input\\apple.ply\n [ComfyUI] GaussianMerge: 200000 -> 100000 splats (ratio=0.5000) via NanoGS MPMM on D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1807\\ComfyUI\\input\\apple.ply\n Node executed (1 total), capturing...\n Frame 2 saved (frame_001.jpg, t=0.5s)\n [capture-node] freeze=124ms shot=167ms unfreeze=4ms saved=True\n Frame 3 saved (frame_002.jpg, t=3.9s)\n [capture-periodic] freeze=2037ms shot=2124ms unfreeze=2ms saved=True\n [ComfyUI] Loading PLY: D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1807\\ComfyUI\\input\\apple.ply\n [ComfyUI] Initial splats: 200000\n [ComfyUI] Pruned splats: 200000, target: 100000\n [ComfyUI] Opacity Mean: 0.53443545 Median: 0.48362076\n [ComfyUI] Pruning splats with opacity below 0.0000\n [ComfyUI] Original count: 200000, after opacity pruning: 200000\n [ComfyUI] After opacity pruning, 200000 splats remain.\n [ComfyUI] \n [ComfyUI] Pass 1: 200000 splats\n [ComfyUI] Edge costs: 0%| | 0/27 [00:00, ?it/s]\n [ComfyUI] Edge costs: 4%|3 | 1/27 [00:00<00:24, 1.06it/s]\n [ComfyUI] Edge costs: 7%|7 | 2/27 [00:02<00:25, 1.03s/it]\n [ComfyUI] Edge costs: 11%|#1 | 3/27 [00:03<00:26, 1.11s/it]\n [ComfyUI] Edge costs: 15%|#4 | 4/27 [00:04<00:28, 1.22s/it]\n [ComfyUI] Edge costs: 19%|#8 | 5/27 [00:05<00:27, 1.26s/it]\n [ComfyUI] Edge costs: 22%|##2 | 6/27 [00:07<00:28, 1.34s/it]\n [ComfyUI] Edge costs: 26%|##5 | 7/27 [00:08<00:27, 1.37s/it]\n [ComfyUI] Edge costs: 30%|##9 | 8/27 [00:09<00:22, 1.18s/it]\n [ComfyUI] Edge costs: 33%|###3 | 9/27 [00:10<00:20, 1.17s/it]\n [ComfyUI] Edge costs: 37%|###7 | 10/27 [00:12<00:22, 1.30s/it]\n [ComfyUI] Edge costs: 41%|#### | 11/27 [00:13<00:21, 1.34s/it]\n [ComfyUI] Edge costs: 44%|####4 | 12/27 [00:15<00:20, 1.39s/it]\n [ComfyUI] Edge costs: 48%|####8 | 13/27 [00:16<00:19, 1.41s/it]\n [ComfyUI] Edge costs: 52%|#####1 | 14/27 [00:17<00:15, 1.21s/it]\n [ComfyUI] Edge costs: 56%|#####5 | 15/27 [00:18<00:15, 1.29s/it]\n [ComfyUI] Edge costs: 59%|#####9 | 16/27 [00:20<00:14, 1.35s/it]\n [ComfyUI] Edge costs: 63%|######2 | 17/27 [00:21<00:13, 1.37s/it]\n [ComfyUI] Edge costs: 67%|######6 | 18/27 [00:23<00:12, 1.38s/it]\n [ComfyUI] Edge costs: 70%|####### | 19/27 [00:24<00:09, 1.19s/it]\n [ComfyUI] Edge costs: 74%|#######4 | 20/27 [00:25<00:08, 1.16s/it]\n [ComfyUI] Edge costs: 78%|#######7 | 21/27 [00:28<00:10, 1.73s/it]\n [ComfyUI] Edge costs: 81%|########1 | 22/27 [00:31<00:10, 2.18s/it]\n [ComfyUI] Edge costs: 85%|########5 | 23/27 [00:32<00:07, 1.94s/it]\n [ComfyUI] Edge costs: 89%|########8 | 24/27 [00:35<00:06, 2.08s/it]\n Frame 4 saved (frame_003.jpg, t=76.1s)\n [capture-periodic] freeze=2098ms shot=2169ms unfreeze=4ms saved=True\n [ComfyUI] Edge costs: 93%|#########2| 25/27 [00:37<00:04, 2.28s/it]\n [ComfyUI] Edge costs: 96%|#########6| 26/27 [00:39<00:02, 2.07s/it]\n [ComfyUI] Edge costs: 100%|##########| 27/27 [00:42<00:00, 2.48s/it]\n Frame 5 saved (frame_004.jpg, t=84.5s)\n [capture-periodic] freeze=2083ms shot=2209ms unfreeze=5ms saved=True\n Frame 6 saved (frame_005.jpg, t=105.5s)\n [capture-periodic] freeze=1989ms shot=2198ms unfreeze=5ms saved=True\n Frame 7 saved (frame_006.jpg, t=112.9s)\n [capture-periodic] freeze=1592ms shot=1555ms unfreeze=7ms saved=True\n Frame 8 saved (frame_007.jpg, t=133.1s)\n [capture-periodic] freeze=1847ms shot=2185ms unfreeze=4ms saved=True\n Frame 9 saved (frame_008.jpg, t=141.3s)\n [capture-periodic] freeze=2061ms shot=2184ms unfreeze=5ms saved=True\n [capture-loop] iter=50 t=220.4s state={'complete': False, 'error': None, 'executedCount': 1, 'wsState': 1} eval_ms=6869 ram=4.4/16.0GB (27%) swap=0.4/2.9GB (15%) cpu=92% browser_rss=0.52GB\n Frame 10 saved (frame_009.jpg, t=242.5s)\n [capture-periodic] freeze=2055ms shot=2183ms unfreeze=6ms saved=True\n [ComfyUI] Edge costs: 100%|##########| 27/27 [00:42<00:00, 1.59s/it]\n [ComfyUI] edges: 2697139, pairs: 97792 (need 100000)\n [ComfyUI] Merging 97792 pairs\n [ComfyUI] Pass 2: 102208 splats\n [ComfyUI] \n Frame 11 saved (frame_010.jpg, t=250.8s)\n [capture-periodic] freeze=2069ms shot=2190ms unfreeze=4ms saved=True\n [ComfyUI] Edge costs: 0%| | 0/14 [00:00, ?it/s]\n [ComfyUI] Edge costs: 7%|7 | 1/14 [00:05<01:08, 5.24s/it]\n [ComfyUI] Edge costs: 14%|#4 | 2/14 [00:11<01:10, 5.87s/it]\n [ComfyUI] Edge costs: 21%|##1 | 3/14 [00:16<00:58, 5.30s/it]\n [ComfyUI] Edge costs: 29%|##8 | 4/14 [00:19<00:46, 4.60s/it]\n Frame 12 saved (frame_011.jpg, t=271.9s)\n [capture-periodic] freeze=2149ms shot=2137ms unfreeze=4ms saved=True\n [ComfyUI] Edge costs: 36%|###5 | 5/14 [00:24<00:41, 4.58s/it]\n Frame 13 saved (frame_012.jpg, t=280.3s)\n [capture-periodic] freeze=2045ms shot=2192ms unfreeze=4ms saved=True\n [ComfyUI] Edge costs: 43%|####2 | 6/14 [00:30<00:41, 5.13s/it]\n [ComfyUI] Edge costs: 50%|##### | 7/14 [00:34<00:34, 4.88s/it]\n [ComfyUI] Edge costs: 57%|#####7 | 8/14 [00:40<00:31, 5.29s/it]\n Frame 14 saved (frame_013.jpg, t=295.0s)\n [capture-periodic] freeze=2071ms shot=2211ms unfreeze=5ms saved=True\n [ComfyUI] Edge costs: 64%|######4 | 9/14 [00:45<00:24, 4.93s/it]\n [ComfyUI] Edge costs: 71%|#######1 | 10/14 [00:49<00:19, 4.84s/it]\n Frame 15 saved (frame_014.jpg, t=303.4s)\n [capture-periodic] freeze=2074ms shot=2208ms unfreeze=4ms saved=True\n [ComfyUI] Edge costs: 79%|#######8 | 11/14 [00:55<00:15, 5.18s/it]\n [ComfyUI] Edge costs: 86%|########5 | 12/14 [01:00<00:10, 5.07s/it]\n [ComfyUI] Edge costs: 93%|#########2| 13/14 [01:04<00:04, 4.73s/it]\n [ComfyUI] Edge costs: 100%|##########| 14/14 [01:06<00:00, 3.81s/it]\n Frame 16 saved (frame_015.jpg, t=318.1s)\n [capture-periodic] freeze=2063ms shot=2192ms unfreeze=5ms saved=True\n Frame 17 saved (frame_016.jpg, t=326.5s)\n [capture-periodic] freeze=2101ms shot=2206ms unfreeze=5ms saved=True\n Frame 18 saved (frame_017.jpg, t=354.1s)\n [capture-periodic] freeze=2085ms shot=2209ms unfreeze=5ms saved=True\n Frame 19 saved (frame_018.jpg, t=362.6s)\n [capture-periodic] freeze=2072ms shot=2206ms unfreeze=13ms saved=True\n Frame 20 saved (frame_019.jpg, t=377.3s)\n [capture-periodic] freeze=2055ms shot=2204ms unfreeze=4ms saved=True\n Frame 21 saved (frame_020.jpg, t=387.5s)\n [capture-periodic] freeze=2453ms shot=2235ms unfreeze=18ms saved=True\n Frame 22 saved (frame_021.jpg, t=409.0s)\n [capture-periodic] freeze=2077ms shot=2243ms unfreeze=6ms saved=True\n Frame 23 saved (frame_022.jpg, t=417.4s)\n [capture-periodic] freeze=1975ms shot=2120ms unfreeze=5ms saved=True\n [ComfyUI] Edge costs: 100%|##########| 14/14 [01:06<00:00, 4.73s/it]\n [ComfyUI] GaussianMerge: wrote D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1807\\ComfyUI\\output\\merged.ply (100000 splats, 23.7 MB)\n [ComfyUI] Prompt executed in 439.52 seconds\n Frame 24 saved (frame_023.jpg, t=438.1s)\n [capture-periodic] freeze=2053ms shot=2262ms unfreeze=38ms saved=True"
+ },
+ {
+ "file": "frame_025.jpg",
+ "time": 462.9932153224945,
+ "log": "Final screenshot"
+ }
+ ],
+ "total_time": 460.67
+}
\ No newline at end of file