diff --git a/dev/windows-cpu/index.html b/dev/windows-cpu/index.html
index c61195f..d8c6efe 100644
--- a/dev/windows-cpu/index.html
+++ b/dev/windows-cpu/index.html
@@ -935,7 +935,7 @@
@@ -974,7 +974,7 @@
pass
- 15.36s
+ 14.86s
@@ -991,7 +991,7 @@
pass
- 90.44s
+ 89.64s
@@ -1008,7 +1008,7 @@
pass
- 72.56s
+ 72.35s
@@ -1025,7 +1025,7 @@
pass
- 19.45s
+ 18.80s
@@ -1091,9 +1091,9 @@
});
}
- const workflowData = {"gaussian_analysis": {"src": "screenshots/gaussian_analysis_executed.png", "title": "gaussian_analysis", "status": "pass", "duration": "15.36", "log": " [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\nCapturing execution frames: gaussian_analysis.json\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\n Frame 1 saved (frame_000.jpg, t=0.0s)\n Validating workflow...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m === /validate endpoint called ===\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Received JSON with keys: ['prompt']\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Prompt has 4 nodes\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 1: LoadPLY\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"ply_file\": \"apple.ply\"}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 19: GaussianAnalysis\n Queuing workflow for execution...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"ply_path\": [\"1\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 20: LoadPLY\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"ply_file\": \"compressed_room.ply\"}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 21: GaussianAnalysis\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"ply_path\": [\"20\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Generated prompt_id: c233e1cc-1cb5-4b63-b339-c7bcc552f02f\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Calling execution.validate_prompt()...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Validation result: valid=True\n [ComfyUI] \u001b[32m[INFO]\u001b[0m === Validation PASSED ===\n [ComfyUI] \u001b[32m[INFO]\u001b[0m got prompt\n [ComfyUI] [comfy-env] SubprocessWorker: C:\\Users\\stduser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\gaussianpack-nodes\\python.exe\n [ComfyUI] [comfy-env] Running LoadPLY: ply_file: 'compressed_room.ply'\n [ComfyUI] [comfy-env] env_vars: {'COMFYUI_BASE': 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1247\\\\ComfyUI'}\n [ComfyUI] [SubprocessWorker] call_method: nodes.load_ply.LoadPLY.load\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [comfy-env] gaussianpack-nodes: Library/bin has 157 DLLs\n [ComfyUI] [ComfyUI-GaussianPack] python: C:\\Users\\stduser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\gaussianpack-nodes\\python.exe\n [ComfyUI] [ComfyUI-GaussianPack] sys_path sent to worker: ['D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1247\\\\ComfyUI', 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1247\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-GaussianPack', 'C:\\\\Users\\\\stduser\\\\AppData\\\\Local\\\\Programs\\\\comfy-env\\\\.pixi\\\\envs\\\\gaussianpack-nodes\\\\Lib\\\\site-packages', 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1247\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-GaussianPack']\n [ComfyUI] [SubprocessWorker] is_pixi=True, python=C:\\Users\\stduser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\gaussianpack-nodes\\python.exe\n [ComfyUI] [SubprocessWorker] launching cmd=['C:\\\\Users\\\\stduser\\\\.pixi\\\\bin\\\\pixi.exe', 'run', '--as-is', '--manifest-path', 'C:\\\\Users\\\\stduser\\\\AppData\\\\Local\\\\Programs\\\\comfy-env\\\\pixi.toml', '-e', 'gaussianpack-nodes', 'python', 'C:\\\\Users\\\\stduser\\\\AppData\\\\Local\\\\Temp\\\\comfyui_pvenv_d4yba5md\\\\persistent_worker.py', 'tcp://127.0.0.1:61051']...\n Frame 2 saved (frame_001.jpg, t=2.3s)\n [capture-periodic] freeze=4ms shot=88ms unfreeze=4ms saved=True\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=1 sending call_method\n [ComfyUI] [worker:ComfyUI-GaussianPack] WARNING: SPZ route not registered (ModuleNotFoundError: No module named 'comfy_aimdo')\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] LoadPLY done (2.93s): result: list[1]\n [ComfyUI] [comfy-env] Running GaussianAnalysis: ply_path: 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Gaus...\n [ComfyUI] [SubprocessWorker] call_method: nodes.analyze_gaussians.GaussianAnalysis.analyze\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=2 sending call_method\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] GaussianAnalysis done (0.05s): result: dict\n [ComfyUI] [comfy-env] Running LoadPLY: ply_file: 'apple.ply'\n [ComfyUI] [SubprocessWorker] call_method: nodes.load_ply.LoadPLY.load\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=3 sending call_method\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] LoadPLY done (0.06s): result: list[1]\n [ComfyUI] [comfy-env] Running GaussianAnalysis: ply_path: 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Gaus...\n [ComfyUI] [SubprocessWorker] call_method: nodes.analyze_gaussians.GaussianAnalysis.analyze\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n Node executed (1 total), capturing...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=4 sending call_method\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] GaussianAnalysis done (0.05s): result: dict\n [ComfyUI] \u001b[32m[INFO]\u001b[0m \u001b[32mPrompt executed in 3.11 seconds\u001b[0m\n Frame 3 saved (frame_002.jpg, t=3.4s)\n [capture-node] freeze=4ms shot=87ms unfreeze=4ms saved=True\n Node executed (2 total), capturing...\n Frame 4 saved (frame_003.jpg, t=3.8s)\n [capture-node] freeze=4ms shot=104ms unfreeze=0ms saved=True\n Execution complete (t=3.8s)\n [3d-wait] Phase 1: Waiting for 'Loading 3D Model' text to disappear...\n [3d-wait] Phase 1 done in 0.0s\n [3d-wait] Phase 2: iframes=0\n [3d-wait] Total 3D wait: 0.0s\n Captured 4 unique frames over 3.96s\n [debug] iframes: 0\n [timing] trigger_3d_previews: 0.0s\n Saved high-quality screenshot: gaussian_analysis_executed.png\n [timing] final_screenshot: 0.2s\n Captured 5 video frames", "hardware": {"os": "Windows-10-10.0.26100-SP0", "cpu": "AMD64 Family 25 Model 1 Stepping 1, AuthenticAMD"}}, "merge_splats": {"src": "screenshots/merge_splats_executed.png", "title": "merge_splats", "status": "pass", "duration": "90.44", "log": "Capturing execution frames: merge_splats.json\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\n Frame 1 saved (frame_000.jpg, t=0.0s)\n Validating workflow...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m === /validate endpoint called ===\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Received JSON with keys: ['prompt']\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Prompt has 3 nodes\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 1: LoadPLY\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"ply_file\": \"apple.ply\"}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 12: GaussianMerge\n Queuing workflow for execution...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"target_count\": 100000, \"output_filename\": \"applemerged\", \"opacity_threshold\": 0.1, \"k\": 16, \"backend\": \"nanogs_cpu\", \"ply_path\": [\"1\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 14: PreviewGaussianDual\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"layout\": \"slider\", \"camera_mode\": \"orbit\", \"fov_degrees\": 70, \"renderer\": \"playcanvas\", \"transport_format\": \"ply\", \"ply_path_1\": [\"1\", 0], \"ply_path_2\": [\"12\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Generated prompt_id: 4127fb02-b210-4ff1-96d6-692c7d63cb84\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Calling execution.validate_prompt()...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Validation result: valid=True\n [ComfyUI] \u001b[32m[INFO]\u001b[0m === Validation PASSED ===\n [ComfyUI] \u001b[32m[INFO]\u001b[0m got prompt\n [ComfyUI] [comfy-env] Running LoadPLY: ply_file: 'apple.ply'\n [ComfyUI] [SubprocessWorker] call_method: nodes.load_ply.LoadPLY.load\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=5 sending call_method\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] LoadPLY done (0.06s): result: list[1]\n [ComfyUI] [comfy-env] Running GaussianMerge: target_count: 100000, output_filename: 'applemerged', opacity_threshold: 0.1, k: 16, backend: 'nanogs_cpu', ply_path: 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Gaus...\n [ComfyUI] [SubprocessWorker] call_method: nodes.merge_gaussians.GaussianMerge.merge\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=6 sending call_method\n [ComfyUI] [worker:ComfyUI-GaussianPack] Loading PLY: D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1247\\ComfyUI\\input\\apple.ply\n [ComfyUI] [worker:ComfyUI-GaussianPack] Initial splats: 200000\n [ComfyUI] [worker:ComfyUI-GaussianPack] Pruned splats: 200000, target: 100000\n [ComfyUI] [worker:ComfyUI-GaussianPack] Opacity Mean: 0.53443545 Median: 0.48362076\n [ComfyUI] [worker:ComfyUI-GaussianPack] Pruning splats with opacity below 0.1000\n [ComfyUI] [worker:ComfyUI-GaussianPack] Original count: 200000, after opacity pruning: 200000\n [ComfyUI] [worker:ComfyUI-GaussianPack] After opacity pruning, 200000 splats remain.\n [ComfyUI] [worker:ComfyUI-GaussianPack] Pass 1: 200000 splats\n Frame 2 saved (frame_001.jpg, t=2.2s)\n [capture-periodic] freeze=3ms shot=99ms unfreeze=3ms saved=True\n Frame 3 saved (frame_002.jpg, t=4.4s)\n [capture-periodic] freeze=2ms shot=87ms unfreeze=3ms saved=True\n [ComfyUI] \n [ComfyUI] Edge costs: 0%| | 0/19 [00:00, ?it/s]\n [ComfyUI] Edge costs: 5%|\u258c | 1/19 [00:00<00:04, 3.66it/s]\n [capture-loop] iter=50 t=5.7s state={'complete': False, 'error': None, 'executedCount': 0, 'wsState': 1} eval_ms=5 ram=5.1/16.0GB (32%) swap=0.2/2.9GB (6%) cpu=39% browser_rss=0.77GB\n [ComfyUI] Edge costs: 11%|\u2588 | 2/19 [00:00<00:04, 3.90it/s]\n [ComfyUI] Edge costs: 16%|\u2588\u258c | 3/19 [00:00<00:04, 3.96it/s]\n [ComfyUI] Edge costs: 21%|\u2588\u2588 | 4/19 [00:01<00:03, 3.77it/s]\n [ComfyUI] Edge costs: 26%|\u2588\u2588\u258b | 5/19 [00:01<00:03, 3.84it/s]\n [ComfyUI] Edge costs: 32%|\u2588\u2588\u2588\u258f | 6/19 [00:01<00:03, 3.92it/s]\n [ComfyUI] Edge costs: 37%|\u2588\u2588\u2588\u258b | 7/19 [00:01<00:03, 3.87it/s]\n [ComfyUI] Edge costs: 42%|\u2588\u2588\u2588\u2588\u258f | 8/19 [00:02<00:02, 3.89it/s]\n [ComfyUI] Edge costs: 47%|\u2588\u2588\u2588\u2588\u258b | 9/19 [00:02<00:02, 4.03it/s]\n [ComfyUI] Edge costs: 53%|\u2588\u2588\u2588\u2588\u2588\u258e | 10/19 [00:02<00:02, 4.07it/s]\n [ComfyUI] Edge costs: 58%|\u2588\u2588\u2588\u2588\u2588\u258a | 11/19 [00:02<00:01, 4.15it/s]\n [ComfyUI] Edge costs: 63%|\u2588\u2588\u2588\u2588\u2588\u2588\u258e | 12/19 [00:02<00:01, 4.19it/s]\n [ComfyUI] Edge costs: 68%|\u2588\u2588\u2588\u2588\u2588\u2588\u258a | 13/19 [00:03<00:01, 4.16it/s]\n [ComfyUI] Edge costs: 74%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u258e | 14/19 [00:03<00:01, 4.17it/s]\n [ComfyUI] Edge costs: 79%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2589 | 15/19 [00:03<00:00, 4.14it/s]\n [ComfyUI] Edge costs: 84%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u258d | 16/19 [00:03<00:00, 4.05it/s]\n [ComfyUI] Edge costs: 89%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2589 | 17/19 [00:04<00:00, 4.16it/s]\n [ComfyUI] Edge costs: 95%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u258d| 18/19 [00:04<00:00, 3.97it/s]\n [ComfyUI] Edge costs: 100%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 19/19 [00:04<00:00, 4.59it/s]\n [ComfyUI] Edge costs: 100%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 19/19 [00:04<00:00, 4.10it/s]\n [ComfyUI] [worker:ComfyUI-GaussianPack] edges: 1848776, pairs: 96906 (need 100000)\n [ComfyUI] [worker:ComfyUI-GaussianPack] Merging 96906 pairs\n [ComfyUI] [worker:ComfyUI-GaussianPack] Pass 2: 103094 splats\n [capture-loop] iter=100 t=11.6s state={'complete': False, 'error': None, 'executedCount': 0, 'wsState': 1} eval_ms=3 ram=4.9/16.0GB (30%) swap=0.2/2.9GB (6%) cpu=38% browser_rss=0.68GB\n [ComfyUI] \n [ComfyUI] Edge costs: 0%| | 0/10 [00:00, ?it/s]\n [ComfyUI] Edge costs: 10%|\u2588 | 1/10 [00:00<00:02, 4.43it/s]\n [ComfyUI] Edge costs: 20%|\u2588\u2588 | 2/10 [00:00<00:01, 4.35it/s]\n [ComfyUI] Edge costs: 30%|\u2588\u2588\u2588 | 3/10 [00:00<00:01, 4.05it/s]\n [ComfyUI] Edge costs: 40%|\u2588\u2588\u2588\u2588 | 4/10 [00:00<00:01, 3.88it/s]\n [ComfyUI] Edge costs: 50%|\u2588\u2588\u2588\u2588\u2588 | 5/10 [00:01<00:01, 3.83it/s]\n [ComfyUI] Edge costs: 60%|\u2588\u2588\u2588\u2588\u2588\u2588 | 6/10 [00:01<00:01, 3.92it/s]\n [ComfyUI] Edge costs: 70%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588 | 7/10 [00:01<00:00, 3.76it/s]\n [ComfyUI] Edge costs: 80%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 | 8/10 [00:02<00:00, 3.84it/s]\n [ComfyUI] Edge costs: 90%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 | 9/10 [00:02<00:00, 3.78it/s]\n [ComfyUI] Edge costs: 100%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 10/10 [00:02<00:00, 4.22it/s]\n [ComfyUI] [worker:ComfyUI-GaussianPack] edges: 919857, pairs: 3094 (need 3094)\n [ComfyUI] [worker:ComfyUI-GaussianPack] Merging 3094 pairs\n [ComfyUI] [worker:ComfyUI-GaussianPack] Final splats: 100000\n [capture-loop] iter=150 t=17.2s state={'complete': False, 'error': None, 'executedCount': 0, 'wsState': 1} eval_ms=4 ram=4.9/16.0GB (31%) swap=0.2/2.9GB (6%) cpu=49% browser_rss=0.68GB\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] GaussianMerge done (20.90s): result: dict\n [ComfyUI] [comfy-env] Running PreviewGaussianDual: layout: 'slider', camera_mode: 'orbit', fov_degrees: 70.0, renderer: 'playcanvas', transport_format: 'ply', ply_path_1: 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Gaus..., ply_path_2: 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Gaus...\n [ComfyUI] [SubprocessWorker] call_method: nodes.preview_gaussian_dual.PreviewGaussianDual.preview\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=7 sending call_method\n Node executed (1 total), capturing...\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] PreviewGaussianDual done (0.08s): result: dict\n [ComfyUI] \u001b[32m[INFO]\u001b[0m \u001b[32mPrompt executed in 21.04 seconds\u001b[0m\n Frame 4 saved (frame_003.jpg, t=21.3s)\n [capture-node] freeze=3ms shot=99ms unfreeze=4ms saved=True\n Node executed (2 total), capturing...\n Frame 5 saved (frame_004.jpg, t=21.7s)\n [capture-node] freeze=342ms shot=252ms unfreeze=0ms saved=True\n Execution complete (t=21.7s)\n [3d-wait] Phase 1: Waiting for 'Loading 3D Model' text to disappear...\n [3d-wait] Phase 1 done in 0.0s\n [3d-wait] Phase 2: iframes=1\n [3d-wait] iframe viewer_ready=False (matched 0 console logs)\n [3d-wait] Waiting for 'Loaded successfully' console message (timeout=60s)...\n [3d-wait] iframe wait exception: Timeout 60000ms exceeded while waiting for event \"console\"\n=========================== logs ===========================\nwaiting for event \"console\"\n============================================================\n [3d-wait] Total 3D wait: 60.1s\n Captured 5 unique frames over 82.36s\n [debug] iframes: 1\n [debug] iframe[0]: src=http://127.0.0.1:41891/extensions/ComfyUI-GaussianPack/viewer_gaussian_dual.html, canvas=486x240, rafFrozen=True\n [timing] trigger_3d_previews: 0.0s\n Saved high-quality screenshot: merge_splats_executed.png\n [timing] final_screenshot: 0.2s\n Captured 6 video frames", "hardware": {"os": "Windows-10-10.0.26100-SP0", "cpu": "AMD64 Family 25 Model 1 Stepping 1, AuthenticAMD"}}, "rotate_splats": {"src": "screenshots/rotate_splats_executed.png", "title": "rotate_splats", "status": "pass", "duration": "72.56", "log": "Capturing execution frames: rotate_splats.json\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\n Frame 1 saved (frame_000.jpg, t=0.0s)\n Validating workflow...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m === /validate endpoint called ===\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Received JSON with keys: ['prompt']\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Prompt has 3 nodes\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 1: LoadPLY\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"ply_file\": \"apple.ply\"}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 14: PreviewGaussianDual\n Queuing workflow for execution...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"layout\": \"slider\", \"camera_mode\": \"orbit\", \"fov_degrees\": 70, \"renderer\": \"playcanvas\", \"transport_format\": \"ply\", \"ply_path_1\": [\"1\", 0], \"ply_path_2\": [\"18\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 18: TransformGaussian\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"rotate_x\": -90, \"rotate_y\": 0, \"rotate_z\": 0, \"ply_path\": [\"1\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Generated prompt_id: d7aa6707-c533-454c-b9de-4c209acb4d40\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Calling execution.validate_prompt()...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Validation result: valid=True\n [ComfyUI] \u001b[32m[INFO]\u001b[0m === Validation PASSED ===\n [ComfyUI] \u001b[32m[INFO]\u001b[0m got prompt\n [ComfyUI] [comfy-env] Running LoadPLY: ply_file: 'apple.ply'\n [ComfyUI] [SubprocessWorker] call_method: nodes.load_ply.LoadPLY.load\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: failed\n [ComfyUI] [ComfyUI-GaussianPack] Socket unhealthy, restarting worker...\n [ComfyUI] [comfy-env] gaussianpack-nodes: Library/bin has 157 DLLs\n [ComfyUI] [ComfyUI-GaussianPack] python: C:\\Users\\stduser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\gaussianpack-nodes\\python.exe\n [ComfyUI] [ComfyUI-GaussianPack] sys_path sent to worker: ['D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1247\\\\ComfyUI', 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1247\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-GaussianPack', 'C:\\\\Users\\\\stduser\\\\AppData\\\\Local\\\\Programs\\\\comfy-env\\\\.pixi\\\\envs\\\\gaussianpack-nodes\\\\Lib\\\\site-packages', 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1247\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-GaussianPack']\n [ComfyUI] [SubprocessWorker] is_pixi=True, python=C:\\Users\\stduser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\gaussianpack-nodes\\python.exe\n [ComfyUI] [SubprocessWorker] launching cmd=['C:\\\\Users\\\\stduser\\\\.pixi\\\\bin\\\\pixi.exe', 'run', '--as-is', '--manifest-path', 'C:\\\\Users\\\\stduser\\\\AppData\\\\Local\\\\Programs\\\\comfy-env\\\\pixi.toml', '-e', 'gaussianpack-nodes', 'python', 'C:\\\\Users\\\\stduser\\\\AppData\\\\Local\\\\Temp\\\\comfyui_pvenv_d4yba5md\\\\persistent_worker.py', 'tcp://127.0.0.1:57689']...\n Frame 2 saved (frame_001.jpg, t=2.2s)\n [capture-periodic] freeze=2ms shot=95ms unfreeze=4ms saved=True\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=8 sending call_method\n [ComfyUI] [worker:ComfyUI-GaussianPack] WARNING: SPZ route not registered (ModuleNotFoundError: No module named 'comfy_aimdo')\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] LoadPLY done (2.84s): result: list[1]\n [ComfyUI] [comfy-env] Running TransformGaussian: rotate_x: -90.0, rotate_y: 0.0, rotate_z: 0.0, ply_path: 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Gaus...\n [ComfyUI] [SubprocessWorker] call_method: nodes.transform_gaussian.TransformGaussian.transform\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=9 sending call_method\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] TransformGaussian done (0.64s): result: list[1]\n [ComfyUI] [comfy-env] Running PreviewGaussianDual: layout: 'slider', camera_mode: 'orbit', fov_degrees: 70.0, renderer: 'playcanvas', transport_format: 'ply', ply_path_1: 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Gaus..., ply_path_2: 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Gaus...\n [ComfyUI] [SubprocessWorker] call_method: nodes.preview_gaussian_dual.PreviewGaussianDual.preview\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=10 sending call_method\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] PreviewGaussianDual done (0.06s): result: dict\n [ComfyUI] \u001b[32m[INFO]\u001b[0m \u001b[32mPrompt executed in 3.55 seconds\u001b[0m\n Node executed (1 total), capturing...\n Frame 3 saved (frame_002.jpg, t=3.9s)\n [capture-node] freeze=50ms shot=151ms unfreeze=0ms saved=True\n Execution complete (t=3.9s)\n [3d-wait] Phase 1: Waiting for 'Loading 3D Model' text to disappear...\n [3d-wait] Phase 1 done in 0.1s\n [3d-wait] Phase 2: iframes=1\n [3d-wait] iframe viewer_ready=False (matched 0 console logs)\n [3d-wait] Waiting for 'Loaded successfully' console message (timeout=60s)...\n [3d-wait] iframe wait exception: Timeout 60000ms exceeded while waiting for event \"console\"\n=========================== logs ===========================\nwaiting for event \"console\"\n============================================================\n [3d-wait] Total 3D wait: 60.2s\n Captured 3 unique frames over 64.4s\n [debug] iframes: 1\n [debug] iframe[0]: src=http://127.0.0.1:41891/extensions/ComfyUI-GaussianPack/viewer_gaussian_dual.html, canvas=486x214, rafFrozen=True\n [timing] trigger_3d_previews: 0.0s\n Saved high-quality screenshot: rotate_splats_executed.png\n [timing] final_screenshot: 0.2s\n Captured 4 video frames", "hardware": {"os": "Windows-10-10.0.26100-SP0", "cpu": "AMD64 Family 25 Model 1 Stepping 1, AuthenticAMD"}}, "spectate": {"src": "screenshots/spectate_executed.png", "title": "spectate", "status": "pass", "duration": "19.45", "log": " [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\nCapturing execution frames: spectate.json\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\n Frame 1 saved (frame_000.jpg, t=0.0s)\n Validating workflow...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m === /validate endpoint called ===\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Received JSON with keys: ['prompt']\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Prompt has 2 nodes\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 1: LoadPLY\n Queuing workflow for execution...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"ply_file\": \"compressed_room.ply\"}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 2: PreviewGaussians\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"camera_mode\": \"spectate\", \"fov_degrees\": 70, \"renderer\": \"playcanvas\", \"transport_format\": \"ply\", \"ply_path\": [\"1\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Generated prompt_id: aa2bb1be-23ce-4a20-907e-a65505fa9109\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Calling execution.validate_prompt()...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Validation result: valid=True\n [ComfyUI] \u001b[32m[INFO]\u001b[0m === Validation PASSED ===\n [ComfyUI] \u001b[32m[INFO]\u001b[0m got prompt\n [ComfyUI] [comfy-env] Running LoadPLY: ply_file: 'compressed_room.ply'\n [ComfyUI] [SubprocessWorker] call_method: nodes.load_ply.LoadPLY.load\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: failed\n [ComfyUI] [ComfyUI-GaussianPack] Socket unhealthy, restarting worker...\n [ComfyUI] [comfy-env] gaussianpack-nodes: Library/bin has 157 DLLs\n [ComfyUI] [ComfyUI-GaussianPack] python: C:\\Users\\stduser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\gaussianpack-nodes\\python.exe\n [ComfyUI] [ComfyUI-GaussianPack] sys_path sent to worker: ['D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1247\\\\ComfyUI', 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1247\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-GaussianPack', 'C:\\\\Users\\\\stduser\\\\AppData\\\\Local\\\\Programs\\\\comfy-env\\\\.pixi\\\\envs\\\\gaussianpack-nodes\\\\Lib\\\\site-packages', 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1247\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-GaussianPack']\n [ComfyUI] [SubprocessWorker] is_pixi=True, python=C:\\Users\\stduser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\gaussianpack-nodes\\python.exe\n [ComfyUI] [SubprocessWorker] launching cmd=['C:\\\\Users\\\\stduser\\\\.pixi\\\\bin\\\\pixi.exe', 'run', '--as-is', '--manifest-path', 'C:\\\\Users\\\\stduser\\\\AppData\\\\Local\\\\Programs\\\\comfy-env\\\\pixi.toml', '-e', 'gaussianpack-nodes', 'python', 'C:\\\\Users\\\\stduser\\\\AppData\\\\Local\\\\Temp\\\\comfyui_pvenv_d4yba5md\\\\persistent_worker.py', 'tcp://127.0.0.1:61400']...\n Frame 2 saved (frame_001.jpg, t=2.2s)\n [capture-periodic] freeze=3ms shot=92ms unfreeze=3ms saved=True\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=11 sending call_method\n [ComfyUI] [worker:ComfyUI-GaussianPack] WARNING: SPZ route not registered (ModuleNotFoundError: No module named 'comfy_aimdo')\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] LoadPLY done (3.02s): result: list[1]\n [ComfyUI] [comfy-env] Running PreviewGaussians: camera_mode: 'spectate', fov_degrees: 70.0, renderer: 'playcanvas', transport_format: 'ply', ply_path: 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Gaus...\n [ComfyUI] [SubprocessWorker] call_method: nodes.preview_gaussian.PreviewGaussians.preview\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=12 sending call_method\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] PreviewGaussians done (0.10s): result: dict\n [ComfyUI] \u001b[32m[INFO]\u001b[0m \u001b[32mPrompt executed in 3.12 seconds\u001b[0m\n Node executed (1 total), capturing...\n Frame 3 saved (frame_002.jpg, t=3.5s)\n [capture-node] freeze=2ms shot=87ms unfreeze=0ms saved=True\n Execution complete (t=3.5s)\n [3d-wait] Phase 1: Waiting for 'Loading 3D Model' text to disappear...\n [3d-wait] Phase 1 done in 0.0s\n [3d-wait] Phase 2: iframes=1\n [3d-wait] iframe viewer_ready=False (matched 0 console logs)\n [3d-wait] Waiting for 'Loaded successfully' console message (timeout=60s)...\n [3d-wait] Got 'Loaded successfully' after 1.2s\n [3d-wait] Unfrozen in 0.010s, rendering for 5s...\n [3d-wait] JS halted via CDP after 5.4s\n [3d-wait] Re-frozen in 6.4s\n [3d-wait] Total 3D wait: 7.6s\n Captured 3 unique frames over 11.22s\n [debug] iframes: 1\n [debug] iframe[0]: src=http://127.0.0.1:41891/extensions/ComfyUI-GaussianPack/viewer_gaussian.html?mode, canvas=781x402, rafFrozen=True\n [timing] trigger_3d_previews: 0.0s\n Saved high-quality screenshot: spectate_executed.png\n [timing] final_screenshot: 0.3s\n Captured 4 video frames", "hardware": {"os": "Windows-10-10.0.26100-SP0", "cpu": "AMD64 Family 25 Model 1 Stepping 1, AuthenticAMD"}}};
+ const workflowData = {"gaussian_analysis": {"src": "screenshots/gaussian_analysis_executed.png", "title": "gaussian_analysis", "status": "pass", "duration": "14.86", "log": " [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\nCapturing execution frames: gaussian_analysis.json\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\n Frame 1 saved (frame_000.jpg, t=0.0s)\n Validating workflow...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m === /validate endpoint called ===\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Received JSON with keys: ['prompt']\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Prompt has 4 nodes\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 1: LoadPLY\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"ply_file\": \"apple.ply\"}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 19: GaussianAnalysis\n Queuing workflow for execution...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"ply_path\": [\"1\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 20: LoadPLY\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"ply_file\": \"compressed_room.ply\"}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 21: GaussianAnalysis\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"ply_path\": [\"20\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Generated prompt_id: 47d72ba8-7f3c-41a4-9cae-5bc3f8c11584\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Calling execution.validate_prompt()...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Validation result: valid=True\n [ComfyUI] \u001b[32m[INFO]\u001b[0m === Validation PASSED ===\n [ComfyUI] \u001b[32m[INFO]\u001b[0m got prompt\n [ComfyUI] [comfy-env] Running LoadPLY: ply_file: 'apple.ply'\n [ComfyUI] [comfy-env] SubprocessWorker: C:\\Users\\stduser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\gaussianpack-nodes\\python.exe\n [ComfyUI] [comfy-env] env_vars: {'COMFYUI_BASE': 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1400\\\\ComfyUI'}\n [ComfyUI] [SubprocessWorker] call_method: nodes.load_ply.LoadPLY.load\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [comfy-env] gaussianpack-nodes: Library/bin has 158 DLLs\n [ComfyUI] [ComfyUI-GaussianPack] python: C:\\Users\\stduser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\gaussianpack-nodes\\python.exe\n [ComfyUI] [ComfyUI-GaussianPack] sys_path sent to worker: ['D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1400\\\\ComfyUI', 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1400\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-GaussianPack', 'C:\\\\Users\\\\stduser\\\\AppData\\\\Local\\\\Programs\\\\comfy-env\\\\.pixi\\\\envs\\\\gaussianpack-nodes\\\\Lib\\\\site-packages', 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1400\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-GaussianPack']\n [ComfyUI] [SubprocessWorker] is_pixi=True, python=C:\\Users\\stduser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\gaussianpack-nodes\\python.exe\n [ComfyUI] [SubprocessWorker] launching cmd=['C:\\\\Users\\\\stduser\\\\.pixi\\\\bin\\\\pixi.exe', 'run', '--as-is', '--manifest-path', 'C:\\\\Users\\\\stduser\\\\AppData\\\\Local\\\\Programs\\\\comfy-env\\\\pixi.toml', '-e', 'gaussianpack-nodes', 'python', 'C:\\\\Users\\\\stduser\\\\AppData\\\\Local\\\\Temp\\\\comfyui_pvenv_aamctmub\\\\persistent_worker.py', 'tcp://127.0.0.1:60968']...\n Frame 2 saved (frame_001.jpg, t=2.4s)\n [capture-periodic] freeze=3ms shot=90ms unfreeze=5ms saved=True\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=1 sending call_method\n [ComfyUI] [worker:ComfyUI-GaussianPack] WARNING: SPZ route not registered (ModuleNotFoundError: No module named 'comfy_aimdo')\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] LoadPLY done (2.67s): result: list[1]\n [ComfyUI] [comfy-env] Running GaussianAnalysis: ply_path: 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Gaus...\n [ComfyUI] [SubprocessWorker] call_method: nodes.analyze_gaussians.GaussianAnalysis.analyze\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=2 sending call_method\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] GaussianAnalysis done (0.08s): result: dict\n [ComfyUI] [comfy-env] Running LoadPLY: ply_file: 'compressed_room.ply'\n [ComfyUI] [SubprocessWorker] call_method: nodes.load_ply.LoadPLY.load\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n Node executed (1 total), capturing...\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=3 sending call_method\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] LoadPLY done (0.09s): result: list[1]\n [ComfyUI] [comfy-env] Running GaussianAnalysis: ply_path: 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Gaus...\n [ComfyUI] [SubprocessWorker] call_method: nodes.analyze_gaussians.GaussianAnalysis.analyze\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=4 sending call_method\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] GaussianAnalysis done (0.09s): result: dict\n [ComfyUI] \u001b[32m[INFO]\u001b[0m \u001b[32mPrompt executed in 2.93 seconds\u001b[0m\n Frame 3 saved (frame_002.jpg, t=3.2s)\n [capture-node] freeze=15ms shot=93ms unfreeze=5ms saved=True\n Node executed (2 total), capturing...\n Frame 4 saved (frame_003.jpg, t=3.6s)\n [capture-node] freeze=4ms shot=97ms unfreeze=0ms saved=True\n Execution complete (t=3.6s)\n [3d-wait] Phase 1: Waiting for 'Loading 3D Model' text to disappear...\n [3d-wait] Phase 1 done in 0.0s\n [3d-wait] Phase 2: iframes=0\n [3d-wait] Total 3D wait: 0.0s\n Captured 4 unique frames over 3.74s\n [debug] iframes: 0\n [timing] trigger_3d_previews: 0.0s\n Saved high-quality screenshot: gaussian_analysis_executed.png\n [timing] final_screenshot: 0.2s\n Captured 5 video frames", "hardware": {"os": "Windows-2025Server-10.0.26100-SP0", "cpu": "AMD64 Family 25 Model 1 Stepping 1, AuthenticAMD"}}, "merge_splats": {"src": "screenshots/merge_splats_executed.png", "title": "merge_splats", "status": "pass", "duration": "89.64", "log": " [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\nCapturing execution frames: merge_splats.json\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\n [ComfyUI] \u001b[1m\u001b[31m[ERROR]\u001b[0m Exception in callback _ProactorBasePipeTransport._call_connection_lost()\n [ComfyUI] handle: \n [ComfyUI] Traceback (most recent call last):\n [ComfyUI] File \"C:\\hostedtoolcache\\windows\\Python\\3.13.13\\x64\\Lib\\asyncio\\events.py\", line 89, in _run\n [ComfyUI] self._context.run(self._callback, *self._args)\n [ComfyUI] ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n [ComfyUI] File \"C:\\hostedtoolcache\\windows\\Python\\3.13.13\\x64\\Lib\\asyncio\\proactor_events.py\", line 165, in _call_connection_lost\n [ComfyUI] self._sock.shutdown(socket.SHUT_RDWR)\n [ComfyUI] ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^\n [ComfyUI] ConnectionResetError: [WinError 10054] An existing connection was forcibly closed by the remote host\n Frame 1 saved (frame_000.jpg, t=0.0s)\n Validating workflow...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m === /validate endpoint called ===\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Received JSON with keys: ['prompt']\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Prompt has 3 nodes\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 1: LoadPLY\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"ply_file\": \"apple.ply\"}\n Queuing workflow for execution...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 12: GaussianMerge\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"target_count\": 100000, \"output_filename\": \"applemerged\", \"opacity_threshold\": 0.1, \"k\": 16, \"backend\": \"nanogs_cpu\", \"ply_path\": [\"1\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 14: PreviewGaussianDual\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"layout\": \"slider\", \"camera_mode\": \"orbit\", \"fov_degrees\": 70, \"renderer\": \"playcanvas\", \"transport_format\": \"ply\", \"ply_path_1\": [\"1\", 0], \"ply_path_2\": [\"12\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Generated prompt_id: 35093fa4-0765-48a0-9728-87adb2bac7af\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Calling execution.validate_prompt()...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Validation result: valid=True\n [ComfyUI] \u001b[32m[INFO]\u001b[0m === Validation PASSED ===\n [ComfyUI] \u001b[32m[INFO]\u001b[0m got prompt\n [ComfyUI] [comfy-env] Running LoadPLY: ply_file: 'apple.ply'\n [ComfyUI] [SubprocessWorker] call_method: nodes.load_ply.LoadPLY.load\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=5 sending call_method\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] LoadPLY done (0.08s): result: list[1]\n [ComfyUI] [comfy-env] Running GaussianMerge: target_count: 100000, output_filename: 'applemerged', opacity_threshold: 0.1, k: 16, backend: 'nanogs_cpu', ply_path: 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Gaus...\n [ComfyUI] [SubprocessWorker] call_method: nodes.merge_gaussians.GaussianMerge.merge\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=6 sending call_method\n [ComfyUI] [worker:ComfyUI-GaussianPack] Loading PLY: D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1400\\ComfyUI\\input\\apple.ply\n [ComfyUI] [worker:ComfyUI-GaussianPack] Initial splats: 200000\n [ComfyUI] [worker:ComfyUI-GaussianPack] Pruned splats: 200000, target: 100000\n [ComfyUI] [worker:ComfyUI-GaussianPack] Opacity Mean: 0.53443545 Median: 0.48362076\n [ComfyUI] [worker:ComfyUI-GaussianPack] Pruning splats with opacity below 0.1000\n [ComfyUI] [worker:ComfyUI-GaussianPack] Original count: 200000, after opacity pruning: 200000\n [ComfyUI] [worker:ComfyUI-GaussianPack] After opacity pruning, 200000 splats remain.\n [ComfyUI] [worker:ComfyUI-GaussianPack] Pass 1: 200000 splats\n Frame 2 saved (frame_001.jpg, t=2.1s)\n [capture-periodic] freeze=4ms shot=94ms unfreeze=5ms saved=True\n Frame 3 saved (frame_002.jpg, t=4.3s)\n [capture-periodic] freeze=4ms shot=82ms unfreeze=5ms saved=True\n [ComfyUI] \n [ComfyUI] Edge costs: 0%| | 0/19 [00:00, ?it/s]\n [ComfyUI] Edge costs: 5%|\u258c | 1/19 [00:00<00:06, 2.89it/s]\n [capture-loop] iter=50 t=5.7s state={'complete': False, 'error': None, 'executedCount': 0, 'wsState': 1} eval_ms=4 ram=4.8/16.0GB (30%) swap=0.2/2.9GB (6%) cpu=36% browser_rss=0.72GB\n [ComfyUI] Edge costs: 11%|\u2588 | 2/19 [00:00<00:04, 3.63it/s]\n [ComfyUI] Edge costs: 16%|\u2588\u258c | 3/19 [00:00<00:04, 3.82it/s]\n [ComfyUI] Edge costs: 21%|\u2588\u2588 | 4/19 [00:01<00:03, 3.84it/s]\n [ComfyUI] Edge costs: 26%|\u2588\u2588\u258b | 5/19 [00:01<00:03, 3.99it/s]\n [ComfyUI] Edge costs: 32%|\u2588\u2588\u2588\u258f | 6/19 [00:01<00:03, 3.94it/s]\n [ComfyUI] Edge costs: 37%|\u2588\u2588\u2588\u258b | 7/19 [00:01<00:03, 3.98it/s]\n [ComfyUI] Edge costs: 42%|\u2588\u2588\u2588\u2588\u258f | 8/19 [00:02<00:02, 4.06it/s]\n [ComfyUI] Edge costs: 47%|\u2588\u2588\u2588\u2588\u258b | 9/19 [00:02<00:02, 4.09it/s]\n [ComfyUI] Edge costs: 53%|\u2588\u2588\u2588\u2588\u2588\u258e | 10/19 [00:02<00:02, 4.10it/s]\n [ComfyUI] Edge costs: 58%|\u2588\u2588\u2588\u2588\u2588\u258a | 11/19 [00:02<00:01, 4.12it/s]\n [ComfyUI] Edge costs: 63%|\u2588\u2588\u2588\u2588\u2588\u2588\u258e | 12/19 [00:03<00:01, 3.94it/s]\n [ComfyUI] Edge costs: 68%|\u2588\u2588\u2588\u2588\u2588\u2588\u258a | 13/19 [00:03<00:01, 4.07it/s]\n [ComfyUI] Edge costs: 74%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u258e | 14/19 [00:03<00:01, 4.19it/s]\n [ComfyUI] Edge costs: 79%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2589 | 15/19 [00:03<00:00, 4.08it/s]\n [ComfyUI] Edge costs: 84%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u258d | 16/19 [00:03<00:00, 4.17it/s]\n [ComfyUI] Edge costs: 89%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2589 | 17/19 [00:04<00:00, 4.24it/s]\n [ComfyUI] Edge costs: 95%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u258d| 18/19 [00:04<00:00, 4.25it/s]\n [ComfyUI] Edge costs: 100%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 19/19 [00:04<00:00, 5.09it/s]\n [ComfyUI] Edge costs: 100%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 19/19 [00:04<00:00, 4.17it/s]\n [ComfyUI] [worker:ComfyUI-GaussianPack] edges: 1848776, pairs: 96906 (need 100000)\n [ComfyUI] [worker:ComfyUI-GaussianPack] Merging 96906 pairs\n [ComfyUI] [worker:ComfyUI-GaussianPack] Pass 2: 103094 splats\n [capture-loop] iter=100 t=11.8s state={'complete': False, 'error': None, 'executedCount': 0, 'wsState': 1} eval_ms=4 ram=4.7/16.0GB (29%) swap=0.2/2.9GB (6%) cpu=40% browser_rss=0.65GB\n [ComfyUI] \n [ComfyUI] Edge costs: 0%| | 0/10 [00:00, ?it/s]\n [ComfyUI] Edge costs: 10%|\u2588 | 1/10 [00:00<00:01, 4.59it/s]\n [ComfyUI] Edge costs: 20%|\u2588\u2588 | 2/10 [00:00<00:01, 4.46it/s]\n [ComfyUI] Edge costs: 30%|\u2588\u2588\u2588 | 3/10 [00:00<00:01, 4.49it/s]\n [ComfyUI] Edge costs: 40%|\u2588\u2588\u2588\u2588 | 4/10 [00:00<00:01, 4.50it/s]\n [ComfyUI] Edge costs: 50%|\u2588\u2588\u2588\u2588\u2588 | 5/10 [00:01<00:01, 4.42it/s]\n [ComfyUI] Edge costs: 60%|\u2588\u2588\u2588\u2588\u2588\u2588 | 6/10 [00:01<00:00, 4.46it/s]\n [ComfyUI] Edge costs: 70%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588 | 7/10 [00:01<00:00, 4.48it/s]\n [ComfyUI] Edge costs: 80%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 | 8/10 [00:01<00:00, 4.45it/s]\n [ComfyUI] Edge costs: 90%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 | 9/10 [00:02<00:00, 4.45it/s]\n [ComfyUI] Edge costs: 100%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 10/10 [00:02<00:00, 4.85it/s]\n [ComfyUI] [worker:ComfyUI-GaussianPack] edges: 919857, pairs: 3094 (need 3094)\n [ComfyUI] [worker:ComfyUI-GaussianPack] Merging 3094 pairs\n [ComfyUI] [worker:ComfyUI-GaussianPack] Final splats: 100000\n [capture-loop] iter=150 t=17.5s state={'complete': False, 'error': None, 'executedCount': 0, 'wsState': 1} eval_ms=4 ram=4.7/16.0GB (29%) swap=0.2/2.9GB (6%) cpu=36% browser_rss=0.65GB\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] GaussianMerge done (20.26s): result: dict\n [ComfyUI] [comfy-env] Running PreviewGaussianDual: layout: 'slider', camera_mode: 'orbit', fov_degrees: 70.0, renderer: 'playcanvas', transport_format: 'ply', ply_path_1: 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Gaus..., ply_path_2: 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Gaus...\n [ComfyUI] [SubprocessWorker] call_method: nodes.preview_gaussian_dual.PreviewGaussianDual.preview\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=7 sending call_method\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] PreviewGaussianDual done (0.10s): result: dict\n [ComfyUI] \u001b[32m[INFO]\u001b[0m \u001b[32mPrompt executed in 20.45 seconds\u001b[0m\n Node executed (1 total), capturing...\n Frame 4 saved (frame_003.jpg, t=20.7s)\n [capture-node] freeze=4ms shot=95ms unfreeze=5ms saved=True\n Node executed (2 total), capturing...\n Frame 5 saved (frame_004.jpg, t=21.2s)\n [capture-node] freeze=12ms shot=407ms unfreeze=0ms saved=True\n Execution complete (t=21.2s)\n [3d-wait] Phase 1: Waiting for 'Loading 3D Model' text to disappear...\n [3d-wait] Phase 1 done in 0.0s\n [3d-wait] Phase 2: iframes=1\n [3d-wait] iframe viewer_ready=False (matched 0 console logs)\n [3d-wait] Waiting for 'Loaded successfully' console message (timeout=60s)...\n [3d-wait] iframe wait exception: Timeout 60000ms exceeded while waiting for event \"console\"\n=========================== logs ===========================\nwaiting for event \"console\"\n============================================================\n [3d-wait] Total 3D wait: 60.0s\n Captured 5 unique frames over 81.67s\n [debug] iframes: 1\n [debug] iframe[0]: src=http://127.0.0.1:41897/extensions/ComfyUI-GaussianPack/viewer_gaussian_dual.html, canvas=486x240, rafFrozen=True\n [timing] trigger_3d_previews: 0.0s\n Saved high-quality screenshot: merge_splats_executed.png\n [timing] final_screenshot: 0.2s\n Captured 6 video frames", "hardware": {"os": "Windows-2025Server-10.0.26100-SP0", "cpu": "AMD64 Family 25 Model 1 Stepping 1, AuthenticAMD"}}, "rotate_splats": {"src": "screenshots/rotate_splats_executed.png", "title": "rotate_splats", "status": "pass", "duration": "72.35", "log": " [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\nCapturing execution frames: rotate_splats.json\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\n Frame 1 saved (frame_000.jpg, t=0.0s)\n Validating workflow...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m === /validate endpoint called ===\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Received JSON with keys: ['prompt']\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Prompt has 3 nodes\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 1: LoadPLY\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"ply_file\": \"apple.ply\"}\n Queuing workflow for execution...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 14: PreviewGaussianDual\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"layout\": \"slider\", \"camera_mode\": \"orbit\", \"fov_degrees\": 70, \"renderer\": \"playcanvas\", \"transport_format\": \"ply\", \"ply_path_1\": [\"1\", 0], \"ply_path_2\": [\"18\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 18: TransformGaussian\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"rotate_x\": -90, \"rotate_y\": 0, \"rotate_z\": 0, \"ply_path\": [\"1\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Generated prompt_id: 35ef54fd-b25d-4137-a0b9-dafb2115bb79\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Calling execution.validate_prompt()...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Validation result: valid=True\n [ComfyUI] \u001b[32m[INFO]\u001b[0m === Validation PASSED ===\n [ComfyUI] \u001b[32m[INFO]\u001b[0m got prompt\n [ComfyUI] [comfy-env] Running LoadPLY: ply_file: 'apple.ply'\n [ComfyUI] [SubprocessWorker] call_method: nodes.load_ply.LoadPLY.load\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: failed\n [ComfyUI] [ComfyUI-GaussianPack] Socket unhealthy, restarting worker...\n [ComfyUI] [comfy-env] gaussianpack-nodes: Library/bin has 158 DLLs\n [ComfyUI] [ComfyUI-GaussianPack] python: C:\\Users\\stduser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\gaussianpack-nodes\\python.exe\n [ComfyUI] [ComfyUI-GaussianPack] sys_path sent to worker: ['D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1400\\\\ComfyUI', 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1400\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-GaussianPack', 'C:\\\\Users\\\\stduser\\\\AppData\\\\Local\\\\Programs\\\\comfy-env\\\\.pixi\\\\envs\\\\gaussianpack-nodes\\\\Lib\\\\site-packages', 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1400\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-GaussianPack']\n [ComfyUI] [SubprocessWorker] is_pixi=True, python=C:\\Users\\stduser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\gaussianpack-nodes\\python.exe\n [ComfyUI] [SubprocessWorker] launching cmd=['C:\\\\Users\\\\stduser\\\\.pixi\\\\bin\\\\pixi.exe', 'run', '--as-is', '--manifest-path', 'C:\\\\Users\\\\stduser\\\\AppData\\\\Local\\\\Programs\\\\comfy-env\\\\pixi.toml', '-e', 'gaussianpack-nodes', 'python', 'C:\\\\Users\\\\stduser\\\\AppData\\\\Local\\\\Temp\\\\comfyui_pvenv_aamctmub\\\\persistent_worker.py', 'tcp://127.0.0.1:52668']...\n Frame 2 saved (frame_001.jpg, t=2.2s)\n [capture-periodic] freeze=4ms shot=89ms unfreeze=4ms saved=True\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=8 sending call_method\n [ComfyUI] [worker:ComfyUI-GaussianPack] WARNING: SPZ route not registered (ModuleNotFoundError: No module named 'comfy_aimdo')\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] LoadPLY done (2.60s): result: list[1]\n [ComfyUI] [comfy-env] Running TransformGaussian: rotate_x: -90.0, rotate_y: 0.0, rotate_z: 0.0, ply_path: 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Gaus...\n [ComfyUI] [SubprocessWorker] call_method: nodes.transform_gaussian.TransformGaussian.transform\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=9 sending call_method\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] TransformGaussian done (0.68s): result: list[1]\n [ComfyUI] [comfy-env] Running PreviewGaussianDual: layout: 'slider', camera_mode: 'orbit', fov_degrees: 70.0, renderer: 'playcanvas', transport_format: 'ply', ply_path_1: 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Gaus..., ply_path_2: 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Gaus...\n [ComfyUI] [SubprocessWorker] call_method: nodes.preview_gaussian_dual.PreviewGaussianDual.preview\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=10 sending call_method\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] PreviewGaussianDual done (0.09s): result: dict\n [ComfyUI] \u001b[32m[INFO]\u001b[0m \u001b[32mPrompt executed in 3.39 seconds\u001b[0m\n Node executed (1 total), capturing...\n Frame 3 saved (frame_002.jpg, t=3.7s)\n [capture-node] freeze=21ms shot=261ms unfreeze=0ms saved=True\n Execution complete (t=3.7s)\n [3d-wait] Phase 1: Waiting for 'Loading 3D Model' text to disappear...\n [3d-wait] Phase 1 done in 0.2s\n [3d-wait] Phase 2: iframes=1\n [3d-wait] iframe viewer_ready=False (matched 0 console logs)\n [3d-wait] Waiting for 'Loaded successfully' console message (timeout=60s)...\n [3d-wait] iframe wait exception: Timeout 60000ms exceeded while waiting for event \"console\"\n=========================== logs ===========================\nwaiting for event \"console\"\n============================================================\n [3d-wait] Total 3D wait: 60.3s\n Captured 3 unique frames over 64.35s\n [debug] iframes: 1\n [debug] iframe[0]: src=http://127.0.0.1:41897/extensions/ComfyUI-GaussianPack/viewer_gaussian_dual.html, canvas=486x214, rafFrozen=True\n [timing] trigger_3d_previews: 0.0s\n Saved high-quality screenshot: rotate_splats_executed.png\n [timing] final_screenshot: 0.2s\n Captured 4 video frames", "hardware": {"os": "Windows-2025Server-10.0.26100-SP0", "cpu": "AMD64 Family 25 Model 1 Stepping 1, AuthenticAMD"}}, "spectate": {"src": "screenshots/spectate_executed.png", "title": "spectate", "status": "pass", "duration": "18.80", "log": " [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\nCapturing execution frames: spectate.json\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\n Frame 1 saved (frame_000.jpg, t=0.0s)\n Validating workflow...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m === /validate endpoint called ===\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Received JSON with keys: ['prompt']\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Prompt has 2 nodes\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 1: LoadPLY\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"ply_file\": \"compressed_room.ply\"}\n Queuing workflow for execution...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 2: PreviewGaussians\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"camera_mode\": \"spectate\", \"fov_degrees\": 70, \"renderer\": \"playcanvas\", \"transport_format\": \"ply\", \"ply_path\": [\"1\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Generated prompt_id: cc64ab89-a883-402c-be8f-0251f7977da2\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Calling execution.validate_prompt()...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Validation result: valid=True\n [ComfyUI] \u001b[32m[INFO]\u001b[0m === Validation PASSED ===\n [ComfyUI] \u001b[32m[INFO]\u001b[0m got prompt\n [ComfyUI] [comfy-env] Running LoadPLY: ply_file: 'compressed_room.ply'\n [ComfyUI] [SubprocessWorker] call_method: nodes.load_ply.LoadPLY.load\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: failed\n [ComfyUI] [ComfyUI-GaussianPack] Socket unhealthy, restarting worker...\n [ComfyUI] [comfy-env] gaussianpack-nodes: Library/bin has 158 DLLs\n [ComfyUI] [ComfyUI-GaussianPack] python: C:\\Users\\stduser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\gaussianpack-nodes\\python.exe\n [ComfyUI] [ComfyUI-GaussianPack] sys_path sent to worker: ['D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1400\\\\ComfyUI', 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1400\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-GaussianPack', 'C:\\\\Users\\\\stduser\\\\AppData\\\\Local\\\\Programs\\\\comfy-env\\\\.pixi\\\\envs\\\\gaussianpack-nodes\\\\Lib\\\\site-packages', 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1400\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-GaussianPack']\n [ComfyUI] [SubprocessWorker] is_pixi=True, python=C:\\Users\\stduser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\gaussianpack-nodes\\python.exe\n [ComfyUI] [SubprocessWorker] launching cmd=['C:\\\\Users\\\\stduser\\\\.pixi\\\\bin\\\\pixi.exe', 'run', '--as-is', '--manifest-path', 'C:\\\\Users\\\\stduser\\\\AppData\\\\Local\\\\Programs\\\\comfy-env\\\\pixi.toml', '-e', 'gaussianpack-nodes', 'python', 'C:\\\\Users\\\\stduser\\\\AppData\\\\Local\\\\Temp\\\\comfyui_pvenv_aamctmub\\\\persistent_worker.py', 'tcp://127.0.0.1:59997']...\n Frame 2 saved (frame_001.jpg, t=2.2s)\n [capture-periodic] freeze=4ms shot=88ms unfreeze=5ms saved=True\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=11 sending call_method\n [ComfyUI] [worker:ComfyUI-GaussianPack] WARNING: SPZ route not registered (ModuleNotFoundError: No module named 'comfy_aimdo')\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] LoadPLY done (2.60s): result: list[1]\n [ComfyUI] [comfy-env] Running PreviewGaussians: camera_mode: 'spectate', fov_degrees: 70.0, renderer: 'playcanvas', transport_format: 'ply', ply_path: 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Gaus...\n [ComfyUI] [SubprocessWorker] call_method: nodes.preview_gaussian.PreviewGaussians.preview\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=12 sending call_method\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] PreviewGaussians done (0.11s): result: dict\n [ComfyUI] \u001b[32m[INFO]\u001b[0m \u001b[32mPrompt executed in 2.72 seconds\u001b[0m\n Node executed (1 total), capturing...\n Frame 3 saved (frame_002.jpg, t=3.1s)\n [capture-node] freeze=5ms shot=93ms unfreeze=0ms saved=True\n Execution complete (t=3.1s)\n [3d-wait] Phase 1: Waiting for 'Loading 3D Model' text to disappear...\n [3d-wait] Phase 1 done in 0.0s\n [3d-wait] Phase 2: iframes=1\n [3d-wait] iframe viewer_ready=False (matched 0 console logs)\n [3d-wait] Waiting for 'Loaded successfully' console message (timeout=60s)...\n [3d-wait] Got 'Loaded successfully' after 1.1s\n [3d-wait] Unfrozen in 0.014s, rendering for 5s...\n [3d-wait] JS halted via CDP after 5.5s\n [3d-wait] Re-frozen in 6.5s\n [3d-wait] Total 3D wait: 7.6s\n Captured 3 unique frames over 10.79s\n [debug] iframes: 1\n [debug] iframe[0]: src=http://127.0.0.1:41897/extensions/ComfyUI-GaussianPack/viewer_gaussian.html?mode, canvas=781x402, rafFrozen=True\n [timing] trigger_3d_previews: 0.0s\n Saved high-quality screenshot: spectate_executed.png\n [timing] final_screenshot: 0.3s\n Captured 4 video frames", "hardware": {"os": "Windows-2025Server-10.0.26100-SP0", "cpu": "AMD64 Family 25 Model 1 Stepping 1, AuthenticAMD"}}};
const workflowNames = Object.keys(workflowData);
- const videoData = {"merge_splats": {"frames": [{"file": "frame_000.jpg", "time": 0.0, "log": "Capturing execution frames: merge_splats.json\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache."}, {"file": "frame_001.jpg", "time": 2.22, "log": "Capturing execution frames: merge_splats.json\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\n Frame 1 saved (frame_000.jpg, t=0.0s)\n Validating workflow...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m === /validate endpoint called ===\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Received JSON with keys: ['prompt']\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Prompt has 3 nodes\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 1: LoadPLY\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"ply_file\": \"apple.ply\"}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 12: GaussianMerge\n Queuing workflow for execution...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"target_count\": 100000, \"output_filename\": \"applemerged\", \"opacity_threshold\": 0.1, \"k\": 16, \"backend\": \"nanogs_cpu\", \"ply_path\": [\"1\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 14: PreviewGaussianDual\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"layout\": \"slider\", \"camera_mode\": \"orbit\", \"fov_degrees\": 70, \"renderer\": \"playcanvas\", \"transport_format\": \"ply\", \"ply_path_1\": [\"1\", 0], \"ply_path_2\": [\"12\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Generated prompt_id: 4127fb02-b210-4ff1-96d6-692c7d63cb84\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Calling execution.validate_prompt()...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Validation result: valid=True\n [ComfyUI] \u001b[32m[INFO]\u001b[0m === Validation PASSED ===\n [ComfyUI] \u001b[32m[INFO]\u001b[0m got prompt\n [ComfyUI] [comfy-env] Running LoadPLY: ply_file: 'apple.ply'\n [ComfyUI] [SubprocessWorker] call_method: nodes.load_ply.LoadPLY.load\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=5 sending call_method\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] LoadPLY done (0.06s): result: list[1]\n [ComfyUI] [comfy-env] Running GaussianMerge: target_count: 100000, output_filename: 'applemerged', opacity_threshold: 0.1, k: 16, backend: 'nanogs_cpu', ply_path: 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Gaus...\n [ComfyUI] [SubprocessWorker] call_method: nodes.merge_gaussians.GaussianMerge.merge\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=6 sending call_method\n [ComfyUI] [worker:ComfyUI-GaussianPack] Loading PLY: D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1247\\ComfyUI\\input\\apple.ply\n [ComfyUI] [worker:ComfyUI-GaussianPack] Initial splats: 200000\n [ComfyUI] [worker:ComfyUI-GaussianPack] Pruned splats: 200000, target: 100000\n [ComfyUI] [worker:ComfyUI-GaussianPack] Opacity Mean: 0.53443545 Median: 0.48362076\n [ComfyUI] [worker:ComfyUI-GaussianPack] Pruning splats with opacity below 0.1000\n [ComfyUI] [worker:ComfyUI-GaussianPack] Original count: 200000, after opacity pruning: 200000\n [ComfyUI] [worker:ComfyUI-GaussianPack] After opacity pruning, 200000 splats remain.\n [ComfyUI] [worker:ComfyUI-GaussianPack] Pass 1: 200000 splats"}, {"file": "frame_002.jpg", "time": 4.38, "log": "Capturing execution frames: merge_splats.json\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\n Frame 1 saved (frame_000.jpg, t=0.0s)\n Validating workflow...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m === /validate endpoint called ===\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Received JSON with keys: ['prompt']\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Prompt has 3 nodes\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 1: LoadPLY\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"ply_file\": \"apple.ply\"}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 12: GaussianMerge\n Queuing workflow for execution...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"target_count\": 100000, \"output_filename\": \"applemerged\", \"opacity_threshold\": 0.1, \"k\": 16, \"backend\": \"nanogs_cpu\", \"ply_path\": [\"1\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 14: PreviewGaussianDual\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"layout\": \"slider\", \"camera_mode\": \"orbit\", \"fov_degrees\": 70, \"renderer\": \"playcanvas\", \"transport_format\": \"ply\", \"ply_path_1\": [\"1\", 0], \"ply_path_2\": [\"12\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Generated prompt_id: 4127fb02-b210-4ff1-96d6-692c7d63cb84\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Calling execution.validate_prompt()...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Validation result: valid=True\n [ComfyUI] \u001b[32m[INFO]\u001b[0m === Validation PASSED ===\n [ComfyUI] \u001b[32m[INFO]\u001b[0m got prompt\n [ComfyUI] [comfy-env] Running LoadPLY: ply_file: 'apple.ply'\n [ComfyUI] [SubprocessWorker] call_method: nodes.load_ply.LoadPLY.load\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=5 sending call_method\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] LoadPLY done (0.06s): result: list[1]\n [ComfyUI] [comfy-env] Running GaussianMerge: target_count: 100000, output_filename: 'applemerged', opacity_threshold: 0.1, k: 16, backend: 'nanogs_cpu', ply_path: 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Gaus...\n [ComfyUI] [SubprocessWorker] call_method: nodes.merge_gaussians.GaussianMerge.merge\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=6 sending call_method\n [ComfyUI] [worker:ComfyUI-GaussianPack] Loading PLY: D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1247\\ComfyUI\\input\\apple.ply\n [ComfyUI] [worker:ComfyUI-GaussianPack] Initial splats: 200000\n [ComfyUI] [worker:ComfyUI-GaussianPack] Pruned splats: 200000, target: 100000\n [ComfyUI] [worker:ComfyUI-GaussianPack] Opacity Mean: 0.53443545 Median: 0.48362076\n [ComfyUI] [worker:ComfyUI-GaussianPack] Pruning splats with opacity below 0.1000\n [ComfyUI] [worker:ComfyUI-GaussianPack] Original count: 200000, after opacity pruning: 200000\n [ComfyUI] [worker:ComfyUI-GaussianPack] After opacity pruning, 200000 splats remain.\n [ComfyUI] [worker:ComfyUI-GaussianPack] Pass 1: 200000 splats\n Frame 2 saved (frame_001.jpg, t=2.2s)\n [capture-periodic] freeze=3ms shot=99ms unfreeze=3ms saved=True"}, {"file": "frame_003.jpg", "time": 21.26, "log": "Capturing execution frames: merge_splats.json\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\n Frame 1 saved (frame_000.jpg, t=0.0s)\n Validating workflow...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m === /validate endpoint called ===\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Received JSON with keys: ['prompt']\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Prompt has 3 nodes\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 1: LoadPLY\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"ply_file\": \"apple.ply\"}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 12: GaussianMerge\n Queuing workflow for execution...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"target_count\": 100000, \"output_filename\": \"applemerged\", \"opacity_threshold\": 0.1, \"k\": 16, \"backend\": \"nanogs_cpu\", \"ply_path\": [\"1\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 14: PreviewGaussianDual\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"layout\": \"slider\", \"camera_mode\": \"orbit\", \"fov_degrees\": 70, \"renderer\": \"playcanvas\", \"transport_format\": \"ply\", \"ply_path_1\": [\"1\", 0], \"ply_path_2\": [\"12\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Generated prompt_id: 4127fb02-b210-4ff1-96d6-692c7d63cb84\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Calling execution.validate_prompt()...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Validation result: valid=True\n [ComfyUI] \u001b[32m[INFO]\u001b[0m === Validation PASSED ===\n [ComfyUI] \u001b[32m[INFO]\u001b[0m got prompt\n [ComfyUI] [comfy-env] Running LoadPLY: ply_file: 'apple.ply'\n [ComfyUI] [SubprocessWorker] call_method: nodes.load_ply.LoadPLY.load\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=5 sending call_method\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] LoadPLY done (0.06s): result: list[1]\n [ComfyUI] [comfy-env] Running GaussianMerge: target_count: 100000, output_filename: 'applemerged', opacity_threshold: 0.1, k: 16, backend: 'nanogs_cpu', ply_path: 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Gaus...\n [ComfyUI] [SubprocessWorker] call_method: nodes.merge_gaussians.GaussianMerge.merge\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=6 sending call_method\n [ComfyUI] [worker:ComfyUI-GaussianPack] Loading PLY: D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1247\\ComfyUI\\input\\apple.ply\n [ComfyUI] [worker:ComfyUI-GaussianPack] Initial splats: 200000\n [ComfyUI] [worker:ComfyUI-GaussianPack] Pruned splats: 200000, target: 100000\n [ComfyUI] [worker:ComfyUI-GaussianPack] Opacity Mean: 0.53443545 Median: 0.48362076\n [ComfyUI] [worker:ComfyUI-GaussianPack] Pruning splats with opacity below 0.1000\n [ComfyUI] [worker:ComfyUI-GaussianPack] Original count: 200000, after opacity pruning: 200000\n [ComfyUI] [worker:ComfyUI-GaussianPack] After opacity pruning, 200000 splats remain.\n [ComfyUI] [worker:ComfyUI-GaussianPack] Pass 1: 200000 splats\n Frame 2 saved (frame_001.jpg, t=2.2s)\n [capture-periodic] freeze=3ms shot=99ms unfreeze=3ms saved=True\n Frame 3 saved (frame_002.jpg, t=4.4s)\n [capture-periodic] freeze=2ms shot=87ms unfreeze=3ms saved=True\n [ComfyUI] \n [ComfyUI] Edge costs: 0%| | 0/19 [00:00, ?it/s]\n [ComfyUI] Edge costs: 5%|\u258c | 1/19 [00:00<00:04, 3.66it/s]\n [capture-loop] iter=50 t=5.7s state={'complete': False, 'error': None, 'executedCount': 0, 'wsState': 1} eval_ms=5 ram=5.1/16.0GB (32%) swap=0.2/2.9GB (6%) cpu=39% browser_rss=0.77GB\n [ComfyUI] Edge costs: 11%|\u2588 | 2/19 [00:00<00:04, 3.90it/s]\n [ComfyUI] Edge costs: 16%|\u2588\u258c | 3/19 [00:00<00:04, 3.96it/s]\n [ComfyUI] Edge costs: 21%|\u2588\u2588 | 4/19 [00:01<00:03, 3.77it/s]\n [ComfyUI] Edge costs: 26%|\u2588\u2588\u258b | 5/19 [00:01<00:03, 3.84it/s]\n [ComfyUI] Edge costs: 32%|\u2588\u2588\u2588\u258f | 6/19 [00:01<00:03, 3.92it/s]\n [ComfyUI] Edge costs: 37%|\u2588\u2588\u2588\u258b | 7/19 [00:01<00:03, 3.87it/s]\n [ComfyUI] Edge costs: 42%|\u2588\u2588\u2588\u2588\u258f | 8/19 [00:02<00:02, 3.89it/s]\n [ComfyUI] Edge costs: 47%|\u2588\u2588\u2588\u2588\u258b | 9/19 [00:02<00:02, 4.03it/s]\n [ComfyUI] Edge costs: 53%|\u2588\u2588\u2588\u2588\u2588\u258e | 10/19 [00:02<00:02, 4.07it/s]\n [ComfyUI] Edge costs: 58%|\u2588\u2588\u2588\u2588\u2588\u258a | 11/19 [00:02<00:01, 4.15it/s]\n [ComfyUI] Edge costs: 63%|\u2588\u2588\u2588\u2588\u2588\u2588\u258e | 12/19 [00:02<00:01, 4.19it/s]\n [ComfyUI] Edge costs: 68%|\u2588\u2588\u2588\u2588\u2588\u2588\u258a | 13/19 [00:03<00:01, 4.16it/s]\n [ComfyUI] Edge costs: 74%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u258e | 14/19 [00:03<00:01, 4.17it/s]\n [ComfyUI] Edge costs: 79%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2589 | 15/19 [00:03<00:00, 4.14it/s]\n [ComfyUI] Edge costs: 84%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u258d | 16/19 [00:03<00:00, 4.05it/s]\n [ComfyUI] Edge costs: 89%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2589 | 17/19 [00:04<00:00, 4.16it/s]\n [ComfyUI] Edge costs: 95%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u258d| 18/19 [00:04<00:00, 3.97it/s]\n [ComfyUI] Edge costs: 100%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 19/19 [00:04<00:00, 4.59it/s]\n [ComfyUI] Edge costs: 100%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 19/19 [00:04<00:00, 4.10it/s]\n [ComfyUI] [worker:ComfyUI-GaussianPack] edges: 1848776, pairs: 96906 (need 100000)\n [ComfyUI] [worker:ComfyUI-GaussianPack] Merging 96906 pairs\n [ComfyUI] [worker:ComfyUI-GaussianPack] Pass 2: 103094 splats\n [capture-loop] iter=100 t=11.6s state={'complete': False, 'error': None, 'executedCount': 0, 'wsState': 1} eval_ms=3 ram=4.9/16.0GB (30%) swap=0.2/2.9GB (6%) cpu=38% browser_rss=0.68GB\n [ComfyUI] \n [ComfyUI] Edge costs: 0%| | 0/10 [00:00, ?it/s]\n [ComfyUI] Edge costs: 10%|\u2588 | 1/10 [00:00<00:02, 4.43it/s]\n [ComfyUI] Edge costs: 20%|\u2588\u2588 | 2/10 [00:00<00:01, 4.35it/s]\n [ComfyUI] Edge costs: 30%|\u2588\u2588\u2588 | 3/10 [00:00<00:01, 4.05it/s]\n [ComfyUI] Edge costs: 40%|\u2588\u2588\u2588\u2588 | 4/10 [00:00<00:01, 3.88it/s]\n [ComfyUI] Edge costs: 50%|\u2588\u2588\u2588\u2588\u2588 | 5/10 [00:01<00:01, 3.83it/s]\n [ComfyUI] Edge costs: 60%|\u2588\u2588\u2588\u2588\u2588\u2588 | 6/10 [00:01<00:01, 3.92it/s]\n [ComfyUI] Edge costs: 70%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588 | 7/10 [00:01<00:00, 3.76it/s]\n [ComfyUI] Edge costs: 80%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 | 8/10 [00:02<00:00, 3.84it/s]\n [ComfyUI] Edge costs: 90%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 | 9/10 [00:02<00:00, 3.78it/s]\n [ComfyUI] Edge costs: 100%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 10/10 [00:02<00:00, 4.22it/s]\n [ComfyUI] [worker:ComfyUI-GaussianPack] edges: 919857, pairs: 3094 (need 3094)\n [ComfyUI] [worker:ComfyUI-GaussianPack] Merging 3094 pairs\n [ComfyUI] [worker:ComfyUI-GaussianPack] Final splats: 100000\n [capture-loop] iter=150 t=17.2s state={'complete': False, 'error': None, 'executedCount': 0, 'wsState': 1} eval_ms=4 ram=4.9/16.0GB (31%) swap=0.2/2.9GB (6%) cpu=49% browser_rss=0.68GB\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] GaussianMerge done (20.90s): result: dict\n [ComfyUI] [comfy-env] Running PreviewGaussianDual: layout: 'slider', camera_mode: 'orbit', fov_degrees: 70.0, renderer: 'playcanvas', transport_format: 'ply', ply_path_1: 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Gaus..., ply_path_2: 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Gaus...\n [ComfyUI] [SubprocessWorker] call_method: nodes.preview_gaussian_dual.PreviewGaussianDual.preview\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=7 sending call_method"}, {"file": "frame_004.jpg", "time": 21.66, "log": "Capturing execution frames: merge_splats.json\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\n Frame 1 saved (frame_000.jpg, t=0.0s)\n Validating workflow...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m === /validate endpoint called ===\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Received JSON with keys: ['prompt']\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Prompt has 3 nodes\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 1: LoadPLY\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"ply_file\": \"apple.ply\"}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 12: GaussianMerge\n Queuing workflow for execution...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"target_count\": 100000, \"output_filename\": \"applemerged\", \"opacity_threshold\": 0.1, \"k\": 16, \"backend\": \"nanogs_cpu\", \"ply_path\": [\"1\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 14: PreviewGaussianDual\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"layout\": \"slider\", \"camera_mode\": \"orbit\", \"fov_degrees\": 70, \"renderer\": \"playcanvas\", \"transport_format\": \"ply\", \"ply_path_1\": [\"1\", 0], \"ply_path_2\": [\"12\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Generated prompt_id: 4127fb02-b210-4ff1-96d6-692c7d63cb84\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Calling execution.validate_prompt()...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Validation result: valid=True\n [ComfyUI] \u001b[32m[INFO]\u001b[0m === Validation PASSED ===\n [ComfyUI] \u001b[32m[INFO]\u001b[0m got prompt\n [ComfyUI] [comfy-env] Running LoadPLY: ply_file: 'apple.ply'\n [ComfyUI] [SubprocessWorker] call_method: nodes.load_ply.LoadPLY.load\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=5 sending call_method\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] LoadPLY done (0.06s): result: list[1]\n [ComfyUI] [comfy-env] Running GaussianMerge: target_count: 100000, output_filename: 'applemerged', opacity_threshold: 0.1, k: 16, backend: 'nanogs_cpu', ply_path: 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Gaus...\n [ComfyUI] [SubprocessWorker] call_method: nodes.merge_gaussians.GaussianMerge.merge\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=6 sending call_method\n [ComfyUI] [worker:ComfyUI-GaussianPack] Loading PLY: D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1247\\ComfyUI\\input\\apple.ply\n [ComfyUI] [worker:ComfyUI-GaussianPack] Initial splats: 200000\n [ComfyUI] [worker:ComfyUI-GaussianPack] Pruned splats: 200000, target: 100000\n [ComfyUI] [worker:ComfyUI-GaussianPack] Opacity Mean: 0.53443545 Median: 0.48362076\n [ComfyUI] [worker:ComfyUI-GaussianPack] Pruning splats with opacity below 0.1000\n [ComfyUI] [worker:ComfyUI-GaussianPack] Original count: 200000, after opacity pruning: 200000\n [ComfyUI] [worker:ComfyUI-GaussianPack] After opacity pruning, 200000 splats remain.\n [ComfyUI] [worker:ComfyUI-GaussianPack] Pass 1: 200000 splats\n Frame 2 saved (frame_001.jpg, t=2.2s)\n [capture-periodic] freeze=3ms shot=99ms unfreeze=3ms saved=True\n Frame 3 saved (frame_002.jpg, t=4.4s)\n [capture-periodic] freeze=2ms shot=87ms unfreeze=3ms saved=True\n [ComfyUI] \n [ComfyUI] Edge costs: 0%| | 0/19 [00:00, ?it/s]\n [ComfyUI] Edge costs: 5%|\u258c | 1/19 [00:00<00:04, 3.66it/s]\n [capture-loop] iter=50 t=5.7s state={'complete': False, 'error': None, 'executedCount': 0, 'wsState': 1} eval_ms=5 ram=5.1/16.0GB (32%) swap=0.2/2.9GB (6%) cpu=39% browser_rss=0.77GB\n [ComfyUI] Edge costs: 11%|\u2588 | 2/19 [00:00<00:04, 3.90it/s]\n [ComfyUI] Edge costs: 16%|\u2588\u258c | 3/19 [00:00<00:04, 3.96it/s]\n [ComfyUI] Edge costs: 21%|\u2588\u2588 | 4/19 [00:01<00:03, 3.77it/s]\n [ComfyUI] Edge costs: 26%|\u2588\u2588\u258b | 5/19 [00:01<00:03, 3.84it/s]\n [ComfyUI] Edge costs: 32%|\u2588\u2588\u2588\u258f | 6/19 [00:01<00:03, 3.92it/s]\n [ComfyUI] Edge costs: 37%|\u2588\u2588\u2588\u258b | 7/19 [00:01<00:03, 3.87it/s]\n [ComfyUI] Edge costs: 42%|\u2588\u2588\u2588\u2588\u258f | 8/19 [00:02<00:02, 3.89it/s]\n [ComfyUI] Edge costs: 47%|\u2588\u2588\u2588\u2588\u258b | 9/19 [00:02<00:02, 4.03it/s]\n [ComfyUI] Edge costs: 53%|\u2588\u2588\u2588\u2588\u2588\u258e | 10/19 [00:02<00:02, 4.07it/s]\n [ComfyUI] Edge costs: 58%|\u2588\u2588\u2588\u2588\u2588\u258a | 11/19 [00:02<00:01, 4.15it/s]\n [ComfyUI] Edge costs: 63%|\u2588\u2588\u2588\u2588\u2588\u2588\u258e | 12/19 [00:02<00:01, 4.19it/s]\n [ComfyUI] Edge costs: 68%|\u2588\u2588\u2588\u2588\u2588\u2588\u258a | 13/19 [00:03<00:01, 4.16it/s]\n [ComfyUI] Edge costs: 74%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u258e | 14/19 [00:03<00:01, 4.17it/s]\n [ComfyUI] Edge costs: 79%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2589 | 15/19 [00:03<00:00, 4.14it/s]\n [ComfyUI] Edge costs: 84%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u258d | 16/19 [00:03<00:00, 4.05it/s]\n [ComfyUI] Edge costs: 89%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2589 | 17/19 [00:04<00:00, 4.16it/s]\n [ComfyUI] Edge costs: 95%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u258d| 18/19 [00:04<00:00, 3.97it/s]\n [ComfyUI] Edge costs: 100%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 19/19 [00:04<00:00, 4.59it/s]\n [ComfyUI] Edge costs: 100%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 19/19 [00:04<00:00, 4.10it/s]\n [ComfyUI] [worker:ComfyUI-GaussianPack] edges: 1848776, pairs: 96906 (need 100000)\n [ComfyUI] [worker:ComfyUI-GaussianPack] Merging 96906 pairs\n [ComfyUI] [worker:ComfyUI-GaussianPack] Pass 2: 103094 splats\n [capture-loop] iter=100 t=11.6s state={'complete': False, 'error': None, 'executedCount': 0, 'wsState': 1} eval_ms=3 ram=4.9/16.0GB (30%) swap=0.2/2.9GB (6%) cpu=38% browser_rss=0.68GB\n [ComfyUI] \n [ComfyUI] Edge costs: 0%| | 0/10 [00:00, ?it/s]\n [ComfyUI] Edge costs: 10%|\u2588 | 1/10 [00:00<00:02, 4.43it/s]\n [ComfyUI] Edge costs: 20%|\u2588\u2588 | 2/10 [00:00<00:01, 4.35it/s]\n [ComfyUI] Edge costs: 30%|\u2588\u2588\u2588 | 3/10 [00:00<00:01, 4.05it/s]\n [ComfyUI] Edge costs: 40%|\u2588\u2588\u2588\u2588 | 4/10 [00:00<00:01, 3.88it/s]\n [ComfyUI] Edge costs: 50%|\u2588\u2588\u2588\u2588\u2588 | 5/10 [00:01<00:01, 3.83it/s]\n [ComfyUI] Edge costs: 60%|\u2588\u2588\u2588\u2588\u2588\u2588 | 6/10 [00:01<00:01, 3.92it/s]\n [ComfyUI] Edge costs: 70%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588 | 7/10 [00:01<00:00, 3.76it/s]\n [ComfyUI] Edge costs: 80%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 | 8/10 [00:02<00:00, 3.84it/s]\n [ComfyUI] Edge costs: 90%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 | 9/10 [00:02<00:00, 3.78it/s]\n [ComfyUI] Edge costs: 100%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 10/10 [00:02<00:00, 4.22it/s]\n [ComfyUI] [worker:ComfyUI-GaussianPack] edges: 919857, pairs: 3094 (need 3094)\n [ComfyUI] [worker:ComfyUI-GaussianPack] Merging 3094 pairs\n [ComfyUI] [worker:ComfyUI-GaussianPack] Final splats: 100000\n [capture-loop] iter=150 t=17.2s state={'complete': False, 'error': None, 'executedCount': 0, 'wsState': 1} eval_ms=4 ram=4.9/16.0GB (31%) swap=0.2/2.9GB (6%) cpu=49% browser_rss=0.68GB\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] GaussianMerge done (20.90s): result: dict\n [ComfyUI] [comfy-env] Running PreviewGaussianDual: layout: 'slider', camera_mode: 'orbit', fov_degrees: 70.0, renderer: 'playcanvas', transport_format: 'ply', ply_path_1: 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Gaus..., ply_path_2: 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Gaus...\n [ComfyUI] [SubprocessWorker] call_method: nodes.preview_gaussian_dual.PreviewGaussianDual.preview\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=7 sending call_method\n Node executed (1 total), capturing...\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] PreviewGaussianDual done (0.08s): result: dict\n [ComfyUI] \u001b[32m[INFO]\u001b[0m \u001b[32mPrompt executed in 21.04 seconds\u001b[0m\n Frame 4 saved (frame_003.jpg, t=21.3s)\n [capture-node] freeze=3ms shot=99ms unfreeze=4ms saved=True"}, {"file": "frame_005.jpg", "time": 84.54914855957031, "log": "Final screenshot"}], "total_time": 82.36}, "spectate": {"frames": [{"file": "frame_000.jpg", "time": 0.0, "log": " [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\nCapturing execution frames: spectate.json\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache."}, {"file": "frame_001.jpg", "time": 2.2, "log": " [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\nCapturing execution frames: spectate.json\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\n Frame 1 saved (frame_000.jpg, t=0.0s)\n Validating workflow...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m === /validate endpoint called ===\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Received JSON with keys: ['prompt']\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Prompt has 2 nodes\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 1: LoadPLY\n Queuing workflow for execution...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"ply_file\": \"compressed_room.ply\"}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 2: PreviewGaussians\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"camera_mode\": \"spectate\", \"fov_degrees\": 70, \"renderer\": \"playcanvas\", \"transport_format\": \"ply\", \"ply_path\": [\"1\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Generated prompt_id: aa2bb1be-23ce-4a20-907e-a65505fa9109\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Calling execution.validate_prompt()...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Validation result: valid=True\n [ComfyUI] \u001b[32m[INFO]\u001b[0m === Validation PASSED ===\n [ComfyUI] \u001b[32m[INFO]\u001b[0m got prompt\n [ComfyUI] [comfy-env] Running LoadPLY: ply_file: 'compressed_room.ply'\n [ComfyUI] [SubprocessWorker] call_method: nodes.load_ply.LoadPLY.load\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: failed\n [ComfyUI] [ComfyUI-GaussianPack] Socket unhealthy, restarting worker...\n [ComfyUI] [comfy-env] gaussianpack-nodes: Library/bin has 157 DLLs\n [ComfyUI] [ComfyUI-GaussianPack] python: C:\\Users\\stduser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\gaussianpack-nodes\\python.exe\n [ComfyUI] [ComfyUI-GaussianPack] sys_path sent to worker: ['D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1247\\\\ComfyUI', 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1247\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-GaussianPack', 'C:\\\\Users\\\\stduser\\\\AppData\\\\Local\\\\Programs\\\\comfy-env\\\\.pixi\\\\envs\\\\gaussianpack-nodes\\\\Lib\\\\site-packages', 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1247\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-GaussianPack']\n [ComfyUI] [SubprocessWorker] is_pixi=True, python=C:\\Users\\stduser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\gaussianpack-nodes\\python.exe\n [ComfyUI] [SubprocessWorker] launching cmd=['C:\\\\Users\\\\stduser\\\\.pixi\\\\bin\\\\pixi.exe', 'run', '--as-is', '--manifest-path', 'C:\\\\Users\\\\stduser\\\\AppData\\\\Local\\\\Programs\\\\comfy-env\\\\pixi.toml', '-e', 'gaussianpack-nodes', 'python', 'C:\\\\Users\\\\stduser\\\\AppData\\\\Local\\\\Temp\\\\comfyui_pvenv_d4yba5md\\\\persistent_worker.py', 'tcp://127.0.0.1:61400']..."}, {"file": "frame_002.jpg", "time": 3.47, "log": " [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\nCapturing execution frames: spectate.json\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\n Frame 1 saved (frame_000.jpg, t=0.0s)\n Validating workflow...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m === /validate endpoint called ===\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Received JSON with keys: ['prompt']\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Prompt has 2 nodes\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 1: LoadPLY\n Queuing workflow for execution...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"ply_file\": \"compressed_room.ply\"}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 2: PreviewGaussians\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"camera_mode\": \"spectate\", \"fov_degrees\": 70, \"renderer\": \"playcanvas\", \"transport_format\": \"ply\", \"ply_path\": [\"1\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Generated prompt_id: aa2bb1be-23ce-4a20-907e-a65505fa9109\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Calling execution.validate_prompt()...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Validation result: valid=True\n [ComfyUI] \u001b[32m[INFO]\u001b[0m === Validation PASSED ===\n [ComfyUI] \u001b[32m[INFO]\u001b[0m got prompt\n [ComfyUI] [comfy-env] Running LoadPLY: ply_file: 'compressed_room.ply'\n [ComfyUI] [SubprocessWorker] call_method: nodes.load_ply.LoadPLY.load\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: failed\n [ComfyUI] [ComfyUI-GaussianPack] Socket unhealthy, restarting worker...\n [ComfyUI] [comfy-env] gaussianpack-nodes: Library/bin has 157 DLLs\n [ComfyUI] [ComfyUI-GaussianPack] python: C:\\Users\\stduser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\gaussianpack-nodes\\python.exe\n [ComfyUI] [ComfyUI-GaussianPack] sys_path sent to worker: ['D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1247\\\\ComfyUI', 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1247\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-GaussianPack', 'C:\\\\Users\\\\stduser\\\\AppData\\\\Local\\\\Programs\\\\comfy-env\\\\.pixi\\\\envs\\\\gaussianpack-nodes\\\\Lib\\\\site-packages', 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1247\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-GaussianPack']\n [ComfyUI] [SubprocessWorker] is_pixi=True, python=C:\\Users\\stduser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\gaussianpack-nodes\\python.exe\n [ComfyUI] [SubprocessWorker] launching cmd=['C:\\\\Users\\\\stduser\\\\.pixi\\\\bin\\\\pixi.exe', 'run', '--as-is', '--manifest-path', 'C:\\\\Users\\\\stduser\\\\AppData\\\\Local\\\\Programs\\\\comfy-env\\\\pixi.toml', '-e', 'gaussianpack-nodes', 'python', 'C:\\\\Users\\\\stduser\\\\AppData\\\\Local\\\\Temp\\\\comfyui_pvenv_d4yba5md\\\\persistent_worker.py', 'tcp://127.0.0.1:61400']...\n Frame 2 saved (frame_001.jpg, t=2.2s)\n [capture-periodic] freeze=3ms shot=92ms unfreeze=3ms saved=True\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=11 sending call_method\n [ComfyUI] [worker:ComfyUI-GaussianPack] WARNING: SPZ route not registered (ModuleNotFoundError: No module named 'comfy_aimdo')\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] LoadPLY done (3.02s): result: list[1]\n [ComfyUI] [comfy-env] Running PreviewGaussians: camera_mode: 'spectate', fov_degrees: 70.0, renderer: 'playcanvas', transport_format: 'ply', ply_path: 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Gaus...\n [ComfyUI] [SubprocessWorker] call_method: nodes.preview_gaussian.PreviewGaussians.preview\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=12 sending call_method\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] PreviewGaussians done (0.10s): result: dict\n [ComfyUI] \u001b[32m[INFO]\u001b[0m \u001b[32mPrompt executed in 3.12 seconds\u001b[0m"}, {"file": "frame_003.jpg", "time": 13.550712585449219, "log": "Final screenshot"}], "total_time": 11.22}, "gaussian_analysis": {"frames": [{"file": "frame_000.jpg", "time": 0.0, "log": " [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\nCapturing execution frames: gaussian_analysis.json\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache."}, {"file": "frame_001.jpg", "time": 2.28, "log": " [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\nCapturing execution frames: gaussian_analysis.json\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\n Frame 1 saved (frame_000.jpg, t=0.0s)\n Validating workflow...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m === /validate endpoint called ===\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Received JSON with keys: ['prompt']\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Prompt has 4 nodes\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 1: LoadPLY\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"ply_file\": \"apple.ply\"}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 19: GaussianAnalysis\n Queuing workflow for execution...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"ply_path\": [\"1\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 20: LoadPLY\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"ply_file\": \"compressed_room.ply\"}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 21: GaussianAnalysis\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"ply_path\": [\"20\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Generated prompt_id: c233e1cc-1cb5-4b63-b339-c7bcc552f02f\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Calling execution.validate_prompt()...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Validation result: valid=True\n [ComfyUI] \u001b[32m[INFO]\u001b[0m === Validation PASSED ===\n [ComfyUI] \u001b[32m[INFO]\u001b[0m got prompt\n [ComfyUI] [comfy-env] SubprocessWorker: C:\\Users\\stduser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\gaussianpack-nodes\\python.exe\n [ComfyUI] [comfy-env] Running LoadPLY: ply_file: 'compressed_room.ply'\n [ComfyUI] [comfy-env] env_vars: {'COMFYUI_BASE': 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1247\\\\ComfyUI'}\n [ComfyUI] [SubprocessWorker] call_method: nodes.load_ply.LoadPLY.load\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [comfy-env] gaussianpack-nodes: Library/bin has 157 DLLs\n [ComfyUI] [ComfyUI-GaussianPack] python: C:\\Users\\stduser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\gaussianpack-nodes\\python.exe\n [ComfyUI] [ComfyUI-GaussianPack] sys_path sent to worker: ['D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1247\\\\ComfyUI', 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1247\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-GaussianPack', 'C:\\\\Users\\\\stduser\\\\AppData\\\\Local\\\\Programs\\\\comfy-env\\\\.pixi\\\\envs\\\\gaussianpack-nodes\\\\Lib\\\\site-packages', 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1247\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-GaussianPack']\n [ComfyUI] [SubprocessWorker] is_pixi=True, python=C:\\Users\\stduser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\gaussianpack-nodes\\python.exe\n [ComfyUI] [SubprocessWorker] launching cmd=['C:\\\\Users\\\\stduser\\\\.pixi\\\\bin\\\\pixi.exe', 'run', '--as-is', '--manifest-path', 'C:\\\\Users\\\\stduser\\\\AppData\\\\Local\\\\Programs\\\\comfy-env\\\\pixi.toml', '-e', 'gaussianpack-nodes', 'python', 'C:\\\\Users\\\\stduser\\\\AppData\\\\Local\\\\Temp\\\\comfyui_pvenv_d4yba5md\\\\persistent_worker.py', 'tcp://127.0.0.1:61051']..."}, {"file": "frame_002.jpg", "time": 3.41, "log": " [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\nCapturing execution frames: gaussian_analysis.json\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\n Frame 1 saved (frame_000.jpg, t=0.0s)\n Validating workflow...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m === /validate endpoint called ===\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Received JSON with keys: ['prompt']\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Prompt has 4 nodes\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 1: LoadPLY\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"ply_file\": \"apple.ply\"}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 19: GaussianAnalysis\n Queuing workflow for execution...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"ply_path\": [\"1\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 20: LoadPLY\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"ply_file\": \"compressed_room.ply\"}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 21: GaussianAnalysis\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"ply_path\": [\"20\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Generated prompt_id: c233e1cc-1cb5-4b63-b339-c7bcc552f02f\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Calling execution.validate_prompt()...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Validation result: valid=True\n [ComfyUI] \u001b[32m[INFO]\u001b[0m === Validation PASSED ===\n [ComfyUI] \u001b[32m[INFO]\u001b[0m got prompt\n [ComfyUI] [comfy-env] SubprocessWorker: C:\\Users\\stduser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\gaussianpack-nodes\\python.exe\n [ComfyUI] [comfy-env] Running LoadPLY: ply_file: 'compressed_room.ply'\n [ComfyUI] [comfy-env] env_vars: {'COMFYUI_BASE': 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1247\\\\ComfyUI'}\n [ComfyUI] [SubprocessWorker] call_method: nodes.load_ply.LoadPLY.load\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [comfy-env] gaussianpack-nodes: Library/bin has 157 DLLs\n [ComfyUI] [ComfyUI-GaussianPack] python: C:\\Users\\stduser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\gaussianpack-nodes\\python.exe\n [ComfyUI] [ComfyUI-GaussianPack] sys_path sent to worker: ['D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1247\\\\ComfyUI', 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1247\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-GaussianPack', 'C:\\\\Users\\\\stduser\\\\AppData\\\\Local\\\\Programs\\\\comfy-env\\\\.pixi\\\\envs\\\\gaussianpack-nodes\\\\Lib\\\\site-packages', 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1247\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-GaussianPack']\n [ComfyUI] [SubprocessWorker] is_pixi=True, python=C:\\Users\\stduser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\gaussianpack-nodes\\python.exe\n [ComfyUI] [SubprocessWorker] launching cmd=['C:\\\\Users\\\\stduser\\\\.pixi\\\\bin\\\\pixi.exe', 'run', '--as-is', '--manifest-path', 'C:\\\\Users\\\\stduser\\\\AppData\\\\Local\\\\Programs\\\\comfy-env\\\\pixi.toml', '-e', 'gaussianpack-nodes', 'python', 'C:\\\\Users\\\\stduser\\\\AppData\\\\Local\\\\Temp\\\\comfyui_pvenv_d4yba5md\\\\persistent_worker.py', 'tcp://127.0.0.1:61051']...\n Frame 2 saved (frame_001.jpg, t=2.3s)\n [capture-periodic] freeze=4ms shot=88ms unfreeze=4ms saved=True\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=1 sending call_method\n [ComfyUI] [worker:ComfyUI-GaussianPack] WARNING: SPZ route not registered (ModuleNotFoundError: No module named 'comfy_aimdo')\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] LoadPLY done (2.93s): result: list[1]\n [ComfyUI] [comfy-env] Running GaussianAnalysis: ply_path: 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Gaus...\n [ComfyUI] [SubprocessWorker] call_method: nodes.analyze_gaussians.GaussianAnalysis.analyze\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=2 sending call_method\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] GaussianAnalysis done (0.05s): result: dict\n [ComfyUI] [comfy-env] Running LoadPLY: ply_file: 'apple.ply'\n [ComfyUI] [SubprocessWorker] call_method: nodes.load_ply.LoadPLY.load\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=3 sending call_method\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] LoadPLY done (0.06s): result: list[1]\n [ComfyUI] [comfy-env] Running GaussianAnalysis: ply_path: 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Gaus...\n [ComfyUI] [SubprocessWorker] call_method: nodes.analyze_gaussians.GaussianAnalysis.analyze\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm..."}, {"file": "frame_003.jpg", "time": 3.8, "log": " [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\nCapturing execution frames: gaussian_analysis.json\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\n Frame 1 saved (frame_000.jpg, t=0.0s)\n Validating workflow...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m === /validate endpoint called ===\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Received JSON with keys: ['prompt']\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Prompt has 4 nodes\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 1: LoadPLY\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"ply_file\": \"apple.ply\"}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 19: GaussianAnalysis\n Queuing workflow for execution...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"ply_path\": [\"1\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 20: LoadPLY\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"ply_file\": \"compressed_room.ply\"}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 21: GaussianAnalysis\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"ply_path\": [\"20\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Generated prompt_id: c233e1cc-1cb5-4b63-b339-c7bcc552f02f\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Calling execution.validate_prompt()...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Validation result: valid=True\n [ComfyUI] \u001b[32m[INFO]\u001b[0m === Validation PASSED ===\n [ComfyUI] \u001b[32m[INFO]\u001b[0m got prompt\n [ComfyUI] [comfy-env] SubprocessWorker: C:\\Users\\stduser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\gaussianpack-nodes\\python.exe\n [ComfyUI] [comfy-env] Running LoadPLY: ply_file: 'compressed_room.ply'\n [ComfyUI] [comfy-env] env_vars: {'COMFYUI_BASE': 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1247\\\\ComfyUI'}\n [ComfyUI] [SubprocessWorker] call_method: nodes.load_ply.LoadPLY.load\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [comfy-env] gaussianpack-nodes: Library/bin has 157 DLLs\n [ComfyUI] [ComfyUI-GaussianPack] python: C:\\Users\\stduser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\gaussianpack-nodes\\python.exe\n [ComfyUI] [ComfyUI-GaussianPack] sys_path sent to worker: ['D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1247\\\\ComfyUI', 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1247\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-GaussianPack', 'C:\\\\Users\\\\stduser\\\\AppData\\\\Local\\\\Programs\\\\comfy-env\\\\.pixi\\\\envs\\\\gaussianpack-nodes\\\\Lib\\\\site-packages', 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1247\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-GaussianPack']\n [ComfyUI] [SubprocessWorker] is_pixi=True, python=C:\\Users\\stduser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\gaussianpack-nodes\\python.exe\n [ComfyUI] [SubprocessWorker] launching cmd=['C:\\\\Users\\\\stduser\\\\.pixi\\\\bin\\\\pixi.exe', 'run', '--as-is', '--manifest-path', 'C:\\\\Users\\\\stduser\\\\AppData\\\\Local\\\\Programs\\\\comfy-env\\\\pixi.toml', '-e', 'gaussianpack-nodes', 'python', 'C:\\\\Users\\\\stduser\\\\AppData\\\\Local\\\\Temp\\\\comfyui_pvenv_d4yba5md\\\\persistent_worker.py', 'tcp://127.0.0.1:61051']...\n Frame 2 saved (frame_001.jpg, t=2.3s)\n [capture-periodic] freeze=4ms shot=88ms unfreeze=4ms saved=True\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=1 sending call_method\n [ComfyUI] [worker:ComfyUI-GaussianPack] WARNING: SPZ route not registered (ModuleNotFoundError: No module named 'comfy_aimdo')\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] LoadPLY done (2.93s): result: list[1]\n [ComfyUI] [comfy-env] Running GaussianAnalysis: ply_path: 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Gaus...\n [ComfyUI] [SubprocessWorker] call_method: nodes.analyze_gaussians.GaussianAnalysis.analyze\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=2 sending call_method\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] GaussianAnalysis done (0.05s): result: dict\n [ComfyUI] [comfy-env] Running LoadPLY: ply_file: 'apple.ply'\n [ComfyUI] [SubprocessWorker] call_method: nodes.load_ply.LoadPLY.load\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=3 sending call_method\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] LoadPLY done (0.06s): result: list[1]\n [ComfyUI] [comfy-env] Running GaussianAnalysis: ply_path: 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Gaus...\n [ComfyUI] [SubprocessWorker] call_method: nodes.analyze_gaussians.GaussianAnalysis.analyze\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n Node executed (1 total), capturing...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=4 sending call_method\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] GaussianAnalysis done (0.05s): result: dict\n [ComfyUI] \u001b[32m[INFO]\u001b[0m \u001b[32mPrompt executed in 3.11 seconds\u001b[0m\n Frame 3 saved (frame_002.jpg, t=3.4s)\n [capture-node] freeze=4ms shot=87ms unfreeze=4ms saved=True"}, {"file": "frame_004.jpg", "time": 6.177617311477661, "log": "Final screenshot"}], "total_time": 3.96}, "rotate_splats": {"frames": [{"file": "frame_000.jpg", "time": 0.0, "log": "Capturing execution frames: rotate_splats.json\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache."}, {"file": "frame_001.jpg", "time": 2.21, "log": "Capturing execution frames: rotate_splats.json\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\n Frame 1 saved (frame_000.jpg, t=0.0s)\n Validating workflow...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m === /validate endpoint called ===\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Received JSON with keys: ['prompt']\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Prompt has 3 nodes\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 1: LoadPLY\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"ply_file\": \"apple.ply\"}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 14: PreviewGaussianDual\n Queuing workflow for execution...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"layout\": \"slider\", \"camera_mode\": \"orbit\", \"fov_degrees\": 70, \"renderer\": \"playcanvas\", \"transport_format\": \"ply\", \"ply_path_1\": [\"1\", 0], \"ply_path_2\": [\"18\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 18: TransformGaussian\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"rotate_x\": -90, \"rotate_y\": 0, \"rotate_z\": 0, \"ply_path\": [\"1\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Generated prompt_id: d7aa6707-c533-454c-b9de-4c209acb4d40\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Calling execution.validate_prompt()...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Validation result: valid=True\n [ComfyUI] \u001b[32m[INFO]\u001b[0m === Validation PASSED ===\n [ComfyUI] \u001b[32m[INFO]\u001b[0m got prompt\n [ComfyUI] [comfy-env] Running LoadPLY: ply_file: 'apple.ply'\n [ComfyUI] [SubprocessWorker] call_method: nodes.load_ply.LoadPLY.load\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: failed\n [ComfyUI] [ComfyUI-GaussianPack] Socket unhealthy, restarting worker...\n [ComfyUI] [comfy-env] gaussianpack-nodes: Library/bin has 157 DLLs\n [ComfyUI] [ComfyUI-GaussianPack] python: C:\\Users\\stduser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\gaussianpack-nodes\\python.exe\n [ComfyUI] [ComfyUI-GaussianPack] sys_path sent to worker: ['D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1247\\\\ComfyUI', 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1247\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-GaussianPack', 'C:\\\\Users\\\\stduser\\\\AppData\\\\Local\\\\Programs\\\\comfy-env\\\\.pixi\\\\envs\\\\gaussianpack-nodes\\\\Lib\\\\site-packages', 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1247\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-GaussianPack']\n [ComfyUI] [SubprocessWorker] is_pixi=True, python=C:\\Users\\stduser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\gaussianpack-nodes\\python.exe\n [ComfyUI] [SubprocessWorker] launching cmd=['C:\\\\Users\\\\stduser\\\\.pixi\\\\bin\\\\pixi.exe', 'run', '--as-is', '--manifest-path', 'C:\\\\Users\\\\stduser\\\\AppData\\\\Local\\\\Programs\\\\comfy-env\\\\pixi.toml', '-e', 'gaussianpack-nodes', 'python', 'C:\\\\Users\\\\stduser\\\\AppData\\\\Local\\\\Temp\\\\comfyui_pvenv_d4yba5md\\\\persistent_worker.py', 'tcp://127.0.0.1:57689']..."}, {"file": "frame_002.jpg", "time": 3.9, "log": "Capturing execution frames: rotate_splats.json\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\n Frame 1 saved (frame_000.jpg, t=0.0s)\n Validating workflow...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m === /validate endpoint called ===\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Received JSON with keys: ['prompt']\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Prompt has 3 nodes\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 1: LoadPLY\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"ply_file\": \"apple.ply\"}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 14: PreviewGaussianDual\n Queuing workflow for execution...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"layout\": \"slider\", \"camera_mode\": \"orbit\", \"fov_degrees\": 70, \"renderer\": \"playcanvas\", \"transport_format\": \"ply\", \"ply_path_1\": [\"1\", 0], \"ply_path_2\": [\"18\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 18: TransformGaussian\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"rotate_x\": -90, \"rotate_y\": 0, \"rotate_z\": 0, \"ply_path\": [\"1\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Generated prompt_id: d7aa6707-c533-454c-b9de-4c209acb4d40\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Calling execution.validate_prompt()...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Validation result: valid=True\n [ComfyUI] \u001b[32m[INFO]\u001b[0m === Validation PASSED ===\n [ComfyUI] \u001b[32m[INFO]\u001b[0m got prompt\n [ComfyUI] [comfy-env] Running LoadPLY: ply_file: 'apple.ply'\n [ComfyUI] [SubprocessWorker] call_method: nodes.load_ply.LoadPLY.load\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: failed\n [ComfyUI] [ComfyUI-GaussianPack] Socket unhealthy, restarting worker...\n [ComfyUI] [comfy-env] gaussianpack-nodes: Library/bin has 157 DLLs\n [ComfyUI] [ComfyUI-GaussianPack] python: C:\\Users\\stduser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\gaussianpack-nodes\\python.exe\n [ComfyUI] [ComfyUI-GaussianPack] sys_path sent to worker: ['D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1247\\\\ComfyUI', 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1247\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-GaussianPack', 'C:\\\\Users\\\\stduser\\\\AppData\\\\Local\\\\Programs\\\\comfy-env\\\\.pixi\\\\envs\\\\gaussianpack-nodes\\\\Lib\\\\site-packages', 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1247\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-GaussianPack']\n [ComfyUI] [SubprocessWorker] is_pixi=True, python=C:\\Users\\stduser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\gaussianpack-nodes\\python.exe\n [ComfyUI] [SubprocessWorker] launching cmd=['C:\\\\Users\\\\stduser\\\\.pixi\\\\bin\\\\pixi.exe', 'run', '--as-is', '--manifest-path', 'C:\\\\Users\\\\stduser\\\\AppData\\\\Local\\\\Programs\\\\comfy-env\\\\pixi.toml', '-e', 'gaussianpack-nodes', 'python', 'C:\\\\Users\\\\stduser\\\\AppData\\\\Local\\\\Temp\\\\comfyui_pvenv_d4yba5md\\\\persistent_worker.py', 'tcp://127.0.0.1:57689']...\n Frame 2 saved (frame_001.jpg, t=2.2s)\n [capture-periodic] freeze=2ms shot=95ms unfreeze=4ms saved=True\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=8 sending call_method\n [ComfyUI] [worker:ComfyUI-GaussianPack] WARNING: SPZ route not registered (ModuleNotFoundError: No module named 'comfy_aimdo')\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] LoadPLY done (2.84s): result: list[1]\n [ComfyUI] [comfy-env] Running TransformGaussian: rotate_x: -90.0, rotate_y: 0.0, rotate_z: 0.0, ply_path: 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Gaus...\n [ComfyUI] [SubprocessWorker] call_method: nodes.transform_gaussian.TransformGaussian.transform\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=9 sending call_method\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] TransformGaussian done (0.64s): result: list[1]\n [ComfyUI] [comfy-env] Running PreviewGaussianDual: layout: 'slider', camera_mode: 'orbit', fov_degrees: 70.0, renderer: 'playcanvas', transport_format: 'ply', ply_path_1: 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Gaus..., ply_path_2: 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Gaus...\n [ComfyUI] [SubprocessWorker] call_method: nodes.preview_gaussian_dual.PreviewGaussianDual.preview\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=10 sending call_method\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] PreviewGaussianDual done (0.06s): result: dict\n [ComfyUI] \u001b[32m[INFO]\u001b[0m \u001b[32mPrompt executed in 3.55 seconds\u001b[0m"}, {"file": "frame_003.jpg", "time": 66.58998584747314, "log": "Final screenshot"}], "total_time": 64.4}};
+ const videoData = {"merge_splats": {"frames": [{"file": "frame_000.jpg", "time": 0.0, "log": " [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\nCapturing execution frames: merge_splats.json\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\n [ComfyUI] \u001b[1m\u001b[31m[ERROR]\u001b[0m Exception in callback _ProactorBasePipeTransport._call_connection_lost()\n [ComfyUI] handle: \n [ComfyUI] Traceback (most recent call last):\n [ComfyUI] File \"C:\\hostedtoolcache\\windows\\Python\\3.13.13\\x64\\Lib\\asyncio\\events.py\", line 89, in _run\n [ComfyUI] self._context.run(self._callback, *self._args)\n [ComfyUI] ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n [ComfyUI] File \"C:\\hostedtoolcache\\windows\\Python\\3.13.13\\x64\\Lib\\asyncio\\proactor_events.py\", line 165, in _call_connection_lost\n [ComfyUI] self._sock.shutdown(socket.SHUT_RDWR)\n [ComfyUI] ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^\n [ComfyUI] ConnectionResetError: [WinError 10054] An existing connection was forcibly closed by the remote host"}, {"file": "frame_001.jpg", "time": 2.14, "log": " [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\nCapturing execution frames: merge_splats.json\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\n [ComfyUI] \u001b[1m\u001b[31m[ERROR]\u001b[0m Exception in callback _ProactorBasePipeTransport._call_connection_lost()\n [ComfyUI] handle: \n [ComfyUI] Traceback (most recent call last):\n [ComfyUI] File \"C:\\hostedtoolcache\\windows\\Python\\3.13.13\\x64\\Lib\\asyncio\\events.py\", line 89, in _run\n [ComfyUI] self._context.run(self._callback, *self._args)\n [ComfyUI] ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n [ComfyUI] File \"C:\\hostedtoolcache\\windows\\Python\\3.13.13\\x64\\Lib\\asyncio\\proactor_events.py\", line 165, in _call_connection_lost\n [ComfyUI] self._sock.shutdown(socket.SHUT_RDWR)\n [ComfyUI] ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^\n [ComfyUI] ConnectionResetError: [WinError 10054] An existing connection was forcibly closed by the remote host\n Frame 1 saved (frame_000.jpg, t=0.0s)\n Validating workflow...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m === /validate endpoint called ===\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Received JSON with keys: ['prompt']\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Prompt has 3 nodes\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 1: LoadPLY\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"ply_file\": \"apple.ply\"}\n Queuing workflow for execution...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 12: GaussianMerge\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"target_count\": 100000, \"output_filename\": \"applemerged\", \"opacity_threshold\": 0.1, \"k\": 16, \"backend\": \"nanogs_cpu\", \"ply_path\": [\"1\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 14: PreviewGaussianDual\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"layout\": \"slider\", \"camera_mode\": \"orbit\", \"fov_degrees\": 70, \"renderer\": \"playcanvas\", \"transport_format\": \"ply\", \"ply_path_1\": [\"1\", 0], \"ply_path_2\": [\"12\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Generated prompt_id: 35093fa4-0765-48a0-9728-87adb2bac7af\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Calling execution.validate_prompt()...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Validation result: valid=True\n [ComfyUI] \u001b[32m[INFO]\u001b[0m === Validation PASSED ===\n [ComfyUI] \u001b[32m[INFO]\u001b[0m got prompt\n [ComfyUI] [comfy-env] Running LoadPLY: ply_file: 'apple.ply'\n [ComfyUI] [SubprocessWorker] call_method: nodes.load_ply.LoadPLY.load\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=5 sending call_method\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] LoadPLY done (0.08s): result: list[1]\n [ComfyUI] [comfy-env] Running GaussianMerge: target_count: 100000, output_filename: 'applemerged', opacity_threshold: 0.1, k: 16, backend: 'nanogs_cpu', ply_path: 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Gaus...\n [ComfyUI] [SubprocessWorker] call_method: nodes.merge_gaussians.GaussianMerge.merge\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=6 sending call_method\n [ComfyUI] [worker:ComfyUI-GaussianPack] Loading PLY: D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1400\\ComfyUI\\input\\apple.ply\n [ComfyUI] [worker:ComfyUI-GaussianPack] Initial splats: 200000\n [ComfyUI] [worker:ComfyUI-GaussianPack] Pruned splats: 200000, target: 100000\n [ComfyUI] [worker:ComfyUI-GaussianPack] Opacity Mean: 0.53443545 Median: 0.48362076\n [ComfyUI] [worker:ComfyUI-GaussianPack] Pruning splats with opacity below 0.1000\n [ComfyUI] [worker:ComfyUI-GaussianPack] Original count: 200000, after opacity pruning: 200000\n [ComfyUI] [worker:ComfyUI-GaussianPack] After opacity pruning, 200000 splats remain.\n [ComfyUI] [worker:ComfyUI-GaussianPack] Pass 1: 200000 splats"}, {"file": "frame_002.jpg", "time": 4.32, "log": " [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\nCapturing execution frames: merge_splats.json\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\n [ComfyUI] \u001b[1m\u001b[31m[ERROR]\u001b[0m Exception in callback _ProactorBasePipeTransport._call_connection_lost()\n [ComfyUI] handle: \n [ComfyUI] Traceback (most recent call last):\n [ComfyUI] File \"C:\\hostedtoolcache\\windows\\Python\\3.13.13\\x64\\Lib\\asyncio\\events.py\", line 89, in _run\n [ComfyUI] self._context.run(self._callback, *self._args)\n [ComfyUI] ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n [ComfyUI] File \"C:\\hostedtoolcache\\windows\\Python\\3.13.13\\x64\\Lib\\asyncio\\proactor_events.py\", line 165, in _call_connection_lost\n [ComfyUI] self._sock.shutdown(socket.SHUT_RDWR)\n [ComfyUI] ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^\n [ComfyUI] ConnectionResetError: [WinError 10054] An existing connection was forcibly closed by the remote host\n Frame 1 saved (frame_000.jpg, t=0.0s)\n Validating workflow...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m === /validate endpoint called ===\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Received JSON with keys: ['prompt']\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Prompt has 3 nodes\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 1: LoadPLY\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"ply_file\": \"apple.ply\"}\n Queuing workflow for execution...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 12: GaussianMerge\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"target_count\": 100000, \"output_filename\": \"applemerged\", \"opacity_threshold\": 0.1, \"k\": 16, \"backend\": \"nanogs_cpu\", \"ply_path\": [\"1\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 14: PreviewGaussianDual\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"layout\": \"slider\", \"camera_mode\": \"orbit\", \"fov_degrees\": 70, \"renderer\": \"playcanvas\", \"transport_format\": \"ply\", \"ply_path_1\": [\"1\", 0], \"ply_path_2\": [\"12\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Generated prompt_id: 35093fa4-0765-48a0-9728-87adb2bac7af\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Calling execution.validate_prompt()...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Validation result: valid=True\n [ComfyUI] \u001b[32m[INFO]\u001b[0m === Validation PASSED ===\n [ComfyUI] \u001b[32m[INFO]\u001b[0m got prompt\n [ComfyUI] [comfy-env] Running LoadPLY: ply_file: 'apple.ply'\n [ComfyUI] [SubprocessWorker] call_method: nodes.load_ply.LoadPLY.load\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=5 sending call_method\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] LoadPLY done (0.08s): result: list[1]\n [ComfyUI] [comfy-env] Running GaussianMerge: target_count: 100000, output_filename: 'applemerged', opacity_threshold: 0.1, k: 16, backend: 'nanogs_cpu', ply_path: 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Gaus...\n [ComfyUI] [SubprocessWorker] call_method: nodes.merge_gaussians.GaussianMerge.merge\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=6 sending call_method\n [ComfyUI] [worker:ComfyUI-GaussianPack] Loading PLY: D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1400\\ComfyUI\\input\\apple.ply\n [ComfyUI] [worker:ComfyUI-GaussianPack] Initial splats: 200000\n [ComfyUI] [worker:ComfyUI-GaussianPack] Pruned splats: 200000, target: 100000\n [ComfyUI] [worker:ComfyUI-GaussianPack] Opacity Mean: 0.53443545 Median: 0.48362076\n [ComfyUI] [worker:ComfyUI-GaussianPack] Pruning splats with opacity below 0.1000\n [ComfyUI] [worker:ComfyUI-GaussianPack] Original count: 200000, after opacity pruning: 200000\n [ComfyUI] [worker:ComfyUI-GaussianPack] After opacity pruning, 200000 splats remain.\n [ComfyUI] [worker:ComfyUI-GaussianPack] Pass 1: 200000 splats\n Frame 2 saved (frame_001.jpg, t=2.1s)\n [capture-periodic] freeze=4ms shot=94ms unfreeze=5ms saved=True"}, {"file": "frame_003.jpg", "time": 20.73, "log": " [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\nCapturing execution frames: merge_splats.json\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\n [ComfyUI] \u001b[1m\u001b[31m[ERROR]\u001b[0m Exception in callback _ProactorBasePipeTransport._call_connection_lost()\n [ComfyUI] handle: \n [ComfyUI] Traceback (most recent call last):\n [ComfyUI] File \"C:\\hostedtoolcache\\windows\\Python\\3.13.13\\x64\\Lib\\asyncio\\events.py\", line 89, in _run\n [ComfyUI] self._context.run(self._callback, *self._args)\n [ComfyUI] ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n [ComfyUI] File \"C:\\hostedtoolcache\\windows\\Python\\3.13.13\\x64\\Lib\\asyncio\\proactor_events.py\", line 165, in _call_connection_lost\n [ComfyUI] self._sock.shutdown(socket.SHUT_RDWR)\n [ComfyUI] ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^\n [ComfyUI] ConnectionResetError: [WinError 10054] An existing connection was forcibly closed by the remote host\n Frame 1 saved (frame_000.jpg, t=0.0s)\n Validating workflow...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m === /validate endpoint called ===\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Received JSON with keys: ['prompt']\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Prompt has 3 nodes\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 1: LoadPLY\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"ply_file\": \"apple.ply\"}\n Queuing workflow for execution...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 12: GaussianMerge\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"target_count\": 100000, \"output_filename\": \"applemerged\", \"opacity_threshold\": 0.1, \"k\": 16, \"backend\": \"nanogs_cpu\", \"ply_path\": [\"1\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 14: PreviewGaussianDual\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"layout\": \"slider\", \"camera_mode\": \"orbit\", \"fov_degrees\": 70, \"renderer\": \"playcanvas\", \"transport_format\": \"ply\", \"ply_path_1\": [\"1\", 0], \"ply_path_2\": [\"12\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Generated prompt_id: 35093fa4-0765-48a0-9728-87adb2bac7af\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Calling execution.validate_prompt()...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Validation result: valid=True\n [ComfyUI] \u001b[32m[INFO]\u001b[0m === Validation PASSED ===\n [ComfyUI] \u001b[32m[INFO]\u001b[0m got prompt\n [ComfyUI] [comfy-env] Running LoadPLY: ply_file: 'apple.ply'\n [ComfyUI] [SubprocessWorker] call_method: nodes.load_ply.LoadPLY.load\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=5 sending call_method\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] LoadPLY done (0.08s): result: list[1]\n [ComfyUI] [comfy-env] Running GaussianMerge: target_count: 100000, output_filename: 'applemerged', opacity_threshold: 0.1, k: 16, backend: 'nanogs_cpu', ply_path: 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Gaus...\n [ComfyUI] [SubprocessWorker] call_method: nodes.merge_gaussians.GaussianMerge.merge\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=6 sending call_method\n [ComfyUI] [worker:ComfyUI-GaussianPack] Loading PLY: D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1400\\ComfyUI\\input\\apple.ply\n [ComfyUI] [worker:ComfyUI-GaussianPack] Initial splats: 200000\n [ComfyUI] [worker:ComfyUI-GaussianPack] Pruned splats: 200000, target: 100000\n [ComfyUI] [worker:ComfyUI-GaussianPack] Opacity Mean: 0.53443545 Median: 0.48362076\n [ComfyUI] [worker:ComfyUI-GaussianPack] Pruning splats with opacity below 0.1000\n [ComfyUI] [worker:ComfyUI-GaussianPack] Original count: 200000, after opacity pruning: 200000\n [ComfyUI] [worker:ComfyUI-GaussianPack] After opacity pruning, 200000 splats remain.\n [ComfyUI] [worker:ComfyUI-GaussianPack] Pass 1: 200000 splats\n Frame 2 saved (frame_001.jpg, t=2.1s)\n [capture-periodic] freeze=4ms shot=94ms unfreeze=5ms saved=True\n Frame 3 saved (frame_002.jpg, t=4.3s)\n [capture-periodic] freeze=4ms shot=82ms unfreeze=5ms saved=True\n [ComfyUI] \n [ComfyUI] Edge costs: 0%| | 0/19 [00:00, ?it/s]\n [ComfyUI] Edge costs: 5%|\u258c | 1/19 [00:00<00:06, 2.89it/s]\n [capture-loop] iter=50 t=5.7s state={'complete': False, 'error': None, 'executedCount': 0, 'wsState': 1} eval_ms=4 ram=4.8/16.0GB (30%) swap=0.2/2.9GB (6%) cpu=36% browser_rss=0.72GB\n [ComfyUI] Edge costs: 11%|\u2588 | 2/19 [00:00<00:04, 3.63it/s]\n [ComfyUI] Edge costs: 16%|\u2588\u258c | 3/19 [00:00<00:04, 3.82it/s]\n [ComfyUI] Edge costs: 21%|\u2588\u2588 | 4/19 [00:01<00:03, 3.84it/s]\n [ComfyUI] Edge costs: 26%|\u2588\u2588\u258b | 5/19 [00:01<00:03, 3.99it/s]\n [ComfyUI] Edge costs: 32%|\u2588\u2588\u2588\u258f | 6/19 [00:01<00:03, 3.94it/s]\n [ComfyUI] Edge costs: 37%|\u2588\u2588\u2588\u258b | 7/19 [00:01<00:03, 3.98it/s]\n [ComfyUI] Edge costs: 42%|\u2588\u2588\u2588\u2588\u258f | 8/19 [00:02<00:02, 4.06it/s]\n [ComfyUI] Edge costs: 47%|\u2588\u2588\u2588\u2588\u258b | 9/19 [00:02<00:02, 4.09it/s]\n [ComfyUI] Edge costs: 53%|\u2588\u2588\u2588\u2588\u2588\u258e | 10/19 [00:02<00:02, 4.10it/s]\n [ComfyUI] Edge costs: 58%|\u2588\u2588\u2588\u2588\u2588\u258a | 11/19 [00:02<00:01, 4.12it/s]\n [ComfyUI] Edge costs: 63%|\u2588\u2588\u2588\u2588\u2588\u2588\u258e | 12/19 [00:03<00:01, 3.94it/s]\n [ComfyUI] Edge costs: 68%|\u2588\u2588\u2588\u2588\u2588\u2588\u258a | 13/19 [00:03<00:01, 4.07it/s]\n [ComfyUI] Edge costs: 74%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u258e | 14/19 [00:03<00:01, 4.19it/s]\n [ComfyUI] Edge costs: 79%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2589 | 15/19 [00:03<00:00, 4.08it/s]\n [ComfyUI] Edge costs: 84%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u258d | 16/19 [00:03<00:00, 4.17it/s]\n [ComfyUI] Edge costs: 89%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2589 | 17/19 [00:04<00:00, 4.24it/s]\n [ComfyUI] Edge costs: 95%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u258d| 18/19 [00:04<00:00, 4.25it/s]\n [ComfyUI] Edge costs: 100%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 19/19 [00:04<00:00, 5.09it/s]\n [ComfyUI] Edge costs: 100%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 19/19 [00:04<00:00, 4.17it/s]\n [ComfyUI] [worker:ComfyUI-GaussianPack] edges: 1848776, pairs: 96906 (need 100000)\n [ComfyUI] [worker:ComfyUI-GaussianPack] Merging 96906 pairs\n [ComfyUI] [worker:ComfyUI-GaussianPack] Pass 2: 103094 splats\n [capture-loop] iter=100 t=11.8s state={'complete': False, 'error': None, 'executedCount': 0, 'wsState': 1} eval_ms=4 ram=4.7/16.0GB (29%) swap=0.2/2.9GB (6%) cpu=40% browser_rss=0.65GB\n [ComfyUI] \n [ComfyUI] Edge costs: 0%| | 0/10 [00:00, ?it/s]\n [ComfyUI] Edge costs: 10%|\u2588 | 1/10 [00:00<00:01, 4.59it/s]\n [ComfyUI] Edge costs: 20%|\u2588\u2588 | 2/10 [00:00<00:01, 4.46it/s]\n [ComfyUI] Edge costs: 30%|\u2588\u2588\u2588 | 3/10 [00:00<00:01, 4.49it/s]\n [ComfyUI] Edge costs: 40%|\u2588\u2588\u2588\u2588 | 4/10 [00:00<00:01, 4.50it/s]\n [ComfyUI] Edge costs: 50%|\u2588\u2588\u2588\u2588\u2588 | 5/10 [00:01<00:01, 4.42it/s]\n [ComfyUI] Edge costs: 60%|\u2588\u2588\u2588\u2588\u2588\u2588 | 6/10 [00:01<00:00, 4.46it/s]\n [ComfyUI] Edge costs: 70%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588 | 7/10 [00:01<00:00, 4.48it/s]\n [ComfyUI] Edge costs: 80%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 | 8/10 [00:01<00:00, 4.45it/s]\n [ComfyUI] Edge costs: 90%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 | 9/10 [00:02<00:00, 4.45it/s]\n [ComfyUI] Edge costs: 100%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 10/10 [00:02<00:00, 4.85it/s]\n [ComfyUI] [worker:ComfyUI-GaussianPack] edges: 919857, pairs: 3094 (need 3094)\n [ComfyUI] [worker:ComfyUI-GaussianPack] Merging 3094 pairs\n [ComfyUI] [worker:ComfyUI-GaussianPack] Final splats: 100000\n [capture-loop] iter=150 t=17.5s state={'complete': False, 'error': None, 'executedCount': 0, 'wsState': 1} eval_ms=4 ram=4.7/16.0GB (29%) swap=0.2/2.9GB (6%) cpu=36% browser_rss=0.65GB\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] GaussianMerge done (20.26s): result: dict\n [ComfyUI] [comfy-env] Running PreviewGaussianDual: layout: 'slider', camera_mode: 'orbit', fov_degrees: 70.0, renderer: 'playcanvas', transport_format: 'ply', ply_path_1: 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Gaus..., ply_path_2: 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Gaus...\n [ComfyUI] [SubprocessWorker] call_method: nodes.preview_gaussian_dual.PreviewGaussianDual.preview\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=7 sending call_method\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] PreviewGaussianDual done (0.10s): result: dict\n [ComfyUI] \u001b[32m[INFO]\u001b[0m \u001b[32mPrompt executed in 20.45 seconds\u001b[0m"}, {"file": "frame_004.jpg", "time": 21.18, "log": " [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\nCapturing execution frames: merge_splats.json\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\n [ComfyUI] \u001b[1m\u001b[31m[ERROR]\u001b[0m Exception in callback _ProactorBasePipeTransport._call_connection_lost()\n [ComfyUI] handle: \n [ComfyUI] Traceback (most recent call last):\n [ComfyUI] File \"C:\\hostedtoolcache\\windows\\Python\\3.13.13\\x64\\Lib\\asyncio\\events.py\", line 89, in _run\n [ComfyUI] self._context.run(self._callback, *self._args)\n [ComfyUI] ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n [ComfyUI] File \"C:\\hostedtoolcache\\windows\\Python\\3.13.13\\x64\\Lib\\asyncio\\proactor_events.py\", line 165, in _call_connection_lost\n [ComfyUI] self._sock.shutdown(socket.SHUT_RDWR)\n [ComfyUI] ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^\n [ComfyUI] ConnectionResetError: [WinError 10054] An existing connection was forcibly closed by the remote host\n Frame 1 saved (frame_000.jpg, t=0.0s)\n Validating workflow...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m === /validate endpoint called ===\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Received JSON with keys: ['prompt']\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Prompt has 3 nodes\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 1: LoadPLY\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"ply_file\": \"apple.ply\"}\n Queuing workflow for execution...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 12: GaussianMerge\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"target_count\": 100000, \"output_filename\": \"applemerged\", \"opacity_threshold\": 0.1, \"k\": 16, \"backend\": \"nanogs_cpu\", \"ply_path\": [\"1\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 14: PreviewGaussianDual\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"layout\": \"slider\", \"camera_mode\": \"orbit\", \"fov_degrees\": 70, \"renderer\": \"playcanvas\", \"transport_format\": \"ply\", \"ply_path_1\": [\"1\", 0], \"ply_path_2\": [\"12\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Generated prompt_id: 35093fa4-0765-48a0-9728-87adb2bac7af\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Calling execution.validate_prompt()...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Validation result: valid=True\n [ComfyUI] \u001b[32m[INFO]\u001b[0m === Validation PASSED ===\n [ComfyUI] \u001b[32m[INFO]\u001b[0m got prompt\n [ComfyUI] [comfy-env] Running LoadPLY: ply_file: 'apple.ply'\n [ComfyUI] [SubprocessWorker] call_method: nodes.load_ply.LoadPLY.load\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=5 sending call_method\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] LoadPLY done (0.08s): result: list[1]\n [ComfyUI] [comfy-env] Running GaussianMerge: target_count: 100000, output_filename: 'applemerged', opacity_threshold: 0.1, k: 16, backend: 'nanogs_cpu', ply_path: 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Gaus...\n [ComfyUI] [SubprocessWorker] call_method: nodes.merge_gaussians.GaussianMerge.merge\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=6 sending call_method\n [ComfyUI] [worker:ComfyUI-GaussianPack] Loading PLY: D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1400\\ComfyUI\\input\\apple.ply\n [ComfyUI] [worker:ComfyUI-GaussianPack] Initial splats: 200000\n [ComfyUI] [worker:ComfyUI-GaussianPack] Pruned splats: 200000, target: 100000\n [ComfyUI] [worker:ComfyUI-GaussianPack] Opacity Mean: 0.53443545 Median: 0.48362076\n [ComfyUI] [worker:ComfyUI-GaussianPack] Pruning splats with opacity below 0.1000\n [ComfyUI] [worker:ComfyUI-GaussianPack] Original count: 200000, after opacity pruning: 200000\n [ComfyUI] [worker:ComfyUI-GaussianPack] After opacity pruning, 200000 splats remain.\n [ComfyUI] [worker:ComfyUI-GaussianPack] Pass 1: 200000 splats\n Frame 2 saved (frame_001.jpg, t=2.1s)\n [capture-periodic] freeze=4ms shot=94ms unfreeze=5ms saved=True\n Frame 3 saved (frame_002.jpg, t=4.3s)\n [capture-periodic] freeze=4ms shot=82ms unfreeze=5ms saved=True\n [ComfyUI] \n [ComfyUI] Edge costs: 0%| | 0/19 [00:00, ?it/s]\n [ComfyUI] Edge costs: 5%|\u258c | 1/19 [00:00<00:06, 2.89it/s]\n [capture-loop] iter=50 t=5.7s state={'complete': False, 'error': None, 'executedCount': 0, 'wsState': 1} eval_ms=4 ram=4.8/16.0GB (30%) swap=0.2/2.9GB (6%) cpu=36% browser_rss=0.72GB\n [ComfyUI] Edge costs: 11%|\u2588 | 2/19 [00:00<00:04, 3.63it/s]\n [ComfyUI] Edge costs: 16%|\u2588\u258c | 3/19 [00:00<00:04, 3.82it/s]\n [ComfyUI] Edge costs: 21%|\u2588\u2588 | 4/19 [00:01<00:03, 3.84it/s]\n [ComfyUI] Edge costs: 26%|\u2588\u2588\u258b | 5/19 [00:01<00:03, 3.99it/s]\n [ComfyUI] Edge costs: 32%|\u2588\u2588\u2588\u258f | 6/19 [00:01<00:03, 3.94it/s]\n [ComfyUI] Edge costs: 37%|\u2588\u2588\u2588\u258b | 7/19 [00:01<00:03, 3.98it/s]\n [ComfyUI] Edge costs: 42%|\u2588\u2588\u2588\u2588\u258f | 8/19 [00:02<00:02, 4.06it/s]\n [ComfyUI] Edge costs: 47%|\u2588\u2588\u2588\u2588\u258b | 9/19 [00:02<00:02, 4.09it/s]\n [ComfyUI] Edge costs: 53%|\u2588\u2588\u2588\u2588\u2588\u258e | 10/19 [00:02<00:02, 4.10it/s]\n [ComfyUI] Edge costs: 58%|\u2588\u2588\u2588\u2588\u2588\u258a | 11/19 [00:02<00:01, 4.12it/s]\n [ComfyUI] Edge costs: 63%|\u2588\u2588\u2588\u2588\u2588\u2588\u258e | 12/19 [00:03<00:01, 3.94it/s]\n [ComfyUI] Edge costs: 68%|\u2588\u2588\u2588\u2588\u2588\u2588\u258a | 13/19 [00:03<00:01, 4.07it/s]\n [ComfyUI] Edge costs: 74%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u258e | 14/19 [00:03<00:01, 4.19it/s]\n [ComfyUI] Edge costs: 79%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2589 | 15/19 [00:03<00:00, 4.08it/s]\n [ComfyUI] Edge costs: 84%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u258d | 16/19 [00:03<00:00, 4.17it/s]\n [ComfyUI] Edge costs: 89%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2589 | 17/19 [00:04<00:00, 4.24it/s]\n [ComfyUI] Edge costs: 95%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u258d| 18/19 [00:04<00:00, 4.25it/s]\n [ComfyUI] Edge costs: 100%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 19/19 [00:04<00:00, 5.09it/s]\n [ComfyUI] Edge costs: 100%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 19/19 [00:04<00:00, 4.17it/s]\n [ComfyUI] [worker:ComfyUI-GaussianPack] edges: 1848776, pairs: 96906 (need 100000)\n [ComfyUI] [worker:ComfyUI-GaussianPack] Merging 96906 pairs\n [ComfyUI] [worker:ComfyUI-GaussianPack] Pass 2: 103094 splats\n [capture-loop] iter=100 t=11.8s state={'complete': False, 'error': None, 'executedCount': 0, 'wsState': 1} eval_ms=4 ram=4.7/16.0GB (29%) swap=0.2/2.9GB (6%) cpu=40% browser_rss=0.65GB\n [ComfyUI] \n [ComfyUI] Edge costs: 0%| | 0/10 [00:00, ?it/s]\n [ComfyUI] Edge costs: 10%|\u2588 | 1/10 [00:00<00:01, 4.59it/s]\n [ComfyUI] Edge costs: 20%|\u2588\u2588 | 2/10 [00:00<00:01, 4.46it/s]\n [ComfyUI] Edge costs: 30%|\u2588\u2588\u2588 | 3/10 [00:00<00:01, 4.49it/s]\n [ComfyUI] Edge costs: 40%|\u2588\u2588\u2588\u2588 | 4/10 [00:00<00:01, 4.50it/s]\n [ComfyUI] Edge costs: 50%|\u2588\u2588\u2588\u2588\u2588 | 5/10 [00:01<00:01, 4.42it/s]\n [ComfyUI] Edge costs: 60%|\u2588\u2588\u2588\u2588\u2588\u2588 | 6/10 [00:01<00:00, 4.46it/s]\n [ComfyUI] Edge costs: 70%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588 | 7/10 [00:01<00:00, 4.48it/s]\n [ComfyUI] Edge costs: 80%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 | 8/10 [00:01<00:00, 4.45it/s]\n [ComfyUI] Edge costs: 90%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 | 9/10 [00:02<00:00, 4.45it/s]\n [ComfyUI] Edge costs: 100%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 10/10 [00:02<00:00, 4.85it/s]\n [ComfyUI] [worker:ComfyUI-GaussianPack] edges: 919857, pairs: 3094 (need 3094)\n [ComfyUI] [worker:ComfyUI-GaussianPack] Merging 3094 pairs\n [ComfyUI] [worker:ComfyUI-GaussianPack] Final splats: 100000\n [capture-loop] iter=150 t=17.5s state={'complete': False, 'error': None, 'executedCount': 0, 'wsState': 1} eval_ms=4 ram=4.7/16.0GB (29%) swap=0.2/2.9GB (6%) cpu=36% browser_rss=0.65GB\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] GaussianMerge done (20.26s): result: dict\n [ComfyUI] [comfy-env] Running PreviewGaussianDual: layout: 'slider', camera_mode: 'orbit', fov_degrees: 70.0, renderer: 'playcanvas', transport_format: 'ply', ply_path_1: 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Gaus..., ply_path_2: 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Gaus...\n [ComfyUI] [SubprocessWorker] call_method: nodes.preview_gaussian_dual.PreviewGaussianDual.preview\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=7 sending call_method\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] PreviewGaussianDual done (0.10s): result: dict\n [ComfyUI] \u001b[32m[INFO]\u001b[0m \u001b[32mPrompt executed in 20.45 seconds\u001b[0m\n Node executed (1 total), capturing...\n Frame 4 saved (frame_003.jpg, t=20.7s)\n [capture-node] freeze=4ms shot=95ms unfreeze=5ms saved=True"}, {"file": "frame_005.jpg", "time": 83.85774064064026, "log": "Final screenshot"}], "total_time": 81.67}, "spectate": {"frames": [{"file": "frame_000.jpg", "time": 0.0, "log": " [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\nCapturing execution frames: spectate.json\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache."}, {"file": "frame_001.jpg", "time": 2.22, "log": " [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\nCapturing execution frames: spectate.json\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\n Frame 1 saved (frame_000.jpg, t=0.0s)\n Validating workflow...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m === /validate endpoint called ===\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Received JSON with keys: ['prompt']\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Prompt has 2 nodes\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 1: LoadPLY\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"ply_file\": \"compressed_room.ply\"}\n Queuing workflow for execution...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 2: PreviewGaussians\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"camera_mode\": \"spectate\", \"fov_degrees\": 70, \"renderer\": \"playcanvas\", \"transport_format\": \"ply\", \"ply_path\": [\"1\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Generated prompt_id: cc64ab89-a883-402c-be8f-0251f7977da2\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Calling execution.validate_prompt()...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Validation result: valid=True\n [ComfyUI] \u001b[32m[INFO]\u001b[0m === Validation PASSED ===\n [ComfyUI] \u001b[32m[INFO]\u001b[0m got prompt\n [ComfyUI] [comfy-env] Running LoadPLY: ply_file: 'compressed_room.ply'\n [ComfyUI] [SubprocessWorker] call_method: nodes.load_ply.LoadPLY.load\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: failed\n [ComfyUI] [ComfyUI-GaussianPack] Socket unhealthy, restarting worker...\n [ComfyUI] [comfy-env] gaussianpack-nodes: Library/bin has 158 DLLs\n [ComfyUI] [ComfyUI-GaussianPack] python: C:\\Users\\stduser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\gaussianpack-nodes\\python.exe\n [ComfyUI] [ComfyUI-GaussianPack] sys_path sent to worker: ['D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1400\\\\ComfyUI', 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1400\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-GaussianPack', 'C:\\\\Users\\\\stduser\\\\AppData\\\\Local\\\\Programs\\\\comfy-env\\\\.pixi\\\\envs\\\\gaussianpack-nodes\\\\Lib\\\\site-packages', 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1400\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-GaussianPack']\n [ComfyUI] [SubprocessWorker] is_pixi=True, python=C:\\Users\\stduser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\gaussianpack-nodes\\python.exe\n [ComfyUI] [SubprocessWorker] launching cmd=['C:\\\\Users\\\\stduser\\\\.pixi\\\\bin\\\\pixi.exe', 'run', '--as-is', '--manifest-path', 'C:\\\\Users\\\\stduser\\\\AppData\\\\Local\\\\Programs\\\\comfy-env\\\\pixi.toml', '-e', 'gaussianpack-nodes', 'python', 'C:\\\\Users\\\\stduser\\\\AppData\\\\Local\\\\Temp\\\\comfyui_pvenv_aamctmub\\\\persistent_worker.py', 'tcp://127.0.0.1:59997']..."}, {"file": "frame_002.jpg", "time": 3.06, "log": " [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\nCapturing execution frames: spectate.json\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\n Frame 1 saved (frame_000.jpg, t=0.0s)\n Validating workflow...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m === /validate endpoint called ===\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Received JSON with keys: ['prompt']\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Prompt has 2 nodes\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 1: LoadPLY\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"ply_file\": \"compressed_room.ply\"}\n Queuing workflow for execution...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 2: PreviewGaussians\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"camera_mode\": \"spectate\", \"fov_degrees\": 70, \"renderer\": \"playcanvas\", \"transport_format\": \"ply\", \"ply_path\": [\"1\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Generated prompt_id: cc64ab89-a883-402c-be8f-0251f7977da2\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Calling execution.validate_prompt()...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Validation result: valid=True\n [ComfyUI] \u001b[32m[INFO]\u001b[0m === Validation PASSED ===\n [ComfyUI] \u001b[32m[INFO]\u001b[0m got prompt\n [ComfyUI] [comfy-env] Running LoadPLY: ply_file: 'compressed_room.ply'\n [ComfyUI] [SubprocessWorker] call_method: nodes.load_ply.LoadPLY.load\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: failed\n [ComfyUI] [ComfyUI-GaussianPack] Socket unhealthy, restarting worker...\n [ComfyUI] [comfy-env] gaussianpack-nodes: Library/bin has 158 DLLs\n [ComfyUI] [ComfyUI-GaussianPack] python: C:\\Users\\stduser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\gaussianpack-nodes\\python.exe\n [ComfyUI] [ComfyUI-GaussianPack] sys_path sent to worker: ['D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1400\\\\ComfyUI', 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1400\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-GaussianPack', 'C:\\\\Users\\\\stduser\\\\AppData\\\\Local\\\\Programs\\\\comfy-env\\\\.pixi\\\\envs\\\\gaussianpack-nodes\\\\Lib\\\\site-packages', 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1400\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-GaussianPack']\n [ComfyUI] [SubprocessWorker] is_pixi=True, python=C:\\Users\\stduser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\gaussianpack-nodes\\python.exe\n [ComfyUI] [SubprocessWorker] launching cmd=['C:\\\\Users\\\\stduser\\\\.pixi\\\\bin\\\\pixi.exe', 'run', '--as-is', '--manifest-path', 'C:\\\\Users\\\\stduser\\\\AppData\\\\Local\\\\Programs\\\\comfy-env\\\\pixi.toml', '-e', 'gaussianpack-nodes', 'python', 'C:\\\\Users\\\\stduser\\\\AppData\\\\Local\\\\Temp\\\\comfyui_pvenv_aamctmub\\\\persistent_worker.py', 'tcp://127.0.0.1:59997']...\n Frame 2 saved (frame_001.jpg, t=2.2s)\n [capture-periodic] freeze=4ms shot=88ms unfreeze=5ms saved=True\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=11 sending call_method\n [ComfyUI] [worker:ComfyUI-GaussianPack] WARNING: SPZ route not registered (ModuleNotFoundError: No module named 'comfy_aimdo')\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] LoadPLY done (2.60s): result: list[1]\n [ComfyUI] [comfy-env] Running PreviewGaussians: camera_mode: 'spectate', fov_degrees: 70.0, renderer: 'playcanvas', transport_format: 'ply', ply_path: 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Gaus...\n [ComfyUI] [SubprocessWorker] call_method: nodes.preview_gaussian.PreviewGaussians.preview\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=12 sending call_method\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] PreviewGaussians done (0.11s): result: dict\n [ComfyUI] \u001b[32m[INFO]\u001b[0m \u001b[32mPrompt executed in 2.72 seconds\u001b[0m"}, {"file": "frame_003.jpg", "time": 13.103792667388916, "log": "Final screenshot"}], "total_time": 10.79}, "gaussian_analysis": {"frames": [{"file": "frame_000.jpg", "time": 0.0, "log": " [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\nCapturing execution frames: gaussian_analysis.json\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache."}, {"file": "frame_001.jpg", "time": 2.35, "log": " [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\nCapturing execution frames: gaussian_analysis.json\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\n Frame 1 saved (frame_000.jpg, t=0.0s)\n Validating workflow...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m === /validate endpoint called ===\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Received JSON with keys: ['prompt']\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Prompt has 4 nodes\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 1: LoadPLY\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"ply_file\": \"apple.ply\"}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 19: GaussianAnalysis\n Queuing workflow for execution...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"ply_path\": [\"1\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 20: LoadPLY\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"ply_file\": \"compressed_room.ply\"}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 21: GaussianAnalysis\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"ply_path\": [\"20\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Generated prompt_id: 47d72ba8-7f3c-41a4-9cae-5bc3f8c11584\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Calling execution.validate_prompt()...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Validation result: valid=True\n [ComfyUI] \u001b[32m[INFO]\u001b[0m === Validation PASSED ===\n [ComfyUI] \u001b[32m[INFO]\u001b[0m got prompt\n [ComfyUI] [comfy-env] Running LoadPLY: ply_file: 'apple.ply'\n [ComfyUI] [comfy-env] SubprocessWorker: C:\\Users\\stduser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\gaussianpack-nodes\\python.exe\n [ComfyUI] [comfy-env] env_vars: {'COMFYUI_BASE': 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1400\\\\ComfyUI'}\n [ComfyUI] [SubprocessWorker] call_method: nodes.load_ply.LoadPLY.load\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [comfy-env] gaussianpack-nodes: Library/bin has 158 DLLs\n [ComfyUI] [ComfyUI-GaussianPack] python: C:\\Users\\stduser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\gaussianpack-nodes\\python.exe\n [ComfyUI] [ComfyUI-GaussianPack] sys_path sent to worker: ['D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1400\\\\ComfyUI', 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1400\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-GaussianPack', 'C:\\\\Users\\\\stduser\\\\AppData\\\\Local\\\\Programs\\\\comfy-env\\\\.pixi\\\\envs\\\\gaussianpack-nodes\\\\Lib\\\\site-packages', 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1400\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-GaussianPack']\n [ComfyUI] [SubprocessWorker] is_pixi=True, python=C:\\Users\\stduser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\gaussianpack-nodes\\python.exe\n [ComfyUI] [SubprocessWorker] launching cmd=['C:\\\\Users\\\\stduser\\\\.pixi\\\\bin\\\\pixi.exe', 'run', '--as-is', '--manifest-path', 'C:\\\\Users\\\\stduser\\\\AppData\\\\Local\\\\Programs\\\\comfy-env\\\\pixi.toml', '-e', 'gaussianpack-nodes', 'python', 'C:\\\\Users\\\\stduser\\\\AppData\\\\Local\\\\Temp\\\\comfyui_pvenv_aamctmub\\\\persistent_worker.py', 'tcp://127.0.0.1:60968']..."}, {"file": "frame_002.jpg", "time": 3.18, "log": " [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\nCapturing execution frames: gaussian_analysis.json\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\n Frame 1 saved (frame_000.jpg, t=0.0s)\n Validating workflow...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m === /validate endpoint called ===\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Received JSON with keys: ['prompt']\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Prompt has 4 nodes\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 1: LoadPLY\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"ply_file\": \"apple.ply\"}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 19: GaussianAnalysis\n Queuing workflow for execution...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"ply_path\": [\"1\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 20: LoadPLY\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"ply_file\": \"compressed_room.ply\"}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 21: GaussianAnalysis\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"ply_path\": [\"20\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Generated prompt_id: 47d72ba8-7f3c-41a4-9cae-5bc3f8c11584\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Calling execution.validate_prompt()...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Validation result: valid=True\n [ComfyUI] \u001b[32m[INFO]\u001b[0m === Validation PASSED ===\n [ComfyUI] \u001b[32m[INFO]\u001b[0m got prompt\n [ComfyUI] [comfy-env] Running LoadPLY: ply_file: 'apple.ply'\n [ComfyUI] [comfy-env] SubprocessWorker: C:\\Users\\stduser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\gaussianpack-nodes\\python.exe\n [ComfyUI] [comfy-env] env_vars: {'COMFYUI_BASE': 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1400\\\\ComfyUI'}\n [ComfyUI] [SubprocessWorker] call_method: nodes.load_ply.LoadPLY.load\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [comfy-env] gaussianpack-nodes: Library/bin has 158 DLLs\n [ComfyUI] [ComfyUI-GaussianPack] python: C:\\Users\\stduser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\gaussianpack-nodes\\python.exe\n [ComfyUI] [ComfyUI-GaussianPack] sys_path sent to worker: ['D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1400\\\\ComfyUI', 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1400\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-GaussianPack', 'C:\\\\Users\\\\stduser\\\\AppData\\\\Local\\\\Programs\\\\comfy-env\\\\.pixi\\\\envs\\\\gaussianpack-nodes\\\\Lib\\\\site-packages', 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1400\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-GaussianPack']\n [ComfyUI] [SubprocessWorker] is_pixi=True, python=C:\\Users\\stduser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\gaussianpack-nodes\\python.exe\n [ComfyUI] [SubprocessWorker] launching cmd=['C:\\\\Users\\\\stduser\\\\.pixi\\\\bin\\\\pixi.exe', 'run', '--as-is', '--manifest-path', 'C:\\\\Users\\\\stduser\\\\AppData\\\\Local\\\\Programs\\\\comfy-env\\\\pixi.toml', '-e', 'gaussianpack-nodes', 'python', 'C:\\\\Users\\\\stduser\\\\AppData\\\\Local\\\\Temp\\\\comfyui_pvenv_aamctmub\\\\persistent_worker.py', 'tcp://127.0.0.1:60968']...\n Frame 2 saved (frame_001.jpg, t=2.4s)\n [capture-periodic] freeze=3ms shot=90ms unfreeze=5ms saved=True\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=1 sending call_method\n [ComfyUI] [worker:ComfyUI-GaussianPack] WARNING: SPZ route not registered (ModuleNotFoundError: No module named 'comfy_aimdo')\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] LoadPLY done (2.67s): result: list[1]\n [ComfyUI] [comfy-env] Running GaussianAnalysis: ply_path: 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Gaus...\n [ComfyUI] [SubprocessWorker] call_method: nodes.analyze_gaussians.GaussianAnalysis.analyze\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=2 sending call_method\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] GaussianAnalysis done (0.08s): result: dict\n [ComfyUI] [comfy-env] Running LoadPLY: ply_file: 'compressed_room.ply'\n [ComfyUI] [SubprocessWorker] call_method: nodes.load_ply.LoadPLY.load\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed"}, {"file": "frame_003.jpg", "time": 3.59, "log": " [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\nCapturing execution frames: gaussian_analysis.json\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\n Frame 1 saved (frame_000.jpg, t=0.0s)\n Validating workflow...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m === /validate endpoint called ===\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Received JSON with keys: ['prompt']\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Prompt has 4 nodes\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 1: LoadPLY\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"ply_file\": \"apple.ply\"}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 19: GaussianAnalysis\n Queuing workflow for execution...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"ply_path\": [\"1\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 20: LoadPLY\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"ply_file\": \"compressed_room.ply\"}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 21: GaussianAnalysis\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"ply_path\": [\"20\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Generated prompt_id: 47d72ba8-7f3c-41a4-9cae-5bc3f8c11584\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Calling execution.validate_prompt()...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Validation result: valid=True\n [ComfyUI] \u001b[32m[INFO]\u001b[0m === Validation PASSED ===\n [ComfyUI] \u001b[32m[INFO]\u001b[0m got prompt\n [ComfyUI] [comfy-env] Running LoadPLY: ply_file: 'apple.ply'\n [ComfyUI] [comfy-env] SubprocessWorker: C:\\Users\\stduser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\gaussianpack-nodes\\python.exe\n [ComfyUI] [comfy-env] env_vars: {'COMFYUI_BASE': 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1400\\\\ComfyUI'}\n [ComfyUI] [SubprocessWorker] call_method: nodes.load_ply.LoadPLY.load\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [comfy-env] gaussianpack-nodes: Library/bin has 158 DLLs\n [ComfyUI] [ComfyUI-GaussianPack] python: C:\\Users\\stduser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\gaussianpack-nodes\\python.exe\n [ComfyUI] [ComfyUI-GaussianPack] sys_path sent to worker: ['D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1400\\\\ComfyUI', 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1400\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-GaussianPack', 'C:\\\\Users\\\\stduser\\\\AppData\\\\Local\\\\Programs\\\\comfy-env\\\\.pixi\\\\envs\\\\gaussianpack-nodes\\\\Lib\\\\site-packages', 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1400\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-GaussianPack']\n [ComfyUI] [SubprocessWorker] is_pixi=True, python=C:\\Users\\stduser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\gaussianpack-nodes\\python.exe\n [ComfyUI] [SubprocessWorker] launching cmd=['C:\\\\Users\\\\stduser\\\\.pixi\\\\bin\\\\pixi.exe', 'run', '--as-is', '--manifest-path', 'C:\\\\Users\\\\stduser\\\\AppData\\\\Local\\\\Programs\\\\comfy-env\\\\pixi.toml', '-e', 'gaussianpack-nodes', 'python', 'C:\\\\Users\\\\stduser\\\\AppData\\\\Local\\\\Temp\\\\comfyui_pvenv_aamctmub\\\\persistent_worker.py', 'tcp://127.0.0.1:60968']...\n Frame 2 saved (frame_001.jpg, t=2.4s)\n [capture-periodic] freeze=3ms shot=90ms unfreeze=5ms saved=True\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=1 sending call_method\n [ComfyUI] [worker:ComfyUI-GaussianPack] WARNING: SPZ route not registered (ModuleNotFoundError: No module named 'comfy_aimdo')\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] LoadPLY done (2.67s): result: list[1]\n [ComfyUI] [comfy-env] Running GaussianAnalysis: ply_path: 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Gaus...\n [ComfyUI] [SubprocessWorker] call_method: nodes.analyze_gaussians.GaussianAnalysis.analyze\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=2 sending call_method\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] GaussianAnalysis done (0.08s): result: dict\n [ComfyUI] [comfy-env] Running LoadPLY: ply_file: 'compressed_room.ply'\n [ComfyUI] [SubprocessWorker] call_method: nodes.load_ply.LoadPLY.load\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n Node executed (1 total), capturing...\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=3 sending call_method\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] LoadPLY done (0.09s): result: list[1]\n [ComfyUI] [comfy-env] Running GaussianAnalysis: ply_path: 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Gaus...\n [ComfyUI] [SubprocessWorker] call_method: nodes.analyze_gaussians.GaussianAnalysis.analyze\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=4 sending call_method\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] GaussianAnalysis done (0.09s): result: dict\n [ComfyUI] \u001b[32m[INFO]\u001b[0m \u001b[32mPrompt executed in 2.93 seconds\u001b[0m\n Frame 3 saved (frame_002.jpg, t=3.2s)\n [capture-node] freeze=15ms shot=93ms unfreeze=5ms saved=True"}, {"file": "frame_004.jpg", "time": 5.964961290359497, "log": "Final screenshot"}], "total_time": 3.74}, "rotate_splats": {"frames": [{"file": "frame_000.jpg", "time": 0.0, "log": " [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\nCapturing execution frames: rotate_splats.json\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache."}, {"file": "frame_001.jpg", "time": 2.22, "log": " [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\nCapturing execution frames: rotate_splats.json\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\n Frame 1 saved (frame_000.jpg, t=0.0s)\n Validating workflow...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m === /validate endpoint called ===\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Received JSON with keys: ['prompt']\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Prompt has 3 nodes\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 1: LoadPLY\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"ply_file\": \"apple.ply\"}\n Queuing workflow for execution...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 14: PreviewGaussianDual\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"layout\": \"slider\", \"camera_mode\": \"orbit\", \"fov_degrees\": 70, \"renderer\": \"playcanvas\", \"transport_format\": \"ply\", \"ply_path_1\": [\"1\", 0], \"ply_path_2\": [\"18\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 18: TransformGaussian\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"rotate_x\": -90, \"rotate_y\": 0, \"rotate_z\": 0, \"ply_path\": [\"1\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Generated prompt_id: 35ef54fd-b25d-4137-a0b9-dafb2115bb79\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Calling execution.validate_prompt()...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Validation result: valid=True\n [ComfyUI] \u001b[32m[INFO]\u001b[0m === Validation PASSED ===\n [ComfyUI] \u001b[32m[INFO]\u001b[0m got prompt\n [ComfyUI] [comfy-env] Running LoadPLY: ply_file: 'apple.ply'\n [ComfyUI] [SubprocessWorker] call_method: nodes.load_ply.LoadPLY.load\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: failed\n [ComfyUI] [ComfyUI-GaussianPack] Socket unhealthy, restarting worker...\n [ComfyUI] [comfy-env] gaussianpack-nodes: Library/bin has 158 DLLs\n [ComfyUI] [ComfyUI-GaussianPack] python: C:\\Users\\stduser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\gaussianpack-nodes\\python.exe\n [ComfyUI] [ComfyUI-GaussianPack] sys_path sent to worker: ['D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1400\\\\ComfyUI', 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1400\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-GaussianPack', 'C:\\\\Users\\\\stduser\\\\AppData\\\\Local\\\\Programs\\\\comfy-env\\\\.pixi\\\\envs\\\\gaussianpack-nodes\\\\Lib\\\\site-packages', 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1400\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-GaussianPack']\n [ComfyUI] [SubprocessWorker] is_pixi=True, python=C:\\Users\\stduser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\gaussianpack-nodes\\python.exe\n [ComfyUI] [SubprocessWorker] launching cmd=['C:\\\\Users\\\\stduser\\\\.pixi\\\\bin\\\\pixi.exe', 'run', '--as-is', '--manifest-path', 'C:\\\\Users\\\\stduser\\\\AppData\\\\Local\\\\Programs\\\\comfy-env\\\\pixi.toml', '-e', 'gaussianpack-nodes', 'python', 'C:\\\\Users\\\\stduser\\\\AppData\\\\Local\\\\Temp\\\\comfyui_pvenv_aamctmub\\\\persistent_worker.py', 'tcp://127.0.0.1:52668']..."}, {"file": "frame_002.jpg", "time": 3.7, "log": " [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\nCapturing execution frames: rotate_splats.json\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\n Frame 1 saved (frame_000.jpg, t=0.0s)\n Validating workflow...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m === /validate endpoint called ===\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Received JSON with keys: ['prompt']\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Prompt has 3 nodes\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 1: LoadPLY\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"ply_file\": \"apple.ply\"}\n Queuing workflow for execution...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 14: PreviewGaussianDual\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"layout\": \"slider\", \"camera_mode\": \"orbit\", \"fov_degrees\": 70, \"renderer\": \"playcanvas\", \"transport_format\": \"ply\", \"ply_path_1\": [\"1\", 0], \"ply_path_2\": [\"18\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 18: TransformGaussian\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"rotate_x\": -90, \"rotate_y\": 0, \"rotate_z\": 0, \"ply_path\": [\"1\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Generated prompt_id: 35ef54fd-b25d-4137-a0b9-dafb2115bb79\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Calling execution.validate_prompt()...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Validation result: valid=True\n [ComfyUI] \u001b[32m[INFO]\u001b[0m === Validation PASSED ===\n [ComfyUI] \u001b[32m[INFO]\u001b[0m got prompt\n [ComfyUI] [comfy-env] Running LoadPLY: ply_file: 'apple.ply'\n [ComfyUI] [SubprocessWorker] call_method: nodes.load_ply.LoadPLY.load\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: failed\n [ComfyUI] [ComfyUI-GaussianPack] Socket unhealthy, restarting worker...\n [ComfyUI] [comfy-env] gaussianpack-nodes: Library/bin has 158 DLLs\n [ComfyUI] [ComfyUI-GaussianPack] python: C:\\Users\\stduser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\gaussianpack-nodes\\python.exe\n [ComfyUI] [ComfyUI-GaussianPack] sys_path sent to worker: ['D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1400\\\\ComfyUI', 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1400\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-GaussianPack', 'C:\\\\Users\\\\stduser\\\\AppData\\\\Local\\\\Programs\\\\comfy-env\\\\.pixi\\\\envs\\\\gaussianpack-nodes\\\\Lib\\\\site-packages', 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1400\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-GaussianPack']\n [ComfyUI] [SubprocessWorker] is_pixi=True, python=C:\\Users\\stduser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\gaussianpack-nodes\\python.exe\n [ComfyUI] [SubprocessWorker] launching cmd=['C:\\\\Users\\\\stduser\\\\.pixi\\\\bin\\\\pixi.exe', 'run', '--as-is', '--manifest-path', 'C:\\\\Users\\\\stduser\\\\AppData\\\\Local\\\\Programs\\\\comfy-env\\\\pixi.toml', '-e', 'gaussianpack-nodes', 'python', 'C:\\\\Users\\\\stduser\\\\AppData\\\\Local\\\\Temp\\\\comfyui_pvenv_aamctmub\\\\persistent_worker.py', 'tcp://127.0.0.1:52668']...\n Frame 2 saved (frame_001.jpg, t=2.2s)\n [capture-periodic] freeze=4ms shot=89ms unfreeze=4ms saved=True\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=8 sending call_method\n [ComfyUI] [worker:ComfyUI-GaussianPack] WARNING: SPZ route not registered (ModuleNotFoundError: No module named 'comfy_aimdo')\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] LoadPLY done (2.60s): result: list[1]\n [ComfyUI] [comfy-env] Running TransformGaussian: rotate_x: -90.0, rotate_y: 0.0, rotate_z: 0.0, ply_path: 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Gaus...\n [ComfyUI] [SubprocessWorker] call_method: nodes.transform_gaussian.TransformGaussian.transform\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=9 sending call_method\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] TransformGaussian done (0.68s): result: list[1]\n [ComfyUI] [comfy-env] Running PreviewGaussianDual: layout: 'slider', camera_mode: 'orbit', fov_degrees: 70.0, renderer: 'playcanvas', transport_format: 'ply', ply_path_1: 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Gaus..., ply_path_2: 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Gaus...\n [ComfyUI] [SubprocessWorker] call_method: nodes.preview_gaussian_dual.PreviewGaussianDual.preview\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=10 sending call_method\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] PreviewGaussianDual done (0.09s): result: dict\n [ComfyUI] \u001b[32m[INFO]\u001b[0m \u001b[32mPrompt executed in 3.39 seconds\u001b[0m"}, {"file": "frame_003.jpg", "time": 66.53449749946594, "log": "Final screenshot"}], "total_time": 64.35}};
const inIframe = window !== window.top;
let currentWorkflow = null;
diff --git a/dev/windows-cpu/logs/gaussian_analysis.log b/dev/windows-cpu/logs/gaussian_analysis.log
index 02ffce4..d5ef032 100644
--- a/dev/windows-cpu/logs/gaussian_analysis.log
+++ b/dev/windows-cpu/logs/gaussian_analysis.log
@@ -15,23 +15,23 @@ Capturing execution frames: gaussian_analysis.json
[ComfyUI] [32m[INFO][0m Inputs: {"ply_file": "compressed_room.ply"}
[ComfyUI] [32m[INFO][0m Node 21: GaussianAnalysis
[ComfyUI] [32m[INFO][0m Inputs: {"ply_path": ["20", 0]}
- [ComfyUI] [32m[INFO][0m Generated prompt_id: c233e1cc-1cb5-4b63-b339-c7bcc552f02f
+ [ComfyUI] [32m[INFO][0m Generated prompt_id: 47d72ba8-7f3c-41a4-9cae-5bc3f8c11584
[ComfyUI] [32m[INFO][0m Calling execution.validate_prompt()...
[ComfyUI] [32m[INFO][0m Validation result: valid=True
[ComfyUI] [32m[INFO][0m === Validation PASSED ===
[ComfyUI] [32m[INFO][0m got prompt
+ [ComfyUI] [comfy-env] Running LoadPLY: ply_file: 'apple.ply'
[ComfyUI] [comfy-env] SubprocessWorker: C:\Users\stduser\AppData\Local\Programs\comfy-env\.pixi\envs\gaussianpack-nodes\python.exe
- [ComfyUI] [comfy-env] Running LoadPLY: ply_file: 'compressed_room.ply'
- [ComfyUI] [comfy-env] env_vars: {'COMFYUI_BASE': 'D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1247\\ComfyUI'}
+ [ComfyUI] [comfy-env] env_vars: {'COMFYUI_BASE': 'D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1400\\ComfyUI'}
[ComfyUI] [SubprocessWorker] call_method: nodes.load_ply.LoadPLY.load
[ComfyUI] [SubprocessWorker] acquired lock, ensuring started...
- [ComfyUI] [comfy-env] gaussianpack-nodes: Library/bin has 157 DLLs
+ [ComfyUI] [comfy-env] gaussianpack-nodes: Library/bin has 158 DLLs
[ComfyUI] [ComfyUI-GaussianPack] python: C:\Users\stduser\AppData\Local\Programs\comfy-env\.pixi\envs\gaussianpack-nodes\python.exe
- [ComfyUI] [ComfyUI-GaussianPack] sys_path sent to worker: ['D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1247\\ComfyUI', 'D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1247\\ComfyUI\\custom_nodes\\ComfyUI-GaussianPack', 'C:\\Users\\stduser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\gaussianpack-nodes\\Lib\\site-packages', 'D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1247\\ComfyUI\\custom_nodes\\ComfyUI-GaussianPack']
+ [ComfyUI] [ComfyUI-GaussianPack] sys_path sent to worker: ['D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1400\\ComfyUI', 'D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1400\\ComfyUI\\custom_nodes\\ComfyUI-GaussianPack', 'C:\\Users\\stduser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\gaussianpack-nodes\\Lib\\site-packages', 'D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1400\\ComfyUI\\custom_nodes\\ComfyUI-GaussianPack']
[ComfyUI] [SubprocessWorker] is_pixi=True, python=C:\Users\stduser\AppData\Local\Programs\comfy-env\.pixi\envs\gaussianpack-nodes\python.exe
- [ComfyUI] [SubprocessWorker] launching cmd=['C:\\Users\\stduser\\.pixi\\bin\\pixi.exe', 'run', '--as-is', '--manifest-path', 'C:\\Users\\stduser\\AppData\\Local\\Programs\\comfy-env\\pixi.toml', '-e', 'gaussianpack-nodes', 'python', 'C:\\Users\\stduser\\AppData\\Local\\Temp\\comfyui_pvenv_d4yba5md\\persistent_worker.py', 'tcp://127.0.0.1:61051']...
- Frame 2 saved (frame_001.jpg, t=2.3s)
- [capture-periodic] freeze=4ms shot=88ms unfreeze=4ms saved=True
+ [ComfyUI] [SubprocessWorker] launching cmd=['C:\\Users\\stduser\\.pixi\\bin\\pixi.exe', 'run', '--as-is', '--manifest-path', 'C:\\Users\\stduser\\AppData\\Local\\Programs\\comfy-env\\pixi.toml', '-e', 'gaussianpack-nodes', 'python', 'C:\\Users\\stduser\\AppData\\Local\\Temp\\comfyui_pvenv_aamctmub\\persistent_worker.py', 'tcp://127.0.0.1:60968']...
+ Frame 2 saved (frame_001.jpg, t=2.4s)
+ [capture-periodic] freeze=3ms shot=90ms unfreeze=5ms saved=True
[ComfyUI] [SubprocessWorker] worker started/confirmed
[ComfyUI] [SubprocessWorker] serializing kwargs to shm...
[ComfyUI] [SubprocessWorker] created 0 shm blocks
@@ -39,7 +39,7 @@ Capturing execution frames: gaussian_analysis.json
[ComfyUI] [SubprocessWorker] call_id=1 sending call_method
[ComfyUI] [worker:ComfyUI-GaussianPack] WARNING: SPZ route not registered (ModuleNotFoundError: No module named 'comfy_aimdo')
[ComfyUI] [SubprocessWorker] got response: ok
- [ComfyUI] [comfy-env] LoadPLY done (2.93s): result: list[1]
+ [ComfyUI] [comfy-env] LoadPLY done (2.67s): result: list[1]
[ComfyUI] [comfy-env] Running GaussianAnalysis: ply_path: 'D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Gaus...
[ComfyUI] [SubprocessWorker] call_method: nodes.analyze_gaussians.GaussianAnalysis.analyze
[ComfyUI] [SubprocessWorker] acquired lock, ensuring started...
@@ -51,19 +51,20 @@ Capturing execution frames: gaussian_analysis.json
[ComfyUI] [SubprocessWorker] sending request via socket...
[ComfyUI] [SubprocessWorker] call_id=2 sending call_method
[ComfyUI] [SubprocessWorker] got response: ok
- [ComfyUI] [comfy-env] GaussianAnalysis done (0.05s): result: dict
- [ComfyUI] [comfy-env] Running LoadPLY: ply_file: 'apple.ply'
+ [ComfyUI] [comfy-env] GaussianAnalysis done (0.08s): result: dict
+ [ComfyUI] [comfy-env] Running LoadPLY: ply_file: 'compressed_room.ply'
[ComfyUI] [SubprocessWorker] call_method: nodes.load_ply.LoadPLY.load
[ComfyUI] [SubprocessWorker] acquired lock, ensuring started...
[ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...
[ComfyUI] [ComfyUI-GaussianPack] Health check: ok
[ComfyUI] [SubprocessWorker] worker started/confirmed
+ Node executed (1 total), capturing...
[ComfyUI] [SubprocessWorker] serializing kwargs to shm...
[ComfyUI] [SubprocessWorker] created 0 shm blocks
[ComfyUI] [SubprocessWorker] sending request via socket...
[ComfyUI] [SubprocessWorker] call_id=3 sending call_method
[ComfyUI] [SubprocessWorker] got response: ok
- [ComfyUI] [comfy-env] LoadPLY done (0.06s): result: list[1]
+ [ComfyUI] [comfy-env] LoadPLY done (0.09s): result: list[1]
[ComfyUI] [comfy-env] Running GaussianAnalysis: ply_path: 'D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Gaus...
[ComfyUI] [SubprocessWorker] call_method: nodes.analyze_gaussians.GaussianAnalysis.analyze
[ComfyUI] [SubprocessWorker] acquired lock, ensuring started...
@@ -71,24 +72,23 @@ Capturing execution frames: gaussian_analysis.json
[ComfyUI] [ComfyUI-GaussianPack] Health check: ok
[ComfyUI] [SubprocessWorker] worker started/confirmed
[ComfyUI] [SubprocessWorker] serializing kwargs to shm...
- Node executed (1 total), capturing...
[ComfyUI] [SubprocessWorker] created 0 shm blocks
[ComfyUI] [SubprocessWorker] sending request via socket...
[ComfyUI] [SubprocessWorker] call_id=4 sending call_method
[ComfyUI] [SubprocessWorker] got response: ok
- [ComfyUI] [comfy-env] GaussianAnalysis done (0.05s): result: dict
- [ComfyUI] [32m[INFO][0m [32mPrompt executed in 3.11 seconds[0m
- Frame 3 saved (frame_002.jpg, t=3.4s)
- [capture-node] freeze=4ms shot=87ms unfreeze=4ms saved=True
+ [ComfyUI] [comfy-env] GaussianAnalysis done (0.09s): result: dict
+ [ComfyUI] [32m[INFO][0m [32mPrompt executed in 2.93 seconds[0m
+ Frame 3 saved (frame_002.jpg, t=3.2s)
+ [capture-node] freeze=15ms shot=93ms unfreeze=5ms saved=True
Node executed (2 total), capturing...
- Frame 4 saved (frame_003.jpg, t=3.8s)
- [capture-node] freeze=4ms shot=104ms unfreeze=0ms saved=True
- Execution complete (t=3.8s)
+ Frame 4 saved (frame_003.jpg, t=3.6s)
+ [capture-node] freeze=4ms shot=97ms unfreeze=0ms saved=True
+ Execution complete (t=3.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=0
[3d-wait] Total 3D wait: 0.0s
- Captured 4 unique frames over 3.96s
+ Captured 4 unique frames over 3.74s
[debug] iframes: 0
[timing] trigger_3d_previews: 0.0s
Saved high-quality screenshot: gaussian_analysis_executed.png
diff --git a/dev/windows-cpu/logs/gaussian_analysis_console.log b/dev/windows-cpu/logs/gaussian_analysis_console.log
index e39f138..ef783ae 100644
--- a/dev/windows-cpu/logs/gaussian_analysis_console.log
+++ b/dev/windows-cpu/logs/gaussian_analysis_console.log
@@ -7,13 +7,13 @@
[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 "playcanvas". R…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-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 "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-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-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
diff --git a/dev/windows-cpu/logs/gaussian_analysis_resources.csv b/dev/windows-cpu/logs/gaussian_analysis_resources.csv
index 799fdda..da8c44f 100644
--- a/dev/windows-cpu/logs/gaussian_analysis_resources.csv
+++ b/dev/windows-cpu/logs/gaussian_analysis_resources.csv
@@ -1,18 +1,17 @@
# total_ram_gb=16.0
t,ram_gb,vram_gb
-0.0,0.52,
-1.0,0.52,
+0.0,0.51,
+1.0,0.51,
2.0,0.52,
-3.0,0.53,
-4.0,0.53,
-5.0,0.53,
-6.0,0.53,
-7.0,0.53,
-8.0,0.53,
-9.1,0.53,
-10.1,0.65,
-11.1,0.71,
+3.0,0.52,
+4.0,0.52,
+5.0,0.52,
+6.0,0.52,
+7.0,0.52,
+8.0,0.52,
+9.0,0.52,
+10.0,0.67,
+11.0,0.72,
12.1,0.75,
13.1,0.75,
14.1,0.75,
-15.1,0.75,
diff --git a/dev/windows-cpu/logs/merge_splats.log b/dev/windows-cpu/logs/merge_splats.log
index 5a2cf6d..ce5c604 100644
--- a/dev/windows-cpu/logs/merge_splats.log
+++ b/dev/windows-cpu/logs/merge_splats.log
@@ -1,6 +1,16 @@
+ [ComfyUI] [32m[INFO][0m Using RAM pressure cache.
Capturing execution frames: merge_splats.json
[ComfyUI] [32m[INFO][0m Using RAM pressure cache.
- [ComfyUI] [32m[INFO][0m Using RAM pressure cache.
+ [ComfyUI] [1m[31m[ERROR][0m Exception in callback _ProactorBasePipeTransport._call_connection_lost()
+ [ComfyUI] handle:
+ [ComfyUI] Traceback (most recent call last):
+ [ComfyUI] File "C:\hostedtoolcache\windows\Python\3.13.13\x64\Lib\asyncio\events.py", line 89, in _run
+ [ComfyUI] self._context.run(self._callback, *self._args)
+ [ComfyUI] ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ [ComfyUI] File "C:\hostedtoolcache\windows\Python\3.13.13\x64\Lib\asyncio\proactor_events.py", line 165, in _call_connection_lost
+ [ComfyUI] self._sock.shutdown(socket.SHUT_RDWR)
+ [ComfyUI] ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^
+ [ComfyUI] ConnectionResetError: [WinError 10054] An existing connection was forcibly closed by the remote host
Frame 1 saved (frame_000.jpg, t=0.0s)
Validating workflow...
[ComfyUI] [32m[INFO][0m === /validate endpoint called ===
@@ -8,12 +18,12 @@ Capturing execution frames: merge_splats.json
[ComfyUI] [32m[INFO][0m Prompt has 3 nodes
[ComfyUI] [32m[INFO][0m Node 1: LoadPLY
[ComfyUI] [32m[INFO][0m Inputs: {"ply_file": "apple.ply"}
- [ComfyUI] [32m[INFO][0m Node 12: GaussianMerge
Queuing workflow for execution...
+ [ComfyUI] [32m[INFO][0m Node 12: GaussianMerge
[ComfyUI] [32m[INFO][0m Inputs: {"target_count": 100000, "output_filename": "applemerged", "opacity_threshold": 0.1, "k": 16, "backend": "nanogs_cpu", "ply_path": ["1", 0]}
[ComfyUI] [32m[INFO][0m Node 14: PreviewGaussianDual
[ComfyUI] [32m[INFO][0m Inputs: {"layout": "slider", "camera_mode": "orbit", "fov_degrees": 70, "renderer": "playcanvas", "transport_format": "ply", "ply_path_1": ["1", 0], "ply_path_2": ["12", 0]}
- [ComfyUI] [32m[INFO][0m Generated prompt_id: 4127fb02-b210-4ff1-96d6-692c7d63cb84
+ [ComfyUI] [32m[INFO][0m Generated prompt_id: 35093fa4-0765-48a0-9728-87adb2bac7af
[ComfyUI] [32m[INFO][0m Calling execution.validate_prompt()...
[ComfyUI] [32m[INFO][0m Validation result: valid=True
[ComfyUI] [32m[INFO][0m === Validation PASSED ===
@@ -29,7 +39,7 @@ Capturing execution frames: merge_splats.json
[ComfyUI] [SubprocessWorker] sending request via socket...
[ComfyUI] [SubprocessWorker] call_id=5 sending call_method
[ComfyUI] [SubprocessWorker] got response: ok
- [ComfyUI] [comfy-env] LoadPLY done (0.06s): result: list[1]
+ [ComfyUI] [comfy-env] LoadPLY done (0.08s): result: list[1]
[ComfyUI] [comfy-env] Running GaussianMerge: target_count: 100000, output_filename: 'applemerged', opacity_threshold: 0.1, k: 16, backend: 'nanogs_cpu', ply_path: 'D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Gaus...
[ComfyUI] [SubprocessWorker] call_method: nodes.merge_gaussians.GaussianMerge.merge
[ComfyUI] [SubprocessWorker] acquired lock, ensuring started...
@@ -40,7 +50,7 @@ Capturing execution frames: merge_splats.json
[ComfyUI] [SubprocessWorker] created 0 shm blocks
[ComfyUI] [SubprocessWorker] sending request via socket...
[ComfyUI] [SubprocessWorker] call_id=6 sending call_method
- [ComfyUI] [worker:ComfyUI-GaussianPack] Loading PLY: D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\GaussianPack-1247\ComfyUI\input\apple.ply
+ [ComfyUI] [worker:ComfyUI-GaussianPack] Loading PLY: D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\GaussianPack-1400\ComfyUI\input\apple.ply
[ComfyUI] [worker:ComfyUI-GaussianPack] Initial splats: 200000
[ComfyUI] [worker:ComfyUI-GaussianPack] Pruned splats: 200000, target: 100000
[ComfyUI] [worker:ComfyUI-GaussianPack] Opacity Mean: 0.53443545 Median: 0.48362076
@@ -48,55 +58,55 @@ Capturing execution frames: merge_splats.json
[ComfyUI] [worker:ComfyUI-GaussianPack] Original count: 200000, after opacity pruning: 200000
[ComfyUI] [worker:ComfyUI-GaussianPack] After opacity pruning, 200000 splats remain.
[ComfyUI] [worker:ComfyUI-GaussianPack] Pass 1: 200000 splats
- Frame 2 saved (frame_001.jpg, t=2.2s)
- [capture-periodic] freeze=3ms shot=99ms unfreeze=3ms saved=True
- Frame 3 saved (frame_002.jpg, t=4.4s)
- [capture-periodic] freeze=2ms shot=87ms unfreeze=3ms saved=True
+ Frame 2 saved (frame_001.jpg, t=2.1s)
+ [capture-periodic] freeze=4ms shot=94ms unfreeze=5ms saved=True
+ Frame 3 saved (frame_002.jpg, t=4.3s)
+ [capture-periodic] freeze=4ms shot=82ms unfreeze=5ms saved=True
[ComfyUI]
[ComfyUI] Edge costs: 0%| | 0/19 [00:00, ?it/s]
- [ComfyUI] Edge costs: 5%|▌ | 1/19 [00:00<00:04, 3.66it/s]
- [capture-loop] iter=50 t=5.7s state={'complete': False, 'error': None, 'executedCount': 0, 'wsState': 1} eval_ms=5 ram=5.1/16.0GB (32%) swap=0.2/2.9GB (6%) cpu=39% browser_rss=0.77GB
- [ComfyUI] Edge costs: 11%|█ | 2/19 [00:00<00:04, 3.90it/s]
- [ComfyUI] Edge costs: 16%|█▌ | 3/19 [00:00<00:04, 3.96it/s]
- [ComfyUI] Edge costs: 21%|██ | 4/19 [00:01<00:03, 3.77it/s]
- [ComfyUI] Edge costs: 26%|██▋ | 5/19 [00:01<00:03, 3.84it/s]
- [ComfyUI] Edge costs: 32%|███▏ | 6/19 [00:01<00:03, 3.92it/s]
- [ComfyUI] Edge costs: 37%|███▋ | 7/19 [00:01<00:03, 3.87it/s]
- [ComfyUI] Edge costs: 42%|████▏ | 8/19 [00:02<00:02, 3.89it/s]
- [ComfyUI] Edge costs: 47%|████▋ | 9/19 [00:02<00:02, 4.03it/s]
- [ComfyUI] Edge costs: 53%|█████▎ | 10/19 [00:02<00:02, 4.07it/s]
- [ComfyUI] Edge costs: 58%|█████▊ | 11/19 [00:02<00:01, 4.15it/s]
- [ComfyUI] Edge costs: 63%|██████▎ | 12/19 [00:02<00:01, 4.19it/s]
- [ComfyUI] Edge costs: 68%|██████▊ | 13/19 [00:03<00:01, 4.16it/s]
- [ComfyUI] Edge costs: 74%|███████▎ | 14/19 [00:03<00:01, 4.17it/s]
- [ComfyUI] Edge costs: 79%|███████▉ | 15/19 [00:03<00:00, 4.14it/s]
- [ComfyUI] Edge costs: 84%|████████▍ | 16/19 [00:03<00:00, 4.05it/s]
- [ComfyUI] Edge costs: 89%|████████▉ | 17/19 [00:04<00:00, 4.16it/s]
- [ComfyUI] Edge costs: 95%|█████████▍| 18/19 [00:04<00:00, 3.97it/s]
- [ComfyUI] Edge costs: 100%|██████████| 19/19 [00:04<00:00, 4.59it/s]
- [ComfyUI] Edge costs: 100%|██████████| 19/19 [00:04<00:00, 4.10it/s]
+ [ComfyUI] Edge costs: 5%|▌ | 1/19 [00:00<00:06, 2.89it/s]
+ [capture-loop] iter=50 t=5.7s state={'complete': False, 'error': None, 'executedCount': 0, 'wsState': 1} eval_ms=4 ram=4.8/16.0GB (30%) swap=0.2/2.9GB (6%) cpu=36% browser_rss=0.72GB
+ [ComfyUI] Edge costs: 11%|█ | 2/19 [00:00<00:04, 3.63it/s]
+ [ComfyUI] Edge costs: 16%|█▌ | 3/19 [00:00<00:04, 3.82it/s]
+ [ComfyUI] Edge costs: 21%|██ | 4/19 [00:01<00:03, 3.84it/s]
+ [ComfyUI] Edge costs: 26%|██▋ | 5/19 [00:01<00:03, 3.99it/s]
+ [ComfyUI] Edge costs: 32%|███▏ | 6/19 [00:01<00:03, 3.94it/s]
+ [ComfyUI] Edge costs: 37%|███▋ | 7/19 [00:01<00:03, 3.98it/s]
+ [ComfyUI] Edge costs: 42%|████▏ | 8/19 [00:02<00:02, 4.06it/s]
+ [ComfyUI] Edge costs: 47%|████▋ | 9/19 [00:02<00:02, 4.09it/s]
+ [ComfyUI] Edge costs: 53%|█████▎ | 10/19 [00:02<00:02, 4.10it/s]
+ [ComfyUI] Edge costs: 58%|█████▊ | 11/19 [00:02<00:01, 4.12it/s]
+ [ComfyUI] Edge costs: 63%|██████▎ | 12/19 [00:03<00:01, 3.94it/s]
+ [ComfyUI] Edge costs: 68%|██████▊ | 13/19 [00:03<00:01, 4.07it/s]
+ [ComfyUI] Edge costs: 74%|███████▎ | 14/19 [00:03<00:01, 4.19it/s]
+ [ComfyUI] Edge costs: 79%|███████▉ | 15/19 [00:03<00:00, 4.08it/s]
+ [ComfyUI] Edge costs: 84%|████████▍ | 16/19 [00:03<00:00, 4.17it/s]
+ [ComfyUI] Edge costs: 89%|████████▉ | 17/19 [00:04<00:00, 4.24it/s]
+ [ComfyUI] Edge costs: 95%|█████████▍| 18/19 [00:04<00:00, 4.25it/s]
+ [ComfyUI] Edge costs: 100%|██████████| 19/19 [00:04<00:00, 5.09it/s]
+ [ComfyUI] Edge costs: 100%|██████████| 19/19 [00:04<00:00, 4.17it/s]
[ComfyUI] [worker:ComfyUI-GaussianPack] edges: 1848776, pairs: 96906 (need 100000)
[ComfyUI] [worker:ComfyUI-GaussianPack] Merging 96906 pairs
[ComfyUI] [worker:ComfyUI-GaussianPack] Pass 2: 103094 splats
- [capture-loop] iter=100 t=11.6s state={'complete': False, 'error': None, 'executedCount': 0, 'wsState': 1} eval_ms=3 ram=4.9/16.0GB (30%) swap=0.2/2.9GB (6%) cpu=38% browser_rss=0.68GB
+ [capture-loop] iter=100 t=11.8s state={'complete': False, 'error': None, 'executedCount': 0, 'wsState': 1} eval_ms=4 ram=4.7/16.0GB (29%) swap=0.2/2.9GB (6%) cpu=40% browser_rss=0.65GB
[ComfyUI]
[ComfyUI] Edge costs: 0%| | 0/10 [00:00, ?it/s]
- [ComfyUI] Edge costs: 10%|█ | 1/10 [00:00<00:02, 4.43it/s]
- [ComfyUI] Edge costs: 20%|██ | 2/10 [00:00<00:01, 4.35it/s]
- [ComfyUI] Edge costs: 30%|███ | 3/10 [00:00<00:01, 4.05it/s]
- [ComfyUI] Edge costs: 40%|████ | 4/10 [00:00<00:01, 3.88it/s]
- [ComfyUI] Edge costs: 50%|█████ | 5/10 [00:01<00:01, 3.83it/s]
- [ComfyUI] Edge costs: 60%|██████ | 6/10 [00:01<00:01, 3.92it/s]
- [ComfyUI] Edge costs: 70%|███████ | 7/10 [00:01<00:00, 3.76it/s]
- [ComfyUI] Edge costs: 80%|████████ | 8/10 [00:02<00:00, 3.84it/s]
- [ComfyUI] Edge costs: 90%|█████████ | 9/10 [00:02<00:00, 3.78it/s]
- [ComfyUI] Edge costs: 100%|██████████| 10/10 [00:02<00:00, 4.22it/s]
+ [ComfyUI] Edge costs: 10%|█ | 1/10 [00:00<00:01, 4.59it/s]
+ [ComfyUI] Edge costs: 20%|██ | 2/10 [00:00<00:01, 4.46it/s]
+ [ComfyUI] Edge costs: 30%|███ | 3/10 [00:00<00:01, 4.49it/s]
+ [ComfyUI] Edge costs: 40%|████ | 4/10 [00:00<00:01, 4.50it/s]
+ [ComfyUI] Edge costs: 50%|█████ | 5/10 [00:01<00:01, 4.42it/s]
+ [ComfyUI] Edge costs: 60%|██████ | 6/10 [00:01<00:00, 4.46it/s]
+ [ComfyUI] Edge costs: 70%|███████ | 7/10 [00:01<00:00, 4.48it/s]
+ [ComfyUI] Edge costs: 80%|████████ | 8/10 [00:01<00:00, 4.45it/s]
+ [ComfyUI] Edge costs: 90%|█████████ | 9/10 [00:02<00:00, 4.45it/s]
+ [ComfyUI] Edge costs: 100%|██████████| 10/10 [00:02<00:00, 4.85it/s]
[ComfyUI] [worker:ComfyUI-GaussianPack] edges: 919857, pairs: 3094 (need 3094)
[ComfyUI] [worker:ComfyUI-GaussianPack] Merging 3094 pairs
[ComfyUI] [worker:ComfyUI-GaussianPack] Final splats: 100000
- [capture-loop] iter=150 t=17.2s state={'complete': False, 'error': None, 'executedCount': 0, 'wsState': 1} eval_ms=4 ram=4.9/16.0GB (31%) swap=0.2/2.9GB (6%) cpu=49% browser_rss=0.68GB
+ [capture-loop] iter=150 t=17.5s state={'complete': False, 'error': None, 'executedCount': 0, 'wsState': 1} eval_ms=4 ram=4.7/16.0GB (29%) swap=0.2/2.9GB (6%) cpu=36% browser_rss=0.65GB
[ComfyUI] [SubprocessWorker] got response: ok
- [ComfyUI] [comfy-env] GaussianMerge done (20.90s): result: dict
+ [ComfyUI] [comfy-env] GaussianMerge done (20.26s): result: dict
[ComfyUI] [comfy-env] Running PreviewGaussianDual: layout: 'slider', camera_mode: 'orbit', fov_degrees: 70.0, renderer: 'playcanvas', transport_format: 'ply', ply_path_1: 'D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Gaus..., ply_path_2: 'D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Gaus...
[ComfyUI] [SubprocessWorker] call_method: nodes.preview_gaussian_dual.PreviewGaussianDual.preview
[ComfyUI] [SubprocessWorker] acquired lock, ensuring started...
@@ -107,16 +117,16 @@ Capturing execution frames: merge_splats.json
[ComfyUI] [SubprocessWorker] created 0 shm blocks
[ComfyUI] [SubprocessWorker] sending request via socket...
[ComfyUI] [SubprocessWorker] call_id=7 sending call_method
- Node executed (1 total), capturing...
[ComfyUI] [SubprocessWorker] got response: ok
- [ComfyUI] [comfy-env] PreviewGaussianDual done (0.08s): result: dict
- [ComfyUI] [32m[INFO][0m [32mPrompt executed in 21.04 seconds[0m
- Frame 4 saved (frame_003.jpg, t=21.3s)
- [capture-node] freeze=3ms shot=99ms unfreeze=4ms saved=True
+ [ComfyUI] [comfy-env] PreviewGaussianDual done (0.10s): result: dict
+ [ComfyUI] [32m[INFO][0m [32mPrompt executed in 20.45 seconds[0m
+ Node executed (1 total), capturing...
+ Frame 4 saved (frame_003.jpg, t=20.7s)
+ [capture-node] freeze=4ms shot=95ms unfreeze=5ms saved=True
Node executed (2 total), capturing...
- Frame 5 saved (frame_004.jpg, t=21.7s)
- [capture-node] freeze=342ms shot=252ms unfreeze=0ms saved=True
- Execution complete (t=21.7s)
+ Frame 5 saved (frame_004.jpg, t=21.2s)
+ [capture-node] freeze=12ms shot=407ms unfreeze=0ms saved=True
+ Execution complete (t=21.2s)
[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=1
@@ -126,10 +136,10 @@ Capturing execution frames: merge_splats.json
=========================== logs ===========================
waiting for event "console"
============================================================
- [3d-wait] Total 3D wait: 60.1s
- Captured 5 unique frames over 82.36s
+ [3d-wait] Total 3D wait: 60.0s
+ Captured 5 unique frames over 81.67s
[debug] iframes: 1
- [debug] iframe[0]: src=http://127.0.0.1:41891/extensions/ComfyUI-GaussianPack/viewer_gaussian_dual.html, canvas=486x240, rafFrozen=True
+ [debug] iframe[0]: src=http://127.0.0.1:41897/extensions/ComfyUI-GaussianPack/viewer_gaussian_dual.html, canvas=486x240, rafFrozen=True
[timing] trigger_3d_previews: 0.0s
Saved high-quality screenshot: merge_splats_executed.png
[timing] final_screenshot: 0.2s
diff --git a/dev/windows-cpu/logs/merge_splats_console.log b/dev/windows-cpu/logs/merge_splats_console.log
index abfe343..1db3ec4 100644
--- a/dev/windows-cpu/logs/merge_splats_console.log
+++ b/dev/windows-cpu/logs/merge_splats_console.log
@@ -8,13 +8,13 @@
[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-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-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] 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 "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-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] [GaussianPack] Registering Preview Gaussian Dual node
@@ -25,5 +25,5 @@
[Console-warning] THREE.Clock: This module has been deprecated. Please use THREE.Timer instead.
[Console-warning] [GaussianDualViewer] PlayCanvas can't render two gsplat views in one page; using Spark for the dual view.
[Console-warning] THREE.Clock: This module has been deprecated. Please use THREE.Timer instead.
-[Console-warning] [.WebGL-0x25f4001cca00]GL Driver Message (OpenGL, Performance, GL_CLOSE_PATH_NV, High): GPU stall due to ReadPixels
-[Console-warning] [.WebGL-0x25f4001cfa00]GL Driver Message (OpenGL, Performance, GL_CLOSE_PATH_NV, High): GPU stall due to ReadPixels
\ No newline at end of file
+[Console-warning] [.WebGL-0x48c04de8a00]GL Driver Message (OpenGL, Performance, GL_CLOSE_PATH_NV, High): GPU stall due to ReadPixels
+[Console-warning] [.WebGL-0x48c04de3000]GL Driver Message (OpenGL, Performance, GL_CLOSE_PATH_NV, High): GPU stall due to ReadPixels
\ 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
index bd0946a..10c9fab 100644
--- a/dev/windows-cpu/logs/merge_splats_resources.csv
+++ b/dev/windows-cpu/logs/merge_splats_resources.csv
@@ -1,92 +1,92 @@
# total_ram_gb=16.0
t,ram_gb,vram_gb
0.0,0.75,
-1.0,0.75,
-2.0,0.75,
-3.0,0.75,
-4.0,0.75,
-5.0,0.75,
-6.0,0.75,
-7.0,0.81,
-8.0,0.95,
-9.0,0.95,
-10.0,0.95,
-11.1,0.95,
+1.1,0.75,
+2.1,0.75,
+3.1,0.75,
+4.1,0.75,
+5.1,0.75,
+6.1,0.75,
+7.1,0.81,
+8.1,0.94,
+9.1,0.94,
+10.1,0.94,
+11.1,0.94,
12.1,0.95,
13.1,0.95,
-14.1,0.92,
-15.1,0.93,
-16.1,0.91,
-17.1,0.9,
+14.1,0.95,
+15.1,0.92,
+16.1,0.9,
+17.1,0.94,
18.1,0.89,
-19.1,0.89,
-20.1,0.92,
-21.1,0.91,
-22.1,0.85,
-23.1,0.85,
-24.1,0.85,
-25.1,0.85,
-26.1,0.85,
-27.1,0.78,
-28.1,0.78,
-29.1,0.78,
-30.1,0.78,
-31.1,0.78,
-32.2,0.78,
-33.2,0.78,
-34.2,0.78,
-35.2,0.78,
-36.2,0.78,
-37.2,0.78,
-38.2,0.78,
-39.2,0.78,
-40.2,0.78,
-41.2,0.78,
-42.2,0.78,
-43.2,0.78,
-44.2,0.78,
-45.2,0.78,
-46.3,0.78,
-47.3,0.78,
-48.3,0.78,
-49.3,0.78,
-50.3,0.78,
-51.3,0.78,
-52.3,0.78,
-53.3,0.78,
-54.3,0.78,
-55.3,0.78,
-56.3,0.78,
-57.3,0.78,
-58.3,0.78,
-59.3,0.78,
-60.3,0.78,
-61.3,0.78,
-62.3,0.77,
-63.3,0.77,
-64.4,0.77,
-65.4,0.77,
-66.4,0.77,
-67.4,0.77,
-68.4,0.77,
-69.4,0.77,
-70.4,0.77,
-71.4,0.77,
-72.4,0.77,
-73.4,0.77,
-74.4,0.77,
-75.4,0.77,
-76.5,0.77,
-77.5,0.76,
-78.5,0.76,
-79.5,0.76,
-80.5,0.76,
-81.5,0.75,
-82.5,0.75,
-83.5,0.75,
-84.5,0.74,
-85.5,0.74,
-86.5,0.73,
-87.5,0.73,
-88.5,0.72,
-89.5,0.72,
+19.1,0.91,
+20.1,0.87,
+21.1,0.84,
+22.1,0.84,
+23.1,0.84,
+24.1,0.84,
+25.1,0.84,
+26.1,0.84,
+27.2,0.77,
+28.2,0.77,
+29.2,0.77,
+30.2,0.77,
+31.2,0.77,
+32.2,0.77,
+33.3,0.77,
+34.3,0.77,
+35.3,0.77,
+36.3,0.77,
+37.3,0.77,
+38.3,0.77,
+39.3,0.77,
+40.3,0.77,
+41.3,0.77,
+42.3,0.77,
+43.3,0.77,
+44.3,0.77,
+45.3,0.77,
+46.3,0.77,
+47.3,0.77,
+48.3,0.77,
+49.3,0.77,
+50.4,0.77,
+51.4,0.77,
+52.4,0.77,
+53.4,0.77,
+54.4,0.77,
+55.4,0.77,
+56.4,0.77,
+57.4,0.77,
+58.4,0.77,
+59.4,0.76,
+60.4,0.76,
+61.4,0.76,
+62.4,0.76,
+63.4,0.76,
+64.4,0.75,
+65.4,0.75,
+66.4,0.74,
+67.5,0.74,
+68.5,0.74,
+69.5,0.73,
+70.5,0.73,
+71.5,0.72,
+72.5,0.72,
+73.5,0.72,
+74.5,0.72,
+75.5,0.72,
+76.5,0.72,
+77.5,0.71,
+78.5,0.71,
+79.5,0.71,
+80.5,0.71,
+81.5,0.71,
+82.6,0.71,
+83.6,0.71,
+84.6,0.71,
+85.6,0.71,
+86.6,0.71,
+87.6,0.71,
+88.6,0.71,
+89.6,0.71,
diff --git a/dev/windows-cpu/logs/rotate_splats.log b/dev/windows-cpu/logs/rotate_splats.log
index 3dee1f9..8af7315 100644
--- a/dev/windows-cpu/logs/rotate_splats.log
+++ b/dev/windows-cpu/logs/rotate_splats.log
@@ -1,5 +1,5 @@
-Capturing execution frames: rotate_splats.json
[ComfyUI] [32m[INFO][0m Using RAM pressure cache.
+Capturing execution frames: rotate_splats.json
[ComfyUI] [32m[INFO][0m Using RAM pressure cache.
Frame 1 saved (frame_000.jpg, t=0.0s)
Validating workflow...
@@ -8,12 +8,12 @@ Capturing execution frames: rotate_splats.json
[ComfyUI] [32m[INFO][0m Prompt has 3 nodes
[ComfyUI] [32m[INFO][0m Node 1: LoadPLY
[ComfyUI] [32m[INFO][0m Inputs: {"ply_file": "apple.ply"}
- [ComfyUI] [32m[INFO][0m Node 14: PreviewGaussianDual
Queuing workflow for execution...
+ [ComfyUI] [32m[INFO][0m Node 14: PreviewGaussianDual
[ComfyUI] [32m[INFO][0m Inputs: {"layout": "slider", "camera_mode": "orbit", "fov_degrees": 70, "renderer": "playcanvas", "transport_format": "ply", "ply_path_1": ["1", 0], "ply_path_2": ["18", 0]}
[ComfyUI] [32m[INFO][0m Node 18: TransformGaussian
[ComfyUI] [32m[INFO][0m Inputs: {"rotate_x": -90, "rotate_y": 0, "rotate_z": 0, "ply_path": ["1", 0]}
- [ComfyUI] [32m[INFO][0m Generated prompt_id: d7aa6707-c533-454c-b9de-4c209acb4d40
+ [ComfyUI] [32m[INFO][0m Generated prompt_id: 35ef54fd-b25d-4137-a0b9-dafb2115bb79
[ComfyUI] [32m[INFO][0m Calling execution.validate_prompt()...
[ComfyUI] [32m[INFO][0m Validation result: valid=True
[ComfyUI] [32m[INFO][0m === Validation PASSED ===
@@ -24,13 +24,13 @@ Capturing execution frames: rotate_splats.json
[ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...
[ComfyUI] [ComfyUI-GaussianPack] Health check: failed
[ComfyUI] [ComfyUI-GaussianPack] Socket unhealthy, restarting worker...
- [ComfyUI] [comfy-env] gaussianpack-nodes: Library/bin has 157 DLLs
+ [ComfyUI] [comfy-env] gaussianpack-nodes: Library/bin has 158 DLLs
[ComfyUI] [ComfyUI-GaussianPack] python: C:\Users\stduser\AppData\Local\Programs\comfy-env\.pixi\envs\gaussianpack-nodes\python.exe
- [ComfyUI] [ComfyUI-GaussianPack] sys_path sent to worker: ['D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1247\\ComfyUI', 'D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1247\\ComfyUI\\custom_nodes\\ComfyUI-GaussianPack', 'C:\\Users\\stduser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\gaussianpack-nodes\\Lib\\site-packages', 'D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1247\\ComfyUI\\custom_nodes\\ComfyUI-GaussianPack']
+ [ComfyUI] [ComfyUI-GaussianPack] sys_path sent to worker: ['D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1400\\ComfyUI', 'D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1400\\ComfyUI\\custom_nodes\\ComfyUI-GaussianPack', 'C:\\Users\\stduser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\gaussianpack-nodes\\Lib\\site-packages', 'D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1400\\ComfyUI\\custom_nodes\\ComfyUI-GaussianPack']
[ComfyUI] [SubprocessWorker] is_pixi=True, python=C:\Users\stduser\AppData\Local\Programs\comfy-env\.pixi\envs\gaussianpack-nodes\python.exe
- [ComfyUI] [SubprocessWorker] launching cmd=['C:\\Users\\stduser\\.pixi\\bin\\pixi.exe', 'run', '--as-is', '--manifest-path', 'C:\\Users\\stduser\\AppData\\Local\\Programs\\comfy-env\\pixi.toml', '-e', 'gaussianpack-nodes', 'python', 'C:\\Users\\stduser\\AppData\\Local\\Temp\\comfyui_pvenv_d4yba5md\\persistent_worker.py', 'tcp://127.0.0.1:57689']...
+ [ComfyUI] [SubprocessWorker] launching cmd=['C:\\Users\\stduser\\.pixi\\bin\\pixi.exe', 'run', '--as-is', '--manifest-path', 'C:\\Users\\stduser\\AppData\\Local\\Programs\\comfy-env\\pixi.toml', '-e', 'gaussianpack-nodes', 'python', 'C:\\Users\\stduser\\AppData\\Local\\Temp\\comfyui_pvenv_aamctmub\\persistent_worker.py', 'tcp://127.0.0.1:52668']...
Frame 2 saved (frame_001.jpg, t=2.2s)
- [capture-periodic] freeze=2ms shot=95ms unfreeze=4ms saved=True
+ [capture-periodic] freeze=4ms shot=89ms unfreeze=4ms saved=True
[ComfyUI] [SubprocessWorker] worker started/confirmed
[ComfyUI] [SubprocessWorker] serializing kwargs to shm...
[ComfyUI] [SubprocessWorker] created 0 shm blocks
@@ -38,7 +38,7 @@ Capturing execution frames: rotate_splats.json
[ComfyUI] [SubprocessWorker] call_id=8 sending call_method
[ComfyUI] [worker:ComfyUI-GaussianPack] WARNING: SPZ route not registered (ModuleNotFoundError: No module named 'comfy_aimdo')
[ComfyUI] [SubprocessWorker] got response: ok
- [ComfyUI] [comfy-env] LoadPLY done (2.84s): result: list[1]
+ [ComfyUI] [comfy-env] LoadPLY done (2.60s): result: list[1]
[ComfyUI] [comfy-env] Running TransformGaussian: rotate_x: -90.0, rotate_y: 0.0, rotate_z: 0.0, ply_path: 'D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Gaus...
[ComfyUI] [SubprocessWorker] call_method: nodes.transform_gaussian.TransformGaussian.transform
[ComfyUI] [SubprocessWorker] acquired lock, ensuring started...
@@ -50,7 +50,7 @@ Capturing execution frames: rotate_splats.json
[ComfyUI] [SubprocessWorker] sending request via socket...
[ComfyUI] [SubprocessWorker] call_id=9 sending call_method
[ComfyUI] [SubprocessWorker] got response: ok
- [ComfyUI] [comfy-env] TransformGaussian done (0.64s): result: list[1]
+ [ComfyUI] [comfy-env] TransformGaussian done (0.68s): result: list[1]
[ComfyUI] [comfy-env] Running PreviewGaussianDual: layout: 'slider', camera_mode: 'orbit', fov_degrees: 70.0, renderer: 'playcanvas', transport_format: 'ply', ply_path_1: 'D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Gaus..., ply_path_2: 'D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Gaus...
[ComfyUI] [SubprocessWorker] call_method: nodes.preview_gaussian_dual.PreviewGaussianDual.preview
[ComfyUI] [SubprocessWorker] acquired lock, ensuring started...
@@ -62,14 +62,14 @@ Capturing execution frames: rotate_splats.json
[ComfyUI] [SubprocessWorker] sending request via socket...
[ComfyUI] [SubprocessWorker] call_id=10 sending call_method
[ComfyUI] [SubprocessWorker] got response: ok
- [ComfyUI] [comfy-env] PreviewGaussianDual done (0.06s): result: dict
- [ComfyUI] [32m[INFO][0m [32mPrompt executed in 3.55 seconds[0m
+ [ComfyUI] [comfy-env] PreviewGaussianDual done (0.09s): result: dict
+ [ComfyUI] [32m[INFO][0m [32mPrompt executed in 3.39 seconds[0m
Node executed (1 total), capturing...
- Frame 3 saved (frame_002.jpg, t=3.9s)
- [capture-node] freeze=50ms shot=151ms unfreeze=0ms saved=True
- Execution complete (t=3.9s)
+ Frame 3 saved (frame_002.jpg, t=3.7s)
+ [capture-node] freeze=21ms shot=261ms unfreeze=0ms saved=True
+ Execution complete (t=3.7s)
[3d-wait] Phase 1: Waiting for 'Loading 3D Model' text to disappear...
- [3d-wait] Phase 1 done in 0.1s
+ [3d-wait] Phase 1 done in 0.2s
[3d-wait] Phase 2: iframes=1
[3d-wait] iframe viewer_ready=False (matched 0 console logs)
[3d-wait] Waiting for 'Loaded successfully' console message (timeout=60s)...
@@ -77,10 +77,10 @@ Capturing execution frames: rotate_splats.json
=========================== logs ===========================
waiting for event "console"
============================================================
- [3d-wait] Total 3D wait: 60.2s
- Captured 3 unique frames over 64.4s
+ [3d-wait] Total 3D wait: 60.3s
+ Captured 3 unique frames over 64.35s
[debug] iframes: 1
- [debug] iframe[0]: src=http://127.0.0.1:41891/extensions/ComfyUI-GaussianPack/viewer_gaussian_dual.html, canvas=486x214, rafFrozen=True
+ [debug] iframe[0]: src=http://127.0.0.1:41897/extensions/ComfyUI-GaussianPack/viewer_gaussian_dual.html, canvas=486x214, rafFrozen=True
[timing] trigger_3d_previews: 0.0s
Saved high-quality screenshot: rotate_splats_executed.png
[timing] final_screenshot: 0.2s
diff --git a/dev/windows-cpu/logs/rotate_splats_console.log b/dev/windows-cpu/logs/rotate_splats_console.log
index 21dbc8f..1437fe9 100644
--- a/dev/windows-cpu/logs/rotate_splats_console.log
+++ b/dev/windows-cpu/logs/rotate_splats_console.log
@@ -7,13 +7,13 @@
[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 "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-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
@@ -25,5 +25,5 @@
[Console-warning] THREE.Clock: This module has been deprecated. Please use THREE.Timer instead.
[Console-warning] [GaussianDualViewer] PlayCanvas can't render two gsplat views in one page; using Spark for the dual view.
[Console-warning] THREE.Clock: This module has been deprecated. Please use THREE.Timer instead.
-[Console-warning] [.WebGL-0x25f40a286a00]GL Driver Message (OpenGL, Performance, GL_CLOSE_PATH_NV, High): GPU stall due to ReadPixels
-[Console-warning] [.WebGL-0x25f40a287000]GL Driver Message (OpenGL, Performance, GL_CLOSE_PATH_NV, High): GPU stall due to ReadPixels (this message will no longer repeat)
\ No newline at end of file
+[Console-warning] [.WebGL-0x48c001cd600]GL Driver Message (OpenGL, Performance, GL_CLOSE_PATH_NV, High): GPU stall due to ReadPixels
+[Console-warning] [.WebGL-0x48c001cb200]GL Driver Message (OpenGL, Performance, GL_CLOSE_PATH_NV, High): GPU stall due to ReadPixels (this message will no longer repeat)
\ No newline at end of file
diff --git a/dev/windows-cpu/logs/rotate_splats_resources.csv b/dev/windows-cpu/logs/rotate_splats_resources.csv
index a4912e4..26cad20 100644
--- a/dev/windows-cpu/logs/rotate_splats_resources.csv
+++ b/dev/windows-cpu/logs/rotate_splats_resources.csv
@@ -1,16 +1,16 @@
# total_ram_gb=16.0
t,ram_gb,vram_gb
-0.0,0.72,
-1.0,0.71,
-2.0,0.72,
-3.0,0.72,
-4.0,0.72,
-5.0,0.72,
-6.0,0.72,
-7.0,0.61,
-8.0,0.65,
-9.0,0.74,
-10.1,0.69,
+0.0,0.71,
+1.0,0.7,
+2.0,0.7,
+3.0,0.7,
+4.0,0.7,
+5.0,0.7,
+6.0,0.48,
+7.0,0.62,
+8.0,0.66,
+9.0,0.86,
+10.1,0.68,
11.1,0.68,
12.1,0.68,
13.1,0.68,
@@ -19,57 +19,56 @@ t,ram_gb,vram_gb
16.1,0.68,
17.1,0.68,
18.1,0.68,
-19.1,0.67,
-20.1,0.67,
-21.1,0.67,
-22.1,0.67,
-23.1,0.67,
-24.1,0.67,
-25.1,0.67,
-26.1,0.67,
+19.1,0.68,
+20.2,0.67,
+21.2,0.67,
+22.2,0.67,
+23.2,0.67,
+24.2,0.67,
+25.2,0.67,
+26.2,0.67,
27.2,0.67,
28.2,0.67,
29.2,0.67,
30.2,0.67,
-31.2,0.67,
-32.2,0.67,
-33.2,0.67,
-34.2,0.67,
-35.2,0.67,
-36.2,0.67,
+31.2,0.66,
+32.2,0.66,
+33.2,0.66,
+34.2,0.66,
+35.2,0.66,
+36.2,0.66,
37.2,0.66,
38.2,0.66,
39.2,0.66,
40.2,0.66,
-41.2,0.66,
-42.2,0.66,
-43.2,0.66,
-44.2,0.66,
-45.2,0.66,
-46.2,0.66,
-47.3,0.66,
-48.3,0.66,
-49.3,0.66,
-50.3,0.66,
-51.3,0.66,
-52.3,0.66,
-53.3,0.66,
-54.3,0.66,
-55.3,0.66,
-56.3,0.66,
-57.4,0.65,
-58.4,0.65,
-59.4,0.65,
-60.4,0.65,
-61.4,0.65,
-62.4,0.65,
-63.4,0.65,
-64.4,0.65,
-65.4,0.65,
-66.4,0.65,
-67.4,0.65,
-68.4,0.64,
-69.4,0.64,
-70.4,0.64,
-71.4,0.64,
-72.4,0.64,
+41.2,0.65,
+42.2,0.65,
+43.2,0.65,
+44.3,0.65,
+45.3,0.65,
+46.3,0.65,
+47.3,0.65,
+48.3,0.65,
+49.3,0.65,
+50.3,0.65,
+51.3,0.65,
+52.3,0.65,
+53.3,0.65,
+54.3,0.65,
+55.3,0.65,
+56.3,0.65,
+57.3,0.65,
+58.3,0.65,
+59.3,0.64,
+60.3,0.64,
+61.3,0.64,
+62.3,0.64,
+63.3,0.64,
+64.3,0.64,
+65.3,0.63,
+66.3,0.63,
+67.3,0.62,
+68.3,0.62,
+69.4,0.62,
+70.4,0.61,
+71.4,0.61,
diff --git a/dev/windows-cpu/logs/spectate.log b/dev/windows-cpu/logs/spectate.log
index 3a931ef..4f63394 100644
--- a/dev/windows-cpu/logs/spectate.log
+++ b/dev/windows-cpu/logs/spectate.log
@@ -7,11 +7,11 @@ Capturing execution frames: spectate.json
[ComfyUI] [32m[INFO][0m Received JSON with keys: ['prompt']
[ComfyUI] [32m[INFO][0m Prompt has 2 nodes
[ComfyUI] [32m[INFO][0m Node 1: LoadPLY
- Queuing workflow for execution...
[ComfyUI] [32m[INFO][0m Inputs: {"ply_file": "compressed_room.ply"}
+ Queuing workflow for execution...
[ComfyUI] [32m[INFO][0m Node 2: PreviewGaussians
[ComfyUI] [32m[INFO][0m Inputs: {"camera_mode": "spectate", "fov_degrees": 70, "renderer": "playcanvas", "transport_format": "ply", "ply_path": ["1", 0]}
- [ComfyUI] [32m[INFO][0m Generated prompt_id: aa2bb1be-23ce-4a20-907e-a65505fa9109
+ [ComfyUI] [32m[INFO][0m Generated prompt_id: cc64ab89-a883-402c-be8f-0251f7977da2
[ComfyUI] [32m[INFO][0m Calling execution.validate_prompt()...
[ComfyUI] [32m[INFO][0m Validation result: valid=True
[ComfyUI] [32m[INFO][0m === Validation PASSED ===
@@ -22,13 +22,13 @@ Capturing execution frames: spectate.json
[ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...
[ComfyUI] [ComfyUI-GaussianPack] Health check: failed
[ComfyUI] [ComfyUI-GaussianPack] Socket unhealthy, restarting worker...
- [ComfyUI] [comfy-env] gaussianpack-nodes: Library/bin has 157 DLLs
+ [ComfyUI] [comfy-env] gaussianpack-nodes: Library/bin has 158 DLLs
[ComfyUI] [ComfyUI-GaussianPack] python: C:\Users\stduser\AppData\Local\Programs\comfy-env\.pixi\envs\gaussianpack-nodes\python.exe
- [ComfyUI] [ComfyUI-GaussianPack] sys_path sent to worker: ['D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1247\\ComfyUI', 'D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1247\\ComfyUI\\custom_nodes\\ComfyUI-GaussianPack', 'C:\\Users\\stduser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\gaussianpack-nodes\\Lib\\site-packages', 'D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1247\\ComfyUI\\custom_nodes\\ComfyUI-GaussianPack']
+ [ComfyUI] [ComfyUI-GaussianPack] sys_path sent to worker: ['D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1400\\ComfyUI', 'D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1400\\ComfyUI\\custom_nodes\\ComfyUI-GaussianPack', 'C:\\Users\\stduser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\gaussianpack-nodes\\Lib\\site-packages', 'D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1400\\ComfyUI\\custom_nodes\\ComfyUI-GaussianPack']
[ComfyUI] [SubprocessWorker] is_pixi=True, python=C:\Users\stduser\AppData\Local\Programs\comfy-env\.pixi\envs\gaussianpack-nodes\python.exe
- [ComfyUI] [SubprocessWorker] launching cmd=['C:\\Users\\stduser\\.pixi\\bin\\pixi.exe', 'run', '--as-is', '--manifest-path', 'C:\\Users\\stduser\\AppData\\Local\\Programs\\comfy-env\\pixi.toml', '-e', 'gaussianpack-nodes', 'python', 'C:\\Users\\stduser\\AppData\\Local\\Temp\\comfyui_pvenv_d4yba5md\\persistent_worker.py', 'tcp://127.0.0.1:61400']...
+ [ComfyUI] [SubprocessWorker] launching cmd=['C:\\Users\\stduser\\.pixi\\bin\\pixi.exe', 'run', '--as-is', '--manifest-path', 'C:\\Users\\stduser\\AppData\\Local\\Programs\\comfy-env\\pixi.toml', '-e', 'gaussianpack-nodes', 'python', 'C:\\Users\\stduser\\AppData\\Local\\Temp\\comfyui_pvenv_aamctmub\\persistent_worker.py', 'tcp://127.0.0.1:59997']...
Frame 2 saved (frame_001.jpg, t=2.2s)
- [capture-periodic] freeze=3ms shot=92ms unfreeze=3ms saved=True
+ [capture-periodic] freeze=4ms shot=88ms unfreeze=5ms saved=True
[ComfyUI] [SubprocessWorker] worker started/confirmed
[ComfyUI] [SubprocessWorker] serializing kwargs to shm...
[ComfyUI] [SubprocessWorker] created 0 shm blocks
@@ -36,7 +36,7 @@ Capturing execution frames: spectate.json
[ComfyUI] [SubprocessWorker] call_id=11 sending call_method
[ComfyUI] [worker:ComfyUI-GaussianPack] WARNING: SPZ route not registered (ModuleNotFoundError: No module named 'comfy_aimdo')
[ComfyUI] [SubprocessWorker] got response: ok
- [ComfyUI] [comfy-env] LoadPLY done (3.02s): result: list[1]
+ [ComfyUI] [comfy-env] LoadPLY done (2.60s): result: list[1]
[ComfyUI] [comfy-env] Running PreviewGaussians: camera_mode: 'spectate', fov_degrees: 70.0, renderer: 'playcanvas', transport_format: 'ply', ply_path: 'D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Gaus...
[ComfyUI] [SubprocessWorker] call_method: nodes.preview_gaussian.PreviewGaussians.preview
[ComfyUI] [SubprocessWorker] acquired lock, ensuring started...
@@ -48,25 +48,25 @@ Capturing execution frames: spectate.json
[ComfyUI] [SubprocessWorker] sending request via socket...
[ComfyUI] [SubprocessWorker] call_id=12 sending call_method
[ComfyUI] [SubprocessWorker] got response: ok
- [ComfyUI] [comfy-env] PreviewGaussians done (0.10s): result: dict
- [ComfyUI] [32m[INFO][0m [32mPrompt executed in 3.12 seconds[0m
+ [ComfyUI] [comfy-env] PreviewGaussians done (0.11s): result: dict
+ [ComfyUI] [32m[INFO][0m [32mPrompt executed in 2.72 seconds[0m
Node executed (1 total), capturing...
- Frame 3 saved (frame_002.jpg, t=3.5s)
- [capture-node] freeze=2ms shot=87ms unfreeze=0ms saved=True
- Execution complete (t=3.5s)
+ Frame 3 saved (frame_002.jpg, t=3.1s)
+ [capture-node] freeze=5ms shot=93ms unfreeze=0ms saved=True
+ Execution complete (t=3.1s)
[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=1
[3d-wait] iframe viewer_ready=False (matched 0 console logs)
[3d-wait] Waiting for 'Loaded successfully' console message (timeout=60s)...
- [3d-wait] Got 'Loaded successfully' after 1.2s
- [3d-wait] Unfrozen in 0.010s, rendering for 5s...
- [3d-wait] JS halted via CDP after 5.4s
- [3d-wait] Re-frozen in 6.4s
+ [3d-wait] Got 'Loaded successfully' after 1.1s
+ [3d-wait] Unfrozen in 0.014s, rendering for 5s...
+ [3d-wait] JS halted via CDP after 5.5s
+ [3d-wait] Re-frozen in 6.5s
[3d-wait] Total 3D wait: 7.6s
- Captured 3 unique frames over 11.22s
+ Captured 3 unique frames over 10.79s
[debug] iframes: 1
- [debug] iframe[0]: src=http://127.0.0.1:41891/extensions/ComfyUI-GaussianPack/viewer_gaussian.html?mode, canvas=781x402, rafFrozen=True
+ [debug] iframe[0]: src=http://127.0.0.1:41897/extensions/ComfyUI-GaussianPack/viewer_gaussian.html?mode, canvas=781x402, rafFrozen=True
[timing] trigger_3d_previews: 0.0s
Saved high-quality screenshot: spectate_executed.png
[timing] final_screenshot: 0.3s
diff --git a/dev/windows-cpu/logs/spectate_console.log b/dev/windows-cpu/logs/spectate_console.log
index a5ea1ad..b655339 100644
--- a/dev/windows-cpu/logs/spectate_console.log
+++ b/dev/windows-cpu/logs/spectate_console.log
@@ -7,14 +7,14 @@
[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 "three". Relati…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-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-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] [GaussianPack] Registering Preview Gaussian Dual node
@@ -23,14 +23,17 @@
[Console-log] [comfy-test] graphToPrompt: 2 nodes, missing class_type: [], sample: {"inputs":{"ply_file":"compressed_room.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] [GaussianViewer] Ready — waiting for LOAD_MESH_DATA
-[Console-log] [GaussianPack] fetch start: /view?filename=compressed_room.ply&type=input&subfolder=&_=1780836478
-[Console-log] [GaussianPack] download 5% 1.5/26.7 MB
-[Console-log] [GaussianPack] download 20% 5.6/26.7 MB
-[Console-log] [GaussianPack] download 40% 10.7/26.7 MB
-[Console-log] [GaussianPack] download 50% 13.4/26.7 MB
-[Console-log] [GaussianPack] download 65% 17.6/26.7 MB
+[Console-log] [GaussianPack] fetch start: /view?filename=compressed_room.ply&type=input&subfolder=&_=1780840809
+[Console-log] [GaussianPack] download 0% 0.3/26.7 MB
+[Console-log] [GaussianPack] download 20% 5.4/26.7 MB
+[Console-log] [GaussianPack] download 25% 6.7/26.7 MB
+[Console-log] [GaussianPack] download 45% 12.1/26.7 MB
+[Console-log] [GaussianPack] download 55% 14.9/26.7 MB
+[Console-log] [GaussianPack] download 65% 17.4/26.7 MB
+[Console-log] [GaussianPack] download 75% 20.1/26.7 MB
+[Console-log] [GaussianPack] download 80% 21.4/26.7 MB
[Console-log] [GaussianPack] download 100% 26.7/26.7 MB
-[Console-log] [GaussianPack] fetch done: 28000362 bytes in 71 ms (374.0 MB/s)
+[Console-log] [GaussianPack] fetch done: 28000362 bytes in 66 ms (405.2 MB/s)
[Console-log] [GaussianViewer] Received LOAD_MESH_DATA, size: 28000362 renderer: playcanvas
[Console-log] [GaussianViewer] ensureRenderer('playcanvas') starting...
[Console-log] [PlayCanvas] engine version: 2.19.4
@@ -38,6 +41,6 @@
[Console-log] [GaussianViewer] Adapter ready: playcanvas
[Console-log] [GaussianViewer] Loading splat (28,000,362 bytes) via playcanvas...
[Console-log] [PlayCanvas] loading splat: compressed_room.ply
-[Console-log] [PlayCanvas] loaded in 583 ms
-[Console-log] [GaussianViewer] adapter.loadSplat resolved in 584 ms
+[Console-log] [PlayCanvas] loaded in 635 ms
+[Console-log] [GaussianViewer] adapter.loadSplat resolved in 636 ms
[Console-log] [GaussianViewer] Loaded successfully
\ No newline at end of file
diff --git a/dev/windows-cpu/logs/spectate_resources.csv b/dev/windows-cpu/logs/spectate_resources.csv
index 4ccde46..ed8ec98 100644
--- a/dev/windows-cpu/logs/spectate_resources.csv
+++ b/dev/windows-cpu/logs/spectate_resources.csv
@@ -1,21 +1,21 @@
# total_ram_gb=16.0
t,ram_gb,vram_gb
-0.0,0.64,
-1.0,0.64,
-2.0,0.65,
-3.0,0.64,
-4.0,0.64,
-5.0,0.64,
-6.0,0.41,
-7.0,0.57,
-8.1,0.61,
-9.1,0.63,
-10.1,0.63,
-11.3,0.63,
-12.5,0.63,
-13.7,0.63,
-14.9,0.63,
-16.1,0.63,
-17.1,0.62,
-18.1,0.62,
-19.1,0.62,
+0.0,0.61,
+1.0,0.6,
+2.0,0.6,
+3.1,0.6,
+4.1,0.6,
+5.1,0.6,
+6.1,0.41,
+7.1,0.54,
+8.1,0.57,
+9.1,0.58,
+10.1,0.58,
+11.1,0.58,
+12.2,0.58,
+13.3,0.58,
+14.4,0.58,
+15.5,0.58,
+16.5,0.58,
+17.5,0.58,
+18.5,0.58,
diff --git a/dev/windows-cpu/results.json b/dev/windows-cpu/results.json
index c362f7f..32712db 100644
--- a/dev/windows-cpu/results.json
+++ b/dev/windows-cpu/results.json
@@ -1,12 +1,12 @@
{
- "timestamp": "2026-06-07T12:54:32.002893+00:00",
+ "timestamp": "2026-06-07T14:07:12.948869+00:00",
"platform": "windows",
"hardware": {
- "os": "Windows-10-10.0.26100-SP0",
+ "os": "Windows-2025Server-10.0.26100-SP0",
"cpu": "AMD64 Family 25 Model 1 Stepping 1, AuthenticAMD"
},
- "commit_hash": "03612bca162c9c720e64d52305f8891d1770a0e3",
- "run_url": "https://github.com/PozzettiAndrea/comfy-gpu-ci/actions/runs/27092990334",
+ "commit_hash": "ca04634aaa050a5180a6a7d26546b7b845579976",
+ "run_url": "https://github.com/PozzettiAndrea/comfy-gpu-ci/actions/runs/27094636628",
"success": true,
"summary": {
"total": 4,
@@ -17,34 +17,34 @@
{
"name": "gaussian_analysis",
"status": "pass",
- "duration_seconds": 15.36,
+ "duration_seconds": 14.86,
"error": null,
"hardware": {
- "os": "Windows-10-10.0.26100-SP0",
+ "os": "Windows-2025Server-10.0.26100-SP0",
"cpu": "AMD64 Family 25 Model 1 Stepping 1, AuthenticAMD"
},
"resources": {
"ram": {
"peak": 0.75,
- "avg": 0.6
+ "avg": 0.59
},
"total_ram_gb": 16.0,
- "samples": 16
+ "samples": 15
}
},
{
"name": "merge_splats",
"status": "pass",
- "duration_seconds": 90.44,
+ "duration_seconds": 89.64,
"error": null,
"hardware": {
- "os": "Windows-10-10.0.26100-SP0",
+ "os": "Windows-2025Server-10.0.26100-SP0",
"cpu": "AMD64 Family 25 Model 1 Stepping 1, AuthenticAMD"
},
"resources": {
"ram": {
"peak": 0.95,
- "avg": 0.8
+ "avg": 0.78
},
"total_ram_gb": 16.0,
"samples": 90
@@ -53,34 +53,34 @@
{
"name": "rotate_splats",
"status": "pass",
- "duration_seconds": 72.56,
+ "duration_seconds": 72.35,
"error": null,
"hardware": {
- "os": "Windows-10-10.0.26100-SP0",
+ "os": "Windows-2025Server-10.0.26100-SP0",
"cpu": "AMD64 Family 25 Model 1 Stepping 1, AuthenticAMD"
},
"resources": {
"ram": {
- "peak": 0.74,
- "avg": 0.67
+ "peak": 0.86,
+ "avg": 0.66
},
"total_ram_gb": 16.0,
- "samples": 73
+ "samples": 72
}
},
{
"name": "spectate",
"status": "pass",
- "duration_seconds": 19.45,
+ "duration_seconds": 18.8,
"error": null,
"hardware": {
- "os": "Windows-10-10.0.26100-SP0",
+ "os": "Windows-2025Server-10.0.26100-SP0",
"cpu": "AMD64 Family 25 Model 1 Stepping 1, AuthenticAMD"
},
"resources": {
"ram": {
- "peak": 0.65,
- "avg": 0.62
+ "peak": 0.61,
+ "avg": 0.58
},
"total_ram_gb": 16.0,
"samples": 19
diff --git a/dev/windows-cpu/screenshots/gaussian_analysis_executed.png b/dev/windows-cpu/screenshots/gaussian_analysis_executed.png
index fbc0ad8..064578b 100644
Binary files a/dev/windows-cpu/screenshots/gaussian_analysis_executed.png and b/dev/windows-cpu/screenshots/gaussian_analysis_executed.png differ
diff --git a/dev/windows-cpu/screenshots/merge_splats_executed.png b/dev/windows-cpu/screenshots/merge_splats_executed.png
index 39e8351..92b29a5 100644
Binary files a/dev/windows-cpu/screenshots/merge_splats_executed.png and b/dev/windows-cpu/screenshots/merge_splats_executed.png differ
diff --git a/dev/windows-cpu/screenshots/rotate_splats_executed.png b/dev/windows-cpu/screenshots/rotate_splats_executed.png
index 3d79c89..90b9413 100644
Binary files a/dev/windows-cpu/screenshots/rotate_splats_executed.png and b/dev/windows-cpu/screenshots/rotate_splats_executed.png differ
diff --git a/dev/windows-cpu/screenshots/spectate_executed.png b/dev/windows-cpu/screenshots/spectate_executed.png
index e04f639..6de4145 100644
Binary files a/dev/windows-cpu/screenshots/spectate_executed.png and b/dev/windows-cpu/screenshots/spectate_executed.png differ
diff --git a/dev/windows-cpu/session.log b/dev/windows-cpu/session.log
index 962f1e2..8b4c7d7 100644
--- a/dev/windows-cpu/session.log
+++ b/dev/windows-cpu/session.log
@@ -1,4 +1,4 @@
-[00:00] Crash dump logging enabled: D:\a\comfy-gpu-ci\comfy-gpu-ci\comfy-test-logs\GaussianPack-1247\dev\windows-cpu\crash_dump.log
+[00:00] Crash dump logging enabled: D:\a\comfy-gpu-ci\comfy-gpu-ci\comfy-test-logs\GaussianPack-1400\dev\windows-cpu\crash_dump.log
[00:00]
[00:00] [1/5] SYNTAX
[00:00] ----------------------------------------
@@ -16,14 +16,14 @@
[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-1247\.venv...
-[00:00] Running: uv venv D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\GaussianPack-1247\.venv --python 3.11
-[00:02] torch_version='2.10.0' -> pinning torch==2.10.0 torchvision==0.25.0 torchaudio==2.10.0
-[00:02] Cloning ComfyUI (latest) to D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\GaussianPack-1247\ComfyUI...
-[00:02] Running: git clone --depth 1 https://github.com/comfyanonymous/ComfyUI.git D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\GaussianPack-1247\ComfyUI
-[00:03] Pinning torch family from https://download.pytorch.org/whl/cpu: torch==2.10.0 torchvision==0.25.0 torchaudio==2.10.0
-[00:03] Running: uv pip install --python D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\GaussianPack-1247\.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:27] Installing ComfyUI requirements into D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\GaussianPack-1247\.venv...
+[00:00] Creating virtual environment at D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\GaussianPack-1400\.venv...
+[00:00] Running: uv venv D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\GaussianPack-1400\.venv --python 3.13
+[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-1400\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-1400\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-1400\.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:27] Installing ComfyUI requirements into D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\GaussianPack-1400\.venv...
[00:27] comfyui-frontend-package==1.45.15
[00:27] comfyui-workflow-templates==0.9.98
[00:27] comfyui-embedded-docs==0.5.2
@@ -61,554 +61,564 @@ Setting up ComfyUI...
[00:27] pydantic-settings~=2.0
[00:27] PyOpenGL
[00:27] glfw
-[00:27] Running: uv pip install --python D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\GaussianPack-1247\.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-1247\ComfyUI\requirements.txt
-[00:59]
+[00:27] Running: uv pip install --python D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\GaussianPack-1400\.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-1400\ComfyUI\requirements.txt
+[01:05]
Installing custom node...
-[00:59] Copying ComfyUI-GaussianPack to D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\GaussianPack-1247\ComfyUI\custom_nodes\ComfyUI-GaussianPack...
-[00:59] Installing node requirements...
-[00:59] comfy-env==0.3.89
-[00:59] plyfile
-[00:59] git+https://github.com/saliteta/NanoGS.git
-[00:59] Running: uv pip install --python D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\GaussianPack-1247\.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-1247\ComfyUI\custom_nodes\ComfyUI-GaussianPack\requirements.txt
-[01:06]
+[01:05] Copying ComfyUI-GaussianPack to D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\GaussianPack-1400\ComfyUI\custom_nodes\ComfyUI-GaussianPack...
+[01:05] Installing node requirements...
+[01:05] comfy-env==0.3.89
+[01:05] plyfile
+[01:05] git+https://github.com/saliteta/NanoGS.git
+[01:05] Running: uv pip install --python D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\GaussianPack-1400\.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-1400\ComfyUI\custom_nodes\ComfyUI-GaussianPack\requirements.txt
+[01:14]
Running install.py...
-[01:06] Running: D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\GaussianPack-1247\.venv\Scripts\python.exe D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\GaussianPack-1247\ComfyUI\custom_nodes\ComfyUI-GaussianPack\install.py
-[01:09] [comfy-env] _discover: scanning D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\GaussianPack-1247\ComfyUI\custom_nodes
-[01:09] [comfy-env] _discover: ComfyUI-GaussianPack -> gaussianpack-nodes (custom_nodes\ComfyUI-GaussianPack\nodes\comfy-env.toml)
-[01:09] [comfy-env] Workspace: C:\Users\stduser\AppData\Local\Programs\comfy-env
-[01:09] [comfy-env] ComfyUI: D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\GaussianPack-1247\ComfyUI
-[01:09] [comfy-env] Found 1 node config(s):
-[01:09] - gaussianpack-nodes <- custom_nodes\ComfyUI-GaussianPack\nodes\comfy-env.toml (python=host)
-[01:09] [comfy-env] Bootstrap interpreter has python 3.11 + torch 2.10.0 (cpu). Looking for cuda-only wheels matching cpu/torch2.10/cp311.
-[01:12] [comfy-env] GPU: No GPU detected
-[01:12] [comfy-env] No CUDA detected -- pinning comfyui torch to CPU index
-[01:12] Generated C:\Users\stduser\AppData\Local\Programs\comfy-env\pixi.toml
-[01:12] [comfy-env] Installing 1 environment(s):
-[01:12] - gaussianpack-nodes (python=host, 8 pypi deps, 1 cuda wheels)
-[01:12] [comfy-env] Running `pixi install -e gaussianpack-nodes`...
-[01:56] The gaussianpack-nodes environment has been installed.
-[01:56] [comfy-env] Recorded install hash f8f8333c802c -> C:\Users\stduser\AppData\Local\Programs\comfy-env\install.hash
-[01:56] [comfy-env] Install log: C:\Users\stduser\AppData\Local\Programs\comfy-env\install.log
-[01:56]
-[01:56] Installation complete!
-[01:56] Installing validation endpoint...
-[01:56] Cloning PozzettiAndrea/ComfyUI-validate-endpoint...
-[01:56] 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-1247\ComfyUI\custom_nodes\ComfyUI-validate-endpoint
-[01:57] CUDA packages absent (will mock): gsplat
-[01:57] [INSTALL] PASSED
-[01:57]
-[01:57] [3/5] REGISTRATION
-[01:57] ----------------------------------------
-[01:57]
+[01:14] Running: D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\GaussianPack-1400\.venv\Scripts\python.exe D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\GaussianPack-1400\ComfyUI\custom_nodes\ComfyUI-GaussianPack\install.py
+[01:16] [comfy-env] _discover: scanning D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\GaussianPack-1400\ComfyUI\custom_nodes
+[01:16] [comfy-env] _discover: ComfyUI-GaussianPack -> gaussianpack-nodes (custom_nodes\ComfyUI-GaussianPack\nodes\comfy-env.toml)
+[01:16] [comfy-env] Workspace: C:\Users\stduser\AppData\Local\Programs\comfy-env
+[01:16] [comfy-env] ComfyUI: D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\GaussianPack-1400\ComfyUI
+[01:16] [comfy-env] Found 1 node config(s):
+[01:16] - gaussianpack-nodes <- custom_nodes\ComfyUI-GaussianPack\nodes\comfy-env.toml (python=host)
+[01:16] [comfy-env] Bootstrap interpreter has python 3.13 + torch 2.10.0 (cpu). Looking for cuda-only wheels matching cpu/torch2.10/cp313.
+[01:20] [comfy-env] GPU: No GPU detected
+[01:21] [comfy-env] No CUDA detected -- pinning comfyui torch to CPU index
+[01:21] Generated C:\Users\stduser\AppData\Local\Programs\comfy-env\pixi.toml
+[01:21] [comfy-env] Installing 1 environment(s):
+[01:21] - gaussianpack-nodes (python=host, 8 pypi deps, 1 cuda wheels)
+[01:21] [comfy-env] Running `pixi install -e gaussianpack-nodes`...
+[02:15] The gaussianpack-nodes environment has been installed.
+[02:15] [comfy-env] Recorded install hash f8f8333c802c -> C:\Users\stduser\AppData\Local\Programs\comfy-env\install.hash
+[02:15] [comfy-env] Install log: C:\Users\stduser\AppData\Local\Programs\comfy-env\install.log
+[02:15]
+[02:15] Installation complete!
+[02:15] Installing validation endpoint...
+[02:15] Cloning PozzettiAndrea/ComfyUI-validate-endpoint...
+[02:15] 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-1400\ComfyUI\custom_nodes\ComfyUI-validate-endpoint
+[02:16] CUDA packages absent (will mock): gsplat
+[02:16] [INSTALL] PASSED
+[02:16]
+[02:16] [3/5] REGISTRATION
+[02:16] ----------------------------------------
+[02:16]
[DEBUG] server=None, api=None
-[01:57]
+[02:16]
Starting ComfyUI server...
-[01:57] Starting ComfyUI server on port 41891...
-[01:57] CUDA mock packages: gsplat
-[01:57] Starting ComfyUI server on port 41891...
-[01:57] Waiting for server to be ready (timeout: 600s)...
-[01:59] [ComfyUI] [32m[INFO][0m setup plugin alembic.autogenerate.schemas
-[01:59] [ComfyUI] [32m[INFO][0m setup plugin alembic.autogenerate.tables
-[01:59] [ComfyUI] [32m[INFO][0m setup plugin alembic.autogenerate.types
-[01:59] [ComfyUI] [32m[INFO][0m setup plugin alembic.autogenerate.constraints
-[01:59] [ComfyUI] [32m[INFO][0m setup plugin alembic.autogenerate.defaults
-[01:59] [ComfyUI] [32m[INFO][0m setup plugin alembic.autogenerate.comments
-[01:59] [ComfyUI] [32m[INFO][0m
-[01:59] [ComfyUI] Prestartup times for custom nodes:
-[01:59] [ComfyUI] [32m[INFO][0m 0.0 seconds: D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\GaussianPack-1247\ComfyUI\custom_nodes\ComfyUI-GaussianPack
-[01:59] [ComfyUI] [32m[INFO][0m
-[02:04] [ComfyUI] [32m[INFO][0m Found comfy_kitchen backend cuda: {'available': False, 'disabled': True, 'unavailable_reason': 'CUDA not available on this system', 'capabilities': []}
-[02:04] [ComfyUI] [32m[INFO][0m Found comfy_kitchen backend triton: {'available': False, 'disabled': True, 'unavailable_reason': "ImportError: No module named 'triton'", 'capabilities': []}
-[02:04] [ComfyUI] [32m[INFO][0m Found comfy_kitchen backend eager: {'available': True, 'disabled': False, 'unavailable_reason': None, 'capabilities': ['apply_rope', 'apply_rope1', 'apply_rope_split_half', 'apply_rope_split_half1', 'dequantize_mxfp8', 'dequantize_nvfp4', 'dequantize_per_tensor_fp8', 'gemv_awq_w4a16', 'quantize_mxfp8', 'quantize_nvfp4', 'quantize_per_tensor_fp8', 'quantize_svdquant_w4a4', 'scaled_mm_mxfp8', 'scaled_mm_nvfp4', 'scaled_mm_svdquant_w4a4', 'stochastic_rounding_fp8']}
-[02:04] [ComfyUI] [32m[INFO][0m Checkpoint files will always be loaded safely.
-[02:05] [ComfyUI] [32m[INFO][0m Total VRAM 16379 MB, total RAM 16379 MB
-[02:05] [ComfyUI] [32m[INFO][0m pytorch version: 2.10.0+cpu
-[02:05] [ComfyUI] [32m[INFO][0m Set vram state to: DISABLED
-[02:05] [ComfyUI] [32m[INFO][0m Device: cpu
-[02:05] [ComfyUI] [32m[INFO][0m Using sub quadratic optimization for attention, if you have memory or speed issues try using: --use-split-cross-attention
-[02:12] [ComfyUI] [32m[INFO][0m Python version: 3.11.9 (tags/v3.11.9:de54cf5, Apr 2 2024, 10:12:12) [MSC v.1938 64 bit (AMD64)]
-[02:12] [ComfyUI] [32m[INFO][0m ComfyUI version: 0.24.0
-[02:12] [ComfyUI] [32m[INFO][0m comfy-aimdo version: 0.4.9
-[02:12] [ComfyUI] [32m[INFO][0m comfy-kitchen version: 0.2.10
-[02:12] [ComfyUI] [1m[33m[WARNING][0m ****** User settings have been changed to be stored on the server instead of browser storage. ******
-[02:12] [ComfyUI] [1m[33m[WARNING][0m ****** For multi-user setups add the --multi-user CLI argument to enable multiple user profiles. ******
-[02:12] [ComfyUI] [32m[INFO][0m comfyui-frontend-package version: 1.45.15
-[02:12] [ComfyUI] [32m[INFO][0m comfyui-workflow-templates version: 0.9.98
-[02:12] [ComfyUI] [32m[INFO][0m comfyui-embedded-docs version: 0.5.2
-[02:12] [ComfyUI] [32m[INFO][0m comfy-kitchen version: 0.2.10
-[02:12] [ComfyUI] [32m[INFO][0m comfy-aimdo version: 0.4.9
-[02:12] [ComfyUI] [32m[INFO][0m [Prompt Server] web root: D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\GaussianPack-1247\.venv\Lib\site-packages\comfyui_frontend_package\static
-[02:12] [ComfyUI] [32m[INFO][0m Asset seeder disabled
-[02:15] [ComfyUI] [comfy-env] Version: 0.3.89
-[02:16] [ComfyUI] [comfy-env] register_nodes: ComfyUI-GaussianPack
-[02:16] [ComfyUI] [comfy-env] ComfyUI source dir: D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\GaussianPack-1247\ComfyUI
-[02:16] [ComfyUI] [comfy-env] Workspace: C:\Users\stduser\AppData\Local\Programs\comfy-env
-[02:16] [ComfyUI] [comfy-env] Found 1 isolation env(s)
-[02:16] [ComfyUI] [comfy-env] Scanning nodes metadata (isolation root)...
-[02:16] [ComfyUI] [comfy-env] gaussianpack-nodes: Library/bin has 157 DLLs
-[02:16] [ComfyUI] [comfy-env] Metadata scan: C:\Users\stduser\.pixi\bin\pixi.exe run --as-is --manifest-path C:\Users\stduser\AppData\Local\Programs\comfy-env\pixi.toml -e gaussianpack-nodes python C:\Users\stduser\AppData\Local\Temp\comfy_meta_ehhjkizn.py D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\GaussianPack-1247\ComfyUI\custom_nodes\ComfyUI-GaussianPack nodes C:\Users\stduser\AppData\Local\Temp\comfy_meta_out_9lnt6o7k.pkl
-[02:16] [ComfyUI] [comfy-env] Scan env PATH for nodes:
-[02:16] [ComfyUI] [comfy-env] [0] C:\Users\stduser\AppData\Local\Programs\comfy-env\.pixi\envs\gaussianpack-nodes
-[02:16] [ComfyUI] [comfy-env] [1] C:\Users\stduser\AppData\Local\Programs\comfy-env\.pixi\envs\gaussianpack-nodes\Library\bin
-[02:16] [ComfyUI] [comfy-env] [2] C:\Users\stduser\AppData\Local\Programs\comfy-env\.pixi\envs\gaussianpack-nodes\Scripts
-[02:16] [ComfyUI] [comfy-env] [3] C:\Users\stduser\AppData\Local\Programs\comfy-env\.pixi\envs\gaussianpack-nodes\Lib\site-packages\bpy
-[02:16] [ComfyUI] [comfy-env] [4] C:\Windows\System32
-[02:16] [ComfyUI] [comfy-env] [5] C:\Windows
-[02:16] [ComfyUI] [comfy-env] [6] C:\Windows\System32\Wbem
-[02:21] [ComfyUI] [comfy-env] Metadata scan stderr for nodes:
-[02:21] [ComfyUI] [comfy-env] [meta-scan] importing nodes from D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\GaussianPack-1247\ComfyUI\custom_nodes\ComfyUI-GaussianPack
-[02:21] [ComfyUI] [comfy-env] SPZ route not registered (ModuleNotFoundError: No module named 'comfy_aimdo')
-[02:21] [ComfyUI] [comfy-env] [meta-scan] import OK
-[02:21] [ComfyUI] [comfy-env] Scanned nodes: 10 nodes (5.3s)
-[02:21] [ComfyUI] [comfy-env] Scanned nodes root: 10 nodes (5.3s)
-[02:21] [ComfyUI] [comfy-env] Imported nodes root: 10 nodes (isolation)
-[02:21] [ComfyUI] [comfy-env] Registered 10 total nodes
-[02:21] [ComfyUI] [32m[INFO][0m
-[02:21] [ComfyUI] Import times for custom nodes:
-[02:21] [ComfyUI] [32m[INFO][0m 0.0 seconds: D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\GaussianPack-1247\ComfyUI\custom_nodes\websocket_image_save.py
-[02:21] [ComfyUI] [32m[INFO][0m 0.0 seconds: D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\GaussianPack-1247\ComfyUI\custom_nodes\ComfyUI-validate-endpoint
-[02:21] [ComfyUI] [32m[INFO][0m 6.0 seconds: D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\GaussianPack-1247\ComfyUI\custom_nodes\ComfyUI-GaussianPack
-[02:21] [ComfyUI] [32m[INFO][0m
-[02:21] [ComfyUI] [32m[INFO][0m Context impl SQLiteImpl.
-[02:21] [ComfyUI] [32m[INFO][0m Will assume non-transactional DDL.
-[02:21] [ComfyUI] [32m[INFO][0m Context impl SQLiteImpl.
-[02:21] [ComfyUI] [32m[INFO][0m Will assume non-transactional DDL.
-[02:21] [ComfyUI] [32m[INFO][0m Running upgrade -> 0001_assets, Initial assets schema
-[02:21] [ComfyUI] Revision ID: 0001_assets
-[02:21] [ComfyUI] Revises: None
-[02:21] [ComfyUI] Create Date: 2025-12-10 00:00:00
-[02:21] [ComfyUI] [32m[INFO][0m Running upgrade 0001_assets -> 0002_merge_to_asset_references, Merge AssetInfo and AssetCacheState into unified asset_references table.
-[02:21] [ComfyUI] [32m[INFO][0m Running upgrade 0002_merge_to_asset_references -> 0003_add_metadata_job_id, Add system_metadata and job_id columns to asset_references.
-[02:21] [ComfyUI] Change preview_id FK from assets.id to asset_references.id.
-[02:21] [ComfyUI] [32m[INFO][0m Database upgraded from None to 0003_add_metadata_job_id
-[02:21] [ComfyUI] [32m[INFO][0m Using RAM pressure cache.
-[02:21] [ComfyUI] [32m[INFO][0m Starting server
-[02:21] [ComfyUI]
-[02:21] [ComfyUI] [32m[INFO][0m To see the GUI go to: http://127.0.0.1:41891
-[02:22] Server responding, waiting for nodes to load...
-[02:42] Server is ready!
-[02:42] Checking for import errors in server logs...
-[02:42] No import errors detected
-[02:42] Found 781 registered nodes
-[02:42] [REGISTRATION] PASSED
-[02:42]
-[02:42] [4/5] INSTANTIATION
-[02:42] ----------------------------------------
-[02:42]
-[DEBUG] server=, api=
-[02:42] Testing node constructors...
-[02:44] All 10 node(s) instantiated successfully!
-[02:44] [INSTANTIATION] PASSED
-[02:44]
-[02:44] [5/5] EXECUTION
-[02:44] ----------------------------------------
-[02:44]
-[DEBUG] server=, api=
-[02:44] CPU runner - will execute 4 workflow(s)
-[02:44] Running 4 workflow(s) (all with videos)...
-[02:44] Installing screenshot dependencies (playwright, pillow)...
-[02:48] Packages installed, downloading chromium browser...
-[03:06] Screenshot dependencies installed successfully
-[03:08] Starting headless browser...
-[03:08] Downloading Mesa llvmpipe for Windows...
-[03:14] Copied opengl32.dll to Chromium dir
-[03:14] Copied libgallium_wgl.dll to Chromium dir
-[03:14] Using Mesa llvmpipe (desktop GL) -- multithreaded CPU rendering
-[03:14] [ComfyUI] [32m[INFO][0m Using RAM pressure cache.
-[03:14] Capturing execution frames: gaussian_analysis.json
-[03:14] [ComfyUI] [32m[INFO][0m Using RAM pressure cache.
-[03:23] Frame 1 saved (frame_000.jpg, t=0.0s)
-[03:23] Validating workflow...
-[03:23] [ComfyUI] [32m[INFO][0m === /validate endpoint called ===
-[03:23] [ComfyUI] [32m[INFO][0m Received JSON with keys: ['prompt']
-[03:23] [ComfyUI] [32m[INFO][0m Prompt has 4 nodes
-[03:23] [ComfyUI] [32m[INFO][0m Node 1: LoadPLY
-[03:23] [ComfyUI] [32m[INFO][0m Inputs: {"ply_file": "apple.ply"}
-[03:23] [ComfyUI] [32m[INFO][0m Node 19: GaussianAnalysis
-[03:23] [ComfyUI] [32m[INFO][0m Inputs: {"ply_path": ["1", 0]}
-[03:23] Queuing workflow for execution...
-[03:23] [ComfyUI] [32m[INFO][0m Node 20: LoadPLY
-[03:23] [ComfyUI] [32m[INFO][0m Inputs: {"ply_file": "compressed_room.ply"}
-[03:23] [ComfyUI] [32m[INFO][0m Node 21: GaussianAnalysis
-[03:23] [ComfyUI] [32m[INFO][0m Inputs: {"ply_path": ["20", 0]}
-[03:23] [ComfyUI] [32m[INFO][0m Generated prompt_id: c233e1cc-1cb5-4b63-b339-c7bcc552f02f
-[03:23] [ComfyUI] [32m[INFO][0m Calling execution.validate_prompt()...
-[03:23] [ComfyUI] [32m[INFO][0m Validation result: valid=True
-[03:23] [ComfyUI] [32m[INFO][0m === Validation PASSED ===
-[03:23] [ComfyUI] [32m[INFO][0m got prompt
-[03:23] [ComfyUI] [comfy-env] SubprocessWorker: C:\Users\stduser\AppData\Local\Programs\comfy-env\.pixi\envs\gaussianpack-nodes\python.exe
-[03:23] [ComfyUI] [comfy-env] Running LoadPLY: ply_file: 'compressed_room.ply'
-[03:23] [ComfyUI] [comfy-env] env_vars: {'COMFYUI_BASE': 'D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1247\\ComfyUI'}
-[03:24] [ComfyUI] [SubprocessWorker] call_method: nodes.load_ply.LoadPLY.load
-[03:24] [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...
-[03:24] [ComfyUI] [comfy-env] gaussianpack-nodes: Library/bin has 157 DLLs
-[03:24] [ComfyUI] [ComfyUI-GaussianPack] python: C:\Users\stduser\AppData\Local\Programs\comfy-env\.pixi\envs\gaussianpack-nodes\python.exe
-[03:24] [ComfyUI] [ComfyUI-GaussianPack] sys_path sent to worker: ['D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1247\\ComfyUI', 'D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1247\\ComfyUI\\custom_nodes\\ComfyUI-GaussianPack', 'C:\\Users\\stduser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\gaussianpack-nodes\\Lib\\site-packages', 'D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1247\\ComfyUI\\custom_nodes\\ComfyUI-GaussianPack']
-[03:24] [ComfyUI] [SubprocessWorker] is_pixi=True, python=C:\Users\stduser\AppData\Local\Programs\comfy-env\.pixi\envs\gaussianpack-nodes\python.exe
-[03:24] [ComfyUI] [SubprocessWorker] launching cmd=['C:\\Users\\stduser\\.pixi\\bin\\pixi.exe', 'run', '--as-is', '--manifest-path', 'C:\\Users\\stduser\\AppData\\Local\\Programs\\comfy-env\\pixi.toml', '-e', 'gaussianpack-nodes', 'python', 'C:\\Users\\stduser\\AppData\\Local\\Temp\\comfyui_pvenv_d4yba5md\\persistent_worker.py', 'tcp://127.0.0.1:61051']...
-[03:26] Frame 2 saved (frame_001.jpg, t=2.3s)
-[03:26] [capture-periodic] freeze=4ms shot=88ms unfreeze=4ms saved=True
-[03:26] [ComfyUI] [SubprocessWorker] worker started/confirmed
-[03:26] [ComfyUI] [SubprocessWorker] serializing kwargs to shm...
-[03:26] [ComfyUI] [SubprocessWorker] created 0 shm blocks
-[03:26] [ComfyUI] [SubprocessWorker] sending request via socket...
-[03:26] [ComfyUI] [SubprocessWorker] call_id=1 sending call_method
-[03:26] [ComfyUI] [worker:ComfyUI-GaussianPack] WARNING: SPZ route not registered (ModuleNotFoundError: No module named 'comfy_aimdo')
-[03:26] [ComfyUI] [SubprocessWorker] got response: ok
-[03:26] [ComfyUI] [comfy-env] LoadPLY done (2.93s): result: list[1]
-[03:26] [ComfyUI] [comfy-env] Running GaussianAnalysis: ply_path: 'D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Gaus...
-[03:26] [ComfyUI] [SubprocessWorker] call_method: nodes.analyze_gaussians.GaussianAnalysis.analyze
-[03:26] [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...
-[03:26] [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...
-[03:26] [ComfyUI] [ComfyUI-GaussianPack] Health check: ok
-[03:26] [ComfyUI] [SubprocessWorker] worker started/confirmed
-[03:26] [ComfyUI] [SubprocessWorker] serializing kwargs to shm...
-[03:26] [ComfyUI] [SubprocessWorker] created 0 shm blocks
-[03:26] [ComfyUI] [SubprocessWorker] sending request via socket...
-[03:26] [ComfyUI] [SubprocessWorker] call_id=2 sending call_method
-[03:26] [ComfyUI] [SubprocessWorker] got response: ok
-[03:26] [ComfyUI] [comfy-env] GaussianAnalysis done (0.05s): result: dict
-[03:26] [ComfyUI] [comfy-env] Running LoadPLY: ply_file: 'apple.ply'
-[03:26] [ComfyUI] [SubprocessWorker] call_method: nodes.load_ply.LoadPLY.load
-[03:26] [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...
-[03:26] [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...
-[03:26] [ComfyUI] [ComfyUI-GaussianPack] Health check: ok
-[03:26] [ComfyUI] [SubprocessWorker] worker started/confirmed
-[03:26] [ComfyUI] [SubprocessWorker] serializing kwargs to shm...
-[03:26] [ComfyUI] [SubprocessWorker] created 0 shm blocks
-[03:26] [ComfyUI] [SubprocessWorker] sending request via socket...
-[03:26] [ComfyUI] [SubprocessWorker] call_id=3 sending call_method
-[03:27] [ComfyUI] [SubprocessWorker] got response: ok
-[03:27] [ComfyUI] [comfy-env] LoadPLY done (0.06s): result: list[1]
-[03:27] [ComfyUI] [comfy-env] Running GaussianAnalysis: ply_path: 'D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Gaus...
-[03:27] [ComfyUI] [SubprocessWorker] call_method: nodes.analyze_gaussians.GaussianAnalysis.analyze
-[03:27] [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...
-[03:27] [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...
-[03:27] [ComfyUI] [ComfyUI-GaussianPack] Health check: ok
-[03:27] [ComfyUI] [SubprocessWorker] worker started/confirmed
-[03:27] [ComfyUI] [SubprocessWorker] serializing kwargs to shm...
-[03:27] [ComfyUI] [SubprocessWorker] created 0 shm blocks
-[03:27] Node executed (1 total), capturing...
-[03:27] [ComfyUI] [SubprocessWorker] sending request via socket...
-[03:27] [ComfyUI] [SubprocessWorker] call_id=4 sending call_method
-[03:27] [ComfyUI] [SubprocessWorker] got response: ok
-[03:27] [ComfyUI] [comfy-env] GaussianAnalysis done (0.05s): result: dict
-[03:27] [ComfyUI] [32m[INFO][0m [32mPrompt executed in 3.11 seconds[0m
-[03:27] Frame 3 saved (frame_002.jpg, t=3.4s)
-[03:27] [capture-node] freeze=4ms shot=87ms unfreeze=4ms saved=True
-[03:27] Node executed (2 total), capturing...
-[03:27] Frame 4 saved (frame_003.jpg, t=3.8s)
-[03:27] [capture-node] freeze=4ms shot=104ms unfreeze=0ms saved=True
-[03:27] Execution complete (t=3.8s)
-[03:27] [3d-wait] Phase 1: Waiting for 'Loading 3D Model' text to disappear...
-[03:27] [3d-wait] Phase 1 done in 0.0s
-[03:27] [3d-wait] Phase 2: iframes=0
-[03:27] [3d-wait] Total 3D wait: 0.0s
-[03:27] Captured 4 unique frames over 3.96s
-[03:27] [debug] iframes: 0
-[03:27] [timing] trigger_3d_previews: 0.0s
-[03:29] Saved high-quality screenshot: gaussian_analysis_executed.png
-[03:29] [timing] final_screenshot: 0.2s
-[03:29] [ComfyUI] [32m[INFO][0m Using RAM pressure cache.
-[03:30] [ComfyUI] [32m[INFO][0m Using RAM pressure cache.
-[03:30] Capturing execution frames: merge_splats.json
-[03:30] [ComfyUI] [32m[INFO][0m Using RAM pressure cache.
-[03:36] Frame 1 saved (frame_000.jpg, t=0.0s)
-[03:36] Validating workflow...
-[03:36] [ComfyUI] [32m[INFO][0m === /validate endpoint called ===
-[03:36] [ComfyUI] [32m[INFO][0m Received JSON with keys: ['prompt']
-[03:36] [ComfyUI] [32m[INFO][0m Prompt has 3 nodes
-[03:36] [ComfyUI] [32m[INFO][0m Node 1: LoadPLY
-[03:36] [ComfyUI] [32m[INFO][0m Inputs: {"ply_file": "apple.ply"}
-[03:36] [ComfyUI] [32m[INFO][0m Node 12: GaussianMerge
-[03:36] [ComfyUI] [32m[INFO][0m Inputs: {"target_count": 100000, "output_filename": "applemerged", "opacity_threshold": 0.1, "k": 16, "backend": "nanogs_cpu", "ply_path": ["1", 0]}
-[03:36] Queuing workflow for execution...
-[03:36] [ComfyUI] [32m[INFO][0m Node 14: PreviewGaussianDual
-[03:36] [ComfyUI] [32m[INFO][0m Inputs: {"layout": "slider", "camera_mode": "orbit", "fov_degrees": 70, "renderer": "playcanvas", "transport_format": "ply", "ply_path_1": ["1", 0], "ply_path_2": ["12", 0]}
-[03:36] [ComfyUI] [32m[INFO][0m Generated prompt_id: 4127fb02-b210-4ff1-96d6-692c7d63cb84
-[03:36] [ComfyUI] [32m[INFO][0m Calling execution.validate_prompt()...
-[03:36] [ComfyUI] [32m[INFO][0m Validation result: valid=True
-[03:36] [ComfyUI] [32m[INFO][0m === Validation PASSED ===
-[03:36] [ComfyUI] [32m[INFO][0m got prompt
-[03:36] [ComfyUI] [comfy-env] Running LoadPLY: ply_file: 'apple.ply'
-[03:36] [ComfyUI] [SubprocessWorker] call_method: nodes.load_ply.LoadPLY.load
-[03:36] [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...
-[03:36] [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...
-[03:36] [ComfyUI] [ComfyUI-GaussianPack] Health check: ok
-[03:36] [ComfyUI] [SubprocessWorker] worker started/confirmed
-[03:36] [ComfyUI] [SubprocessWorker] serializing kwargs to shm...
-[03:36] [ComfyUI] [SubprocessWorker] created 0 shm blocks
-[03:36] [ComfyUI] [SubprocessWorker] sending request via socket...
-[03:36] [ComfyUI] [SubprocessWorker] call_id=5 sending call_method
-[03:36] [ComfyUI] [SubprocessWorker] got response: ok
-[03:36] [ComfyUI] [comfy-env] LoadPLY done (0.06s): result: list[1]
-[03:36] [ComfyUI] [comfy-env] Running GaussianMerge: target_count: 100000, output_filename: 'applemerged', opacity_threshold: 0.1, k: 16, backend: 'nanogs_cpu', ply_path: 'D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Gaus...
-[03:36] [ComfyUI] [SubprocessWorker] call_method: nodes.merge_gaussians.GaussianMerge.merge
-[03:36] [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...
-[03:36] [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...
-[03:36] [ComfyUI] [ComfyUI-GaussianPack] Health check: ok
-[03:36] [ComfyUI] [SubprocessWorker] worker started/confirmed
-[03:36] [ComfyUI] [SubprocessWorker] serializing kwargs to shm...
-[03:36] [ComfyUI] [SubprocessWorker] created 0 shm blocks
-[03:36] [ComfyUI] [SubprocessWorker] sending request via socket...
-[03:36] [ComfyUI] [SubprocessWorker] call_id=6 sending call_method
-[03:36] [ComfyUI] [worker:ComfyUI-GaussianPack] Loading PLY: D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\GaussianPack-1247\ComfyUI\input\apple.ply
-[03:36] [ComfyUI] [worker:ComfyUI-GaussianPack] Initial splats: 200000
-[03:36] [ComfyUI] [worker:ComfyUI-GaussianPack] Pruned splats: 200000, target: 100000
-[03:36] [ComfyUI] [worker:ComfyUI-GaussianPack] Opacity Mean: 0.53443545 Median: 0.48362076
-[03:36] [ComfyUI] [worker:ComfyUI-GaussianPack] Pruning splats with opacity below 0.1000
-[03:36] [ComfyUI] [worker:ComfyUI-GaussianPack] Original count: 200000, after opacity pruning: 200000
-[03:36] [ComfyUI] [worker:ComfyUI-GaussianPack] After opacity pruning, 200000 splats remain.
-[03:36] [ComfyUI] [worker:ComfyUI-GaussianPack] Pass 1: 200000 splats
-[03:38] Frame 2 saved (frame_001.jpg, t=2.2s)
-[03:38] [capture-periodic] freeze=3ms shot=99ms unfreeze=3ms saved=True
-[03:40] Frame 3 saved (frame_002.jpg, t=4.4s)
-[03:40] [capture-periodic] freeze=2ms shot=87ms unfreeze=3ms saved=True
-[03:41] [ComfyUI]
-[03:41] [ComfyUI] Edge costs: 0%| | 0/19 [00:00, ?it/s]
-[03:41] [ComfyUI] Edge costs: 5%|▌ | 1/19 [00:00<00:04, 3.66it/s]
-[03:42] [ComfyUI] Edge costs: 11%|█ | 2/19 [00:00<00:04, 3.90it/s]
-[03:42] [capture-loop] iter=50 t=5.7s state={'complete': False, 'error': None, 'executedCount': 0, 'wsState': 1} eval_ms=5 ram=5.1/16.0GB (32%) swap=0.2/2.9GB (6%) cpu=39% browser_rss=0.77GB
-[03:42] [ComfyUI] Edge costs: 16%|█▌ | 3/19 [00:00<00:04, 3.96it/s]
-[03:42] [ComfyUI] Edge costs: 21%|██ | 4/19 [00:01<00:03, 3.77it/s]
-[03:42] [ComfyUI] Edge costs: 26%|██▋ | 5/19 [00:01<00:03, 3.84it/s]
-[03:42] [ComfyUI] Edge costs: 32%|███▏ | 6/19 [00:01<00:03, 3.92it/s]
-[03:43] [ComfyUI] Edge costs: 37%|███▋ | 7/19 [00:01<00:03, 3.87it/s]
-[03:43] [ComfyUI] Edge costs: 42%|████▏ | 8/19 [00:02<00:02, 3.89it/s]
-[03:43] [ComfyUI] Edge costs: 47%|████▋ | 9/19 [00:02<00:02, 4.03it/s]
-[03:43] [ComfyUI] Edge costs: 53%|█████▎ | 10/19 [00:02<00:02, 4.07it/s]
-[03:44] [ComfyUI] Edge costs: 58%|█████▊ | 11/19 [00:02<00:01, 4.15it/s]
-[03:44] [ComfyUI] Edge costs: 63%|██████▎ | 12/19 [00:02<00:01, 4.19it/s]
-[03:44] [ComfyUI] Edge costs: 68%|██████▊ | 13/19 [00:03<00:01, 4.16it/s]
-[03:44] [ComfyUI] Edge costs: 74%|███████▎ | 14/19 [00:03<00:01, 4.17it/s]
-[03:45] [ComfyUI] Edge costs: 79%|███████▉ | 15/19 [00:03<00:00, 4.14it/s]
-[03:45] [ComfyUI] Edge costs: 84%|████████▍ | 16/19 [00:03<00:00, 4.05it/s]
-[03:45] [ComfyUI] Edge costs: 89%|████████▉ | 17/19 [00:04<00:00, 4.16it/s]
-[03:45] [ComfyUI] Edge costs: 95%|█████████▍| 18/19 [00:04<00:00, 3.97it/s]
-[03:45] [ComfyUI] Edge costs: 100%|██████████| 19/19 [00:04<00:00, 4.59it/s]
-[03:45] [ComfyUI] Edge costs: 100%|██████████| 19/19 [00:04<00:00, 4.10it/s]
-[03:47] [ComfyUI] [worker:ComfyUI-GaussianPack] edges: 1848776, pairs: 96906 (need 100000)
-[03:47] [ComfyUI] [worker:ComfyUI-GaussianPack] Merging 96906 pairs
-[03:47] [ComfyUI] [worker:ComfyUI-GaussianPack] Pass 2: 103094 splats
-[03:47] [capture-loop] iter=100 t=11.6s state={'complete': False, 'error': None, 'executedCount': 0, 'wsState': 1} eval_ms=3 ram=4.9/16.0GB (30%) swap=0.2/2.9GB (6%) cpu=38% browser_rss=0.68GB
-[03:49] [ComfyUI]
-[03:49] [ComfyUI] Edge costs: 0%| | 0/10 [00:00, ?it/s]
-[03:49] [ComfyUI] Edge costs: 10%|█ | 1/10 [00:00<00:02, 4.43it/s]
-[03:50] [ComfyUI] Edge costs: 20%|██ | 2/10 [00:00<00:01, 4.35it/s]
-[03:50] [ComfyUI] Edge costs: 30%|███ | 3/10 [00:00<00:01, 4.05it/s]
-[03:50] [ComfyUI] Edge costs: 40%|████ | 4/10 [00:00<00:01, 3.88it/s]
-[03:50] [ComfyUI] Edge costs: 50%|█████ | 5/10 [00:01<00:01, 3.83it/s]
-[03:51] [ComfyUI] Edge costs: 60%|██████ | 6/10 [00:01<00:01, 3.92it/s]
-[03:51] [ComfyUI] Edge costs: 70%|███████ | 7/10 [00:01<00:00, 3.76it/s]
-[03:51] [ComfyUI] Edge costs: 80%|████████ | 8/10 [00:02<00:00, 3.84it/s]
-[03:51] [ComfyUI] Edge costs: 90%|█████████ | 9/10 [00:02<00:00, 3.78it/s]
-[03:51] [ComfyUI] Edge costs: 100%|██████████| 10/10 [00:02<00:00, 4.22it/s]
-[03:51] [ComfyUI] [worker:ComfyUI-GaussianPack] edges: 919857, pairs: 3094 (need 3094)
-[03:51] [ComfyUI] [worker:ComfyUI-GaussianPack] Merging 3094 pairs
-[03:52] [ComfyUI] [worker:ComfyUI-GaussianPack] Final splats: 100000
-[03:53] [capture-loop] iter=150 t=17.2s state={'complete': False, 'error': None, 'executedCount': 0, 'wsState': 1} eval_ms=4 ram=4.9/16.0GB (31%) swap=0.2/2.9GB (6%) cpu=49% browser_rss=0.68GB
-[03:57] [ComfyUI] [SubprocessWorker] got response: ok
-[03:57] [ComfyUI] [comfy-env] GaussianMerge done (20.90s): result: dict
-[03:57] [ComfyUI] [comfy-env] Running PreviewGaussianDual: layout: 'slider', camera_mode: 'orbit', fov_degrees: 70.0, renderer: 'playcanvas', transport_format: 'ply', ply_path_1: 'D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Gaus..., ply_path_2: 'D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Gaus...
-[03:57] [ComfyUI] [SubprocessWorker] call_method: nodes.preview_gaussian_dual.PreviewGaussianDual.preview
-[03:57] [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...
-[03:57] [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...
-[03:57] [ComfyUI] [ComfyUI-GaussianPack] Health check: ok
+[02:16] Starting ComfyUI server on port 41897...
+[02:16] CUDA mock packages: gsplat
+[02:16] Starting ComfyUI server on port 41897...
+[02:16] Waiting for server to be ready (timeout: 600s)...
+[02:19] [ComfyUI] [32m[INFO][0m setup plugin alembic.autogenerate.schemas
+[02:19] [ComfyUI] [32m[INFO][0m setup plugin alembic.autogenerate.tables
+[02:19] [ComfyUI] [32m[INFO][0m setup plugin alembic.autogenerate.types
+[02:19] [ComfyUI] [32m[INFO][0m setup plugin alembic.autogenerate.constraints
+[02:19] [ComfyUI] [32m[INFO][0m setup plugin alembic.autogenerate.defaults
+[02:19] [ComfyUI] [32m[INFO][0m setup plugin alembic.autogenerate.comments
+[02:19] [ComfyUI] [32m[INFO][0m
+[02:19] [ComfyUI] Prestartup times for custom nodes:
+[02:19] [ComfyUI] [32m[INFO][0m 0.0 seconds: D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\GaussianPack-1400\ComfyUI\custom_nodes\ComfyUI-GaussianPack
+[02:19] [ComfyUI] [32m[INFO][0m
+[02:25] [ComfyUI] [32m[INFO][0m Found comfy_kitchen backend eager: {'available': True, 'disabled': False, 'unavailable_reason': None, 'capabilities': ['apply_rope', 'apply_rope1', 'apply_rope_split_half', 'apply_rope_split_half1', 'dequantize_mxfp8', 'dequantize_nvfp4', 'dequantize_per_tensor_fp8', 'gemv_awq_w4a16', 'quantize_mxfp8', 'quantize_nvfp4', 'quantize_per_tensor_fp8', 'quantize_svdquant_w4a4', 'scaled_mm_mxfp8', 'scaled_mm_nvfp4', 'scaled_mm_svdquant_w4a4', 'stochastic_rounding_fp8']}
+[02:25] [ComfyUI] [32m[INFO][0m Found comfy_kitchen backend cuda: {'available': False, 'disabled': True, 'unavailable_reason': 'CUDA not available on this system', 'capabilities': []}
+[02:25] [ComfyUI] [32m[INFO][0m Found comfy_kitchen backend triton: {'available': False, 'disabled': True, 'unavailable_reason': "ImportError: No module named 'triton'", 'capabilities': []}
+[02:25] [ComfyUI] [32m[INFO][0m Checkpoint files will always be loaded safely.
+[02:25] [ComfyUI] [32m[INFO][0m Total VRAM 16379 MB, total RAM 16379 MB
+[02:25] [ComfyUI] [32m[INFO][0m pytorch version: 2.10.0+cpu
+[02:25] [ComfyUI] [32m[INFO][0m Set vram state to: DISABLED
+[02:25] [ComfyUI] [32m[INFO][0m Device: cpu
+[02:26] [ComfyUI] [32m[INFO][0m Using sub quadratic optimization for attention, if you have memory or speed issues try using: --use-split-cross-attention
+[02:34] [ComfyUI] [32m[INFO][0m Python version: 3.13.13 (tags/v3.13.13:01104ce, Apr 7 2026, 19:25:48) [MSC v.1944 64 bit (AMD64)]
+[02:34] [ComfyUI] [32m[INFO][0m ComfyUI version: 0.24.0
+[02:34] [ComfyUI] [32m[INFO][0m comfy-aimdo version: 0.4.9
+[02:34] [ComfyUI] [32m[INFO][0m comfy-kitchen version: 0.2.10
+[02:34] [ComfyUI] [1m[33m[WARNING][0m ****** User settings have been changed to be stored on the server instead of browser storage. ******
+[02:34] [ComfyUI] [1m[33m[WARNING][0m ****** For multi-user setups add the --multi-user CLI argument to enable multiple user profiles. ******
+[02:34] [ComfyUI] [32m[INFO][0m comfyui-frontend-package version: 1.45.15
+[02:34] [ComfyUI] [32m[INFO][0m comfyui-workflow-templates version: 0.9.98
+[02:34] [ComfyUI] [32m[INFO][0m comfyui-embedded-docs version: 0.5.2
+[02:34] [ComfyUI] [32m[INFO][0m comfy-kitchen version: 0.2.10
+[02:34] [ComfyUI] [32m[INFO][0m comfy-aimdo version: 0.4.9
+[02:34] [ComfyUI] [32m[INFO][0m [Prompt Server] web root: D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\GaussianPack-1400\.venv\Lib\site-packages\comfyui_frontend_package\static
+[02:34] [ComfyUI] [32m[INFO][0m Asset seeder disabled
+[02:38] [ComfyUI] [comfy-env] Version: 0.3.89
+[02:39] [ComfyUI] [comfy-env] register_nodes: ComfyUI-GaussianPack
+[02:39] [ComfyUI] [comfy-env] ComfyUI source dir: D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\GaussianPack-1400\ComfyUI
+[02:39] [ComfyUI] [comfy-env] Workspace: C:\Users\stduser\AppData\Local\Programs\comfy-env
+[02:39] [ComfyUI] [comfy-env] Found 1 isolation env(s)
+[02:39] [ComfyUI] [comfy-env] Scanning nodes metadata (isolation root)...
+[02:39] [ComfyUI] [comfy-env] gaussianpack-nodes: Library/bin has 158 DLLs
+[02:39] [ComfyUI] [comfy-env] Metadata scan: C:\Users\stduser\.pixi\bin\pixi.exe run --as-is --manifest-path C:\Users\stduser\AppData\Local\Programs\comfy-env\pixi.toml -e gaussianpack-nodes python C:\Users\stduser\AppData\Local\Temp\comfy_meta__ag_ppq5.py D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\GaussianPack-1400\ComfyUI\custom_nodes\ComfyUI-GaussianPack nodes C:\Users\stduser\AppData\Local\Temp\comfy_meta_out_98506isy.pkl
+[02:39] [ComfyUI] [comfy-env] Scan env PATH for nodes:
+[02:39] [ComfyUI] [comfy-env] [0] C:\Users\stduser\AppData\Local\Programs\comfy-env\.pixi\envs\gaussianpack-nodes
+[02:39] [ComfyUI] [comfy-env] [1] C:\Users\stduser\AppData\Local\Programs\comfy-env\.pixi\envs\gaussianpack-nodes\Library\bin
+[02:39] [ComfyUI] [comfy-env] [2] C:\Users\stduser\AppData\Local\Programs\comfy-env\.pixi\envs\gaussianpack-nodes\Scripts
+[02:39] [ComfyUI] [comfy-env] [3] C:\Users\stduser\AppData\Local\Programs\comfy-env\.pixi\envs\gaussianpack-nodes\Lib\site-packages\bpy
+[02:39] [ComfyUI] [comfy-env] [4] C:\Windows\System32
+[02:39] [ComfyUI] [comfy-env] [5] C:\Windows
+[02:39] [ComfyUI] [comfy-env] [6] C:\Windows\System32\Wbem
+[02:45] [ComfyUI] [comfy-env] Metadata scan stderr for nodes:
+[02:45] [ComfyUI] [comfy-env] [meta-scan] importing nodes from D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\GaussianPack-1400\ComfyUI\custom_nodes\ComfyUI-GaussianPack
+[02:45] [ComfyUI] [comfy-env] SPZ route not registered (ModuleNotFoundError: No module named 'comfy_aimdo')
+[02:45] [ComfyUI] [comfy-env] [meta-scan] import OK
+[02:45] [ComfyUI] [comfy-env] Scanned nodes: 10 nodes (6.4s)
+[02:45] [ComfyUI] [comfy-env] Scanned nodes root: 10 nodes (6.4s)
+[02:45] [ComfyUI] [comfy-env] Imported nodes root: 10 nodes (isolation)
+[02:45] [ComfyUI] [comfy-env] Registered 10 total nodes
+[02:45] [ComfyUI] [32m[INFO][0m
+[02:45] [ComfyUI] Import times for custom nodes:
+[02:45] [ComfyUI] [32m[INFO][0m 0.0 seconds: D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\GaussianPack-1400\ComfyUI\custom_nodes\websocket_image_save.py
+[02:45] [ComfyUI] [32m[INFO][0m 0.0 seconds: D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\GaussianPack-1400\ComfyUI\custom_nodes\ComfyUI-validate-endpoint
+[02:45] [ComfyUI] [32m[INFO][0m 7.1 seconds: D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\GaussianPack-1400\ComfyUI\custom_nodes\ComfyUI-GaussianPack
+[02:45] [ComfyUI] [32m[INFO][0m
+[02:45] [ComfyUI] [32m[INFO][0m Context impl SQLiteImpl.
+[02:45] [ComfyUI] [32m[INFO][0m Will assume non-transactional DDL.
+[02:45] [ComfyUI] [32m[INFO][0m Context impl SQLiteImpl.
+[02:45] [ComfyUI] [32m[INFO][0m Will assume non-transactional DDL.
+[02:45] [ComfyUI] [32m[INFO][0m Running upgrade -> 0001_assets, Initial assets schema
+[02:45] [ComfyUI] Revision ID: 0001_assets
+[02:45] [ComfyUI] Revises: None
+[02:45] [ComfyUI] Create Date: 2025-12-10 00:00:00
+[02:45] [ComfyUI] [32m[INFO][0m Running upgrade 0001_assets -> 0002_merge_to_asset_references, Merge AssetInfo and AssetCacheState into unified asset_references table.
+[02:45] [ComfyUI] [32m[INFO][0m Running upgrade 0002_merge_to_asset_references -> 0003_add_metadata_job_id, Add system_metadata and job_id columns to asset_references.
+[02:45] [ComfyUI] Change preview_id FK from assets.id to asset_references.id.
+[02:45] [ComfyUI] [32m[INFO][0m Database upgraded from None to 0003_add_metadata_job_id
+[02:45] [ComfyUI] [32m[INFO][0m Using RAM pressure cache.
+[02:45] [ComfyUI] [32m[INFO][0m Starting server
+[02:45] [ComfyUI]
+[02:45] [ComfyUI] [32m[INFO][0m To see the GUI go to: http://127.0.0.1:41897
+[02:46] Server responding, waiting for nodes to load...
+[03:06] Server is ready!
+[03:06] Checking for import errors in server logs...
+[03:06] No import errors detected
+[03:06] Found 781 registered nodes
+[03:07] [REGISTRATION] PASSED
+[03:07]
+[03:07] [4/5] INSTANTIATION
+[03:07] ----------------------------------------
+[03:07]
+[DEBUG] server=, api=
+[03:07] Testing node constructors...
+[03:09] All 10 node(s) instantiated successfully!
+[03:09] [INSTANTIATION] PASSED
+[03:09]
+[03:09] [5/5] EXECUTION
+[03:09] ----------------------------------------
+[03:09]
+[DEBUG] server=, api=
+[03:09] CPU runner - will execute 4 workflow(s)
+[03:09] Running 4 workflow(s) (all with videos)...
+[03:09] Installing screenshot dependencies (playwright, pillow)...
+[03:10] Packages installed, downloading chromium browser...
+[03:28] Screenshot dependencies installed successfully
+[03:29] Starting headless browser...
+[03:29] Downloading Mesa llvmpipe for Windows...
+[03:45] Copied opengl32.dll to Chromium dir
+[03:45] Copied libgallium_wgl.dll to Chromium dir
+[03:45] Using Mesa llvmpipe (desktop GL) -- multithreaded CPU rendering
+[03:46] [ComfyUI] [32m[INFO][0m Using RAM pressure cache.
+[03:46] Capturing execution frames: gaussian_analysis.json
+[03:46] [ComfyUI] [32m[INFO][0m Using RAM pressure cache.
+[03:55] Frame 1 saved (frame_000.jpg, t=0.0s)
+[03:55] Validating workflow...
+[03:55] [ComfyUI] [32m[INFO][0m === /validate endpoint called ===
+[03:55] [ComfyUI] [32m[INFO][0m Received JSON with keys: ['prompt']
+[03:55] [ComfyUI] [32m[INFO][0m Prompt has 4 nodes
+[03:55] [ComfyUI] [32m[INFO][0m Node 1: LoadPLY
+[03:55] [ComfyUI] [32m[INFO][0m Inputs: {"ply_file": "apple.ply"}
+[03:55] [ComfyUI] [32m[INFO][0m Node 19: GaussianAnalysis
+[03:55] [ComfyUI] [32m[INFO][0m Inputs: {"ply_path": ["1", 0]}
+[03:55] Queuing workflow for execution...
+[03:55] [ComfyUI] [32m[INFO][0m Node 20: LoadPLY
+[03:55] [ComfyUI] [32m[INFO][0m Inputs: {"ply_file": "compressed_room.ply"}
+[03:55] [ComfyUI] [32m[INFO][0m Node 21: GaussianAnalysis
+[03:55] [ComfyUI] [32m[INFO][0m Inputs: {"ply_path": ["20", 0]}
+[03:55] [ComfyUI] [32m[INFO][0m Generated prompt_id: 47d72ba8-7f3c-41a4-9cae-5bc3f8c11584
+[03:55] [ComfyUI] [32m[INFO][0m Calling execution.validate_prompt()...
+[03:55] [ComfyUI] [32m[INFO][0m Validation result: valid=True
+[03:55] [ComfyUI] [32m[INFO][0m === Validation PASSED ===
+[03:55] [ComfyUI] [32m[INFO][0m got prompt
+[03:55] [ComfyUI] [comfy-env] Running LoadPLY: ply_file: 'apple.ply'
+[03:55] [ComfyUI] [comfy-env] SubprocessWorker: C:\Users\stduser\AppData\Local\Programs\comfy-env\.pixi\envs\gaussianpack-nodes\python.exe
+[03:55] [ComfyUI] [comfy-env] env_vars: {'COMFYUI_BASE': 'D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1400\\ComfyUI'}
+[03:55] [ComfyUI] [SubprocessWorker] call_method: nodes.load_ply.LoadPLY.load
+[03:55] [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...
+[03:55] [ComfyUI] [comfy-env] gaussianpack-nodes: Library/bin has 158 DLLs
+[03:55] [ComfyUI] [ComfyUI-GaussianPack] python: C:\Users\stduser\AppData\Local\Programs\comfy-env\.pixi\envs\gaussianpack-nodes\python.exe
+[03:55] [ComfyUI] [ComfyUI-GaussianPack] sys_path sent to worker: ['D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1400\\ComfyUI', 'D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1400\\ComfyUI\\custom_nodes\\ComfyUI-GaussianPack', 'C:\\Users\\stduser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\gaussianpack-nodes\\Lib\\site-packages', 'D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1400\\ComfyUI\\custom_nodes\\ComfyUI-GaussianPack']
+[03:55] [ComfyUI] [SubprocessWorker] is_pixi=True, python=C:\Users\stduser\AppData\Local\Programs\comfy-env\.pixi\envs\gaussianpack-nodes\python.exe
+[03:55] [ComfyUI] [SubprocessWorker] launching cmd=['C:\\Users\\stduser\\.pixi\\bin\\pixi.exe', 'run', '--as-is', '--manifest-path', 'C:\\Users\\stduser\\AppData\\Local\\Programs\\comfy-env\\pixi.toml', '-e', 'gaussianpack-nodes', 'python', 'C:\\Users\\stduser\\AppData\\Local\\Temp\\comfyui_pvenv_aamctmub\\persistent_worker.py', 'tcp://127.0.0.1:60968']...
+[03:57] Frame 2 saved (frame_001.jpg, t=2.4s)
+[03:57] [capture-periodic] freeze=3ms shot=90ms unfreeze=5ms saved=True
[03:57] [ComfyUI] [SubprocessWorker] worker started/confirmed
[03:57] [ComfyUI] [SubprocessWorker] serializing kwargs to shm...
[03:57] [ComfyUI] [SubprocessWorker] created 0 shm blocks
[03:57] [ComfyUI] [SubprocessWorker] sending request via socket...
-[03:57] [ComfyUI] [SubprocessWorker] call_id=7 sending call_method
-[03:57] Node executed (1 total), capturing...
-[03:57] [ComfyUI] [SubprocessWorker] got response: ok
-[03:57] [ComfyUI] [comfy-env] PreviewGaussianDual done (0.08s): result: dict
-[03:57] [ComfyUI] [32m[INFO][0m [32mPrompt executed in 21.04 seconds[0m
-[03:57] Frame 4 saved (frame_003.jpg, t=21.3s)
-[03:57] [capture-node] freeze=3ms shot=99ms unfreeze=4ms saved=True
-[03:57] Node executed (2 total), capturing...
-[03:58] Frame 5 saved (frame_004.jpg, t=21.7s)
-[03:58] [capture-node] freeze=342ms shot=252ms unfreeze=0ms saved=True
-[03:58] Execution complete (t=21.7s)
+[03:57] [ComfyUI] [SubprocessWorker] call_id=1 sending call_method
+[03:58] [ComfyUI] [worker:ComfyUI-GaussianPack] WARNING: SPZ route not registered (ModuleNotFoundError: No module named 'comfy_aimdo')
+[03:58] [ComfyUI] [SubprocessWorker] got response: ok
+[03:58] [ComfyUI] [comfy-env] LoadPLY done (2.67s): result: list[1]
+[03:58] [ComfyUI] [comfy-env] Running GaussianAnalysis: ply_path: 'D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Gaus...
+[03:58] [ComfyUI] [SubprocessWorker] call_method: nodes.analyze_gaussians.GaussianAnalysis.analyze
+[03:58] [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...
+[03:58] [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...
+[03:58] [ComfyUI] [ComfyUI-GaussianPack] Health check: ok
+[03:58] [ComfyUI] [SubprocessWorker] worker started/confirmed
+[03:58] [ComfyUI] [SubprocessWorker] serializing kwargs to shm...
+[03:58] [ComfyUI] [SubprocessWorker] created 0 shm blocks
+[03:58] [ComfyUI] [SubprocessWorker] sending request via socket...
+[03:58] [ComfyUI] [SubprocessWorker] call_id=2 sending call_method
+[03:58] [ComfyUI] [SubprocessWorker] got response: ok
+[03:58] [ComfyUI] [comfy-env] GaussianAnalysis done (0.08s): result: dict
+[03:58] [ComfyUI] [comfy-env] Running LoadPLY: ply_file: 'compressed_room.ply'
+[03:58] [ComfyUI] [SubprocessWorker] call_method: nodes.load_ply.LoadPLY.load
+[03:58] [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...
+[03:58] [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...
+[03:58] [ComfyUI] [ComfyUI-GaussianPack] Health check: ok
+[03:58] [ComfyUI] [SubprocessWorker] worker started/confirmed
+[03:58] [ComfyUI] [SubprocessWorker] serializing kwargs to shm...
+[03:58] Node executed (1 total), capturing...
+[03:58] [ComfyUI] [SubprocessWorker] created 0 shm blocks
+[03:58] [ComfyUI] [SubprocessWorker] sending request via socket...
+[03:58] [ComfyUI] [SubprocessWorker] call_id=3 sending call_method
+[03:58] [ComfyUI] [SubprocessWorker] got response: ok
+[03:58] [ComfyUI] [comfy-env] LoadPLY done (0.09s): result: list[1]
+[03:58] [ComfyUI] [comfy-env] Running GaussianAnalysis: ply_path: 'D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Gaus...
+[03:58] [ComfyUI] [SubprocessWorker] call_method: nodes.analyze_gaussians.GaussianAnalysis.analyze
+[03:58] [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...
+[03:58] [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...
+[03:58] [ComfyUI] [ComfyUI-GaussianPack] Health check: ok
+[03:58] [ComfyUI] [SubprocessWorker] worker started/confirmed
+[03:58] [ComfyUI] [SubprocessWorker] serializing kwargs to shm...
+[03:58] [ComfyUI] [SubprocessWorker] created 0 shm blocks
+[03:58] [ComfyUI] [SubprocessWorker] sending request via socket...
+[03:58] [ComfyUI] [SubprocessWorker] call_id=4 sending call_method
+[03:58] [ComfyUI] [SubprocessWorker] got response: ok
+[03:58] [ComfyUI] [comfy-env] GaussianAnalysis done (0.09s): result: dict
+[03:58] [ComfyUI] [32m[INFO][0m [32mPrompt executed in 2.93 seconds[0m
+[03:58] Frame 3 saved (frame_002.jpg, t=3.2s)
+[03:58] [capture-node] freeze=15ms shot=93ms unfreeze=5ms saved=True
+[03:58] Node executed (2 total), capturing...
+[03:58] Frame 4 saved (frame_003.jpg, t=3.6s)
+[03:58] [capture-node] freeze=4ms shot=97ms unfreeze=0ms saved=True
+[03:58] Execution complete (t=3.6s)
[03:58] [3d-wait] Phase 1: Waiting for 'Loading 3D Model' text to disappear...
[03:58] [3d-wait] Phase 1 done in 0.0s
-[03:58] [3d-wait] Phase 2: iframes=1
-[03:58] [3d-wait] iframe viewer_ready=False (matched 0 console logs)
-[03:58] [3d-wait] Waiting for 'Loaded successfully' console message (timeout=60s)...
-[04:58] [3d-wait] iframe wait exception: Timeout 60000ms exceeded while waiting for event "console"
+[03:58] [3d-wait] Phase 2: iframes=0
+[03:58] [3d-wait] Total 3D wait: 0.0s
+[03:58] Captured 4 unique frames over 3.74s
+[03:58] [debug] iframes: 0
+[03:58] [timing] trigger_3d_previews: 0.0s
+[04:01] Saved high-quality screenshot: gaussian_analysis_executed.png
+[04:01] [timing] final_screenshot: 0.2s
+[04:01] [ComfyUI] [32m[INFO][0m Using RAM pressure cache.
+[04:01] [ComfyUI] [32m[INFO][0m Using RAM pressure cache.
+[04:01] Capturing execution frames: merge_splats.json
+[04:01] [ComfyUI] [32m[INFO][0m Using RAM pressure cache.
+[04:01] [ComfyUI] [1m[31m[ERROR][0m Exception in callback _ProactorBasePipeTransport._call_connection_lost()
+[04:01] [ComfyUI] handle:
+[04:01] [ComfyUI] Traceback (most recent call last):
+[04:01] [ComfyUI] File "C:\hostedtoolcache\windows\Python\3.13.13\x64\Lib\asyncio\events.py", line 89, in _run
+[04:01] [ComfyUI] self._context.run(self._callback, *self._args)
+[04:01] [ComfyUI] ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+[04:01] [ComfyUI] File "C:\hostedtoolcache\windows\Python\3.13.13\x64\Lib\asyncio\proactor_events.py", line 165, in _call_connection_lost
+[04:01] [ComfyUI] self._sock.shutdown(socket.SHUT_RDWR)
+[04:01] [ComfyUI] ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^
+[04:01] [ComfyUI] ConnectionResetError: [WinError 10054] An existing connection was forcibly closed by the remote host
+[04:07] Frame 1 saved (frame_000.jpg, t=0.0s)
+[04:07] Validating workflow...
+[04:07] [ComfyUI] [32m[INFO][0m === /validate endpoint called ===
+[04:07] [ComfyUI] [32m[INFO][0m Received JSON with keys: ['prompt']
+[04:07] [ComfyUI] [32m[INFO][0m Prompt has 3 nodes
+[04:07] [ComfyUI] [32m[INFO][0m Node 1: LoadPLY
+[04:07] [ComfyUI] [32m[INFO][0m Inputs: {"ply_file": "apple.ply"}
+[04:07] [ComfyUI] [32m[INFO][0m Node 12: GaussianMerge
+[04:07] Queuing workflow for execution...
+[04:07] [ComfyUI] [32m[INFO][0m Inputs: {"target_count": 100000, "output_filename": "applemerged", "opacity_threshold": 0.1, "k": 16, "backend": "nanogs_cpu", "ply_path": ["1", 0]}
+[04:07] [ComfyUI] [32m[INFO][0m Node 14: PreviewGaussianDual
+[04:07] [ComfyUI] [32m[INFO][0m Inputs: {"layout": "slider", "camera_mode": "orbit", "fov_degrees": 70, "renderer": "playcanvas", "transport_format": "ply", "ply_path_1": ["1", 0], "ply_path_2": ["12", 0]}
+[04:07] [ComfyUI] [32m[INFO][0m Generated prompt_id: 35093fa4-0765-48a0-9728-87adb2bac7af
+[04:07] [ComfyUI] [32m[INFO][0m Calling execution.validate_prompt()...
+[04:07] [ComfyUI] [32m[INFO][0m Validation result: valid=True
+[04:07] [ComfyUI] [32m[INFO][0m === Validation PASSED ===
+[04:07] [ComfyUI] [32m[INFO][0m got prompt
+[04:07] [ComfyUI] [comfy-env] Running LoadPLY: ply_file: 'apple.ply'
+[04:07] [ComfyUI] [SubprocessWorker] call_method: nodes.load_ply.LoadPLY.load
+[04:07] [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...
+[04:07] [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...
+[04:07] [ComfyUI] [ComfyUI-GaussianPack] Health check: ok
+[04:07] [ComfyUI] [SubprocessWorker] worker started/confirmed
+[04:07] [ComfyUI] [SubprocessWorker] serializing kwargs to shm...
+[04:07] [ComfyUI] [SubprocessWorker] created 0 shm blocks
+[04:07] [ComfyUI] [SubprocessWorker] sending request via socket...
+[04:07] [ComfyUI] [SubprocessWorker] call_id=5 sending call_method
+[04:07] [ComfyUI] [SubprocessWorker] got response: ok
+[04:07] [ComfyUI] [comfy-env] LoadPLY done (0.08s): result: list[1]
+[04:07] [ComfyUI] [comfy-env] Running GaussianMerge: target_count: 100000, output_filename: 'applemerged', opacity_threshold: 0.1, k: 16, backend: 'nanogs_cpu', ply_path: 'D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Gaus...
+[04:07] [ComfyUI] [SubprocessWorker] call_method: nodes.merge_gaussians.GaussianMerge.merge
+[04:07] [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...
+[04:07] [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...
+[04:07] [ComfyUI] [ComfyUI-GaussianPack] Health check: ok
+[04:07] [ComfyUI] [SubprocessWorker] worker started/confirmed
+[04:07] [ComfyUI] [SubprocessWorker] serializing kwargs to shm...
+[04:07] [ComfyUI] [SubprocessWorker] created 0 shm blocks
+[04:07] [ComfyUI] [SubprocessWorker] sending request via socket...
+[04:07] [ComfyUI] [SubprocessWorker] call_id=6 sending call_method
+[04:07] [ComfyUI] [worker:ComfyUI-GaussianPack] Loading PLY: D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\GaussianPack-1400\ComfyUI\input\apple.ply
+[04:07] [ComfyUI] [worker:ComfyUI-GaussianPack] Initial splats: 200000
+[04:07] [ComfyUI] [worker:ComfyUI-GaussianPack] Pruned splats: 200000, target: 100000
+[04:07] [ComfyUI] [worker:ComfyUI-GaussianPack] Opacity Mean: 0.53443545 Median: 0.48362076
+[04:07] [ComfyUI] [worker:ComfyUI-GaussianPack] Pruning splats with opacity below 0.1000
+[04:07] [ComfyUI] [worker:ComfyUI-GaussianPack] Original count: 200000, after opacity pruning: 200000
+[04:07] [ComfyUI] [worker:ComfyUI-GaussianPack] After opacity pruning, 200000 splats remain.
+[04:07] [ComfyUI] [worker:ComfyUI-GaussianPack] Pass 1: 200000 splats
+[04:09] Frame 2 saved (frame_001.jpg, t=2.1s)
+[04:09] [capture-periodic] freeze=4ms shot=94ms unfreeze=5ms saved=True
+[04:11] Frame 3 saved (frame_002.jpg, t=4.3s)
+[04:11] [capture-periodic] freeze=4ms shot=82ms unfreeze=5ms saved=True
+[04:12] [ComfyUI]
+[04:12] [ComfyUI] Edge costs: 0%| | 0/19 [00:00, ?it/s]
+[04:12] [ComfyUI] Edge costs: 5%|▌ | 1/19 [00:00<00:06, 2.89it/s]
+[04:13] [ComfyUI] Edge costs: 11%|█ | 2/19 [00:00<00:04, 3.63it/s]
+[04:13] [capture-loop] iter=50 t=5.7s state={'complete': False, 'error': None, 'executedCount': 0, 'wsState': 1} eval_ms=4 ram=4.8/16.0GB (30%) swap=0.2/2.9GB (6%) cpu=36% browser_rss=0.72GB
+[04:13] [ComfyUI] Edge costs: 16%|█▌ | 3/19 [00:00<00:04, 3.82it/s]
+[04:13] [ComfyUI] Edge costs: 21%|██ | 4/19 [00:01<00:03, 3.84it/s]
+[04:13] [ComfyUI] Edge costs: 26%|██▋ | 5/19 [00:01<00:03, 3.99it/s]
+[04:14] [ComfyUI] Edge costs: 32%|███▏ | 6/19 [00:01<00:03, 3.94it/s]
+[04:14] [ComfyUI] Edge costs: 37%|███▋ | 7/19 [00:01<00:03, 3.98it/s]
+[04:14] [ComfyUI] Edge costs: 42%|████▏ | 8/19 [00:02<00:02, 4.06it/s]
+[04:14] [ComfyUI] Edge costs: 47%|████▋ | 9/19 [00:02<00:02, 4.09it/s]
+[04:15] [ComfyUI] Edge costs: 53%|█████▎ | 10/19 [00:02<00:02, 4.10it/s]
+[04:15] [ComfyUI] Edge costs: 58%|█████▊ | 11/19 [00:02<00:01, 4.12it/s]
+[04:15] [ComfyUI] Edge costs: 63%|██████▎ | 12/19 [00:03<00:01, 3.94it/s]
+[04:15] [ComfyUI] Edge costs: 68%|██████▊ | 13/19 [00:03<00:01, 4.07it/s]
+[04:16] [ComfyUI] Edge costs: 74%|███████▎ | 14/19 [00:03<00:01, 4.19it/s]
+[04:16] [ComfyUI] Edge costs: 79%|███████▉ | 15/19 [00:03<00:00, 4.08it/s]
+[04:16] [ComfyUI] Edge costs: 84%|████████▍ | 16/19 [00:03<00:00, 4.17it/s]
+[04:16] [ComfyUI] Edge costs: 89%|████████▉ | 17/19 [00:04<00:00, 4.24it/s]
+[04:16] [ComfyUI] Edge costs: 95%|█████████▍| 18/19 [00:04<00:00, 4.25it/s]
+[04:16] [ComfyUI] Edge costs: 100%|██████████| 19/19 [00:04<00:00, 5.09it/s]
+[04:16] [ComfyUI] Edge costs: 100%|██████████| 19/19 [00:04<00:00, 4.17it/s]
+[04:18] [ComfyUI] [worker:ComfyUI-GaussianPack] edges: 1848776, pairs: 96906 (need 100000)
+[04:18] [ComfyUI] [worker:ComfyUI-GaussianPack] Merging 96906 pairs
+[04:18] [ComfyUI] [worker:ComfyUI-GaussianPack] Pass 2: 103094 splats
+[04:19] [capture-loop] iter=100 t=11.8s state={'complete': False, 'error': None, 'executedCount': 0, 'wsState': 1} eval_ms=4 ram=4.7/16.0GB (29%) swap=0.2/2.9GB (6%) cpu=40% browser_rss=0.65GB
+[04:20] [ComfyUI]
+[04:20] [ComfyUI] Edge costs: 0%| | 0/10 [00:00, ?it/s]
+[04:20] [ComfyUI] Edge costs: 10%|█ | 1/10 [00:00<00:01, 4.59it/s]
+[04:21] [ComfyUI] Edge costs: 20%|██ | 2/10 [00:00<00:01, 4.46it/s]
+[04:21] [ComfyUI] Edge costs: 30%|███ | 3/10 [00:00<00:01, 4.49it/s]
+[04:21] [ComfyUI] Edge costs: 40%|████ | 4/10 [00:00<00:01, 4.50it/s]
+[04:21] [ComfyUI] Edge costs: 50%|█████ | 5/10 [00:01<00:01, 4.42it/s]
+[04:22] [ComfyUI] Edge costs: 60%|██████ | 6/10 [00:01<00:00, 4.46it/s]
+[04:22] [ComfyUI] Edge costs: 70%|███████ | 7/10 [00:01<00:00, 4.48it/s]
+[04:22] [ComfyUI] Edge costs: 80%|████████ | 8/10 [00:01<00:00, 4.45it/s]
+[04:22] [ComfyUI] Edge costs: 90%|█████████ | 9/10 [00:02<00:00, 4.45it/s]
+[04:22] [ComfyUI] Edge costs: 100%|██████████| 10/10 [00:02<00:00, 4.85it/s]
+[04:22] [ComfyUI] [worker:ComfyUI-GaussianPack] edges: 919857, pairs: 3094 (need 3094)
+[04:22] [ComfyUI] [worker:ComfyUI-GaussianPack] Merging 3094 pairs
+[04:22] [ComfyUI] [worker:ComfyUI-GaussianPack] Final splats: 100000
+[04:24] [capture-loop] iter=150 t=17.5s state={'complete': False, 'error': None, 'executedCount': 0, 'wsState': 1} eval_ms=4 ram=4.7/16.0GB (29%) swap=0.2/2.9GB (6%) cpu=36% browser_rss=0.65GB
+[04:27] [ComfyUI] [SubprocessWorker] got response: ok
+[04:27] [ComfyUI] [comfy-env] GaussianMerge done (20.26s): result: dict
+[04:27] [ComfyUI] [comfy-env] Running PreviewGaussianDual: layout: 'slider', camera_mode: 'orbit', fov_degrees: 70.0, renderer: 'playcanvas', transport_format: 'ply', ply_path_1: 'D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Gaus..., ply_path_2: 'D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Gaus...
+[04:27] [ComfyUI] [SubprocessWorker] call_method: nodes.preview_gaussian_dual.PreviewGaussianDual.preview
+[04:27] [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...
+[04:27] [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...
+[04:27] [ComfyUI] [ComfyUI-GaussianPack] Health check: ok
+[04:27] [ComfyUI] [SubprocessWorker] worker started/confirmed
+[04:27] [ComfyUI] [SubprocessWorker] serializing kwargs to shm...
+[04:27] [ComfyUI] [SubprocessWorker] created 0 shm blocks
+[04:27] [ComfyUI] [SubprocessWorker] sending request via socket...
+[04:27] [ComfyUI] [SubprocessWorker] call_id=7 sending call_method
+[04:27] [ComfyUI] [SubprocessWorker] got response: ok
+[04:27] [ComfyUI] [comfy-env] PreviewGaussianDual done (0.10s): result: dict
+[04:27] [ComfyUI] [32m[INFO][0m [32mPrompt executed in 20.45 seconds[0m
+[04:27] Node executed (1 total), capturing...
+[04:28] Frame 4 saved (frame_003.jpg, t=20.7s)
+[04:28] [capture-node] freeze=4ms shot=95ms unfreeze=5ms saved=True
+[04:28] Node executed (2 total), capturing...
+[04:28] Frame 5 saved (frame_004.jpg, t=21.2s)
+[04:28] [capture-node] freeze=12ms shot=407ms unfreeze=0ms saved=True
+[04:28] Execution complete (t=21.2s)
+[04:28] [3d-wait] Phase 1: Waiting for 'Loading 3D Model' text to disappear...
+[04:28] [3d-wait] Phase 1 done in 0.0s
+[04:28] [3d-wait] Phase 2: iframes=1
+[04:28] [3d-wait] iframe viewer_ready=False (matched 0 console logs)
+[04:28] [3d-wait] Waiting for 'Loaded successfully' console message (timeout=60s)...
+[05:28] [3d-wait] iframe wait exception: Timeout 60000ms exceeded while waiting for event "console"
=========================== logs ===========================
waiting for event "console"
============================================================
-[04:58] [3d-wait] Total 3D wait: 60.1s
-[04:58] Captured 5 unique frames over 82.36s
-[04:58] [debug] iframes: 1
-[04:58] [debug] iframe[0]: src=http://127.0.0.1:41891/extensions/ComfyUI-GaussianPack/viewer_gaussian_dual.html, canvas=486x240, rafFrozen=True
-[04:58] [timing] trigger_3d_previews: 0.0s
-[05:00] Saved high-quality screenshot: merge_splats_executed.png
-[05:00] [timing] final_screenshot: 0.2s
-[05:00] [ComfyUI] [32m[INFO][0m Using RAM pressure cache.
-[05:00] [ComfyUI] [32m[INFO][0m Using RAM pressure cache.
-[05:00] Capturing execution frames: rotate_splats.json
-[05:01] [ComfyUI] [32m[INFO][0m Using RAM pressure cache.
-[05:06] Frame 1 saved (frame_000.jpg, t=0.0s)
-[05:06] Validating workflow...
-[05:07] [ComfyUI] [32m[INFO][0m === /validate endpoint called ===
-[05:07] [ComfyUI] [32m[INFO][0m Received JSON with keys: ['prompt']
-[05:07] [ComfyUI] [32m[INFO][0m Prompt has 3 nodes
-[05:07] [ComfyUI] [32m[INFO][0m Node 1: LoadPLY
-[05:07] [ComfyUI] [32m[INFO][0m Inputs: {"ply_file": "apple.ply"}
-[05:07] [ComfyUI] [32m[INFO][0m Node 14: PreviewGaussianDual
-[05:07] [ComfyUI] [32m[INFO][0m Inputs: {"layout": "slider", "camera_mode": "orbit", "fov_degrees": 70, "renderer": "playcanvas", "transport_format": "ply", "ply_path_1": ["1", 0], "ply_path_2": ["18", 0]}
-[05:07] Queuing workflow for execution...
-[05:07] [ComfyUI] [32m[INFO][0m Node 18: TransformGaussian
-[05:07] [ComfyUI] [32m[INFO][0m Inputs: {"rotate_x": -90, "rotate_y": 0, "rotate_z": 0, "ply_path": ["1", 0]}
-[05:07] [ComfyUI] [32m[INFO][0m Generated prompt_id: d7aa6707-c533-454c-b9de-4c209acb4d40
-[05:07] [ComfyUI] [32m[INFO][0m Calling execution.validate_prompt()...
-[05:07] [ComfyUI] [32m[INFO][0m Validation result: valid=True
-[05:07] [ComfyUI] [32m[INFO][0m === Validation PASSED ===
-[05:07] [ComfyUI] [32m[INFO][0m got prompt
-[05:07] [ComfyUI] [comfy-env] Running LoadPLY: ply_file: 'apple.ply'
-[05:07] [ComfyUI] [SubprocessWorker] call_method: nodes.load_ply.LoadPLY.load
-[05:07] [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...
-[05:07] [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...
-[05:07] [ComfyUI] [ComfyUI-GaussianPack] Health check: failed
-[05:07] [ComfyUI] [ComfyUI-GaussianPack] Socket unhealthy, restarting worker...
-[05:07] [ComfyUI] [comfy-env] gaussianpack-nodes: Library/bin has 157 DLLs
-[05:07] [ComfyUI] [ComfyUI-GaussianPack] python: C:\Users\stduser\AppData\Local\Programs\comfy-env\.pixi\envs\gaussianpack-nodes\python.exe
-[05:07] [ComfyUI] [ComfyUI-GaussianPack] sys_path sent to worker: ['D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1247\\ComfyUI', 'D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1247\\ComfyUI\\custom_nodes\\ComfyUI-GaussianPack', 'C:\\Users\\stduser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\gaussianpack-nodes\\Lib\\site-packages', 'D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1247\\ComfyUI\\custom_nodes\\ComfyUI-GaussianPack']
-[05:07] [ComfyUI] [SubprocessWorker] is_pixi=True, python=C:\Users\stduser\AppData\Local\Programs\comfy-env\.pixi\envs\gaussianpack-nodes\python.exe
-[05:07] [ComfyUI] [SubprocessWorker] launching cmd=['C:\\Users\\stduser\\.pixi\\bin\\pixi.exe', 'run', '--as-is', '--manifest-path', 'C:\\Users\\stduser\\AppData\\Local\\Programs\\comfy-env\\pixi.toml', '-e', 'gaussianpack-nodes', 'python', 'C:\\Users\\stduser\\AppData\\Local\\Temp\\comfyui_pvenv_d4yba5md\\persistent_worker.py', 'tcp://127.0.0.1:57689']...
-[05:09] Frame 2 saved (frame_001.jpg, t=2.2s)
-[05:09] [capture-periodic] freeze=2ms shot=95ms unfreeze=4ms saved=True
-[05:09] [ComfyUI] [SubprocessWorker] worker started/confirmed
-[05:09] [ComfyUI] [SubprocessWorker] serializing kwargs to shm...
-[05:09] [ComfyUI] [SubprocessWorker] created 0 shm blocks
-[05:09] [ComfyUI] [SubprocessWorker] sending request via socket...
-[05:09] [ComfyUI] [SubprocessWorker] call_id=8 sending call_method
-[05:09] [ComfyUI] [worker:ComfyUI-GaussianPack] WARNING: SPZ route not registered (ModuleNotFoundError: No module named 'comfy_aimdo')
-[05:09] [ComfyUI] [SubprocessWorker] got response: ok
-[05:09] [ComfyUI] [comfy-env] LoadPLY done (2.84s): result: list[1]
-[05:09] [ComfyUI] [comfy-env] Running TransformGaussian: rotate_x: -90.0, rotate_y: 0.0, rotate_z: 0.0, ply_path: 'D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Gaus...
-[05:09] [ComfyUI] [SubprocessWorker] call_method: nodes.transform_gaussian.TransformGaussian.transform
-[05:09] [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...
-[05:09] [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...
-[05:09] [ComfyUI] [ComfyUI-GaussianPack] Health check: ok
-[05:09] [ComfyUI] [SubprocessWorker] worker started/confirmed
-[05:09] [ComfyUI] [SubprocessWorker] serializing kwargs to shm...
-[05:09] [ComfyUI] [SubprocessWorker] created 0 shm blocks
-[05:09] [ComfyUI] [SubprocessWorker] sending request via socket...
-[05:09] [ComfyUI] [SubprocessWorker] call_id=9 sending call_method
-[05:10] [ComfyUI] [SubprocessWorker] got response: ok
-[05:10] [ComfyUI] [comfy-env] TransformGaussian done (0.64s): result: list[1]
-[05:10] [ComfyUI] [comfy-env] Running PreviewGaussianDual: layout: 'slider', camera_mode: 'orbit', fov_degrees: 70.0, renderer: 'playcanvas', transport_format: 'ply', ply_path_1: 'D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Gaus..., ply_path_2: 'D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Gaus...
-[05:10] [ComfyUI] [SubprocessWorker] call_method: nodes.preview_gaussian_dual.PreviewGaussianDual.preview
-[05:10] [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...
-[05:10] [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...
-[05:10] [ComfyUI] [ComfyUI-GaussianPack] Health check: ok
-[05:10] [ComfyUI] [SubprocessWorker] worker started/confirmed
-[05:10] [ComfyUI] [SubprocessWorker] serializing kwargs to shm...
-[05:10] [ComfyUI] [SubprocessWorker] created 0 shm blocks
-[05:10] [ComfyUI] [SubprocessWorker] sending request via socket...
-[05:10] [ComfyUI] [SubprocessWorker] call_id=10 sending call_method
-[05:10] [ComfyUI] [SubprocessWorker] got response: ok
-[05:10] [ComfyUI] [comfy-env] PreviewGaussianDual done (0.06s): result: dict
-[05:10] [ComfyUI] [32m[INFO][0m [32mPrompt executed in 3.55 seconds[0m
-[05:10] Node executed (1 total), capturing...
-[05:11] Frame 3 saved (frame_002.jpg, t=3.9s)
-[05:11] [capture-node] freeze=50ms shot=151ms unfreeze=0ms saved=True
-[05:11] Execution complete (t=3.9s)
-[05:11] [3d-wait] Phase 1: Waiting for 'Loading 3D Model' text to disappear...
-[05:11] [3d-wait] Phase 1 done in 0.1s
-[05:11] [3d-wait] Phase 2: iframes=1
-[05:11] [3d-wait] iframe viewer_ready=False (matched 0 console logs)
-[05:11] [3d-wait] Waiting for 'Loaded successfully' console message (timeout=60s)...
-[06:11] [3d-wait] iframe wait exception: Timeout 60000ms exceeded while waiting for event "console"
+[05:28] [3d-wait] Total 3D wait: 60.0s
+[05:28] Captured 5 unique frames over 81.67s
+[05:28] [debug] iframes: 1
+[05:28] [debug] iframe[0]: src=http://127.0.0.1:41897/extensions/ComfyUI-GaussianPack/viewer_gaussian_dual.html, canvas=486x240, rafFrozen=True
+[05:28] [timing] trigger_3d_previews: 0.0s
+[05:31] Saved high-quality screenshot: merge_splats_executed.png
+[05:31] [timing] final_screenshot: 0.2s
+[05:31] [ComfyUI] [32m[INFO][0m Using RAM pressure cache.
+[05:31] [ComfyUI] [32m[INFO][0m Using RAM pressure cache.
+[05:31] Capturing execution frames: rotate_splats.json
+[05:31] [ComfyUI] [32m[INFO][0m Using RAM pressure cache.
+[05:37] Frame 1 saved (frame_000.jpg, t=0.0s)
+[05:37] Validating workflow...
+[05:37] [ComfyUI] [32m[INFO][0m === /validate endpoint called ===
+[05:37] [ComfyUI] [32m[INFO][0m Received JSON with keys: ['prompt']
+[05:37] [ComfyUI] [32m[INFO][0m Prompt has 3 nodes
+[05:37] [ComfyUI] [32m[INFO][0m Node 1: LoadPLY
+[05:37] [ComfyUI] [32m[INFO][0m Inputs: {"ply_file": "apple.ply"}
+[05:37] [ComfyUI] [32m[INFO][0m Node 14: PreviewGaussianDual
+[05:37] Queuing workflow for execution...
+[05:37] [ComfyUI] [32m[INFO][0m Inputs: {"layout": "slider", "camera_mode": "orbit", "fov_degrees": 70, "renderer": "playcanvas", "transport_format": "ply", "ply_path_1": ["1", 0], "ply_path_2": ["18", 0]}
+[05:37] [ComfyUI] [32m[INFO][0m Node 18: TransformGaussian
+[05:37] [ComfyUI] [32m[INFO][0m Inputs: {"rotate_x": -90, "rotate_y": 0, "rotate_z": 0, "ply_path": ["1", 0]}
+[05:37] [ComfyUI] [32m[INFO][0m Generated prompt_id: 35ef54fd-b25d-4137-a0b9-dafb2115bb79
+[05:37] [ComfyUI] [32m[INFO][0m Calling execution.validate_prompt()...
+[05:37] [ComfyUI] [32m[INFO][0m Validation result: valid=True
+[05:37] [ComfyUI] [32m[INFO][0m === Validation PASSED ===
+[05:37] [ComfyUI] [32m[INFO][0m got prompt
+[05:37] [ComfyUI] [comfy-env] Running LoadPLY: ply_file: 'apple.ply'
+[05:37] [ComfyUI] [SubprocessWorker] call_method: nodes.load_ply.LoadPLY.load
+[05:37] [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...
+[05:37] [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...
+[05:37] [ComfyUI] [ComfyUI-GaussianPack] Health check: failed
+[05:37] [ComfyUI] [ComfyUI-GaussianPack] Socket unhealthy, restarting worker...
+[05:37] [ComfyUI] [comfy-env] gaussianpack-nodes: Library/bin has 158 DLLs
+[05:37] [ComfyUI] [ComfyUI-GaussianPack] python: C:\Users\stduser\AppData\Local\Programs\comfy-env\.pixi\envs\gaussianpack-nodes\python.exe
+[05:37] [ComfyUI] [ComfyUI-GaussianPack] sys_path sent to worker: ['D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1400\\ComfyUI', 'D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1400\\ComfyUI\\custom_nodes\\ComfyUI-GaussianPack', 'C:\\Users\\stduser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\gaussianpack-nodes\\Lib\\site-packages', 'D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1400\\ComfyUI\\custom_nodes\\ComfyUI-GaussianPack']
+[05:37] [ComfyUI] [SubprocessWorker] is_pixi=True, python=C:\Users\stduser\AppData\Local\Programs\comfy-env\.pixi\envs\gaussianpack-nodes\python.exe
+[05:37] [ComfyUI] [SubprocessWorker] launching cmd=['C:\\Users\\stduser\\.pixi\\bin\\pixi.exe', 'run', '--as-is', '--manifest-path', 'C:\\Users\\stduser\\AppData\\Local\\Programs\\comfy-env\\pixi.toml', '-e', 'gaussianpack-nodes', 'python', 'C:\\Users\\stduser\\AppData\\Local\\Temp\\comfyui_pvenv_aamctmub\\persistent_worker.py', 'tcp://127.0.0.1:52668']...
+[05:39] Frame 2 saved (frame_001.jpg, t=2.2s)
+[05:39] [capture-periodic] freeze=4ms shot=89ms unfreeze=4ms saved=True
+[05:39] [ComfyUI] [SubprocessWorker] worker started/confirmed
+[05:39] [ComfyUI] [SubprocessWorker] serializing kwargs to shm...
+[05:39] [ComfyUI] [SubprocessWorker] created 0 shm blocks
+[05:39] [ComfyUI] [SubprocessWorker] sending request via socket...
+[05:39] [ComfyUI] [SubprocessWorker] call_id=8 sending call_method
+[05:39] [ComfyUI] [worker:ComfyUI-GaussianPack] WARNING: SPZ route not registered (ModuleNotFoundError: No module named 'comfy_aimdo')
+[05:39] [ComfyUI] [SubprocessWorker] got response: ok
+[05:39] [ComfyUI] [comfy-env] LoadPLY done (2.60s): result: list[1]
+[05:39] [ComfyUI] [comfy-env] Running TransformGaussian: rotate_x: -90.0, rotate_y: 0.0, rotate_z: 0.0, ply_path: 'D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Gaus...
+[05:39] [ComfyUI] [SubprocessWorker] call_method: nodes.transform_gaussian.TransformGaussian.transform
+[05:39] [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...
+[05:39] [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...
+[05:39] [ComfyUI] [ComfyUI-GaussianPack] Health check: ok
+[05:39] [ComfyUI] [SubprocessWorker] worker started/confirmed
+[05:39] [ComfyUI] [SubprocessWorker] serializing kwargs to shm...
+[05:39] [ComfyUI] [SubprocessWorker] created 0 shm blocks
+[05:39] [ComfyUI] [SubprocessWorker] sending request via socket...
+[05:39] [ComfyUI] [SubprocessWorker] call_id=9 sending call_method
+[05:40] [ComfyUI] [SubprocessWorker] got response: ok
+[05:40] [ComfyUI] [comfy-env] TransformGaussian done (0.68s): result: list[1]
+[05:40] [ComfyUI] [comfy-env] Running PreviewGaussianDual: layout: 'slider', camera_mode: 'orbit', fov_degrees: 70.0, renderer: 'playcanvas', transport_format: 'ply', ply_path_1: 'D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Gaus..., ply_path_2: 'D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Gaus...
+[05:40] [ComfyUI] [SubprocessWorker] call_method: nodes.preview_gaussian_dual.PreviewGaussianDual.preview
+[05:40] [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...
+[05:40] [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...
+[05:40] [ComfyUI] [ComfyUI-GaussianPack] Health check: ok
+[05:40] [ComfyUI] [SubprocessWorker] worker started/confirmed
+[05:40] [ComfyUI] [SubprocessWorker] serializing kwargs to shm...
+[05:40] [ComfyUI] [SubprocessWorker] created 0 shm blocks
+[05:40] [ComfyUI] [SubprocessWorker] sending request via socket...
+[05:40] [ComfyUI] [SubprocessWorker] call_id=10 sending call_method
+[05:40] [ComfyUI] [SubprocessWorker] got response: ok
+[05:40] [ComfyUI] [comfy-env] PreviewGaussianDual done (0.09s): result: dict
+[05:40] [ComfyUI] [32m[INFO][0m [32mPrompt executed in 3.39 seconds[0m
+[05:40] Node executed (1 total), capturing...
+[05:41] Frame 3 saved (frame_002.jpg, t=3.7s)
+[05:41] [capture-node] freeze=21ms shot=261ms unfreeze=0ms saved=True
+[05:41] Execution complete (t=3.7s)
+[05:41] [3d-wait] Phase 1: Waiting for 'Loading 3D Model' text to disappear...
+[05:41] [3d-wait] Phase 1 done in 0.2s
+[05:41] [3d-wait] Phase 2: iframes=1
+[05:41] [3d-wait] iframe viewer_ready=False (matched 0 console logs)
+[05:41] [3d-wait] Waiting for 'Loaded successfully' console message (timeout=60s)...
+[06:41] [3d-wait] iframe wait exception: Timeout 60000ms exceeded while waiting for event "console"
=========================== logs ===========================
waiting for event "console"
============================================================
-[06:11] [3d-wait] Total 3D wait: 60.2s
-[06:11] Captured 3 unique frames over 64.4s
-[06:11] [debug] iframes: 1
-[06:11] [debug] iframe[0]: src=http://127.0.0.1:41891/extensions/ComfyUI-GaussianPack/viewer_gaussian_dual.html, canvas=486x214, rafFrozen=True
-[06:11] [timing] trigger_3d_previews: 0.0s
-[06:13] Saved high-quality screenshot: rotate_splats_executed.png
-[06:13] [timing] final_screenshot: 0.2s
-[06:13] [ComfyUI] [32m[INFO][0m Using RAM pressure cache.
-[06:13] [ComfyUI] [32m[INFO][0m Using RAM pressure cache.
-[06:13] Capturing execution frames: spectate.json
-[06:14] [ComfyUI] [32m[INFO][0m Using RAM pressure cache.
-[06:19] Frame 1 saved (frame_000.jpg, t=0.0s)
-[06:19] Validating workflow...
-[06:19] [ComfyUI] [32m[INFO][0m === /validate endpoint called ===
-[06:19] [ComfyUI] [32m[INFO][0m Received JSON with keys: ['prompt']
-[06:19] [ComfyUI] [32m[INFO][0m Prompt has 2 nodes
-[06:19] [ComfyUI] [32m[INFO][0m Node 1: LoadPLY
-[06:19] [ComfyUI] [32m[INFO][0m Inputs: {"ply_file": "compressed_room.ply"}
-[06:19] Queuing workflow for execution...
-[06:19] [ComfyUI] [32m[INFO][0m Node 2: PreviewGaussians
-[06:19] [ComfyUI] [32m[INFO][0m Inputs: {"camera_mode": "spectate", "fov_degrees": 70, "renderer": "playcanvas", "transport_format": "ply", "ply_path": ["1", 0]}
-[06:19] [ComfyUI] [32m[INFO][0m Generated prompt_id: aa2bb1be-23ce-4a20-907e-a65505fa9109
-[06:19] [ComfyUI] [32m[INFO][0m Calling execution.validate_prompt()...
-[06:19] [ComfyUI] [32m[INFO][0m Validation result: valid=True
-[06:19] [ComfyUI] [32m[INFO][0m === Validation PASSED ===
-[06:19] [ComfyUI] [32m[INFO][0m got prompt
-[06:19] [ComfyUI] [comfy-env] Running LoadPLY: ply_file: 'compressed_room.ply'
-[06:19] [ComfyUI] [SubprocessWorker] call_method: nodes.load_ply.LoadPLY.load
-[06:19] [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...
-[06:19] [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...
-[06:19] [ComfyUI] [ComfyUI-GaussianPack] Health check: failed
-[06:19] [ComfyUI] [ComfyUI-GaussianPack] Socket unhealthy, restarting worker...
-[06:19] [ComfyUI] [comfy-env] gaussianpack-nodes: Library/bin has 157 DLLs
-[06:19] [ComfyUI] [ComfyUI-GaussianPack] python: C:\Users\stduser\AppData\Local\Programs\comfy-env\.pixi\envs\gaussianpack-nodes\python.exe
-[06:19] [ComfyUI] [ComfyUI-GaussianPack] sys_path sent to worker: ['D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1247\\ComfyUI', 'D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1247\\ComfyUI\\custom_nodes\\ComfyUI-GaussianPack', 'C:\\Users\\stduser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\gaussianpack-nodes\\Lib\\site-packages', 'D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1247\\ComfyUI\\custom_nodes\\ComfyUI-GaussianPack']
-[06:19] [ComfyUI] [SubprocessWorker] is_pixi=True, python=C:\Users\stduser\AppData\Local\Programs\comfy-env\.pixi\envs\gaussianpack-nodes\python.exe
-[06:19] [ComfyUI] [SubprocessWorker] launching cmd=['C:\\Users\\stduser\\.pixi\\bin\\pixi.exe', 'run', '--as-is', '--manifest-path', 'C:\\Users\\stduser\\AppData\\Local\\Programs\\comfy-env\\pixi.toml', '-e', 'gaussianpack-nodes', 'python', 'C:\\Users\\stduser\\AppData\\Local\\Temp\\comfyui_pvenv_d4yba5md\\persistent_worker.py', 'tcp://127.0.0.1:61400']...
-[06:21] Frame 2 saved (frame_001.jpg, t=2.2s)
-[06:21] [capture-periodic] freeze=3ms shot=92ms unfreeze=3ms saved=True
-[06:22] [ComfyUI] [SubprocessWorker] worker started/confirmed
-[06:22] [ComfyUI] [SubprocessWorker] serializing kwargs to shm...
-[06:22] [ComfyUI] [SubprocessWorker] created 0 shm blocks
-[06:22] [ComfyUI] [SubprocessWorker] sending request via socket...
-[06:22] [ComfyUI] [SubprocessWorker] call_id=11 sending call_method
-[06:22] [ComfyUI] [worker:ComfyUI-GaussianPack] WARNING: SPZ route not registered (ModuleNotFoundError: No module named 'comfy_aimdo')
-[06:22] [ComfyUI] [SubprocessWorker] got response: ok
-[06:22] [ComfyUI] [comfy-env] LoadPLY done (3.02s): result: list[1]
-[06:22] [ComfyUI] [comfy-env] Running PreviewGaussians: camera_mode: 'spectate', fov_degrees: 70.0, renderer: 'playcanvas', transport_format: 'ply', ply_path: 'D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Gaus...
-[06:22] [ComfyUI] [SubprocessWorker] call_method: nodes.preview_gaussian.PreviewGaussians.preview
-[06:22] [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...
-[06:22] [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...
-[06:22] [ComfyUI] [ComfyUI-GaussianPack] Health check: ok
-[06:22] [ComfyUI] [SubprocessWorker] worker started/confirmed
-[06:22] [ComfyUI] [SubprocessWorker] serializing kwargs to shm...
-[06:22] [ComfyUI] [SubprocessWorker] created 0 shm blocks
-[06:22] [ComfyUI] [SubprocessWorker] sending request via socket...
-[06:22] [ComfyUI] [SubprocessWorker] call_id=12 sending call_method
-[06:22] [ComfyUI] [SubprocessWorker] got response: ok
-[06:22] [ComfyUI] [comfy-env] PreviewGaussians done (0.10s): result: dict
-[06:22] [ComfyUI] [32m[INFO][0m [32mPrompt executed in 3.12 seconds[0m
-[06:22] Node executed (1 total), capturing...
-[06:23] Frame 3 saved (frame_002.jpg, t=3.5s)
-[06:23] [capture-node] freeze=2ms shot=87ms unfreeze=0ms saved=True
-[06:23] Execution complete (t=3.5s)
-[06:23] [3d-wait] Phase 1: Waiting for 'Loading 3D Model' text to disappear...
-[06:23] [3d-wait] Phase 1 done in 0.0s
-[06:23] [3d-wait] Phase 2: iframes=1
-[06:23] [3d-wait] iframe viewer_ready=False (matched 0 console logs)
-[06:23] [3d-wait] Waiting for 'Loaded successfully' console message (timeout=60s)...
-[06:24] [3d-wait] Got 'Loaded successfully' after 1.2s
-[06:24] [3d-wait] Unfrozen in 0.010s, rendering for 5s...
-[06:29] [3d-wait] JS halted via CDP after 5.4s
-[06:30] [3d-wait] Re-frozen in 6.4s
-[06:30] [3d-wait] Total 3D wait: 7.6s
-[06:30] Captured 3 unique frames over 11.22s
-[06:30] [debug] iframes: 1
-[06:30] [debug] iframe[0]: src=http://127.0.0.1:41891/extensions/ComfyUI-GaussianPack/viewer_gaussian.html?mode, canvas=781x402, rafFrozen=True
-[06:30] [timing] trigger_3d_previews: 0.0s
-[06:33] Saved high-quality screenshot: spectate_executed.png
-[06:33] [timing] final_screenshot: 0.3s
-[06:33] [ComfyUI] [32m[INFO][0m Using RAM pressure cache.
-[06:33] Results saved to D:\a\comfy-gpu-ci\comfy-gpu-ci\comfy-test-logs\GaussianPack-1247\dev\windows-cpu\results.json
-[06:33] Saved: D:\a\comfy-gpu-ci\comfy-gpu-ci\comfy-test-logs\GaussianPack-1247\dev\windows-cpu\index.html
-[06:33] [EXECUTION] PASSED
-[06:33]
+[06:41] [3d-wait] Total 3D wait: 60.3s
+[06:41] Captured 3 unique frames over 64.35s
+[06:41] [debug] iframes: 1
+[06:41] [debug] iframe[0]: src=http://127.0.0.1:41897/extensions/ComfyUI-GaussianPack/viewer_gaussian_dual.html, canvas=486x214, rafFrozen=True
+[06:41] [timing] trigger_3d_previews: 0.0s
+[06:43] Saved high-quality screenshot: rotate_splats_executed.png
+[06:43] [timing] final_screenshot: 0.2s
+[06:43] [ComfyUI] [32m[INFO][0m Using RAM pressure cache.
+[06:44] [ComfyUI] [32m[INFO][0m Using RAM pressure cache.
+[06:44] Capturing execution frames: spectate.json
+[06:44] [ComfyUI] [32m[INFO][0m Using RAM pressure cache.
+[06:49] Frame 1 saved (frame_000.jpg, t=0.0s)
+[06:49] Validating workflow...
+[06:49] [ComfyUI] [32m[INFO][0m === /validate endpoint called ===
+[06:49] [ComfyUI] [32m[INFO][0m Received JSON with keys: ['prompt']
+[06:49] [ComfyUI] [32m[INFO][0m Prompt has 2 nodes
+[06:49] [ComfyUI] [32m[INFO][0m Node 1: LoadPLY
+[06:49] [ComfyUI] [32m[INFO][0m Inputs: {"ply_file": "compressed_room.ply"}
+[06:49] [ComfyUI] [32m[INFO][0m Node 2: PreviewGaussians
+[06:49] Queuing workflow for execution...
+[06:49] [ComfyUI] [32m[INFO][0m Inputs: {"camera_mode": "spectate", "fov_degrees": 70, "renderer": "playcanvas", "transport_format": "ply", "ply_path": ["1", 0]}
+[06:49] [ComfyUI] [32m[INFO][0m Generated prompt_id: cc64ab89-a883-402c-be8f-0251f7977da2
+[06:49] [ComfyUI] [32m[INFO][0m Calling execution.validate_prompt()...
+[06:49] [ComfyUI] [32m[INFO][0m Validation result: valid=True
+[06:49] [ComfyUI] [32m[INFO][0m === Validation PASSED ===
+[06:49] [ComfyUI] [32m[INFO][0m got prompt
+[06:49] [ComfyUI] [comfy-env] Running LoadPLY: ply_file: 'compressed_room.ply'
+[06:49] [ComfyUI] [SubprocessWorker] call_method: nodes.load_ply.LoadPLY.load
+[06:49] [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...
+[06:49] [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...
+[06:49] [ComfyUI] [ComfyUI-GaussianPack] Health check: failed
+[06:49] [ComfyUI] [ComfyUI-GaussianPack] Socket unhealthy, restarting worker...
+[06:49] [ComfyUI] [comfy-env] gaussianpack-nodes: Library/bin has 158 DLLs
+[06:49] [ComfyUI] [ComfyUI-GaussianPack] python: C:\Users\stduser\AppData\Local\Programs\comfy-env\.pixi\envs\gaussianpack-nodes\python.exe
+[06:49] [ComfyUI] [ComfyUI-GaussianPack] sys_path sent to worker: ['D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1400\\ComfyUI', 'D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1400\\ComfyUI\\custom_nodes\\ComfyUI-GaussianPack', 'C:\\Users\\stduser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\gaussianpack-nodes\\Lib\\site-packages', 'D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1400\\ComfyUI\\custom_nodes\\ComfyUI-GaussianPack']
+[06:49] [ComfyUI] [SubprocessWorker] is_pixi=True, python=C:\Users\stduser\AppData\Local\Programs\comfy-env\.pixi\envs\gaussianpack-nodes\python.exe
+[06:49] [ComfyUI] [SubprocessWorker] launching cmd=['C:\\Users\\stduser\\.pixi\\bin\\pixi.exe', 'run', '--as-is', '--manifest-path', 'C:\\Users\\stduser\\AppData\\Local\\Programs\\comfy-env\\pixi.toml', '-e', 'gaussianpack-nodes', 'python', 'C:\\Users\\stduser\\AppData\\Local\\Temp\\comfyui_pvenv_aamctmub\\persistent_worker.py', 'tcp://127.0.0.1:59997']...
+[06:52] Frame 2 saved (frame_001.jpg, t=2.2s)
+[06:52] [capture-periodic] freeze=4ms shot=88ms unfreeze=5ms saved=True
+[06:52] [ComfyUI] [SubprocessWorker] worker started/confirmed
+[06:52] [ComfyUI] [SubprocessWorker] serializing kwargs to shm...
+[06:52] [ComfyUI] [SubprocessWorker] created 0 shm blocks
+[06:52] [ComfyUI] [SubprocessWorker] sending request via socket...
+[06:52] [ComfyUI] [SubprocessWorker] call_id=11 sending call_method
+[06:52] [ComfyUI] [worker:ComfyUI-GaussianPack] WARNING: SPZ route not registered (ModuleNotFoundError: No module named 'comfy_aimdo')
+[06:52] [ComfyUI] [SubprocessWorker] got response: ok
+[06:52] [ComfyUI] [comfy-env] LoadPLY done (2.60s): result: list[1]
+[06:52] [ComfyUI] [comfy-env] Running PreviewGaussians: camera_mode: 'spectate', fov_degrees: 70.0, renderer: 'playcanvas', transport_format: 'ply', ply_path: 'D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Gaus...
+[06:52] [ComfyUI] [SubprocessWorker] call_method: nodes.preview_gaussian.PreviewGaussians.preview
+[06:52] [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...
+[06:52] [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...
+[06:52] [ComfyUI] [ComfyUI-GaussianPack] Health check: ok
+[06:52] [ComfyUI] [SubprocessWorker] worker started/confirmed
+[06:52] [ComfyUI] [SubprocessWorker] serializing kwargs to shm...
+[06:52] [ComfyUI] [SubprocessWorker] created 0 shm blocks
+[06:52] [ComfyUI] [SubprocessWorker] sending request via socket...
+[06:52] [ComfyUI] [SubprocessWorker] call_id=12 sending call_method
+[06:52] [ComfyUI] [SubprocessWorker] got response: ok
+[06:52] [ComfyUI] [comfy-env] PreviewGaussians done (0.11s): result: dict
+[06:52] [ComfyUI] [32m[INFO][0m [32mPrompt executed in 2.72 seconds[0m
+[06:52] Node executed (1 total), capturing...
+[06:52] Frame 3 saved (frame_002.jpg, t=3.1s)
+[06:52] [capture-node] freeze=5ms shot=93ms unfreeze=0ms saved=True
+[06:52] Execution complete (t=3.1s)
+[06:52] [3d-wait] Phase 1: Waiting for 'Loading 3D Model' text to disappear...
+[06:52] [3d-wait] Phase 1 done in 0.0s
+[06:52] [3d-wait] Phase 2: iframes=1
+[06:52] [3d-wait] iframe viewer_ready=False (matched 0 console logs)
+[06:52] [3d-wait] Waiting for 'Loaded successfully' console message (timeout=60s)...
+[06:54] [3d-wait] Got 'Loaded successfully' after 1.1s
+[06:54] [3d-wait] Unfrozen in 0.014s, rendering for 5s...
+[06:59] [3d-wait] JS halted via CDP after 5.5s
+[07:00] [3d-wait] Re-frozen in 6.5s
+[07:00] [3d-wait] Total 3D wait: 7.6s
+[07:00] Captured 3 unique frames over 10.79s
+[07:00] [debug] iframes: 1
+[07:00] [debug] iframe[0]: src=http://127.0.0.1:41897/extensions/ComfyUI-GaussianPack/viewer_gaussian.html?mode, canvas=781x402, rafFrozen=True
+[07:00] [timing] trigger_3d_previews: 0.0s
+[07:02] Saved high-quality screenshot: spectate_executed.png
+[07:02] [timing] final_screenshot: 0.3s
+[07:02] [ComfyUI] [32m[INFO][0m Using RAM pressure cache.
+[07:03] Results saved to D:\a\comfy-gpu-ci\comfy-gpu-ci\comfy-test-logs\GaussianPack-1400\dev\windows-cpu\results.json
+[07:03] Saved: D:\a\comfy-gpu-ci\comfy-gpu-ci\comfy-test-logs\GaussianPack-1400\dev\windows-cpu\index.html
+[07:03] [EXECUTION] PASSED
+[07:03]
windows: PASSED
-[06:33] Stopping ComfyUI server...
+[07:03] Stopping ComfyUI server...
diff --git a/dev/windows-cpu/videos/gaussian_analysis/frame_001.jpg b/dev/windows-cpu/videos/gaussian_analysis/frame_001.jpg
index 735f8d9..a490c33 100644
Binary files a/dev/windows-cpu/videos/gaussian_analysis/frame_001.jpg and b/dev/windows-cpu/videos/gaussian_analysis/frame_001.jpg differ
diff --git a/dev/windows-cpu/videos/gaussian_analysis/frame_002.jpg b/dev/windows-cpu/videos/gaussian_analysis/frame_002.jpg
index 646978a..bda748f 100644
Binary files a/dev/windows-cpu/videos/gaussian_analysis/frame_002.jpg and b/dev/windows-cpu/videos/gaussian_analysis/frame_002.jpg differ
diff --git a/dev/windows-cpu/videos/gaussian_analysis/frame_003.jpg b/dev/windows-cpu/videos/gaussian_analysis/frame_003.jpg
index ac50e87..4dfc32b 100644
Binary files a/dev/windows-cpu/videos/gaussian_analysis/frame_003.jpg and b/dev/windows-cpu/videos/gaussian_analysis/frame_003.jpg differ
diff --git a/dev/windows-cpu/videos/gaussian_analysis/frame_004.jpg b/dev/windows-cpu/videos/gaussian_analysis/frame_004.jpg
index 0c4b383..719bed5 100644
Binary files a/dev/windows-cpu/videos/gaussian_analysis/frame_004.jpg and b/dev/windows-cpu/videos/gaussian_analysis/frame_004.jpg differ
diff --git a/dev/windows-cpu/videos/gaussian_analysis/metadata.json b/dev/windows-cpu/videos/gaussian_analysis/metadata.json
index fd78c09..39f6c5b 100644
--- a/dev/windows-cpu/videos/gaussian_analysis/metadata.json
+++ b/dev/windows-cpu/videos/gaussian_analysis/metadata.json
@@ -7,24 +7,24 @@
},
{
"file": "frame_001.jpg",
- "time": 2.28,
- "log": " [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\nCapturing execution frames: gaussian_analysis.json\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\n Frame 1 saved (frame_000.jpg, t=0.0s)\n Validating workflow...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m === /validate endpoint called ===\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Received JSON with keys: ['prompt']\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Prompt has 4 nodes\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 1: LoadPLY\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"ply_file\": \"apple.ply\"}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 19: GaussianAnalysis\n Queuing workflow for execution...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"ply_path\": [\"1\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 20: LoadPLY\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"ply_file\": \"compressed_room.ply\"}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 21: GaussianAnalysis\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"ply_path\": [\"20\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Generated prompt_id: c233e1cc-1cb5-4b63-b339-c7bcc552f02f\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Calling execution.validate_prompt()...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Validation result: valid=True\n [ComfyUI] \u001b[32m[INFO]\u001b[0m === Validation PASSED ===\n [ComfyUI] \u001b[32m[INFO]\u001b[0m got prompt\n [ComfyUI] [comfy-env] SubprocessWorker: C:\\Users\\stduser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\gaussianpack-nodes\\python.exe\n [ComfyUI] [comfy-env] Running LoadPLY: ply_file: 'compressed_room.ply'\n [ComfyUI] [comfy-env] env_vars: {'COMFYUI_BASE': 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1247\\\\ComfyUI'}\n [ComfyUI] [SubprocessWorker] call_method: nodes.load_ply.LoadPLY.load\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [comfy-env] gaussianpack-nodes: Library/bin has 157 DLLs\n [ComfyUI] [ComfyUI-GaussianPack] python: C:\\Users\\stduser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\gaussianpack-nodes\\python.exe\n [ComfyUI] [ComfyUI-GaussianPack] sys_path sent to worker: ['D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1247\\\\ComfyUI', 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1247\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-GaussianPack', 'C:\\\\Users\\\\stduser\\\\AppData\\\\Local\\\\Programs\\\\comfy-env\\\\.pixi\\\\envs\\\\gaussianpack-nodes\\\\Lib\\\\site-packages', 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1247\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-GaussianPack']\n [ComfyUI] [SubprocessWorker] is_pixi=True, python=C:\\Users\\stduser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\gaussianpack-nodes\\python.exe\n [ComfyUI] [SubprocessWorker] launching cmd=['C:\\\\Users\\\\stduser\\\\.pixi\\\\bin\\\\pixi.exe', 'run', '--as-is', '--manifest-path', 'C:\\\\Users\\\\stduser\\\\AppData\\\\Local\\\\Programs\\\\comfy-env\\\\pixi.toml', '-e', 'gaussianpack-nodes', 'python', 'C:\\\\Users\\\\stduser\\\\AppData\\\\Local\\\\Temp\\\\comfyui_pvenv_d4yba5md\\\\persistent_worker.py', 'tcp://127.0.0.1:61051']..."
+ "time": 2.35,
+ "log": " [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\nCapturing execution frames: gaussian_analysis.json\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\n Frame 1 saved (frame_000.jpg, t=0.0s)\n Validating workflow...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m === /validate endpoint called ===\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Received JSON with keys: ['prompt']\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Prompt has 4 nodes\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 1: LoadPLY\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"ply_file\": \"apple.ply\"}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 19: GaussianAnalysis\n Queuing workflow for execution...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"ply_path\": [\"1\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 20: LoadPLY\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"ply_file\": \"compressed_room.ply\"}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 21: GaussianAnalysis\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"ply_path\": [\"20\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Generated prompt_id: 47d72ba8-7f3c-41a4-9cae-5bc3f8c11584\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Calling execution.validate_prompt()...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Validation result: valid=True\n [ComfyUI] \u001b[32m[INFO]\u001b[0m === Validation PASSED ===\n [ComfyUI] \u001b[32m[INFO]\u001b[0m got prompt\n [ComfyUI] [comfy-env] Running LoadPLY: ply_file: 'apple.ply'\n [ComfyUI] [comfy-env] SubprocessWorker: C:\\Users\\stduser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\gaussianpack-nodes\\python.exe\n [ComfyUI] [comfy-env] env_vars: {'COMFYUI_BASE': 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1400\\\\ComfyUI'}\n [ComfyUI] [SubprocessWorker] call_method: nodes.load_ply.LoadPLY.load\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [comfy-env] gaussianpack-nodes: Library/bin has 158 DLLs\n [ComfyUI] [ComfyUI-GaussianPack] python: C:\\Users\\stduser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\gaussianpack-nodes\\python.exe\n [ComfyUI] [ComfyUI-GaussianPack] sys_path sent to worker: ['D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1400\\\\ComfyUI', 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1400\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-GaussianPack', 'C:\\\\Users\\\\stduser\\\\AppData\\\\Local\\\\Programs\\\\comfy-env\\\\.pixi\\\\envs\\\\gaussianpack-nodes\\\\Lib\\\\site-packages', 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1400\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-GaussianPack']\n [ComfyUI] [SubprocessWorker] is_pixi=True, python=C:\\Users\\stduser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\gaussianpack-nodes\\python.exe\n [ComfyUI] [SubprocessWorker] launching cmd=['C:\\\\Users\\\\stduser\\\\.pixi\\\\bin\\\\pixi.exe', 'run', '--as-is', '--manifest-path', 'C:\\\\Users\\\\stduser\\\\AppData\\\\Local\\\\Programs\\\\comfy-env\\\\pixi.toml', '-e', 'gaussianpack-nodes', 'python', 'C:\\\\Users\\\\stduser\\\\AppData\\\\Local\\\\Temp\\\\comfyui_pvenv_aamctmub\\\\persistent_worker.py', 'tcp://127.0.0.1:60968']..."
},
{
"file": "frame_002.jpg",
- "time": 3.41,
- "log": " [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\nCapturing execution frames: gaussian_analysis.json\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\n Frame 1 saved (frame_000.jpg, t=0.0s)\n Validating workflow...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m === /validate endpoint called ===\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Received JSON with keys: ['prompt']\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Prompt has 4 nodes\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 1: LoadPLY\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"ply_file\": \"apple.ply\"}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 19: GaussianAnalysis\n Queuing workflow for execution...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"ply_path\": [\"1\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 20: LoadPLY\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"ply_file\": \"compressed_room.ply\"}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 21: GaussianAnalysis\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"ply_path\": [\"20\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Generated prompt_id: c233e1cc-1cb5-4b63-b339-c7bcc552f02f\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Calling execution.validate_prompt()...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Validation result: valid=True\n [ComfyUI] \u001b[32m[INFO]\u001b[0m === Validation PASSED ===\n [ComfyUI] \u001b[32m[INFO]\u001b[0m got prompt\n [ComfyUI] [comfy-env] SubprocessWorker: C:\\Users\\stduser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\gaussianpack-nodes\\python.exe\n [ComfyUI] [comfy-env] Running LoadPLY: ply_file: 'compressed_room.ply'\n [ComfyUI] [comfy-env] env_vars: {'COMFYUI_BASE': 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1247\\\\ComfyUI'}\n [ComfyUI] [SubprocessWorker] call_method: nodes.load_ply.LoadPLY.load\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [comfy-env] gaussianpack-nodes: Library/bin has 157 DLLs\n [ComfyUI] [ComfyUI-GaussianPack] python: C:\\Users\\stduser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\gaussianpack-nodes\\python.exe\n [ComfyUI] [ComfyUI-GaussianPack] sys_path sent to worker: ['D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1247\\\\ComfyUI', 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1247\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-GaussianPack', 'C:\\\\Users\\\\stduser\\\\AppData\\\\Local\\\\Programs\\\\comfy-env\\\\.pixi\\\\envs\\\\gaussianpack-nodes\\\\Lib\\\\site-packages', 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1247\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-GaussianPack']\n [ComfyUI] [SubprocessWorker] is_pixi=True, python=C:\\Users\\stduser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\gaussianpack-nodes\\python.exe\n [ComfyUI] [SubprocessWorker] launching cmd=['C:\\\\Users\\\\stduser\\\\.pixi\\\\bin\\\\pixi.exe', 'run', '--as-is', '--manifest-path', 'C:\\\\Users\\\\stduser\\\\AppData\\\\Local\\\\Programs\\\\comfy-env\\\\pixi.toml', '-e', 'gaussianpack-nodes', 'python', 'C:\\\\Users\\\\stduser\\\\AppData\\\\Local\\\\Temp\\\\comfyui_pvenv_d4yba5md\\\\persistent_worker.py', 'tcp://127.0.0.1:61051']...\n Frame 2 saved (frame_001.jpg, t=2.3s)\n [capture-periodic] freeze=4ms shot=88ms unfreeze=4ms saved=True\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=1 sending call_method\n [ComfyUI] [worker:ComfyUI-GaussianPack] WARNING: SPZ route not registered (ModuleNotFoundError: No module named 'comfy_aimdo')\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] LoadPLY done (2.93s): result: list[1]\n [ComfyUI] [comfy-env] Running GaussianAnalysis: ply_path: 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Gaus...\n [ComfyUI] [SubprocessWorker] call_method: nodes.analyze_gaussians.GaussianAnalysis.analyze\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=2 sending call_method\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] GaussianAnalysis done (0.05s): result: dict\n [ComfyUI] [comfy-env] Running LoadPLY: ply_file: 'apple.ply'\n [ComfyUI] [SubprocessWorker] call_method: nodes.load_ply.LoadPLY.load\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=3 sending call_method\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] LoadPLY done (0.06s): result: list[1]\n [ComfyUI] [comfy-env] Running GaussianAnalysis: ply_path: 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Gaus...\n [ComfyUI] [SubprocessWorker] call_method: nodes.analyze_gaussians.GaussianAnalysis.analyze\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm..."
+ "time": 3.18,
+ "log": " [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\nCapturing execution frames: gaussian_analysis.json\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\n Frame 1 saved (frame_000.jpg, t=0.0s)\n Validating workflow...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m === /validate endpoint called ===\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Received JSON with keys: ['prompt']\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Prompt has 4 nodes\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 1: LoadPLY\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"ply_file\": \"apple.ply\"}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 19: GaussianAnalysis\n Queuing workflow for execution...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"ply_path\": [\"1\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 20: LoadPLY\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"ply_file\": \"compressed_room.ply\"}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 21: GaussianAnalysis\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"ply_path\": [\"20\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Generated prompt_id: 47d72ba8-7f3c-41a4-9cae-5bc3f8c11584\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Calling execution.validate_prompt()...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Validation result: valid=True\n [ComfyUI] \u001b[32m[INFO]\u001b[0m === Validation PASSED ===\n [ComfyUI] \u001b[32m[INFO]\u001b[0m got prompt\n [ComfyUI] [comfy-env] Running LoadPLY: ply_file: 'apple.ply'\n [ComfyUI] [comfy-env] SubprocessWorker: C:\\Users\\stduser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\gaussianpack-nodes\\python.exe\n [ComfyUI] [comfy-env] env_vars: {'COMFYUI_BASE': 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1400\\\\ComfyUI'}\n [ComfyUI] [SubprocessWorker] call_method: nodes.load_ply.LoadPLY.load\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [comfy-env] gaussianpack-nodes: Library/bin has 158 DLLs\n [ComfyUI] [ComfyUI-GaussianPack] python: C:\\Users\\stduser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\gaussianpack-nodes\\python.exe\n [ComfyUI] [ComfyUI-GaussianPack] sys_path sent to worker: ['D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1400\\\\ComfyUI', 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1400\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-GaussianPack', 'C:\\\\Users\\\\stduser\\\\AppData\\\\Local\\\\Programs\\\\comfy-env\\\\.pixi\\\\envs\\\\gaussianpack-nodes\\\\Lib\\\\site-packages', 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1400\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-GaussianPack']\n [ComfyUI] [SubprocessWorker] is_pixi=True, python=C:\\Users\\stduser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\gaussianpack-nodes\\python.exe\n [ComfyUI] [SubprocessWorker] launching cmd=['C:\\\\Users\\\\stduser\\\\.pixi\\\\bin\\\\pixi.exe', 'run', '--as-is', '--manifest-path', 'C:\\\\Users\\\\stduser\\\\AppData\\\\Local\\\\Programs\\\\comfy-env\\\\pixi.toml', '-e', 'gaussianpack-nodes', 'python', 'C:\\\\Users\\\\stduser\\\\AppData\\\\Local\\\\Temp\\\\comfyui_pvenv_aamctmub\\\\persistent_worker.py', 'tcp://127.0.0.1:60968']...\n Frame 2 saved (frame_001.jpg, t=2.4s)\n [capture-periodic] freeze=3ms shot=90ms unfreeze=5ms saved=True\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=1 sending call_method\n [ComfyUI] [worker:ComfyUI-GaussianPack] WARNING: SPZ route not registered (ModuleNotFoundError: No module named 'comfy_aimdo')\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] LoadPLY done (2.67s): result: list[1]\n [ComfyUI] [comfy-env] Running GaussianAnalysis: ply_path: 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Gaus...\n [ComfyUI] [SubprocessWorker] call_method: nodes.analyze_gaussians.GaussianAnalysis.analyze\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=2 sending call_method\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] GaussianAnalysis done (0.08s): result: dict\n [ComfyUI] [comfy-env] Running LoadPLY: ply_file: 'compressed_room.ply'\n [ComfyUI] [SubprocessWorker] call_method: nodes.load_ply.LoadPLY.load\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed"
},
{
"file": "frame_003.jpg",
- "time": 3.8,
- "log": " [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\nCapturing execution frames: gaussian_analysis.json\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\n Frame 1 saved (frame_000.jpg, t=0.0s)\n Validating workflow...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m === /validate endpoint called ===\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Received JSON with keys: ['prompt']\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Prompt has 4 nodes\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 1: LoadPLY\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"ply_file\": \"apple.ply\"}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 19: GaussianAnalysis\n Queuing workflow for execution...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"ply_path\": [\"1\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 20: LoadPLY\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"ply_file\": \"compressed_room.ply\"}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 21: GaussianAnalysis\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"ply_path\": [\"20\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Generated prompt_id: c233e1cc-1cb5-4b63-b339-c7bcc552f02f\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Calling execution.validate_prompt()...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Validation result: valid=True\n [ComfyUI] \u001b[32m[INFO]\u001b[0m === Validation PASSED ===\n [ComfyUI] \u001b[32m[INFO]\u001b[0m got prompt\n [ComfyUI] [comfy-env] SubprocessWorker: C:\\Users\\stduser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\gaussianpack-nodes\\python.exe\n [ComfyUI] [comfy-env] Running LoadPLY: ply_file: 'compressed_room.ply'\n [ComfyUI] [comfy-env] env_vars: {'COMFYUI_BASE': 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1247\\\\ComfyUI'}\n [ComfyUI] [SubprocessWorker] call_method: nodes.load_ply.LoadPLY.load\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [comfy-env] gaussianpack-nodes: Library/bin has 157 DLLs\n [ComfyUI] [ComfyUI-GaussianPack] python: C:\\Users\\stduser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\gaussianpack-nodes\\python.exe\n [ComfyUI] [ComfyUI-GaussianPack] sys_path sent to worker: ['D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1247\\\\ComfyUI', 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1247\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-GaussianPack', 'C:\\\\Users\\\\stduser\\\\AppData\\\\Local\\\\Programs\\\\comfy-env\\\\.pixi\\\\envs\\\\gaussianpack-nodes\\\\Lib\\\\site-packages', 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1247\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-GaussianPack']\n [ComfyUI] [SubprocessWorker] is_pixi=True, python=C:\\Users\\stduser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\gaussianpack-nodes\\python.exe\n [ComfyUI] [SubprocessWorker] launching cmd=['C:\\\\Users\\\\stduser\\\\.pixi\\\\bin\\\\pixi.exe', 'run', '--as-is', '--manifest-path', 'C:\\\\Users\\\\stduser\\\\AppData\\\\Local\\\\Programs\\\\comfy-env\\\\pixi.toml', '-e', 'gaussianpack-nodes', 'python', 'C:\\\\Users\\\\stduser\\\\AppData\\\\Local\\\\Temp\\\\comfyui_pvenv_d4yba5md\\\\persistent_worker.py', 'tcp://127.0.0.1:61051']...\n Frame 2 saved (frame_001.jpg, t=2.3s)\n [capture-periodic] freeze=4ms shot=88ms unfreeze=4ms saved=True\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=1 sending call_method\n [ComfyUI] [worker:ComfyUI-GaussianPack] WARNING: SPZ route not registered (ModuleNotFoundError: No module named 'comfy_aimdo')\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] LoadPLY done (2.93s): result: list[1]\n [ComfyUI] [comfy-env] Running GaussianAnalysis: ply_path: 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Gaus...\n [ComfyUI] [SubprocessWorker] call_method: nodes.analyze_gaussians.GaussianAnalysis.analyze\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=2 sending call_method\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] GaussianAnalysis done (0.05s): result: dict\n [ComfyUI] [comfy-env] Running LoadPLY: ply_file: 'apple.ply'\n [ComfyUI] [SubprocessWorker] call_method: nodes.load_ply.LoadPLY.load\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=3 sending call_method\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] LoadPLY done (0.06s): result: list[1]\n [ComfyUI] [comfy-env] Running GaussianAnalysis: ply_path: 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Gaus...\n [ComfyUI] [SubprocessWorker] call_method: nodes.analyze_gaussians.GaussianAnalysis.analyze\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n Node executed (1 total), capturing...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=4 sending call_method\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] GaussianAnalysis done (0.05s): result: dict\n [ComfyUI] \u001b[32m[INFO]\u001b[0m \u001b[32mPrompt executed in 3.11 seconds\u001b[0m\n Frame 3 saved (frame_002.jpg, t=3.4s)\n [capture-node] freeze=4ms shot=87ms unfreeze=4ms saved=True"
+ "time": 3.59,
+ "log": " [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\nCapturing execution frames: gaussian_analysis.json\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\n Frame 1 saved (frame_000.jpg, t=0.0s)\n Validating workflow...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m === /validate endpoint called ===\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Received JSON with keys: ['prompt']\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Prompt has 4 nodes\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 1: LoadPLY\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"ply_file\": \"apple.ply\"}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 19: GaussianAnalysis\n Queuing workflow for execution...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"ply_path\": [\"1\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 20: LoadPLY\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"ply_file\": \"compressed_room.ply\"}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 21: GaussianAnalysis\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"ply_path\": [\"20\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Generated prompt_id: 47d72ba8-7f3c-41a4-9cae-5bc3f8c11584\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Calling execution.validate_prompt()...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Validation result: valid=True\n [ComfyUI] \u001b[32m[INFO]\u001b[0m === Validation PASSED ===\n [ComfyUI] \u001b[32m[INFO]\u001b[0m got prompt\n [ComfyUI] [comfy-env] Running LoadPLY: ply_file: 'apple.ply'\n [ComfyUI] [comfy-env] SubprocessWorker: C:\\Users\\stduser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\gaussianpack-nodes\\python.exe\n [ComfyUI] [comfy-env] env_vars: {'COMFYUI_BASE': 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1400\\\\ComfyUI'}\n [ComfyUI] [SubprocessWorker] call_method: nodes.load_ply.LoadPLY.load\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [comfy-env] gaussianpack-nodes: Library/bin has 158 DLLs\n [ComfyUI] [ComfyUI-GaussianPack] python: C:\\Users\\stduser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\gaussianpack-nodes\\python.exe\n [ComfyUI] [ComfyUI-GaussianPack] sys_path sent to worker: ['D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1400\\\\ComfyUI', 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1400\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-GaussianPack', 'C:\\\\Users\\\\stduser\\\\AppData\\\\Local\\\\Programs\\\\comfy-env\\\\.pixi\\\\envs\\\\gaussianpack-nodes\\\\Lib\\\\site-packages', 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1400\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-GaussianPack']\n [ComfyUI] [SubprocessWorker] is_pixi=True, python=C:\\Users\\stduser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\gaussianpack-nodes\\python.exe\n [ComfyUI] [SubprocessWorker] launching cmd=['C:\\\\Users\\\\stduser\\\\.pixi\\\\bin\\\\pixi.exe', 'run', '--as-is', '--manifest-path', 'C:\\\\Users\\\\stduser\\\\AppData\\\\Local\\\\Programs\\\\comfy-env\\\\pixi.toml', '-e', 'gaussianpack-nodes', 'python', 'C:\\\\Users\\\\stduser\\\\AppData\\\\Local\\\\Temp\\\\comfyui_pvenv_aamctmub\\\\persistent_worker.py', 'tcp://127.0.0.1:60968']...\n Frame 2 saved (frame_001.jpg, t=2.4s)\n [capture-periodic] freeze=3ms shot=90ms unfreeze=5ms saved=True\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=1 sending call_method\n [ComfyUI] [worker:ComfyUI-GaussianPack] WARNING: SPZ route not registered (ModuleNotFoundError: No module named 'comfy_aimdo')\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] LoadPLY done (2.67s): result: list[1]\n [ComfyUI] [comfy-env] Running GaussianAnalysis: ply_path: 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Gaus...\n [ComfyUI] [SubprocessWorker] call_method: nodes.analyze_gaussians.GaussianAnalysis.analyze\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=2 sending call_method\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] GaussianAnalysis done (0.08s): result: dict\n [ComfyUI] [comfy-env] Running LoadPLY: ply_file: 'compressed_room.ply'\n [ComfyUI] [SubprocessWorker] call_method: nodes.load_ply.LoadPLY.load\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n Node executed (1 total), capturing...\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=3 sending call_method\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] LoadPLY done (0.09s): result: list[1]\n [ComfyUI] [comfy-env] Running GaussianAnalysis: ply_path: 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Gaus...\n [ComfyUI] [SubprocessWorker] call_method: nodes.analyze_gaussians.GaussianAnalysis.analyze\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=4 sending call_method\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] GaussianAnalysis done (0.09s): result: dict\n [ComfyUI] \u001b[32m[INFO]\u001b[0m \u001b[32mPrompt executed in 2.93 seconds\u001b[0m\n Frame 3 saved (frame_002.jpg, t=3.2s)\n [capture-node] freeze=15ms shot=93ms unfreeze=5ms saved=True"
},
{
"file": "frame_004.jpg",
- "time": 6.177617311477661,
+ "time": 5.964961290359497,
"log": "Final screenshot"
}
],
- "total_time": 3.96
+ "total_time": 3.74
}
\ No newline at end of file
diff --git a/dev/windows-cpu/videos/merge_splats/frame_000.jpg b/dev/windows-cpu/videos/merge_splats/frame_000.jpg
index b0bc02a..488ffc7 100644
Binary files a/dev/windows-cpu/videos/merge_splats/frame_000.jpg and b/dev/windows-cpu/videos/merge_splats/frame_000.jpg differ
diff --git a/dev/windows-cpu/videos/merge_splats/frame_003.jpg b/dev/windows-cpu/videos/merge_splats/frame_003.jpg
index 4029496..ee1805b 100644
Binary files a/dev/windows-cpu/videos/merge_splats/frame_003.jpg 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
index 259394c..9f4f7da 100644
Binary files a/dev/windows-cpu/videos/merge_splats/frame_004.jpg and b/dev/windows-cpu/videos/merge_splats/frame_004.jpg differ
diff --git a/dev/windows-cpu/videos/merge_splats/metadata.json b/dev/windows-cpu/videos/merge_splats/metadata.json
index 580cb16..bbeccf2 100644
--- a/dev/windows-cpu/videos/merge_splats/metadata.json
+++ b/dev/windows-cpu/videos/merge_splats/metadata.json
@@ -3,33 +3,33 @@
{
"file": "frame_000.jpg",
"time": 0.0,
- "log": "Capturing execution frames: merge_splats.json\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache."
+ "log": " [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\nCapturing execution frames: merge_splats.json\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\n [ComfyUI] \u001b[1m\u001b[31m[ERROR]\u001b[0m Exception in callback _ProactorBasePipeTransport._call_connection_lost()\n [ComfyUI] handle: \n [ComfyUI] Traceback (most recent call last):\n [ComfyUI] File \"C:\\hostedtoolcache\\windows\\Python\\3.13.13\\x64\\Lib\\asyncio\\events.py\", line 89, in _run\n [ComfyUI] self._context.run(self._callback, *self._args)\n [ComfyUI] ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n [ComfyUI] File \"C:\\hostedtoolcache\\windows\\Python\\3.13.13\\x64\\Lib\\asyncio\\proactor_events.py\", line 165, in _call_connection_lost\n [ComfyUI] self._sock.shutdown(socket.SHUT_RDWR)\n [ComfyUI] ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^\n [ComfyUI] ConnectionResetError: [WinError 10054] An existing connection was forcibly closed by the remote host"
},
{
"file": "frame_001.jpg",
- "time": 2.22,
- "log": "Capturing execution frames: merge_splats.json\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\n Frame 1 saved (frame_000.jpg, t=0.0s)\n Validating workflow...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m === /validate endpoint called ===\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Received JSON with keys: ['prompt']\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Prompt has 3 nodes\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 1: LoadPLY\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"ply_file\": \"apple.ply\"}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 12: GaussianMerge\n Queuing workflow for execution...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"target_count\": 100000, \"output_filename\": \"applemerged\", \"opacity_threshold\": 0.1, \"k\": 16, \"backend\": \"nanogs_cpu\", \"ply_path\": [\"1\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 14: PreviewGaussianDual\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"layout\": \"slider\", \"camera_mode\": \"orbit\", \"fov_degrees\": 70, \"renderer\": \"playcanvas\", \"transport_format\": \"ply\", \"ply_path_1\": [\"1\", 0], \"ply_path_2\": [\"12\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Generated prompt_id: 4127fb02-b210-4ff1-96d6-692c7d63cb84\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Calling execution.validate_prompt()...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Validation result: valid=True\n [ComfyUI] \u001b[32m[INFO]\u001b[0m === Validation PASSED ===\n [ComfyUI] \u001b[32m[INFO]\u001b[0m got prompt\n [ComfyUI] [comfy-env] Running LoadPLY: ply_file: 'apple.ply'\n [ComfyUI] [SubprocessWorker] call_method: nodes.load_ply.LoadPLY.load\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=5 sending call_method\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] LoadPLY done (0.06s): result: list[1]\n [ComfyUI] [comfy-env] Running GaussianMerge: target_count: 100000, output_filename: 'applemerged', opacity_threshold: 0.1, k: 16, backend: 'nanogs_cpu', ply_path: 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Gaus...\n [ComfyUI] [SubprocessWorker] call_method: nodes.merge_gaussians.GaussianMerge.merge\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=6 sending call_method\n [ComfyUI] [worker:ComfyUI-GaussianPack] Loading PLY: D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1247\\ComfyUI\\input\\apple.ply\n [ComfyUI] [worker:ComfyUI-GaussianPack] Initial splats: 200000\n [ComfyUI] [worker:ComfyUI-GaussianPack] Pruned splats: 200000, target: 100000\n [ComfyUI] [worker:ComfyUI-GaussianPack] Opacity Mean: 0.53443545 Median: 0.48362076\n [ComfyUI] [worker:ComfyUI-GaussianPack] Pruning splats with opacity below 0.1000\n [ComfyUI] [worker:ComfyUI-GaussianPack] Original count: 200000, after opacity pruning: 200000\n [ComfyUI] [worker:ComfyUI-GaussianPack] After opacity pruning, 200000 splats remain.\n [ComfyUI] [worker:ComfyUI-GaussianPack] Pass 1: 200000 splats"
+ "time": 2.14,
+ "log": " [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\nCapturing execution frames: merge_splats.json\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\n [ComfyUI] \u001b[1m\u001b[31m[ERROR]\u001b[0m Exception in callback _ProactorBasePipeTransport._call_connection_lost()\n [ComfyUI] handle: \n [ComfyUI] Traceback (most recent call last):\n [ComfyUI] File \"C:\\hostedtoolcache\\windows\\Python\\3.13.13\\x64\\Lib\\asyncio\\events.py\", line 89, in _run\n [ComfyUI] self._context.run(self._callback, *self._args)\n [ComfyUI] ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n [ComfyUI] File \"C:\\hostedtoolcache\\windows\\Python\\3.13.13\\x64\\Lib\\asyncio\\proactor_events.py\", line 165, in _call_connection_lost\n [ComfyUI] self._sock.shutdown(socket.SHUT_RDWR)\n [ComfyUI] ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^\n [ComfyUI] ConnectionResetError: [WinError 10054] An existing connection was forcibly closed by the remote host\n Frame 1 saved (frame_000.jpg, t=0.0s)\n Validating workflow...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m === /validate endpoint called ===\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Received JSON with keys: ['prompt']\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Prompt has 3 nodes\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 1: LoadPLY\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"ply_file\": \"apple.ply\"}\n Queuing workflow for execution...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 12: GaussianMerge\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"target_count\": 100000, \"output_filename\": \"applemerged\", \"opacity_threshold\": 0.1, \"k\": 16, \"backend\": \"nanogs_cpu\", \"ply_path\": [\"1\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 14: PreviewGaussianDual\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"layout\": \"slider\", \"camera_mode\": \"orbit\", \"fov_degrees\": 70, \"renderer\": \"playcanvas\", \"transport_format\": \"ply\", \"ply_path_1\": [\"1\", 0], \"ply_path_2\": [\"12\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Generated prompt_id: 35093fa4-0765-48a0-9728-87adb2bac7af\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Calling execution.validate_prompt()...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Validation result: valid=True\n [ComfyUI] \u001b[32m[INFO]\u001b[0m === Validation PASSED ===\n [ComfyUI] \u001b[32m[INFO]\u001b[0m got prompt\n [ComfyUI] [comfy-env] Running LoadPLY: ply_file: 'apple.ply'\n [ComfyUI] [SubprocessWorker] call_method: nodes.load_ply.LoadPLY.load\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=5 sending call_method\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] LoadPLY done (0.08s): result: list[1]\n [ComfyUI] [comfy-env] Running GaussianMerge: target_count: 100000, output_filename: 'applemerged', opacity_threshold: 0.1, k: 16, backend: 'nanogs_cpu', ply_path: 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Gaus...\n [ComfyUI] [SubprocessWorker] call_method: nodes.merge_gaussians.GaussianMerge.merge\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=6 sending call_method\n [ComfyUI] [worker:ComfyUI-GaussianPack] Loading PLY: D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1400\\ComfyUI\\input\\apple.ply\n [ComfyUI] [worker:ComfyUI-GaussianPack] Initial splats: 200000\n [ComfyUI] [worker:ComfyUI-GaussianPack] Pruned splats: 200000, target: 100000\n [ComfyUI] [worker:ComfyUI-GaussianPack] Opacity Mean: 0.53443545 Median: 0.48362076\n [ComfyUI] [worker:ComfyUI-GaussianPack] Pruning splats with opacity below 0.1000\n [ComfyUI] [worker:ComfyUI-GaussianPack] Original count: 200000, after opacity pruning: 200000\n [ComfyUI] [worker:ComfyUI-GaussianPack] After opacity pruning, 200000 splats remain.\n [ComfyUI] [worker:ComfyUI-GaussianPack] Pass 1: 200000 splats"
},
{
"file": "frame_002.jpg",
- "time": 4.38,
- "log": "Capturing execution frames: merge_splats.json\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\n Frame 1 saved (frame_000.jpg, t=0.0s)\n Validating workflow...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m === /validate endpoint called ===\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Received JSON with keys: ['prompt']\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Prompt has 3 nodes\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 1: LoadPLY\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"ply_file\": \"apple.ply\"}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 12: GaussianMerge\n Queuing workflow for execution...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"target_count\": 100000, \"output_filename\": \"applemerged\", \"opacity_threshold\": 0.1, \"k\": 16, \"backend\": \"nanogs_cpu\", \"ply_path\": [\"1\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 14: PreviewGaussianDual\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"layout\": \"slider\", \"camera_mode\": \"orbit\", \"fov_degrees\": 70, \"renderer\": \"playcanvas\", \"transport_format\": \"ply\", \"ply_path_1\": [\"1\", 0], \"ply_path_2\": [\"12\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Generated prompt_id: 4127fb02-b210-4ff1-96d6-692c7d63cb84\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Calling execution.validate_prompt()...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Validation result: valid=True\n [ComfyUI] \u001b[32m[INFO]\u001b[0m === Validation PASSED ===\n [ComfyUI] \u001b[32m[INFO]\u001b[0m got prompt\n [ComfyUI] [comfy-env] Running LoadPLY: ply_file: 'apple.ply'\n [ComfyUI] [SubprocessWorker] call_method: nodes.load_ply.LoadPLY.load\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=5 sending call_method\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] LoadPLY done (0.06s): result: list[1]\n [ComfyUI] [comfy-env] Running GaussianMerge: target_count: 100000, output_filename: 'applemerged', opacity_threshold: 0.1, k: 16, backend: 'nanogs_cpu', ply_path: 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Gaus...\n [ComfyUI] [SubprocessWorker] call_method: nodes.merge_gaussians.GaussianMerge.merge\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=6 sending call_method\n [ComfyUI] [worker:ComfyUI-GaussianPack] Loading PLY: D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1247\\ComfyUI\\input\\apple.ply\n [ComfyUI] [worker:ComfyUI-GaussianPack] Initial splats: 200000\n [ComfyUI] [worker:ComfyUI-GaussianPack] Pruned splats: 200000, target: 100000\n [ComfyUI] [worker:ComfyUI-GaussianPack] Opacity Mean: 0.53443545 Median: 0.48362076\n [ComfyUI] [worker:ComfyUI-GaussianPack] Pruning splats with opacity below 0.1000\n [ComfyUI] [worker:ComfyUI-GaussianPack] Original count: 200000, after opacity pruning: 200000\n [ComfyUI] [worker:ComfyUI-GaussianPack] After opacity pruning, 200000 splats remain.\n [ComfyUI] [worker:ComfyUI-GaussianPack] Pass 1: 200000 splats\n Frame 2 saved (frame_001.jpg, t=2.2s)\n [capture-periodic] freeze=3ms shot=99ms unfreeze=3ms saved=True"
+ "time": 4.32,
+ "log": " [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\nCapturing execution frames: merge_splats.json\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\n [ComfyUI] \u001b[1m\u001b[31m[ERROR]\u001b[0m Exception in callback _ProactorBasePipeTransport._call_connection_lost()\n [ComfyUI] handle: \n [ComfyUI] Traceback (most recent call last):\n [ComfyUI] File \"C:\\hostedtoolcache\\windows\\Python\\3.13.13\\x64\\Lib\\asyncio\\events.py\", line 89, in _run\n [ComfyUI] self._context.run(self._callback, *self._args)\n [ComfyUI] ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n [ComfyUI] File \"C:\\hostedtoolcache\\windows\\Python\\3.13.13\\x64\\Lib\\asyncio\\proactor_events.py\", line 165, in _call_connection_lost\n [ComfyUI] self._sock.shutdown(socket.SHUT_RDWR)\n [ComfyUI] ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^\n [ComfyUI] ConnectionResetError: [WinError 10054] An existing connection was forcibly closed by the remote host\n Frame 1 saved (frame_000.jpg, t=0.0s)\n Validating workflow...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m === /validate endpoint called ===\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Received JSON with keys: ['prompt']\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Prompt has 3 nodes\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 1: LoadPLY\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"ply_file\": \"apple.ply\"}\n Queuing workflow for execution...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 12: GaussianMerge\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"target_count\": 100000, \"output_filename\": \"applemerged\", \"opacity_threshold\": 0.1, \"k\": 16, \"backend\": \"nanogs_cpu\", \"ply_path\": [\"1\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 14: PreviewGaussianDual\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"layout\": \"slider\", \"camera_mode\": \"orbit\", \"fov_degrees\": 70, \"renderer\": \"playcanvas\", \"transport_format\": \"ply\", \"ply_path_1\": [\"1\", 0], \"ply_path_2\": [\"12\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Generated prompt_id: 35093fa4-0765-48a0-9728-87adb2bac7af\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Calling execution.validate_prompt()...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Validation result: valid=True\n [ComfyUI] \u001b[32m[INFO]\u001b[0m === Validation PASSED ===\n [ComfyUI] \u001b[32m[INFO]\u001b[0m got prompt\n [ComfyUI] [comfy-env] Running LoadPLY: ply_file: 'apple.ply'\n [ComfyUI] [SubprocessWorker] call_method: nodes.load_ply.LoadPLY.load\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=5 sending call_method\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] LoadPLY done (0.08s): result: list[1]\n [ComfyUI] [comfy-env] Running GaussianMerge: target_count: 100000, output_filename: 'applemerged', opacity_threshold: 0.1, k: 16, backend: 'nanogs_cpu', ply_path: 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Gaus...\n [ComfyUI] [SubprocessWorker] call_method: nodes.merge_gaussians.GaussianMerge.merge\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=6 sending call_method\n [ComfyUI] [worker:ComfyUI-GaussianPack] Loading PLY: D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1400\\ComfyUI\\input\\apple.ply\n [ComfyUI] [worker:ComfyUI-GaussianPack] Initial splats: 200000\n [ComfyUI] [worker:ComfyUI-GaussianPack] Pruned splats: 200000, target: 100000\n [ComfyUI] [worker:ComfyUI-GaussianPack] Opacity Mean: 0.53443545 Median: 0.48362076\n [ComfyUI] [worker:ComfyUI-GaussianPack] Pruning splats with opacity below 0.1000\n [ComfyUI] [worker:ComfyUI-GaussianPack] Original count: 200000, after opacity pruning: 200000\n [ComfyUI] [worker:ComfyUI-GaussianPack] After opacity pruning, 200000 splats remain.\n [ComfyUI] [worker:ComfyUI-GaussianPack] Pass 1: 200000 splats\n Frame 2 saved (frame_001.jpg, t=2.1s)\n [capture-periodic] freeze=4ms shot=94ms unfreeze=5ms saved=True"
},
{
"file": "frame_003.jpg",
- "time": 21.26,
- "log": "Capturing execution frames: merge_splats.json\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\n Frame 1 saved (frame_000.jpg, t=0.0s)\n Validating workflow...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m === /validate endpoint called ===\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Received JSON with keys: ['prompt']\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Prompt has 3 nodes\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 1: LoadPLY\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"ply_file\": \"apple.ply\"}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 12: GaussianMerge\n Queuing workflow for execution...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"target_count\": 100000, \"output_filename\": \"applemerged\", \"opacity_threshold\": 0.1, \"k\": 16, \"backend\": \"nanogs_cpu\", \"ply_path\": [\"1\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 14: PreviewGaussianDual\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"layout\": \"slider\", \"camera_mode\": \"orbit\", \"fov_degrees\": 70, \"renderer\": \"playcanvas\", \"transport_format\": \"ply\", \"ply_path_1\": [\"1\", 0], \"ply_path_2\": [\"12\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Generated prompt_id: 4127fb02-b210-4ff1-96d6-692c7d63cb84\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Calling execution.validate_prompt()...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Validation result: valid=True\n [ComfyUI] \u001b[32m[INFO]\u001b[0m === Validation PASSED ===\n [ComfyUI] \u001b[32m[INFO]\u001b[0m got prompt\n [ComfyUI] [comfy-env] Running LoadPLY: ply_file: 'apple.ply'\n [ComfyUI] [SubprocessWorker] call_method: nodes.load_ply.LoadPLY.load\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=5 sending call_method\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] LoadPLY done (0.06s): result: list[1]\n [ComfyUI] [comfy-env] Running GaussianMerge: target_count: 100000, output_filename: 'applemerged', opacity_threshold: 0.1, k: 16, backend: 'nanogs_cpu', ply_path: 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Gaus...\n [ComfyUI] [SubprocessWorker] call_method: nodes.merge_gaussians.GaussianMerge.merge\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=6 sending call_method\n [ComfyUI] [worker:ComfyUI-GaussianPack] Loading PLY: D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1247\\ComfyUI\\input\\apple.ply\n [ComfyUI] [worker:ComfyUI-GaussianPack] Initial splats: 200000\n [ComfyUI] [worker:ComfyUI-GaussianPack] Pruned splats: 200000, target: 100000\n [ComfyUI] [worker:ComfyUI-GaussianPack] Opacity Mean: 0.53443545 Median: 0.48362076\n [ComfyUI] [worker:ComfyUI-GaussianPack] Pruning splats with opacity below 0.1000\n [ComfyUI] [worker:ComfyUI-GaussianPack] Original count: 200000, after opacity pruning: 200000\n [ComfyUI] [worker:ComfyUI-GaussianPack] After opacity pruning, 200000 splats remain.\n [ComfyUI] [worker:ComfyUI-GaussianPack] Pass 1: 200000 splats\n Frame 2 saved (frame_001.jpg, t=2.2s)\n [capture-periodic] freeze=3ms shot=99ms unfreeze=3ms saved=True\n Frame 3 saved (frame_002.jpg, t=4.4s)\n [capture-periodic] freeze=2ms shot=87ms unfreeze=3ms saved=True\n [ComfyUI] \n [ComfyUI] Edge costs: 0%| | 0/19 [00:00, ?it/s]\n [ComfyUI] Edge costs: 5%|\u258c | 1/19 [00:00<00:04, 3.66it/s]\n [capture-loop] iter=50 t=5.7s state={'complete': False, 'error': None, 'executedCount': 0, 'wsState': 1} eval_ms=5 ram=5.1/16.0GB (32%) swap=0.2/2.9GB (6%) cpu=39% browser_rss=0.77GB\n [ComfyUI] Edge costs: 11%|\u2588 | 2/19 [00:00<00:04, 3.90it/s]\n [ComfyUI] Edge costs: 16%|\u2588\u258c | 3/19 [00:00<00:04, 3.96it/s]\n [ComfyUI] Edge costs: 21%|\u2588\u2588 | 4/19 [00:01<00:03, 3.77it/s]\n [ComfyUI] Edge costs: 26%|\u2588\u2588\u258b | 5/19 [00:01<00:03, 3.84it/s]\n [ComfyUI] Edge costs: 32%|\u2588\u2588\u2588\u258f | 6/19 [00:01<00:03, 3.92it/s]\n [ComfyUI] Edge costs: 37%|\u2588\u2588\u2588\u258b | 7/19 [00:01<00:03, 3.87it/s]\n [ComfyUI] Edge costs: 42%|\u2588\u2588\u2588\u2588\u258f | 8/19 [00:02<00:02, 3.89it/s]\n [ComfyUI] Edge costs: 47%|\u2588\u2588\u2588\u2588\u258b | 9/19 [00:02<00:02, 4.03it/s]\n [ComfyUI] Edge costs: 53%|\u2588\u2588\u2588\u2588\u2588\u258e | 10/19 [00:02<00:02, 4.07it/s]\n [ComfyUI] Edge costs: 58%|\u2588\u2588\u2588\u2588\u2588\u258a | 11/19 [00:02<00:01, 4.15it/s]\n [ComfyUI] Edge costs: 63%|\u2588\u2588\u2588\u2588\u2588\u2588\u258e | 12/19 [00:02<00:01, 4.19it/s]\n [ComfyUI] Edge costs: 68%|\u2588\u2588\u2588\u2588\u2588\u2588\u258a | 13/19 [00:03<00:01, 4.16it/s]\n [ComfyUI] Edge costs: 74%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u258e | 14/19 [00:03<00:01, 4.17it/s]\n [ComfyUI] Edge costs: 79%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2589 | 15/19 [00:03<00:00, 4.14it/s]\n [ComfyUI] Edge costs: 84%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u258d | 16/19 [00:03<00:00, 4.05it/s]\n [ComfyUI] Edge costs: 89%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2589 | 17/19 [00:04<00:00, 4.16it/s]\n [ComfyUI] Edge costs: 95%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u258d| 18/19 [00:04<00:00, 3.97it/s]\n [ComfyUI] Edge costs: 100%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 19/19 [00:04<00:00, 4.59it/s]\n [ComfyUI] Edge costs: 100%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 19/19 [00:04<00:00, 4.10it/s]\n [ComfyUI] [worker:ComfyUI-GaussianPack] edges: 1848776, pairs: 96906 (need 100000)\n [ComfyUI] [worker:ComfyUI-GaussianPack] Merging 96906 pairs\n [ComfyUI] [worker:ComfyUI-GaussianPack] Pass 2: 103094 splats\n [capture-loop] iter=100 t=11.6s state={'complete': False, 'error': None, 'executedCount': 0, 'wsState': 1} eval_ms=3 ram=4.9/16.0GB (30%) swap=0.2/2.9GB (6%) cpu=38% browser_rss=0.68GB\n [ComfyUI] \n [ComfyUI] Edge costs: 0%| | 0/10 [00:00, ?it/s]\n [ComfyUI] Edge costs: 10%|\u2588 | 1/10 [00:00<00:02, 4.43it/s]\n [ComfyUI] Edge costs: 20%|\u2588\u2588 | 2/10 [00:00<00:01, 4.35it/s]\n [ComfyUI] Edge costs: 30%|\u2588\u2588\u2588 | 3/10 [00:00<00:01, 4.05it/s]\n [ComfyUI] Edge costs: 40%|\u2588\u2588\u2588\u2588 | 4/10 [00:00<00:01, 3.88it/s]\n [ComfyUI] Edge costs: 50%|\u2588\u2588\u2588\u2588\u2588 | 5/10 [00:01<00:01, 3.83it/s]\n [ComfyUI] Edge costs: 60%|\u2588\u2588\u2588\u2588\u2588\u2588 | 6/10 [00:01<00:01, 3.92it/s]\n [ComfyUI] Edge costs: 70%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588 | 7/10 [00:01<00:00, 3.76it/s]\n [ComfyUI] Edge costs: 80%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 | 8/10 [00:02<00:00, 3.84it/s]\n [ComfyUI] Edge costs: 90%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 | 9/10 [00:02<00:00, 3.78it/s]\n [ComfyUI] Edge costs: 100%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 10/10 [00:02<00:00, 4.22it/s]\n [ComfyUI] [worker:ComfyUI-GaussianPack] edges: 919857, pairs: 3094 (need 3094)\n [ComfyUI] [worker:ComfyUI-GaussianPack] Merging 3094 pairs\n [ComfyUI] [worker:ComfyUI-GaussianPack] Final splats: 100000\n [capture-loop] iter=150 t=17.2s state={'complete': False, 'error': None, 'executedCount': 0, 'wsState': 1} eval_ms=4 ram=4.9/16.0GB (31%) swap=0.2/2.9GB (6%) cpu=49% browser_rss=0.68GB\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] GaussianMerge done (20.90s): result: dict\n [ComfyUI] [comfy-env] Running PreviewGaussianDual: layout: 'slider', camera_mode: 'orbit', fov_degrees: 70.0, renderer: 'playcanvas', transport_format: 'ply', ply_path_1: 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Gaus..., ply_path_2: 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Gaus...\n [ComfyUI] [SubprocessWorker] call_method: nodes.preview_gaussian_dual.PreviewGaussianDual.preview\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=7 sending call_method"
+ "time": 20.73,
+ "log": " [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\nCapturing execution frames: merge_splats.json\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\n [ComfyUI] \u001b[1m\u001b[31m[ERROR]\u001b[0m Exception in callback _ProactorBasePipeTransport._call_connection_lost()\n [ComfyUI] handle: \n [ComfyUI] Traceback (most recent call last):\n [ComfyUI] File \"C:\\hostedtoolcache\\windows\\Python\\3.13.13\\x64\\Lib\\asyncio\\events.py\", line 89, in _run\n [ComfyUI] self._context.run(self._callback, *self._args)\n [ComfyUI] ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n [ComfyUI] File \"C:\\hostedtoolcache\\windows\\Python\\3.13.13\\x64\\Lib\\asyncio\\proactor_events.py\", line 165, in _call_connection_lost\n [ComfyUI] self._sock.shutdown(socket.SHUT_RDWR)\n [ComfyUI] ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^\n [ComfyUI] ConnectionResetError: [WinError 10054] An existing connection was forcibly closed by the remote host\n Frame 1 saved (frame_000.jpg, t=0.0s)\n Validating workflow...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m === /validate endpoint called ===\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Received JSON with keys: ['prompt']\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Prompt has 3 nodes\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 1: LoadPLY\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"ply_file\": \"apple.ply\"}\n Queuing workflow for execution...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 12: GaussianMerge\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"target_count\": 100000, \"output_filename\": \"applemerged\", \"opacity_threshold\": 0.1, \"k\": 16, \"backend\": \"nanogs_cpu\", \"ply_path\": [\"1\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 14: PreviewGaussianDual\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"layout\": \"slider\", \"camera_mode\": \"orbit\", \"fov_degrees\": 70, \"renderer\": \"playcanvas\", \"transport_format\": \"ply\", \"ply_path_1\": [\"1\", 0], \"ply_path_2\": [\"12\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Generated prompt_id: 35093fa4-0765-48a0-9728-87adb2bac7af\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Calling execution.validate_prompt()...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Validation result: valid=True\n [ComfyUI] \u001b[32m[INFO]\u001b[0m === Validation PASSED ===\n [ComfyUI] \u001b[32m[INFO]\u001b[0m got prompt\n [ComfyUI] [comfy-env] Running LoadPLY: ply_file: 'apple.ply'\n [ComfyUI] [SubprocessWorker] call_method: nodes.load_ply.LoadPLY.load\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=5 sending call_method\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] LoadPLY done (0.08s): result: list[1]\n [ComfyUI] [comfy-env] Running GaussianMerge: target_count: 100000, output_filename: 'applemerged', opacity_threshold: 0.1, k: 16, backend: 'nanogs_cpu', ply_path: 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Gaus...\n [ComfyUI] [SubprocessWorker] call_method: nodes.merge_gaussians.GaussianMerge.merge\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=6 sending call_method\n [ComfyUI] [worker:ComfyUI-GaussianPack] Loading PLY: D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1400\\ComfyUI\\input\\apple.ply\n [ComfyUI] [worker:ComfyUI-GaussianPack] Initial splats: 200000\n [ComfyUI] [worker:ComfyUI-GaussianPack] Pruned splats: 200000, target: 100000\n [ComfyUI] [worker:ComfyUI-GaussianPack] Opacity Mean: 0.53443545 Median: 0.48362076\n [ComfyUI] [worker:ComfyUI-GaussianPack] Pruning splats with opacity below 0.1000\n [ComfyUI] [worker:ComfyUI-GaussianPack] Original count: 200000, after opacity pruning: 200000\n [ComfyUI] [worker:ComfyUI-GaussianPack] After opacity pruning, 200000 splats remain.\n [ComfyUI] [worker:ComfyUI-GaussianPack] Pass 1: 200000 splats\n Frame 2 saved (frame_001.jpg, t=2.1s)\n [capture-periodic] freeze=4ms shot=94ms unfreeze=5ms saved=True\n Frame 3 saved (frame_002.jpg, t=4.3s)\n [capture-periodic] freeze=4ms shot=82ms unfreeze=5ms saved=True\n [ComfyUI] \n [ComfyUI] Edge costs: 0%| | 0/19 [00:00, ?it/s]\n [ComfyUI] Edge costs: 5%|\u258c | 1/19 [00:00<00:06, 2.89it/s]\n [capture-loop] iter=50 t=5.7s state={'complete': False, 'error': None, 'executedCount': 0, 'wsState': 1} eval_ms=4 ram=4.8/16.0GB (30%) swap=0.2/2.9GB (6%) cpu=36% browser_rss=0.72GB\n [ComfyUI] Edge costs: 11%|\u2588 | 2/19 [00:00<00:04, 3.63it/s]\n [ComfyUI] Edge costs: 16%|\u2588\u258c | 3/19 [00:00<00:04, 3.82it/s]\n [ComfyUI] Edge costs: 21%|\u2588\u2588 | 4/19 [00:01<00:03, 3.84it/s]\n [ComfyUI] Edge costs: 26%|\u2588\u2588\u258b | 5/19 [00:01<00:03, 3.99it/s]\n [ComfyUI] Edge costs: 32%|\u2588\u2588\u2588\u258f | 6/19 [00:01<00:03, 3.94it/s]\n [ComfyUI] Edge costs: 37%|\u2588\u2588\u2588\u258b | 7/19 [00:01<00:03, 3.98it/s]\n [ComfyUI] Edge costs: 42%|\u2588\u2588\u2588\u2588\u258f | 8/19 [00:02<00:02, 4.06it/s]\n [ComfyUI] Edge costs: 47%|\u2588\u2588\u2588\u2588\u258b | 9/19 [00:02<00:02, 4.09it/s]\n [ComfyUI] Edge costs: 53%|\u2588\u2588\u2588\u2588\u2588\u258e | 10/19 [00:02<00:02, 4.10it/s]\n [ComfyUI] Edge costs: 58%|\u2588\u2588\u2588\u2588\u2588\u258a | 11/19 [00:02<00:01, 4.12it/s]\n [ComfyUI] Edge costs: 63%|\u2588\u2588\u2588\u2588\u2588\u2588\u258e | 12/19 [00:03<00:01, 3.94it/s]\n [ComfyUI] Edge costs: 68%|\u2588\u2588\u2588\u2588\u2588\u2588\u258a | 13/19 [00:03<00:01, 4.07it/s]\n [ComfyUI] Edge costs: 74%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u258e | 14/19 [00:03<00:01, 4.19it/s]\n [ComfyUI] Edge costs: 79%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2589 | 15/19 [00:03<00:00, 4.08it/s]\n [ComfyUI] Edge costs: 84%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u258d | 16/19 [00:03<00:00, 4.17it/s]\n [ComfyUI] Edge costs: 89%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2589 | 17/19 [00:04<00:00, 4.24it/s]\n [ComfyUI] Edge costs: 95%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u258d| 18/19 [00:04<00:00, 4.25it/s]\n [ComfyUI] Edge costs: 100%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 19/19 [00:04<00:00, 5.09it/s]\n [ComfyUI] Edge costs: 100%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 19/19 [00:04<00:00, 4.17it/s]\n [ComfyUI] [worker:ComfyUI-GaussianPack] edges: 1848776, pairs: 96906 (need 100000)\n [ComfyUI] [worker:ComfyUI-GaussianPack] Merging 96906 pairs\n [ComfyUI] [worker:ComfyUI-GaussianPack] Pass 2: 103094 splats\n [capture-loop] iter=100 t=11.8s state={'complete': False, 'error': None, 'executedCount': 0, 'wsState': 1} eval_ms=4 ram=4.7/16.0GB (29%) swap=0.2/2.9GB (6%) cpu=40% browser_rss=0.65GB\n [ComfyUI] \n [ComfyUI] Edge costs: 0%| | 0/10 [00:00, ?it/s]\n [ComfyUI] Edge costs: 10%|\u2588 | 1/10 [00:00<00:01, 4.59it/s]\n [ComfyUI] Edge costs: 20%|\u2588\u2588 | 2/10 [00:00<00:01, 4.46it/s]\n [ComfyUI] Edge costs: 30%|\u2588\u2588\u2588 | 3/10 [00:00<00:01, 4.49it/s]\n [ComfyUI] Edge costs: 40%|\u2588\u2588\u2588\u2588 | 4/10 [00:00<00:01, 4.50it/s]\n [ComfyUI] Edge costs: 50%|\u2588\u2588\u2588\u2588\u2588 | 5/10 [00:01<00:01, 4.42it/s]\n [ComfyUI] Edge costs: 60%|\u2588\u2588\u2588\u2588\u2588\u2588 | 6/10 [00:01<00:00, 4.46it/s]\n [ComfyUI] Edge costs: 70%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588 | 7/10 [00:01<00:00, 4.48it/s]\n [ComfyUI] Edge costs: 80%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 | 8/10 [00:01<00:00, 4.45it/s]\n [ComfyUI] Edge costs: 90%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 | 9/10 [00:02<00:00, 4.45it/s]\n [ComfyUI] Edge costs: 100%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 10/10 [00:02<00:00, 4.85it/s]\n [ComfyUI] [worker:ComfyUI-GaussianPack] edges: 919857, pairs: 3094 (need 3094)\n [ComfyUI] [worker:ComfyUI-GaussianPack] Merging 3094 pairs\n [ComfyUI] [worker:ComfyUI-GaussianPack] Final splats: 100000\n [capture-loop] iter=150 t=17.5s state={'complete': False, 'error': None, 'executedCount': 0, 'wsState': 1} eval_ms=4 ram=4.7/16.0GB (29%) swap=0.2/2.9GB (6%) cpu=36% browser_rss=0.65GB\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] GaussianMerge done (20.26s): result: dict\n [ComfyUI] [comfy-env] Running PreviewGaussianDual: layout: 'slider', camera_mode: 'orbit', fov_degrees: 70.0, renderer: 'playcanvas', transport_format: 'ply', ply_path_1: 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Gaus..., ply_path_2: 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Gaus...\n [ComfyUI] [SubprocessWorker] call_method: nodes.preview_gaussian_dual.PreviewGaussianDual.preview\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=7 sending call_method\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] PreviewGaussianDual done (0.10s): result: dict\n [ComfyUI] \u001b[32m[INFO]\u001b[0m \u001b[32mPrompt executed in 20.45 seconds\u001b[0m"
},
{
"file": "frame_004.jpg",
- "time": 21.66,
- "log": "Capturing execution frames: merge_splats.json\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\n Frame 1 saved (frame_000.jpg, t=0.0s)\n Validating workflow...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m === /validate endpoint called ===\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Received JSON with keys: ['prompt']\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Prompt has 3 nodes\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 1: LoadPLY\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"ply_file\": \"apple.ply\"}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 12: GaussianMerge\n Queuing workflow for execution...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"target_count\": 100000, \"output_filename\": \"applemerged\", \"opacity_threshold\": 0.1, \"k\": 16, \"backend\": \"nanogs_cpu\", \"ply_path\": [\"1\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 14: PreviewGaussianDual\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"layout\": \"slider\", \"camera_mode\": \"orbit\", \"fov_degrees\": 70, \"renderer\": \"playcanvas\", \"transport_format\": \"ply\", \"ply_path_1\": [\"1\", 0], \"ply_path_2\": [\"12\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Generated prompt_id: 4127fb02-b210-4ff1-96d6-692c7d63cb84\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Calling execution.validate_prompt()...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Validation result: valid=True\n [ComfyUI] \u001b[32m[INFO]\u001b[0m === Validation PASSED ===\n [ComfyUI] \u001b[32m[INFO]\u001b[0m got prompt\n [ComfyUI] [comfy-env] Running LoadPLY: ply_file: 'apple.ply'\n [ComfyUI] [SubprocessWorker] call_method: nodes.load_ply.LoadPLY.load\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=5 sending call_method\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] LoadPLY done (0.06s): result: list[1]\n [ComfyUI] [comfy-env] Running GaussianMerge: target_count: 100000, output_filename: 'applemerged', opacity_threshold: 0.1, k: 16, backend: 'nanogs_cpu', ply_path: 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Gaus...\n [ComfyUI] [SubprocessWorker] call_method: nodes.merge_gaussians.GaussianMerge.merge\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=6 sending call_method\n [ComfyUI] [worker:ComfyUI-GaussianPack] Loading PLY: D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1247\\ComfyUI\\input\\apple.ply\n [ComfyUI] [worker:ComfyUI-GaussianPack] Initial splats: 200000\n [ComfyUI] [worker:ComfyUI-GaussianPack] Pruned splats: 200000, target: 100000\n [ComfyUI] [worker:ComfyUI-GaussianPack] Opacity Mean: 0.53443545 Median: 0.48362076\n [ComfyUI] [worker:ComfyUI-GaussianPack] Pruning splats with opacity below 0.1000\n [ComfyUI] [worker:ComfyUI-GaussianPack] Original count: 200000, after opacity pruning: 200000\n [ComfyUI] [worker:ComfyUI-GaussianPack] After opacity pruning, 200000 splats remain.\n [ComfyUI] [worker:ComfyUI-GaussianPack] Pass 1: 200000 splats\n Frame 2 saved (frame_001.jpg, t=2.2s)\n [capture-periodic] freeze=3ms shot=99ms unfreeze=3ms saved=True\n Frame 3 saved (frame_002.jpg, t=4.4s)\n [capture-periodic] freeze=2ms shot=87ms unfreeze=3ms saved=True\n [ComfyUI] \n [ComfyUI] Edge costs: 0%| | 0/19 [00:00, ?it/s]\n [ComfyUI] Edge costs: 5%|\u258c | 1/19 [00:00<00:04, 3.66it/s]\n [capture-loop] iter=50 t=5.7s state={'complete': False, 'error': None, 'executedCount': 0, 'wsState': 1} eval_ms=5 ram=5.1/16.0GB (32%) swap=0.2/2.9GB (6%) cpu=39% browser_rss=0.77GB\n [ComfyUI] Edge costs: 11%|\u2588 | 2/19 [00:00<00:04, 3.90it/s]\n [ComfyUI] Edge costs: 16%|\u2588\u258c | 3/19 [00:00<00:04, 3.96it/s]\n [ComfyUI] Edge costs: 21%|\u2588\u2588 | 4/19 [00:01<00:03, 3.77it/s]\n [ComfyUI] Edge costs: 26%|\u2588\u2588\u258b | 5/19 [00:01<00:03, 3.84it/s]\n [ComfyUI] Edge costs: 32%|\u2588\u2588\u2588\u258f | 6/19 [00:01<00:03, 3.92it/s]\n [ComfyUI] Edge costs: 37%|\u2588\u2588\u2588\u258b | 7/19 [00:01<00:03, 3.87it/s]\n [ComfyUI] Edge costs: 42%|\u2588\u2588\u2588\u2588\u258f | 8/19 [00:02<00:02, 3.89it/s]\n [ComfyUI] Edge costs: 47%|\u2588\u2588\u2588\u2588\u258b | 9/19 [00:02<00:02, 4.03it/s]\n [ComfyUI] Edge costs: 53%|\u2588\u2588\u2588\u2588\u2588\u258e | 10/19 [00:02<00:02, 4.07it/s]\n [ComfyUI] Edge costs: 58%|\u2588\u2588\u2588\u2588\u2588\u258a | 11/19 [00:02<00:01, 4.15it/s]\n [ComfyUI] Edge costs: 63%|\u2588\u2588\u2588\u2588\u2588\u2588\u258e | 12/19 [00:02<00:01, 4.19it/s]\n [ComfyUI] Edge costs: 68%|\u2588\u2588\u2588\u2588\u2588\u2588\u258a | 13/19 [00:03<00:01, 4.16it/s]\n [ComfyUI] Edge costs: 74%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u258e | 14/19 [00:03<00:01, 4.17it/s]\n [ComfyUI] Edge costs: 79%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2589 | 15/19 [00:03<00:00, 4.14it/s]\n [ComfyUI] Edge costs: 84%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u258d | 16/19 [00:03<00:00, 4.05it/s]\n [ComfyUI] Edge costs: 89%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2589 | 17/19 [00:04<00:00, 4.16it/s]\n [ComfyUI] Edge costs: 95%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u258d| 18/19 [00:04<00:00, 3.97it/s]\n [ComfyUI] Edge costs: 100%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 19/19 [00:04<00:00, 4.59it/s]\n [ComfyUI] Edge costs: 100%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 19/19 [00:04<00:00, 4.10it/s]\n [ComfyUI] [worker:ComfyUI-GaussianPack] edges: 1848776, pairs: 96906 (need 100000)\n [ComfyUI] [worker:ComfyUI-GaussianPack] Merging 96906 pairs\n [ComfyUI] [worker:ComfyUI-GaussianPack] Pass 2: 103094 splats\n [capture-loop] iter=100 t=11.6s state={'complete': False, 'error': None, 'executedCount': 0, 'wsState': 1} eval_ms=3 ram=4.9/16.0GB (30%) swap=0.2/2.9GB (6%) cpu=38% browser_rss=0.68GB\n [ComfyUI] \n [ComfyUI] Edge costs: 0%| | 0/10 [00:00, ?it/s]\n [ComfyUI] Edge costs: 10%|\u2588 | 1/10 [00:00<00:02, 4.43it/s]\n [ComfyUI] Edge costs: 20%|\u2588\u2588 | 2/10 [00:00<00:01, 4.35it/s]\n [ComfyUI] Edge costs: 30%|\u2588\u2588\u2588 | 3/10 [00:00<00:01, 4.05it/s]\n [ComfyUI] Edge costs: 40%|\u2588\u2588\u2588\u2588 | 4/10 [00:00<00:01, 3.88it/s]\n [ComfyUI] Edge costs: 50%|\u2588\u2588\u2588\u2588\u2588 | 5/10 [00:01<00:01, 3.83it/s]\n [ComfyUI] Edge costs: 60%|\u2588\u2588\u2588\u2588\u2588\u2588 | 6/10 [00:01<00:01, 3.92it/s]\n [ComfyUI] Edge costs: 70%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588 | 7/10 [00:01<00:00, 3.76it/s]\n [ComfyUI] Edge costs: 80%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 | 8/10 [00:02<00:00, 3.84it/s]\n [ComfyUI] Edge costs: 90%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 | 9/10 [00:02<00:00, 3.78it/s]\n [ComfyUI] Edge costs: 100%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 10/10 [00:02<00:00, 4.22it/s]\n [ComfyUI] [worker:ComfyUI-GaussianPack] edges: 919857, pairs: 3094 (need 3094)\n [ComfyUI] [worker:ComfyUI-GaussianPack] Merging 3094 pairs\n [ComfyUI] [worker:ComfyUI-GaussianPack] Final splats: 100000\n [capture-loop] iter=150 t=17.2s state={'complete': False, 'error': None, 'executedCount': 0, 'wsState': 1} eval_ms=4 ram=4.9/16.0GB (31%) swap=0.2/2.9GB (6%) cpu=49% browser_rss=0.68GB\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] GaussianMerge done (20.90s): result: dict\n [ComfyUI] [comfy-env] Running PreviewGaussianDual: layout: 'slider', camera_mode: 'orbit', fov_degrees: 70.0, renderer: 'playcanvas', transport_format: 'ply', ply_path_1: 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Gaus..., ply_path_2: 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Gaus...\n [ComfyUI] [SubprocessWorker] call_method: nodes.preview_gaussian_dual.PreviewGaussianDual.preview\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=7 sending call_method\n Node executed (1 total), capturing...\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] PreviewGaussianDual done (0.08s): result: dict\n [ComfyUI] \u001b[32m[INFO]\u001b[0m \u001b[32mPrompt executed in 21.04 seconds\u001b[0m\n Frame 4 saved (frame_003.jpg, t=21.3s)\n [capture-node] freeze=3ms shot=99ms unfreeze=4ms saved=True"
+ "time": 21.18,
+ "log": " [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\nCapturing execution frames: merge_splats.json\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\n [ComfyUI] \u001b[1m\u001b[31m[ERROR]\u001b[0m Exception in callback _ProactorBasePipeTransport._call_connection_lost()\n [ComfyUI] handle: \n [ComfyUI] Traceback (most recent call last):\n [ComfyUI] File \"C:\\hostedtoolcache\\windows\\Python\\3.13.13\\x64\\Lib\\asyncio\\events.py\", line 89, in _run\n [ComfyUI] self._context.run(self._callback, *self._args)\n [ComfyUI] ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n [ComfyUI] File \"C:\\hostedtoolcache\\windows\\Python\\3.13.13\\x64\\Lib\\asyncio\\proactor_events.py\", line 165, in _call_connection_lost\n [ComfyUI] self._sock.shutdown(socket.SHUT_RDWR)\n [ComfyUI] ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^\n [ComfyUI] ConnectionResetError: [WinError 10054] An existing connection was forcibly closed by the remote host\n Frame 1 saved (frame_000.jpg, t=0.0s)\n Validating workflow...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m === /validate endpoint called ===\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Received JSON with keys: ['prompt']\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Prompt has 3 nodes\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 1: LoadPLY\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"ply_file\": \"apple.ply\"}\n Queuing workflow for execution...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 12: GaussianMerge\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"target_count\": 100000, \"output_filename\": \"applemerged\", \"opacity_threshold\": 0.1, \"k\": 16, \"backend\": \"nanogs_cpu\", \"ply_path\": [\"1\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 14: PreviewGaussianDual\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"layout\": \"slider\", \"camera_mode\": \"orbit\", \"fov_degrees\": 70, \"renderer\": \"playcanvas\", \"transport_format\": \"ply\", \"ply_path_1\": [\"1\", 0], \"ply_path_2\": [\"12\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Generated prompt_id: 35093fa4-0765-48a0-9728-87adb2bac7af\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Calling execution.validate_prompt()...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Validation result: valid=True\n [ComfyUI] \u001b[32m[INFO]\u001b[0m === Validation PASSED ===\n [ComfyUI] \u001b[32m[INFO]\u001b[0m got prompt\n [ComfyUI] [comfy-env] Running LoadPLY: ply_file: 'apple.ply'\n [ComfyUI] [SubprocessWorker] call_method: nodes.load_ply.LoadPLY.load\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=5 sending call_method\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] LoadPLY done (0.08s): result: list[1]\n [ComfyUI] [comfy-env] Running GaussianMerge: target_count: 100000, output_filename: 'applemerged', opacity_threshold: 0.1, k: 16, backend: 'nanogs_cpu', ply_path: 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Gaus...\n [ComfyUI] [SubprocessWorker] call_method: nodes.merge_gaussians.GaussianMerge.merge\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=6 sending call_method\n [ComfyUI] [worker:ComfyUI-GaussianPack] Loading PLY: D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\GaussianPack-1400\\ComfyUI\\input\\apple.ply\n [ComfyUI] [worker:ComfyUI-GaussianPack] Initial splats: 200000\n [ComfyUI] [worker:ComfyUI-GaussianPack] Pruned splats: 200000, target: 100000\n [ComfyUI] [worker:ComfyUI-GaussianPack] Opacity Mean: 0.53443545 Median: 0.48362076\n [ComfyUI] [worker:ComfyUI-GaussianPack] Pruning splats with opacity below 0.1000\n [ComfyUI] [worker:ComfyUI-GaussianPack] Original count: 200000, after opacity pruning: 200000\n [ComfyUI] [worker:ComfyUI-GaussianPack] After opacity pruning, 200000 splats remain.\n [ComfyUI] [worker:ComfyUI-GaussianPack] Pass 1: 200000 splats\n Frame 2 saved (frame_001.jpg, t=2.1s)\n [capture-periodic] freeze=4ms shot=94ms unfreeze=5ms saved=True\n Frame 3 saved (frame_002.jpg, t=4.3s)\n [capture-periodic] freeze=4ms shot=82ms unfreeze=5ms saved=True\n [ComfyUI] \n [ComfyUI] Edge costs: 0%| | 0/19 [00:00, ?it/s]\n [ComfyUI] Edge costs: 5%|\u258c | 1/19 [00:00<00:06, 2.89it/s]\n [capture-loop] iter=50 t=5.7s state={'complete': False, 'error': None, 'executedCount': 0, 'wsState': 1} eval_ms=4 ram=4.8/16.0GB (30%) swap=0.2/2.9GB (6%) cpu=36% browser_rss=0.72GB\n [ComfyUI] Edge costs: 11%|\u2588 | 2/19 [00:00<00:04, 3.63it/s]\n [ComfyUI] Edge costs: 16%|\u2588\u258c | 3/19 [00:00<00:04, 3.82it/s]\n [ComfyUI] Edge costs: 21%|\u2588\u2588 | 4/19 [00:01<00:03, 3.84it/s]\n [ComfyUI] Edge costs: 26%|\u2588\u2588\u258b | 5/19 [00:01<00:03, 3.99it/s]\n [ComfyUI] Edge costs: 32%|\u2588\u2588\u2588\u258f | 6/19 [00:01<00:03, 3.94it/s]\n [ComfyUI] Edge costs: 37%|\u2588\u2588\u2588\u258b | 7/19 [00:01<00:03, 3.98it/s]\n [ComfyUI] Edge costs: 42%|\u2588\u2588\u2588\u2588\u258f | 8/19 [00:02<00:02, 4.06it/s]\n [ComfyUI] Edge costs: 47%|\u2588\u2588\u2588\u2588\u258b | 9/19 [00:02<00:02, 4.09it/s]\n [ComfyUI] Edge costs: 53%|\u2588\u2588\u2588\u2588\u2588\u258e | 10/19 [00:02<00:02, 4.10it/s]\n [ComfyUI] Edge costs: 58%|\u2588\u2588\u2588\u2588\u2588\u258a | 11/19 [00:02<00:01, 4.12it/s]\n [ComfyUI] Edge costs: 63%|\u2588\u2588\u2588\u2588\u2588\u2588\u258e | 12/19 [00:03<00:01, 3.94it/s]\n [ComfyUI] Edge costs: 68%|\u2588\u2588\u2588\u2588\u2588\u2588\u258a | 13/19 [00:03<00:01, 4.07it/s]\n [ComfyUI] Edge costs: 74%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u258e | 14/19 [00:03<00:01, 4.19it/s]\n [ComfyUI] Edge costs: 79%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2589 | 15/19 [00:03<00:00, 4.08it/s]\n [ComfyUI] Edge costs: 84%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u258d | 16/19 [00:03<00:00, 4.17it/s]\n [ComfyUI] Edge costs: 89%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2589 | 17/19 [00:04<00:00, 4.24it/s]\n [ComfyUI] Edge costs: 95%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u258d| 18/19 [00:04<00:00, 4.25it/s]\n [ComfyUI] Edge costs: 100%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 19/19 [00:04<00:00, 5.09it/s]\n [ComfyUI] Edge costs: 100%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 19/19 [00:04<00:00, 4.17it/s]\n [ComfyUI] [worker:ComfyUI-GaussianPack] edges: 1848776, pairs: 96906 (need 100000)\n [ComfyUI] [worker:ComfyUI-GaussianPack] Merging 96906 pairs\n [ComfyUI] [worker:ComfyUI-GaussianPack] Pass 2: 103094 splats\n [capture-loop] iter=100 t=11.8s state={'complete': False, 'error': None, 'executedCount': 0, 'wsState': 1} eval_ms=4 ram=4.7/16.0GB (29%) swap=0.2/2.9GB (6%) cpu=40% browser_rss=0.65GB\n [ComfyUI] \n [ComfyUI] Edge costs: 0%| | 0/10 [00:00, ?it/s]\n [ComfyUI] Edge costs: 10%|\u2588 | 1/10 [00:00<00:01, 4.59it/s]\n [ComfyUI] Edge costs: 20%|\u2588\u2588 | 2/10 [00:00<00:01, 4.46it/s]\n [ComfyUI] Edge costs: 30%|\u2588\u2588\u2588 | 3/10 [00:00<00:01, 4.49it/s]\n [ComfyUI] Edge costs: 40%|\u2588\u2588\u2588\u2588 | 4/10 [00:00<00:01, 4.50it/s]\n [ComfyUI] Edge costs: 50%|\u2588\u2588\u2588\u2588\u2588 | 5/10 [00:01<00:01, 4.42it/s]\n [ComfyUI] Edge costs: 60%|\u2588\u2588\u2588\u2588\u2588\u2588 | 6/10 [00:01<00:00, 4.46it/s]\n [ComfyUI] Edge costs: 70%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588 | 7/10 [00:01<00:00, 4.48it/s]\n [ComfyUI] Edge costs: 80%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 | 8/10 [00:01<00:00, 4.45it/s]\n [ComfyUI] Edge costs: 90%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 | 9/10 [00:02<00:00, 4.45it/s]\n [ComfyUI] Edge costs: 100%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 10/10 [00:02<00:00, 4.85it/s]\n [ComfyUI] [worker:ComfyUI-GaussianPack] edges: 919857, pairs: 3094 (need 3094)\n [ComfyUI] [worker:ComfyUI-GaussianPack] Merging 3094 pairs\n [ComfyUI] [worker:ComfyUI-GaussianPack] Final splats: 100000\n [capture-loop] iter=150 t=17.5s state={'complete': False, 'error': None, 'executedCount': 0, 'wsState': 1} eval_ms=4 ram=4.7/16.0GB (29%) swap=0.2/2.9GB (6%) cpu=36% browser_rss=0.65GB\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] GaussianMerge done (20.26s): result: dict\n [ComfyUI] [comfy-env] Running PreviewGaussianDual: layout: 'slider', camera_mode: 'orbit', fov_degrees: 70.0, renderer: 'playcanvas', transport_format: 'ply', ply_path_1: 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Gaus..., ply_path_2: 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Gaus...\n [ComfyUI] [SubprocessWorker] call_method: nodes.preview_gaussian_dual.PreviewGaussianDual.preview\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=7 sending call_method\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] PreviewGaussianDual done (0.10s): result: dict\n [ComfyUI] \u001b[32m[INFO]\u001b[0m \u001b[32mPrompt executed in 20.45 seconds\u001b[0m\n Node executed (1 total), capturing...\n Frame 4 saved (frame_003.jpg, t=20.7s)\n [capture-node] freeze=4ms shot=95ms unfreeze=5ms saved=True"
},
{
"file": "frame_005.jpg",
- "time": 84.54914855957031,
+ "time": 83.85774064064026,
"log": "Final screenshot"
}
],
- "total_time": 82.36
+ "total_time": 81.67
}
\ No newline at end of file
diff --git a/dev/windows-cpu/videos/rotate_splats/frame_000.jpg b/dev/windows-cpu/videos/rotate_splats/frame_000.jpg
index 0ffbf26..0af30a4 100644
Binary files a/dev/windows-cpu/videos/rotate_splats/frame_000.jpg and b/dev/windows-cpu/videos/rotate_splats/frame_000.jpg differ
diff --git a/dev/windows-cpu/videos/rotate_splats/frame_001.jpg b/dev/windows-cpu/videos/rotate_splats/frame_001.jpg
index ccaed0d..d8b3253 100644
Binary files a/dev/windows-cpu/videos/rotate_splats/frame_001.jpg and b/dev/windows-cpu/videos/rotate_splats/frame_001.jpg differ
diff --git a/dev/windows-cpu/videos/rotate_splats/frame_002.jpg b/dev/windows-cpu/videos/rotate_splats/frame_002.jpg
index 162d9f8..9252af8 100644
Binary files a/dev/windows-cpu/videos/rotate_splats/frame_002.jpg and b/dev/windows-cpu/videos/rotate_splats/frame_002.jpg differ
diff --git a/dev/windows-cpu/videos/rotate_splats/frame_003.jpg b/dev/windows-cpu/videos/rotate_splats/frame_003.jpg
index 2ae05df..e4d65c2 100644
Binary files a/dev/windows-cpu/videos/rotate_splats/frame_003.jpg and b/dev/windows-cpu/videos/rotate_splats/frame_003.jpg differ
diff --git a/dev/windows-cpu/videos/rotate_splats/metadata.json b/dev/windows-cpu/videos/rotate_splats/metadata.json
index 611ce20..0505aab 100644
--- a/dev/windows-cpu/videos/rotate_splats/metadata.json
+++ b/dev/windows-cpu/videos/rotate_splats/metadata.json
@@ -3,23 +3,23 @@
{
"file": "frame_000.jpg",
"time": 0.0,
- "log": "Capturing execution frames: rotate_splats.json\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache."
+ "log": " [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\nCapturing execution frames: rotate_splats.json\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache."
},
{
"file": "frame_001.jpg",
- "time": 2.21,
- "log": "Capturing execution frames: rotate_splats.json\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\n Frame 1 saved (frame_000.jpg, t=0.0s)\n Validating workflow...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m === /validate endpoint called ===\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Received JSON with keys: ['prompt']\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Prompt has 3 nodes\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 1: LoadPLY\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"ply_file\": \"apple.ply\"}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 14: PreviewGaussianDual\n Queuing workflow for execution...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"layout\": \"slider\", \"camera_mode\": \"orbit\", \"fov_degrees\": 70, \"renderer\": \"playcanvas\", \"transport_format\": \"ply\", \"ply_path_1\": [\"1\", 0], \"ply_path_2\": [\"18\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 18: TransformGaussian\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"rotate_x\": -90, \"rotate_y\": 0, \"rotate_z\": 0, \"ply_path\": [\"1\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Generated prompt_id: d7aa6707-c533-454c-b9de-4c209acb4d40\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Calling execution.validate_prompt()...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Validation result: valid=True\n [ComfyUI] \u001b[32m[INFO]\u001b[0m === Validation PASSED ===\n [ComfyUI] \u001b[32m[INFO]\u001b[0m got prompt\n [ComfyUI] [comfy-env] Running LoadPLY: ply_file: 'apple.ply'\n [ComfyUI] [SubprocessWorker] call_method: nodes.load_ply.LoadPLY.load\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: failed\n [ComfyUI] [ComfyUI-GaussianPack] Socket unhealthy, restarting worker...\n [ComfyUI] [comfy-env] gaussianpack-nodes: Library/bin has 157 DLLs\n [ComfyUI] [ComfyUI-GaussianPack] python: C:\\Users\\stduser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\gaussianpack-nodes\\python.exe\n [ComfyUI] [ComfyUI-GaussianPack] sys_path sent to worker: ['D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1247\\\\ComfyUI', 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1247\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-GaussianPack', 'C:\\\\Users\\\\stduser\\\\AppData\\\\Local\\\\Programs\\\\comfy-env\\\\.pixi\\\\envs\\\\gaussianpack-nodes\\\\Lib\\\\site-packages', 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1247\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-GaussianPack']\n [ComfyUI] [SubprocessWorker] is_pixi=True, python=C:\\Users\\stduser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\gaussianpack-nodes\\python.exe\n [ComfyUI] [SubprocessWorker] launching cmd=['C:\\\\Users\\\\stduser\\\\.pixi\\\\bin\\\\pixi.exe', 'run', '--as-is', '--manifest-path', 'C:\\\\Users\\\\stduser\\\\AppData\\\\Local\\\\Programs\\\\comfy-env\\\\pixi.toml', '-e', 'gaussianpack-nodes', 'python', 'C:\\\\Users\\\\stduser\\\\AppData\\\\Local\\\\Temp\\\\comfyui_pvenv_d4yba5md\\\\persistent_worker.py', 'tcp://127.0.0.1:57689']..."
+ "time": 2.22,
+ "log": " [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\nCapturing execution frames: rotate_splats.json\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\n Frame 1 saved (frame_000.jpg, t=0.0s)\n Validating workflow...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m === /validate endpoint called ===\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Received JSON with keys: ['prompt']\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Prompt has 3 nodes\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 1: LoadPLY\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"ply_file\": \"apple.ply\"}\n Queuing workflow for execution...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 14: PreviewGaussianDual\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"layout\": \"slider\", \"camera_mode\": \"orbit\", \"fov_degrees\": 70, \"renderer\": \"playcanvas\", \"transport_format\": \"ply\", \"ply_path_1\": [\"1\", 0], \"ply_path_2\": [\"18\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 18: TransformGaussian\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"rotate_x\": -90, \"rotate_y\": 0, \"rotate_z\": 0, \"ply_path\": [\"1\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Generated prompt_id: 35ef54fd-b25d-4137-a0b9-dafb2115bb79\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Calling execution.validate_prompt()...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Validation result: valid=True\n [ComfyUI] \u001b[32m[INFO]\u001b[0m === Validation PASSED ===\n [ComfyUI] \u001b[32m[INFO]\u001b[0m got prompt\n [ComfyUI] [comfy-env] Running LoadPLY: ply_file: 'apple.ply'\n [ComfyUI] [SubprocessWorker] call_method: nodes.load_ply.LoadPLY.load\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: failed\n [ComfyUI] [ComfyUI-GaussianPack] Socket unhealthy, restarting worker...\n [ComfyUI] [comfy-env] gaussianpack-nodes: Library/bin has 158 DLLs\n [ComfyUI] [ComfyUI-GaussianPack] python: C:\\Users\\stduser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\gaussianpack-nodes\\python.exe\n [ComfyUI] [ComfyUI-GaussianPack] sys_path sent to worker: ['D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1400\\\\ComfyUI', 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1400\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-GaussianPack', 'C:\\\\Users\\\\stduser\\\\AppData\\\\Local\\\\Programs\\\\comfy-env\\\\.pixi\\\\envs\\\\gaussianpack-nodes\\\\Lib\\\\site-packages', 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1400\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-GaussianPack']\n [ComfyUI] [SubprocessWorker] is_pixi=True, python=C:\\Users\\stduser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\gaussianpack-nodes\\python.exe\n [ComfyUI] [SubprocessWorker] launching cmd=['C:\\\\Users\\\\stduser\\\\.pixi\\\\bin\\\\pixi.exe', 'run', '--as-is', '--manifest-path', 'C:\\\\Users\\\\stduser\\\\AppData\\\\Local\\\\Programs\\\\comfy-env\\\\pixi.toml', '-e', 'gaussianpack-nodes', 'python', 'C:\\\\Users\\\\stduser\\\\AppData\\\\Local\\\\Temp\\\\comfyui_pvenv_aamctmub\\\\persistent_worker.py', 'tcp://127.0.0.1:52668']..."
},
{
"file": "frame_002.jpg",
- "time": 3.9,
- "log": "Capturing execution frames: rotate_splats.json\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\n Frame 1 saved (frame_000.jpg, t=0.0s)\n Validating workflow...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m === /validate endpoint called ===\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Received JSON with keys: ['prompt']\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Prompt has 3 nodes\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 1: LoadPLY\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"ply_file\": \"apple.ply\"}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 14: PreviewGaussianDual\n Queuing workflow for execution...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"layout\": \"slider\", \"camera_mode\": \"orbit\", \"fov_degrees\": 70, \"renderer\": \"playcanvas\", \"transport_format\": \"ply\", \"ply_path_1\": [\"1\", 0], \"ply_path_2\": [\"18\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 18: TransformGaussian\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"rotate_x\": -90, \"rotate_y\": 0, \"rotate_z\": 0, \"ply_path\": [\"1\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Generated prompt_id: d7aa6707-c533-454c-b9de-4c209acb4d40\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Calling execution.validate_prompt()...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Validation result: valid=True\n [ComfyUI] \u001b[32m[INFO]\u001b[0m === Validation PASSED ===\n [ComfyUI] \u001b[32m[INFO]\u001b[0m got prompt\n [ComfyUI] [comfy-env] Running LoadPLY: ply_file: 'apple.ply'\n [ComfyUI] [SubprocessWorker] call_method: nodes.load_ply.LoadPLY.load\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: failed\n [ComfyUI] [ComfyUI-GaussianPack] Socket unhealthy, restarting worker...\n [ComfyUI] [comfy-env] gaussianpack-nodes: Library/bin has 157 DLLs\n [ComfyUI] [ComfyUI-GaussianPack] python: C:\\Users\\stduser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\gaussianpack-nodes\\python.exe\n [ComfyUI] [ComfyUI-GaussianPack] sys_path sent to worker: ['D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1247\\\\ComfyUI', 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1247\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-GaussianPack', 'C:\\\\Users\\\\stduser\\\\AppData\\\\Local\\\\Programs\\\\comfy-env\\\\.pixi\\\\envs\\\\gaussianpack-nodes\\\\Lib\\\\site-packages', 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1247\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-GaussianPack']\n [ComfyUI] [SubprocessWorker] is_pixi=True, python=C:\\Users\\stduser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\gaussianpack-nodes\\python.exe\n [ComfyUI] [SubprocessWorker] launching cmd=['C:\\\\Users\\\\stduser\\\\.pixi\\\\bin\\\\pixi.exe', 'run', '--as-is', '--manifest-path', 'C:\\\\Users\\\\stduser\\\\AppData\\\\Local\\\\Programs\\\\comfy-env\\\\pixi.toml', '-e', 'gaussianpack-nodes', 'python', 'C:\\\\Users\\\\stduser\\\\AppData\\\\Local\\\\Temp\\\\comfyui_pvenv_d4yba5md\\\\persistent_worker.py', 'tcp://127.0.0.1:57689']...\n Frame 2 saved (frame_001.jpg, t=2.2s)\n [capture-periodic] freeze=2ms shot=95ms unfreeze=4ms saved=True\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=8 sending call_method\n [ComfyUI] [worker:ComfyUI-GaussianPack] WARNING: SPZ route not registered (ModuleNotFoundError: No module named 'comfy_aimdo')\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] LoadPLY done (2.84s): result: list[1]\n [ComfyUI] [comfy-env] Running TransformGaussian: rotate_x: -90.0, rotate_y: 0.0, rotate_z: 0.0, ply_path: 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Gaus...\n [ComfyUI] [SubprocessWorker] call_method: nodes.transform_gaussian.TransformGaussian.transform\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=9 sending call_method\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] TransformGaussian done (0.64s): result: list[1]\n [ComfyUI] [comfy-env] Running PreviewGaussianDual: layout: 'slider', camera_mode: 'orbit', fov_degrees: 70.0, renderer: 'playcanvas', transport_format: 'ply', ply_path_1: 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Gaus..., ply_path_2: 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Gaus...\n [ComfyUI] [SubprocessWorker] call_method: nodes.preview_gaussian_dual.PreviewGaussianDual.preview\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=10 sending call_method\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] PreviewGaussianDual done (0.06s): result: dict\n [ComfyUI] \u001b[32m[INFO]\u001b[0m \u001b[32mPrompt executed in 3.55 seconds\u001b[0m"
+ "time": 3.7,
+ "log": " [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\nCapturing execution frames: rotate_splats.json\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\n Frame 1 saved (frame_000.jpg, t=0.0s)\n Validating workflow...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m === /validate endpoint called ===\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Received JSON with keys: ['prompt']\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Prompt has 3 nodes\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 1: LoadPLY\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"ply_file\": \"apple.ply\"}\n Queuing workflow for execution...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 14: PreviewGaussianDual\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"layout\": \"slider\", \"camera_mode\": \"orbit\", \"fov_degrees\": 70, \"renderer\": \"playcanvas\", \"transport_format\": \"ply\", \"ply_path_1\": [\"1\", 0], \"ply_path_2\": [\"18\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 18: TransformGaussian\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"rotate_x\": -90, \"rotate_y\": 0, \"rotate_z\": 0, \"ply_path\": [\"1\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Generated prompt_id: 35ef54fd-b25d-4137-a0b9-dafb2115bb79\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Calling execution.validate_prompt()...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Validation result: valid=True\n [ComfyUI] \u001b[32m[INFO]\u001b[0m === Validation PASSED ===\n [ComfyUI] \u001b[32m[INFO]\u001b[0m got prompt\n [ComfyUI] [comfy-env] Running LoadPLY: ply_file: 'apple.ply'\n [ComfyUI] [SubprocessWorker] call_method: nodes.load_ply.LoadPLY.load\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: failed\n [ComfyUI] [ComfyUI-GaussianPack] Socket unhealthy, restarting worker...\n [ComfyUI] [comfy-env] gaussianpack-nodes: Library/bin has 158 DLLs\n [ComfyUI] [ComfyUI-GaussianPack] python: C:\\Users\\stduser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\gaussianpack-nodes\\python.exe\n [ComfyUI] [ComfyUI-GaussianPack] sys_path sent to worker: ['D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1400\\\\ComfyUI', 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1400\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-GaussianPack', 'C:\\\\Users\\\\stduser\\\\AppData\\\\Local\\\\Programs\\\\comfy-env\\\\.pixi\\\\envs\\\\gaussianpack-nodes\\\\Lib\\\\site-packages', 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1400\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-GaussianPack']\n [ComfyUI] [SubprocessWorker] is_pixi=True, python=C:\\Users\\stduser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\gaussianpack-nodes\\python.exe\n [ComfyUI] [SubprocessWorker] launching cmd=['C:\\\\Users\\\\stduser\\\\.pixi\\\\bin\\\\pixi.exe', 'run', '--as-is', '--manifest-path', 'C:\\\\Users\\\\stduser\\\\AppData\\\\Local\\\\Programs\\\\comfy-env\\\\pixi.toml', '-e', 'gaussianpack-nodes', 'python', 'C:\\\\Users\\\\stduser\\\\AppData\\\\Local\\\\Temp\\\\comfyui_pvenv_aamctmub\\\\persistent_worker.py', 'tcp://127.0.0.1:52668']...\n Frame 2 saved (frame_001.jpg, t=2.2s)\n [capture-periodic] freeze=4ms shot=89ms unfreeze=4ms saved=True\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=8 sending call_method\n [ComfyUI] [worker:ComfyUI-GaussianPack] WARNING: SPZ route not registered (ModuleNotFoundError: No module named 'comfy_aimdo')\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] LoadPLY done (2.60s): result: list[1]\n [ComfyUI] [comfy-env] Running TransformGaussian: rotate_x: -90.0, rotate_y: 0.0, rotate_z: 0.0, ply_path: 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Gaus...\n [ComfyUI] [SubprocessWorker] call_method: nodes.transform_gaussian.TransformGaussian.transform\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=9 sending call_method\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] TransformGaussian done (0.68s): result: list[1]\n [ComfyUI] [comfy-env] Running PreviewGaussianDual: layout: 'slider', camera_mode: 'orbit', fov_degrees: 70.0, renderer: 'playcanvas', transport_format: 'ply', ply_path_1: 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Gaus..., ply_path_2: 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Gaus...\n [ComfyUI] [SubprocessWorker] call_method: nodes.preview_gaussian_dual.PreviewGaussianDual.preview\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=10 sending call_method\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] PreviewGaussianDual done (0.09s): result: dict\n [ComfyUI] \u001b[32m[INFO]\u001b[0m \u001b[32mPrompt executed in 3.39 seconds\u001b[0m"
},
{
"file": "frame_003.jpg",
- "time": 66.58998584747314,
+ "time": 66.53449749946594,
"log": "Final screenshot"
}
],
- "total_time": 64.4
+ "total_time": 64.35
}
\ No newline at end of file
diff --git a/dev/windows-cpu/videos/spectate/frame_000.jpg b/dev/windows-cpu/videos/spectate/frame_000.jpg
index 38a03c6..ae1e9ed 100644
Binary files a/dev/windows-cpu/videos/spectate/frame_000.jpg and b/dev/windows-cpu/videos/spectate/frame_000.jpg differ
diff --git a/dev/windows-cpu/videos/spectate/frame_001.jpg b/dev/windows-cpu/videos/spectate/frame_001.jpg
index 511f9fd..27f81b3 100644
Binary files a/dev/windows-cpu/videos/spectate/frame_001.jpg and b/dev/windows-cpu/videos/spectate/frame_001.jpg differ
diff --git a/dev/windows-cpu/videos/spectate/frame_002.jpg b/dev/windows-cpu/videos/spectate/frame_002.jpg
index 352083b..fa3a61b 100644
Binary files a/dev/windows-cpu/videos/spectate/frame_002.jpg and b/dev/windows-cpu/videos/spectate/frame_002.jpg differ
diff --git a/dev/windows-cpu/videos/spectate/frame_003.jpg b/dev/windows-cpu/videos/spectate/frame_003.jpg
index 4b140ca..e559bb9 100644
Binary files a/dev/windows-cpu/videos/spectate/frame_003.jpg and b/dev/windows-cpu/videos/spectate/frame_003.jpg differ
diff --git a/dev/windows-cpu/videos/spectate/metadata.json b/dev/windows-cpu/videos/spectate/metadata.json
index c582c67..c8b02d4 100644
--- a/dev/windows-cpu/videos/spectate/metadata.json
+++ b/dev/windows-cpu/videos/spectate/metadata.json
@@ -7,19 +7,19 @@
},
{
"file": "frame_001.jpg",
- "time": 2.2,
- "log": " [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\nCapturing execution frames: spectate.json\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\n Frame 1 saved (frame_000.jpg, t=0.0s)\n Validating workflow...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m === /validate endpoint called ===\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Received JSON with keys: ['prompt']\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Prompt has 2 nodes\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 1: LoadPLY\n Queuing workflow for execution...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"ply_file\": \"compressed_room.ply\"}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 2: PreviewGaussians\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"camera_mode\": \"spectate\", \"fov_degrees\": 70, \"renderer\": \"playcanvas\", \"transport_format\": \"ply\", \"ply_path\": [\"1\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Generated prompt_id: aa2bb1be-23ce-4a20-907e-a65505fa9109\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Calling execution.validate_prompt()...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Validation result: valid=True\n [ComfyUI] \u001b[32m[INFO]\u001b[0m === Validation PASSED ===\n [ComfyUI] \u001b[32m[INFO]\u001b[0m got prompt\n [ComfyUI] [comfy-env] Running LoadPLY: ply_file: 'compressed_room.ply'\n [ComfyUI] [SubprocessWorker] call_method: nodes.load_ply.LoadPLY.load\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: failed\n [ComfyUI] [ComfyUI-GaussianPack] Socket unhealthy, restarting worker...\n [ComfyUI] [comfy-env] gaussianpack-nodes: Library/bin has 157 DLLs\n [ComfyUI] [ComfyUI-GaussianPack] python: C:\\Users\\stduser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\gaussianpack-nodes\\python.exe\n [ComfyUI] [ComfyUI-GaussianPack] sys_path sent to worker: ['D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1247\\\\ComfyUI', 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1247\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-GaussianPack', 'C:\\\\Users\\\\stduser\\\\AppData\\\\Local\\\\Programs\\\\comfy-env\\\\.pixi\\\\envs\\\\gaussianpack-nodes\\\\Lib\\\\site-packages', 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1247\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-GaussianPack']\n [ComfyUI] [SubprocessWorker] is_pixi=True, python=C:\\Users\\stduser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\gaussianpack-nodes\\python.exe\n [ComfyUI] [SubprocessWorker] launching cmd=['C:\\\\Users\\\\stduser\\\\.pixi\\\\bin\\\\pixi.exe', 'run', '--as-is', '--manifest-path', 'C:\\\\Users\\\\stduser\\\\AppData\\\\Local\\\\Programs\\\\comfy-env\\\\pixi.toml', '-e', 'gaussianpack-nodes', 'python', 'C:\\\\Users\\\\stduser\\\\AppData\\\\Local\\\\Temp\\\\comfyui_pvenv_d4yba5md\\\\persistent_worker.py', 'tcp://127.0.0.1:61400']..."
+ "time": 2.22,
+ "log": " [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\nCapturing execution frames: spectate.json\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\n Frame 1 saved (frame_000.jpg, t=0.0s)\n Validating workflow...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m === /validate endpoint called ===\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Received JSON with keys: ['prompt']\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Prompt has 2 nodes\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 1: LoadPLY\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"ply_file\": \"compressed_room.ply\"}\n Queuing workflow for execution...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 2: PreviewGaussians\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"camera_mode\": \"spectate\", \"fov_degrees\": 70, \"renderer\": \"playcanvas\", \"transport_format\": \"ply\", \"ply_path\": [\"1\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Generated prompt_id: cc64ab89-a883-402c-be8f-0251f7977da2\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Calling execution.validate_prompt()...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Validation result: valid=True\n [ComfyUI] \u001b[32m[INFO]\u001b[0m === Validation PASSED ===\n [ComfyUI] \u001b[32m[INFO]\u001b[0m got prompt\n [ComfyUI] [comfy-env] Running LoadPLY: ply_file: 'compressed_room.ply'\n [ComfyUI] [SubprocessWorker] call_method: nodes.load_ply.LoadPLY.load\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: failed\n [ComfyUI] [ComfyUI-GaussianPack] Socket unhealthy, restarting worker...\n [ComfyUI] [comfy-env] gaussianpack-nodes: Library/bin has 158 DLLs\n [ComfyUI] [ComfyUI-GaussianPack] python: C:\\Users\\stduser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\gaussianpack-nodes\\python.exe\n [ComfyUI] [ComfyUI-GaussianPack] sys_path sent to worker: ['D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1400\\\\ComfyUI', 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1400\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-GaussianPack', 'C:\\\\Users\\\\stduser\\\\AppData\\\\Local\\\\Programs\\\\comfy-env\\\\.pixi\\\\envs\\\\gaussianpack-nodes\\\\Lib\\\\site-packages', 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1400\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-GaussianPack']\n [ComfyUI] [SubprocessWorker] is_pixi=True, python=C:\\Users\\stduser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\gaussianpack-nodes\\python.exe\n [ComfyUI] [SubprocessWorker] launching cmd=['C:\\\\Users\\\\stduser\\\\.pixi\\\\bin\\\\pixi.exe', 'run', '--as-is', '--manifest-path', 'C:\\\\Users\\\\stduser\\\\AppData\\\\Local\\\\Programs\\\\comfy-env\\\\pixi.toml', '-e', 'gaussianpack-nodes', 'python', 'C:\\\\Users\\\\stduser\\\\AppData\\\\Local\\\\Temp\\\\comfyui_pvenv_aamctmub\\\\persistent_worker.py', 'tcp://127.0.0.1:59997']..."
},
{
"file": "frame_002.jpg",
- "time": 3.47,
- "log": " [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\nCapturing execution frames: spectate.json\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\n Frame 1 saved (frame_000.jpg, t=0.0s)\n Validating workflow...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m === /validate endpoint called ===\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Received JSON with keys: ['prompt']\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Prompt has 2 nodes\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 1: LoadPLY\n Queuing workflow for execution...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"ply_file\": \"compressed_room.ply\"}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 2: PreviewGaussians\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"camera_mode\": \"spectate\", \"fov_degrees\": 70, \"renderer\": \"playcanvas\", \"transport_format\": \"ply\", \"ply_path\": [\"1\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Generated prompt_id: aa2bb1be-23ce-4a20-907e-a65505fa9109\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Calling execution.validate_prompt()...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Validation result: valid=True\n [ComfyUI] \u001b[32m[INFO]\u001b[0m === Validation PASSED ===\n [ComfyUI] \u001b[32m[INFO]\u001b[0m got prompt\n [ComfyUI] [comfy-env] Running LoadPLY: ply_file: 'compressed_room.ply'\n [ComfyUI] [SubprocessWorker] call_method: nodes.load_ply.LoadPLY.load\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: failed\n [ComfyUI] [ComfyUI-GaussianPack] Socket unhealthy, restarting worker...\n [ComfyUI] [comfy-env] gaussianpack-nodes: Library/bin has 157 DLLs\n [ComfyUI] [ComfyUI-GaussianPack] python: C:\\Users\\stduser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\gaussianpack-nodes\\python.exe\n [ComfyUI] [ComfyUI-GaussianPack] sys_path sent to worker: ['D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1247\\\\ComfyUI', 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1247\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-GaussianPack', 'C:\\\\Users\\\\stduser\\\\AppData\\\\Local\\\\Programs\\\\comfy-env\\\\.pixi\\\\envs\\\\gaussianpack-nodes\\\\Lib\\\\site-packages', 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1247\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-GaussianPack']\n [ComfyUI] [SubprocessWorker] is_pixi=True, python=C:\\Users\\stduser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\gaussianpack-nodes\\python.exe\n [ComfyUI] [SubprocessWorker] launching cmd=['C:\\\\Users\\\\stduser\\\\.pixi\\\\bin\\\\pixi.exe', 'run', '--as-is', '--manifest-path', 'C:\\\\Users\\\\stduser\\\\AppData\\\\Local\\\\Programs\\\\comfy-env\\\\pixi.toml', '-e', 'gaussianpack-nodes', 'python', 'C:\\\\Users\\\\stduser\\\\AppData\\\\Local\\\\Temp\\\\comfyui_pvenv_d4yba5md\\\\persistent_worker.py', 'tcp://127.0.0.1:61400']...\n Frame 2 saved (frame_001.jpg, t=2.2s)\n [capture-periodic] freeze=3ms shot=92ms unfreeze=3ms saved=True\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=11 sending call_method\n [ComfyUI] [worker:ComfyUI-GaussianPack] WARNING: SPZ route not registered (ModuleNotFoundError: No module named 'comfy_aimdo')\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] LoadPLY done (3.02s): result: list[1]\n [ComfyUI] [comfy-env] Running PreviewGaussians: camera_mode: 'spectate', fov_degrees: 70.0, renderer: 'playcanvas', transport_format: 'ply', ply_path: 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Gaus...\n [ComfyUI] [SubprocessWorker] call_method: nodes.preview_gaussian.PreviewGaussians.preview\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=12 sending call_method\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] PreviewGaussians done (0.10s): result: dict\n [ComfyUI] \u001b[32m[INFO]\u001b[0m \u001b[32mPrompt executed in 3.12 seconds\u001b[0m"
+ "time": 3.06,
+ "log": " [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\nCapturing execution frames: spectate.json\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\n Frame 1 saved (frame_000.jpg, t=0.0s)\n Validating workflow...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m === /validate endpoint called ===\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Received JSON with keys: ['prompt']\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Prompt has 2 nodes\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 1: LoadPLY\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"ply_file\": \"compressed_room.ply\"}\n Queuing workflow for execution...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 2: PreviewGaussians\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"camera_mode\": \"spectate\", \"fov_degrees\": 70, \"renderer\": \"playcanvas\", \"transport_format\": \"ply\", \"ply_path\": [\"1\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Generated prompt_id: cc64ab89-a883-402c-be8f-0251f7977da2\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Calling execution.validate_prompt()...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Validation result: valid=True\n [ComfyUI] \u001b[32m[INFO]\u001b[0m === Validation PASSED ===\n [ComfyUI] \u001b[32m[INFO]\u001b[0m got prompt\n [ComfyUI] [comfy-env] Running LoadPLY: ply_file: 'compressed_room.ply'\n [ComfyUI] [SubprocessWorker] call_method: nodes.load_ply.LoadPLY.load\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: failed\n [ComfyUI] [ComfyUI-GaussianPack] Socket unhealthy, restarting worker...\n [ComfyUI] [comfy-env] gaussianpack-nodes: Library/bin has 158 DLLs\n [ComfyUI] [ComfyUI-GaussianPack] python: C:\\Users\\stduser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\gaussianpack-nodes\\python.exe\n [ComfyUI] [ComfyUI-GaussianPack] sys_path sent to worker: ['D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1400\\\\ComfyUI', 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1400\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-GaussianPack', 'C:\\\\Users\\\\stduser\\\\AppData\\\\Local\\\\Programs\\\\comfy-env\\\\.pixi\\\\envs\\\\gaussianpack-nodes\\\\Lib\\\\site-packages', 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\GaussianPack-1400\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-GaussianPack']\n [ComfyUI] [SubprocessWorker] is_pixi=True, python=C:\\Users\\stduser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\gaussianpack-nodes\\python.exe\n [ComfyUI] [SubprocessWorker] launching cmd=['C:\\\\Users\\\\stduser\\\\.pixi\\\\bin\\\\pixi.exe', 'run', '--as-is', '--manifest-path', 'C:\\\\Users\\\\stduser\\\\AppData\\\\Local\\\\Programs\\\\comfy-env\\\\pixi.toml', '-e', 'gaussianpack-nodes', 'python', 'C:\\\\Users\\\\stduser\\\\AppData\\\\Local\\\\Temp\\\\comfyui_pvenv_aamctmub\\\\persistent_worker.py', 'tcp://127.0.0.1:59997']...\n Frame 2 saved (frame_001.jpg, t=2.2s)\n [capture-periodic] freeze=4ms shot=88ms unfreeze=5ms saved=True\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=11 sending call_method\n [ComfyUI] [worker:ComfyUI-GaussianPack] WARNING: SPZ route not registered (ModuleNotFoundError: No module named 'comfy_aimdo')\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] LoadPLY done (2.60s): result: list[1]\n [ComfyUI] [comfy-env] Running PreviewGaussians: camera_mode: 'spectate', fov_degrees: 70.0, renderer: 'playcanvas', transport_format: 'ply', ply_path: 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Gaus...\n [ComfyUI] [SubprocessWorker] call_method: nodes.preview_gaussian.PreviewGaussians.preview\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=12 sending call_method\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] PreviewGaussians done (0.11s): result: dict\n [ComfyUI] \u001b[32m[INFO]\u001b[0m \u001b[32mPrompt executed in 2.72 seconds\u001b[0m"
},
{
"file": "frame_003.jpg",
- "time": 13.550712585449219,
+ "time": 13.103792667388916,
"log": "Final screenshot"
}
],
- "total_time": 11.22
+ "total_time": 10.79
}
\ No newline at end of file