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 @@

PozzettiAndrea/ComfyUI-GaussianPack Test Results

- 2026-06-07 12:54 UTC Test run Windows-10-10.0.26100-SP0 AMD64 Family 25 Model 1 Stepping 1, AuthenticAMD + 2026-06-07 14:07 UTC Test run Windows-2025Server-10.0.26100-SP0 AMD64 Family 25 Model 1 Stepping 1, AuthenticAMD
@@ -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\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\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\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 + [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] [INFO] === /validate endpoint called === @@ -8,12 +18,12 @@ Capturing execution frames: merge_splats.json [ComfyUI] [INFO] Prompt has 3 nodes [ComfyUI] [INFO] Node 1: LoadPLY [ComfyUI] [INFO] Inputs: {"ply_file": "apple.ply"} - [ComfyUI] [INFO] Node 12: GaussianMerge Queuing workflow for execution... + [ComfyUI] [INFO] Node 12: GaussianMerge [ComfyUI] [INFO] Inputs: {"target_count": 100000, "output_filename": "applemerged", "opacity_threshold": 0.1, "k": 16, "backend": "nanogs_cpu", "ply_path": ["1", 0]} [ComfyUI] [INFO] Node 14: PreviewGaussianDual [ComfyUI] [INFO] 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] [INFO] Generated prompt_id: 4127fb02-b210-4ff1-96d6-692c7d63cb84 + [ComfyUI] [INFO] Generated prompt_id: 35093fa4-0765-48a0-9728-87adb2bac7af [ComfyUI] [INFO] Calling execution.validate_prompt()... [ComfyUI] [INFO] Validation result: valid=True [ComfyUI] [INFO] === 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 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] [INFO] setup plugin alembic.autogenerate.schemas -[01:59] [ComfyUI] [INFO] setup plugin alembic.autogenerate.tables -[01:59] [ComfyUI] [INFO] setup plugin alembic.autogenerate.types -[01:59] [ComfyUI] [INFO] setup plugin alembic.autogenerate.constraints -[01:59] [ComfyUI] [INFO] setup plugin alembic.autogenerate.defaults -[01:59] [ComfyUI] [INFO] setup plugin alembic.autogenerate.comments -[01:59] [ComfyUI] [INFO] -[01:59] [ComfyUI] Prestartup times for custom nodes: -[01:59] [ComfyUI] [INFO] 0.0 seconds: D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\GaussianPack-1247\ComfyUI\custom_nodes\ComfyUI-GaussianPack -[01:59] [ComfyUI] [INFO] -[02:04] [ComfyUI] [INFO] Found comfy_kitchen backend cuda: {'available': False, 'disabled': True, 'unavailable_reason': 'CUDA not available on this system', 'capabilities': []} -[02:04] [ComfyUI] [INFO] Found comfy_kitchen backend triton: {'available': False, 'disabled': True, 'unavailable_reason': "ImportError: No module named 'triton'", 'capabilities': []} -[02:04] [ComfyUI] [INFO] 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] [INFO] Checkpoint files will always be loaded safely. -[02:05] [ComfyUI] [INFO] Total VRAM 16379 MB, total RAM 16379 MB -[02:05] [ComfyUI] [INFO] pytorch version: 2.10.0+cpu -[02:05] [ComfyUI] [INFO] Set vram state to: DISABLED -[02:05] [ComfyUI] [INFO] Device: cpu -[02:05] [ComfyUI] [INFO] Using sub quadratic optimization for attention, if you have memory or speed issues try using: --use-split-cross-attention -[02:12] [ComfyUI] [INFO] 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] [INFO] ComfyUI version: 0.24.0 -[02:12] [ComfyUI] [INFO] comfy-aimdo version: 0.4.9 -[02:12] [ComfyUI] [INFO] comfy-kitchen version: 0.2.10 -[02:12] [ComfyUI] [WARNING] ****** User settings have been changed to be stored on the server instead of browser storage. ****** -[02:12] [ComfyUI] [WARNING] ****** For multi-user setups add the --multi-user CLI argument to enable multiple user profiles. ****** -[02:12] [ComfyUI] [INFO] comfyui-frontend-package version: 1.45.15 -[02:12] [ComfyUI] [INFO] comfyui-workflow-templates version: 0.9.98 -[02:12] [ComfyUI] [INFO] comfyui-embedded-docs version: 0.5.2 -[02:12] [ComfyUI] [INFO] comfy-kitchen version: 0.2.10 -[02:12] [ComfyUI] [INFO] comfy-aimdo version: 0.4.9 -[02:12] [ComfyUI] [INFO] [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] [INFO] 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] [INFO] -[02:21] [ComfyUI] Import times for custom nodes: -[02:21] [ComfyUI] [INFO] 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] [INFO] 0.0 seconds: D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\GaussianPack-1247\ComfyUI\custom_nodes\ComfyUI-validate-endpoint -[02:21] [ComfyUI] [INFO] 6.0 seconds: D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\GaussianPack-1247\ComfyUI\custom_nodes\ComfyUI-GaussianPack -[02:21] [ComfyUI] [INFO] -[02:21] [ComfyUI] [INFO] Context impl SQLiteImpl. -[02:21] [ComfyUI] [INFO] Will assume non-transactional DDL. -[02:21] [ComfyUI] [INFO] Context impl SQLiteImpl. -[02:21] [ComfyUI] [INFO] Will assume non-transactional DDL. -[02:21] [ComfyUI] [INFO] 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] [INFO] Running upgrade 0001_assets -> 0002_merge_to_asset_references, Merge AssetInfo and AssetCacheState into unified asset_references table. -[02:21] [ComfyUI] [INFO] 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] [INFO] Database upgraded from None to 0003_add_metadata_job_id -[02:21] [ComfyUI] [INFO] Using RAM pressure cache. -[02:21] [ComfyUI] [INFO] Starting server -[02:21] [ComfyUI] -[02:21] [ComfyUI] [INFO] 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] [INFO] Using RAM pressure cache. -[03:14] Capturing execution frames: gaussian_analysis.json -[03:14] [ComfyUI] [INFO] Using RAM pressure cache. -[03:23] Frame 1 saved (frame_000.jpg, t=0.0s) -[03:23] Validating workflow... -[03:23] [ComfyUI] [INFO] === /validate endpoint called === -[03:23] [ComfyUI] [INFO] Received JSON with keys: ['prompt'] -[03:23] [ComfyUI] [INFO] Prompt has 4 nodes -[03:23] [ComfyUI] [INFO] Node 1: LoadPLY -[03:23] [ComfyUI] [INFO] Inputs: {"ply_file": "apple.ply"} -[03:23] [ComfyUI] [INFO] Node 19: GaussianAnalysis -[03:23] [ComfyUI] [INFO] Inputs: {"ply_path": ["1", 0]} -[03:23] Queuing workflow for execution... -[03:23] [ComfyUI] [INFO] Node 20: LoadPLY -[03:23] [ComfyUI] [INFO] Inputs: {"ply_file": "compressed_room.ply"} -[03:23] [ComfyUI] [INFO] Node 21: GaussianAnalysis -[03:23] [ComfyUI] [INFO] Inputs: {"ply_path": ["20", 0]} -[03:23] [ComfyUI] [INFO] Generated prompt_id: c233e1cc-1cb5-4b63-b339-c7bcc552f02f -[03:23] [ComfyUI] [INFO] Calling execution.validate_prompt()... -[03:23] [ComfyUI] [INFO] Validation result: valid=True -[03:23] [ComfyUI] [INFO] === Validation PASSED === -[03:23] [ComfyUI] [INFO] 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] [INFO] Prompt executed in 3.11 seconds -[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] [INFO] Using RAM pressure cache. -[03:30] [ComfyUI] [INFO] Using RAM pressure cache. -[03:30] Capturing execution frames: merge_splats.json -[03:30] [ComfyUI] [INFO] Using RAM pressure cache. -[03:36] Frame 1 saved (frame_000.jpg, t=0.0s) -[03:36] Validating workflow... -[03:36] [ComfyUI] [INFO] === /validate endpoint called === -[03:36] [ComfyUI] [INFO] Received JSON with keys: ['prompt'] -[03:36] [ComfyUI] [INFO] Prompt has 3 nodes -[03:36] [ComfyUI] [INFO] Node 1: LoadPLY -[03:36] [ComfyUI] [INFO] Inputs: {"ply_file": "apple.ply"} -[03:36] [ComfyUI] [INFO] Node 12: GaussianMerge -[03:36] [ComfyUI] [INFO] 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] [INFO] Node 14: PreviewGaussianDual -[03:36] [ComfyUI] [INFO] 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] [INFO] Generated prompt_id: 4127fb02-b210-4ff1-96d6-692c7d63cb84 -[03:36] [ComfyUI] [INFO] Calling execution.validate_prompt()... -[03:36] [ComfyUI] [INFO] Validation result: valid=True -[03:36] [ComfyUI] [INFO] === Validation PASSED === -[03:36] [ComfyUI] [INFO] 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 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] [INFO] Running upgrade 0001_assets -> 0002_merge_to_asset_references, Merge AssetInfo and AssetCacheState into unified asset_references table. +[02:45] [ComfyUI] [INFO] 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] [INFO] Database upgraded from None to 0003_add_metadata_job_id +[02:45] [ComfyUI] [INFO] Using RAM pressure cache. +[02:45] [ComfyUI] [INFO] Starting server +[02:45] [ComfyUI] +[02:45] [ComfyUI] [INFO] 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] [INFO] Using RAM pressure cache. +[03:46] Capturing execution frames: gaussian_analysis.json +[03:46] [ComfyUI] [INFO] Using RAM pressure cache. +[03:55] Frame 1 saved (frame_000.jpg, t=0.0s) +[03:55] Validating workflow... +[03:55] [ComfyUI] [INFO] === /validate endpoint called === +[03:55] [ComfyUI] [INFO] Received JSON with keys: ['prompt'] +[03:55] [ComfyUI] [INFO] Prompt has 4 nodes +[03:55] [ComfyUI] [INFO] Node 1: LoadPLY +[03:55] [ComfyUI] [INFO] Inputs: {"ply_file": "apple.ply"} +[03:55] [ComfyUI] [INFO] Node 19: GaussianAnalysis +[03:55] [ComfyUI] [INFO] Inputs: {"ply_path": ["1", 0]} +[03:55] Queuing workflow for execution... +[03:55] [ComfyUI] [INFO] Node 20: LoadPLY +[03:55] [ComfyUI] [INFO] Inputs: {"ply_file": "compressed_room.ply"} +[03:55] [ComfyUI] [INFO] Node 21: GaussianAnalysis +[03:55] [ComfyUI] [INFO] Inputs: {"ply_path": ["20", 0]} +[03:55] [ComfyUI] [INFO] Generated prompt_id: 47d72ba8-7f3c-41a4-9cae-5bc3f8c11584 +[03:55] [ComfyUI] [INFO] Calling execution.validate_prompt()... +[03:55] [ComfyUI] [INFO] Validation result: valid=True +[03:55] [ComfyUI] [INFO] === Validation PASSED === +[03:55] [ComfyUI] [INFO] 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] [INFO] Prompt executed in 21.04 seconds -[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] [INFO] Prompt executed in 2.93 seconds +[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] [INFO] Using RAM pressure cache. +[04:01] [ComfyUI] [INFO] Using RAM pressure cache. +[04:01] Capturing execution frames: merge_splats.json +[04:01] [ComfyUI] [INFO] Using RAM pressure cache. +[04:01] [ComfyUI] [ERROR] 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] [INFO] === /validate endpoint called === +[04:07] [ComfyUI] [INFO] Received JSON with keys: ['prompt'] +[04:07] [ComfyUI] [INFO] Prompt has 3 nodes +[04:07] [ComfyUI] [INFO] Node 1: LoadPLY +[04:07] [ComfyUI] [INFO] Inputs: {"ply_file": "apple.ply"} +[04:07] [ComfyUI] [INFO] Node 12: GaussianMerge +[04:07] Queuing workflow for execution... +[04:07] [ComfyUI] [INFO] Inputs: {"target_count": 100000, "output_filename": "applemerged", "opacity_threshold": 0.1, "k": 16, "backend": "nanogs_cpu", "ply_path": ["1", 0]} +[04:07] [ComfyUI] [INFO] Node 14: PreviewGaussianDual +[04:07] [ComfyUI] [INFO] 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] [INFO] Generated prompt_id: 35093fa4-0765-48a0-9728-87adb2bac7af +[04:07] [ComfyUI] [INFO] Calling execution.validate_prompt()... +[04:07] [ComfyUI] [INFO] Validation result: valid=True +[04:07] [ComfyUI] [INFO] === Validation PASSED === +[04:07] [ComfyUI] [INFO] 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\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\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\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