Files
PozzettiAndrea-ComfyUI-Sharp/dev/linux-gpu/index.html
T
2026-06-07 21:30:54 +00:00

1647 lines
337 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>PozzettiAndrea/ComfyUI-Sharp - Test Results</title>
<style>
* { margin: 0; padding: 0; box-sizing: border-box; }
body {
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
background: #0f1923;
color: #e6edf3;
min-height: 100vh;
line-height: 1.6;
}
header {
background: #162033;
padding: 1.25rem 2rem;
border-bottom: 1px solid #243656;
}
body.in-iframe header {
display: none;
}
body.in-iframe .container {
padding-top: 1.25rem;
}
body.in-iframe .summary-meta {
display: flex;
gap: 0.5rem;
flex-wrap: wrap;
margin-bottom: 1rem;
}
h1 {
font-size: 1.25rem;
font-weight: 600;
margin-bottom: 0.5rem;
}
h1 a {
color: #e6edf3;
text-decoration: none;
}
h1 a:hover { color: #58a6ff; }
.meta-chips {
display: flex;
gap: 0.5rem;
flex-wrap: wrap;
align-items: center;
}
.meta-chip {
display: inline-flex;
align-items: center;
gap: 0.35rem;
padding: 0.2rem 0.6rem;
background: #1c2d44;
border: 1px solid #243656;
border-radius: 2rem;
font-size: 0.75rem;
color: #8ba3c1;
}
a.meta-chip {
text-decoration: none;
transition: background 0.15s, border-color 0.15s, color 0.15s;
}
a.meta-chip:hover {
background: #25395a;
border-color: #3a5587;
color: #cfe1f7;
}
.meta-chip svg {
width: 12px;
height: 12px;
fill: currentColor;
flex-shrink: 0;
}
.container {
max-width: 1400px;
margin: 0 auto;
padding: 2rem;
}
/* Summary Section */
.summary {
background: #162033;
border: 1px solid #243656;
border-radius: 8px;
padding: 1.5rem;
margin-bottom: 2rem;
}
.progress-wrapper {
display: flex;
align-items: center;
gap: 1rem;
margin-bottom: 1rem;
}
.progress-bar {
background: #1c2d44;
border-radius: 6px;
height: 10px;
overflow: hidden;
flex: 1;
}
.progress-fill {
background: #3fb950;
height: 100%;
border-radius: 6px;
transition: width 0.3s ease;
}
.progress-fill.has-failures {
background: linear-gradient(90deg, #3fb950 0%, #3fb950 75.0%, #f85149 75.0%, #f85149 100%);
width: 100% !important;
border-radius: 6px;
}
.progress-label {
font-size: 0.85rem;
font-weight: 600;
color: #8ba3c1;
white-space: nowrap;
min-width: 3.5rem;
text-align: right;
}
.stats {
display: flex;
gap: 0.75rem;
flex-wrap: wrap;
align-items: center;
}
.stat-badge {
padding: 0.35rem 0.75rem;
border-radius: 2rem;
font-weight: 600;
font-size: 0.8rem;
}
.stat-pass {
background: rgba(63, 185, 80, 0.15);
color: #3fb950;
}
.stat-fail {
background: rgba(248, 81, 73, 0.15);
color: #f85149;
}
.stat-total {
color: #8ba3c1;
font-size: 0.85rem;
}
/* Failed Section */
.failed-section {
background: rgba(248, 81, 73, 0.08);
border: 1px solid rgba(248, 81, 73, 0.3);
border-radius: 8px;
padding: 1.25rem;
margin-bottom: 2rem;
}
.failed-section h2 {
color: #f85149;
font-size: 0.9rem;
font-weight: 600;
margin-bottom: 0.75rem;
}
.failed-item {
background: #162033;
border: 1px solid #243656;
border-radius: 6px;
padding: 1rem;
margin-bottom: 0.5rem;
}
.failed-item:last-child {
margin-bottom: 0;
}
.failed-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 0.5rem;
}
.failed-name {
font-weight: 600;
color: #f85149;
}
.failed-duration {
color: #8ba3c1;
font-size: 0.8rem;
}
.failed-error {
background: #0f1923;
border: 1px solid #243656;
padding: 0.75rem;
border-radius: 6px;
font-family: 'SFMono-Regular', 'Menlo', 'Monaco', monospace;
font-size: 0.8rem;
color: #d29922;
margin-bottom: 0.5rem;
}
.log-link {
color: #58a6ff;
text-decoration: none;
font-size: 0.8rem;
}
.log-link:hover {
text-decoration: underline;
}
/* Workflow Grid */
.section-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 1.25rem;
}
.section-title {
font-size: 0.8rem;
color: #8ba3c1;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.06em;
}
.view-controls {
display: flex;
gap: 0;
align-items: center;
border: 1px solid #243656;
border-radius: 6px;
overflow: hidden;
}
.view-btn {
background: #1c2d44;
color: #8ba3c1;
border: none;
border-right: 1px solid #243656;
padding: 0.3rem 0.75rem;
cursor: pointer;
font-size: 0.75rem;
font-weight: 500;
transition: all 0.15s;
}
.view-btn:last-child {
border-right: none;
}
.view-btn:hover {
background: #243656;
color: #e6edf3;
}
.view-btn.active {
background: #58a6ff;
color: #fff;
}
.workflow-grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 1rem;
}
.workflow-grid.view-list {
grid-template-columns: 1fr;
gap: 0;
}
.workflow-grid.view-list .workflow-card {
border-radius: 0;
border-bottom: 1px solid #243656;
}
.workflow-grid.view-list .workflow-card:first-child {
border-radius: 8px 8px 0 0;
}
.workflow-grid.view-list .workflow-card:last-child {
border-radius: 0 0 8px 8px;
border-bottom: none;
}
.workflow-grid.view-list .workflow-card:only-child {
border-radius: 8px;
}
.workflow-grid.view-list .workflow-screenshot {
width: 100%;
height: auto;
aspect-ratio: auto;
}
.workflow-grid.view-list .workflow-info {
border-top: 1px solid #243656;
padding: 0.75rem 1rem;
}
.workflow-grid.view-list .workflow-name {
max-width: none;
font-size: 0.9rem;
}
.workflow-card {
background: #162033;
border: 1px solid #243656;
border-radius: 8px;
overflow: hidden;
transition: transform 0.15s, border-color 0.15s;
}
.workflow-card:hover {
transform: translateY(-1px);
border-color: #4a6282;
}
.workflow-card.clickable {
cursor: pointer;
}
.workflow-card.failed {
border-color: #f85149;
}
.workflow-card.failed:hover {
border-color: #f85149;
}
.workflow-screenshot {
width: 100%;
aspect-ratio: 16/10;
object-fit: cover;
background: #0f1923;
display: block;
}
.workflow-screenshot.placeholder {
display: flex;
align-items: center;
justify-content: center;
color: #4a6282;
font-size: 0.8rem;
}
.workflow-info {
padding: 0.75rem 1rem;
border-top: 1px solid #243656;
}
.workflow-header {
display: flex;
justify-content: space-between;
align-items: center;
gap: 0.5rem;
margin-bottom: 0.25rem;
}
.workflow-name {
font-weight: 500;
font-size: 0.85rem;
color: #e6edf3;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
max-width: 65%;
}
.workflow-badge {
padding: 0.15rem 0.5rem;
border-radius: 2rem;
font-size: 0.7rem;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.03em;
flex-shrink: 0;
}
.workflow-badge.pass {
background: rgba(63, 185, 80, 0.15);
color: #3fb950;
}
.workflow-badge.fail {
background: rgba(248, 81, 73, 0.15);
color: #f85149;
}
.workflow-meta {
display: flex;
justify-content: space-between;
align-items: center;
font-size: 0.75rem;
color: #4a6282;
}
/* Lightbox */
.lightbox {
display: none;
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(1, 4, 9, 0.9);
z-index: 1000;
justify-content: center;
align-items: flex-start;
padding: 2rem;
overflow-y: auto;
}
.lightbox.active {
display: flex;
}
.lightbox-content {
display: flex;
flex-direction: column;
max-width: 1200px;
width: 100%;
margin: auto;
}
.lightbox-content img {
max-width: 100%;
max-height: 60vh;
object-fit: contain;
border-radius: 8px;
border: 1px solid #243656;
align-self: center;
cursor: zoom-in;
}
.img-overlay {
display: none;
position: fixed;
top: 0;
left: 0;
width: 100vw;
height: 100vh;
z-index: 1002;
background: rgba(1, 4, 9, 0.95);
overflow: auto;
align-items: center;
justify-content: center;
}
.img-overlay.active {
display: flex;
}
.img-overlay.zoomed {
align-items: flex-start;
justify-content: flex-start;
}
.img-overlay img {
max-width: 100%;
max-height: 100%;
object-fit: contain;
cursor: zoom-in;
}
.img-overlay.zoomed img {
max-width: none;
max-height: none;
cursor: zoom-out;
}
.lightbox-close {
position: fixed;
top: 1rem;
right: 1.5rem;
font-size: 2rem;
color: #e6edf3;
cursor: pointer;
opacity: 0.6;
background: none;
border: none;
z-index: 1001;
}
.lightbox-close:hover {
opacity: 1;
}
.lightbox-nav {
position: fixed;
top: 50%;
transform: translateY(-50%);
background: rgba(22, 32, 51, 0.8);
border: 1px solid #243656;
color: #e6edf3;
font-size: 2.5rem;
width: 48px;
height: 64px;
border-radius: 8px;
cursor: pointer;
opacity: 0.6;
z-index: 1001;
display: flex;
align-items: center;
justify-content: center;
transition: opacity 0.15s;
padding: 0;
line-height: 1;
}
.lightbox-nav:hover {
opacity: 1;
}
.lightbox-nav-left { left: 1rem; }
.lightbox-nav-right { right: 1rem; }
.lightbox-info {
display: flex;
justify-content: space-between;
align-items: center;
padding: 1rem 1.25rem;
background: #162033;
border: 1px solid #243656;
border-radius: 8px;
margin-top: 1rem;
}
.lightbox-title {
font-size: 1rem;
font-weight: 600;
color: #e6edf3;
}
.lightbox-hardware {
display: block;
font-size: 0.75rem;
color: #8ba3c1;
margin-top: 0.25rem;
}
.lightbox-meta {
display: flex;
gap: 1rem;
align-items: center;
}
.lightbox-badge {
padding: 0.25rem 0.75rem;
border-radius: 2rem;
font-size: 0.8rem;
font-weight: 600;
text-transform: uppercase;
}
.lightbox-badge.pass {
background: rgba(63, 185, 80, 0.15);
color: #3fb950;
}
.lightbox-badge.fail {
background: rgba(248, 81, 73, 0.15);
color: #f85149;
}
.lightbox-duration {
color: #8ba3c1;
font-size: 0.85rem;
}
.lightbox-log {
background: #0f1923;
border: 1px solid #243656;
border-radius: 8px;
padding: 1rem;
margin-top: 1rem;
max-height: 300px;
overflow-y: auto;
font-family: 'SFMono-Regular', 'Menlo', 'Monaco', monospace;
font-size: 0.8rem;
line-height: 1.5;
white-space: pre-wrap;
word-break: break-all;
color: #8ba3c1;
}
.lightbox-log::-webkit-scrollbar {
width: 8px;
}
.lightbox-log::-webkit-scrollbar-track {
background: #162033;
border-radius: 4px;
}
.lightbox-log::-webkit-scrollbar-thumb {
background: #243656;
border-radius: 4px;
}
.lightbox-log::-webkit-scrollbar-thumb:hover {
background: #4a6282;
}
/* Resource Graph */
.resource-graph {
display: none;
margin-top: 1rem;
background: #162033;
border: 1px solid #243656;
border-radius: 8px;
padding: 1rem;
}
.resource-graph.active {
display: block;
}
.resource-graph-title {
font-size: 0.8rem;
color: #8ba3c1;
font-weight: 500;
margin-bottom: 0.5rem;
}
.resource-graph canvas {
width: 100%;
height: 120px;
cursor: crosshair;
}
.resource-legend {
display: flex;
gap: 1rem;
margin-top: 0.5rem;
font-size: 0.75rem;
color: #8ba3c1;
}
.resource-legend span {
display: flex;
align-items: center;
gap: 4px;
}
.resource-legend .dot {
width: 8px;
height: 8px;
border-radius: 50%;
}
.resource-legend .ram { background: #3fb950; }
.resource-legend .gpu { background: #d29922; }
/* Video Player */
.video-player {
display: none;
margin-top: 1rem;
background: #162033;
border: 1px solid #243656;
border-radius: 8px;
padding: 1rem;
}
.video-player.active {
display: block;
}
.video-controls {
display: flex;
align-items: center;
gap: 1rem;
margin-top: 0.5rem;
}
.video-play-btn {
background: #58a6ff;
color: #fff;
border: none;
padding: 0.4rem 1rem;
border-radius: 6px;
cursor: pointer;
font-size: 0.8rem;
font-weight: 500;
}
.video-play-btn:hover {
background: #79b8ff;
}
.video-frame-counter {
color: #8ba3c1;
font-size: 0.8rem;
}
.video-slider-container {
padding: 15px 0;
}
/* noUiSlider customization */
#video-slider {
height: 6px;
background: #1c2d44;
border: none;
box-shadow: none;
}
#video-slider .noUi-connect {
background: #58a6ff;
}
#video-slider .noUi-handle {
width: 16px;
height: 16px;
background: #58a6ff;
border: none;
border-radius: 50%;
box-shadow: none;
top: -5px;
right: -8px;
cursor: pointer;
}
#video-slider .noUi-handle:before,
#video-slider .noUi-handle:after {
display: none;
}
/* Pips (tick marks) */
.noUi-pips {
color: #4a6282;
}
.noUi-marker {
background: #243656;
width: 2px;
}
.noUi-marker-large {
height: 12px;
}
.noUi-value {
display: none;
}
/* Models Section */
.models-section {
margin-top: 2rem;
margin-bottom: 2rem;
}
.models-total {
font-size: 0.8rem;
color: #8ba3c1;
}
.models-folder {
background: #162033;
border: 1px solid #243656;
border-radius: 8px;
margin-bottom: 0.5rem;
overflow: hidden;
}
.models-folder-header {
display: flex;
justify-content: space-between;
align-items: center;
padding: 0.75rem 1rem;
cursor: pointer;
user-select: none;
list-style: none;
}
.models-folder-header::-webkit-details-marker {
display: none;
}
.models-folder-header::before {
content: '\25B6';
font-size: 0.6rem;
color: #4a6282;
margin-right: 0.5rem;
transition: transform 0.15s;
}
.models-folder[open] > .models-folder-header::before {
transform: rotate(90deg);
}
.models-folder-name {
font-family: 'SFMono-Regular', 'Menlo', 'Monaco', monospace;
font-size: 0.85rem;
font-weight: 600;
color: #58a6ff;
}
.models-folder-meta {
display: flex;
align-items: center;
gap: 0.75rem;
}
.models-folder-size {
font-size: 0.8rem;
font-weight: 600;
color: #8ba3c1;
}
.models-source-link {
font-size: 0.75rem;
color: #3fb950;
text-decoration: none;
padding: 0.15rem 0.5rem;
background: rgba(63, 185, 80, 0.1);
border: 1px solid rgba(63, 185, 80, 0.2);
border-radius: 2rem;
}
.models-source-link:hover {
background: rgba(63, 185, 80, 0.2);
text-decoration: none;
}
.models-file-list {
border-top: 1px solid #243656;
padding: 0.25rem 0;
}
.models-file {
display: flex;
justify-content: space-between;
align-items: center;
padding: 0.35rem 1rem 0.35rem 2rem;
font-size: 0.8rem;
}
.models-file:hover {
background: rgba(88, 166, 255, 0.05);
}
.models-file-path {
font-family: 'SFMono-Regular', 'Menlo', 'Monaco', monospace;
color: #8ba3c1;
word-break: break-all;
}
.models-file-size {
color: #4a6282;
white-space: nowrap;
margin-left: 1rem;
flex-shrink: 0;
}
/* Footer */
footer {
text-align: center;
padding: 2.5rem;
color: #4a6282;
font-size: 0.8rem;
}
footer a {
color: #58a6ff;
text-decoration: none;
}
footer a:hover {
text-decoration: underline;
}
/* Responsive */
@media (max-width: 600px) {
.workflow-grid {
grid-template-columns: 1fr !important;
}
.workflow-grid.view-list .workflow-card {
grid-template-columns: 1fr;
}
.workflow-grid.view-list .workflow-screenshot {
width: 100%;
height: auto;
aspect-ratio: 16/10;
}
.stats {
flex-direction: column;
align-items: flex-start;
}
.section-header {
flex-direction: column;
align-items: flex-start;
gap: 0.5rem;
}
.container {
padding: 1rem;
}
}
</style>
<link href="https://cdn.jsdelivr.net/npm/nouislider@15/dist/nouislider.min.css" rel="stylesheet">
<script src="https://cdn.jsdelivr.net/npm/nouislider@15/dist/nouislider.min.js"></script>
</head>
<body>
<header>
<h1><a href="https://github.com/PozzettiAndrea/PozzettiAndrea/ComfyUI-Sharp">PozzettiAndrea/ComfyUI-Sharp</a> Test Results</h1>
<div class="meta-chips">
<span class="meta-chip"><svg viewBox="0 0 16 16"><path d="M8 0a8 8 0 110 16A8 8 0 018 0zm.5 4.5a.5.5 0 00-1 0v3.793L5.854 9.854a.5.5 0 10.708.708l1.853-1.854a.5.5 0 00.085-.094V4.5z"/></svg> 2026-06-07 21:30 UTC</span> <a class="meta-chip" href="https://github.com/PozzettiAndrea/comfy-gpu-ci/actions/runs/27105059412" target="_blank" rel="noopener noreferrer"><svg viewBox="0 0 16 16"><path d="M8 0a8 8 0 100 16A8 8 0 008 0zM6.5 4.5l5 3.5-5 3.5v-7z"/></svg> Test run</a> <span class="meta-chip"><svg viewBox="0 0 16 16"><path d="M2.5 4a.5.5 0 100 1 .5.5 0 000-1zM4 4.5a.5.5 0 01.5-.5h7a.5.5 0 010 1h-7a.5.5 0 01-.5-.5zM2.5 7a.5.5 0 100 1 .5.5 0 000-1zM4 7.5a.5.5 0 01.5-.5h7a.5.5 0 010 1h-7A.5.5 0 014 7.5zM2.5 10a.5.5 0 100 1 .5.5 0 000-1zM4 10.5a.5.5 0 01.5-.5h7a.5.5 0 010 1h-7a.5.5 0 01-.5-.5z"/></svg> Linux-6.8.0-107-generic-x86_64-with-glibc2.35</span> <span class="meta-chip"><svg viewBox="0 0 16 16"><path d="M5 0a.5.5 0 01.5.5V2h1V.5a.5.5 0 011 0V2h1V.5a.5.5 0 011 0V2h.5A2.5 2.5 0 0112.5 4.5H14v1h-1.5v1H14v1h-1.5v1H14v1h-1.5A2.5 2.5 0 0110 12h-.5v1.5a.5.5 0 01-1 0V12h-1v1.5a.5.5 0 01-1 0V12H6v1.5a.5.5 0 01-1 0V12h-.5A2.5 2.5 0 012 9.5H.5v-1H2v-1H.5v-1H2v-1H.5v-1H2A2.5 2.5 0 014.5 2V.5A.5.5 0 015 0zm-.5 4A1.5 1.5 0 003 5.5v4A1.5 1.5 0 004.5 11h6a1.5 1.5 0 001.5-1.5v-4A1.5 1.5 0 0010.5 4h-6z"/></svg> AMD Ryzen 5 5600 6-Core Processor</span> <span class="meta-chip"><svg viewBox="0 0 16 16"><path d="M4 8a1.5 1.5 0 113 0 1.5 1.5 0 01-3 0zm7.5-1.5a1.5 1.5 0 100 3 1.5 1.5 0 000-3zM3 2a2 2 0 00-2 2v8a2 2 0 002 2h10a2 2 0 002-2V4a2 2 0 00-2-2H3z"/></svg> NVIDIA GeForce RTX 3090</span>
</div>
</header>
<div class="container">
<div class="summary">
<div class="progress-wrapper">
<div class="progress-bar">
<div class="progress-fill has-failures" style="width: 75.0%"></div>
</div>
<span class="progress-label">75.0%</span>
</div>
<div class="stats">
<span class="stat-badge stat-pass">3 passed</span>
<span class="stat-badge stat-fail">1 failed</span>
<span class="stat-total">3/4 tests</span>
</div>
</div>
<div class="section-header">
<h2 class="section-title">Workflows</h2>
<div class="view-controls">
<button class="view-btn active" onclick="setView('grid')">Grid</button>
<button class="view-btn" onclick="setView('list')">List</button>
</div>
</div>
<div class="workflow-grid" id="workflow-grid">
<div class="workflow-card clickable failed" onclick="openLightboxByName('pano')">
<div class="workflow-screenshot placeholder">No screenshot</div>
<div class="workflow-info">
<div class="workflow-header">
<span class="workflow-name" title="pano">pano</span>
<span class="workflow-badge fail">fail</span>
</div>
<div class="workflow-meta">
<span>287.07s</span>
</div>
</div>
</div>
<div class="workflow-card clickable " onclick="openLightboxByName('sharp_basic')">
<img class="workflow-screenshot" src="screenshots/sharp_basic_executed.png"
alt="sharp_basic" loading="lazy">
<div class="workflow-info">
<div class="workflow-header">
<span class="workflow-name" title="sharp_basic">sharp_basic</span>
<span class="workflow-badge pass">pass</span>
</div>
<div class="workflow-meta">
<span>55.20s</span>
</div>
</div>
</div>
<div class="workflow-card clickable " onclick="openLightboxByName('sharp_exif')">
<img class="workflow-screenshot" src="screenshots/sharp_exif_executed.png"
alt="sharp_exif" loading="lazy">
<div class="workflow-info">
<div class="workflow-header">
<span class="workflow-name" title="sharp_exif">sharp_exif</span>
<span class="workflow-badge pass">pass</span>
</div>
<div class="workflow-meta">
<span>53.39s</span>
</div>
</div>
</div>
<div class="workflow-card clickable " onclick="openLightboxByName('vanilla_vs_image_depth_gaussians')">
<img class="workflow-screenshot" src="screenshots/vanilla_vs_image_depth_gaussians_executed.png"
alt="vanilla_vs_image_depth_gaussians" loading="lazy">
<div class="workflow-info">
<div class="workflow-header">
<span class="workflow-name" title="vanilla_vs_image_depth_gaussians">vanilla_vs_image_depth_gaussians</span>
<span class="workflow-badge pass">pass</span>
</div>
<div class="workflow-meta">
<span>111.12s</span>
</div>
</div>
</div>
</div>
<div class="failed-section">
<h2>Failed Tests</h2>
<div class="failed-item">
<div class="failed-header">
<span class="failed-name">pano</span>
<span class="failed-duration">287.07s</span>
</div>
<div class="failed-error">Workflow execution failed: {&#x27;prompt_id&#x27;: &#x27;ea5e7c5c-722b-4f79-a44f-b0c160d591bf&#x27;, &#x27;node_id&#x27;: &#x27;76&#x27;, &#x27;node_type&#x27;: &#x27;SharpPredictGaussiansFromMetricDepth&#x27;, &#x27;executed&#x27;: [&#x27;73&#x27;, &#x27;81&#x27;, &#x27;59&#x27;, &#x27;70&#x27;, &#x27;62&#x27;, &#x27;80&#x27;, &#x27;60&#x27;, &#x27;68&#x27;, &#x27;87&#x27;, &#x27;7&#x27;, &#x27;89&#x27;, &#x27;96&#x27;, &#x27;61&#x27;, &#x27;9&#x27;], &#x27;exception_message&#x27;: &#x27;Allocation on device 0 would exceed allowed memory. (out of memory)\nCurrently allocated : 2.62 GiB\nRequested : 576.00 MiB\nDevice limit : 23.56 GiB\nFree (according to CUDA): 28.06 MiB\nPyTorch limit (set by user-supplied memory fraction)\n : 17179869184.00 GiB\n\nWorker traceback:\nTraceback (most recent call last):\n File &quot;/tmp/comfyui_pvenv_dkunr1h2/persistent_worker.py&quot;, line 1762, in main\n result = method(**inputs)\n ^^^^^^^^^^^^^^^^\n File &quot;/workspaces/Sharp-2116/ComfyUI/comfy_api/latest/_io.py&quot;, line 1892, in EXECUTE_NORMALIZED\n to_return = cls.execute(*args, **kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File &quot;/tmp/comfytest-home/.ce/.pixi/envs/sharp-nodes/lib/python3.12/site-packages/torch/utils/_contextlib.py&quot;, line 124, in decorate_context\n return func(*args, **kwargs)\n ^^^^^^^^^^^^^^^^^^^^^\n File &quot;/workspaces/Sharp-2116/ComfyUI/custom_nodes/ComfyUI-Sharp/nodes/predict_gaussians_from_depth.py&quot;, line 392, in execute\n monodepth_output, _ = predictor.encode(image_resized_pt)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File &quot;/workspaces/Sharp-2116/ComfyUI/custom_nodes/ComfyUI-Sharp/nodes/sharp/model.py&quot;, line 2006, in encode\n monodepth_output = self.monodepth_model(image)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File &quot;/tmp/comfytest-home/.ce/.pixi/envs/sharp-nodes/lib/python3.12/site-packages/torch/nn/modules/module.py&quot;, line 1776, in _wrapped_call_impl\n return self._call_impl(*args, **kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File &quot;/tmp/comfytest-home/.ce/.pixi/envs/sharp-nodes/lib/python3.12/site-packages/torch/nn/modules/module.py&quot;, line 1787, in _call_impl\n return forward_call(*args, **kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File &quot;/workspaces/Sharp-2116/ComfyUI/custom_nodes/ComfyUI-Sharp/nodes/sharp/model.py&quot;, line 1118, in forward\n decoder_features = self.monodepth_predictor.decoder(encoder_features)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File &quot;/tmp/comfytest-home/.ce/.pixi/envs/sharp-nodes/lib/python3.12/site-packages/torch/nn/modules/module.py&quot;, line 1776, in _wrapped_call_impl\n return self._call_impl(*args, **kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File &quot;/tmp/comfytest-home/.ce/.pixi/envs/sharp-nodes/lib/python3.12/site-packages/torch/nn/modules/module.py&quot;, line 1787, in _call_impl\n return forward_call(*args, **kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File &quot;/workspaces/Sharp-2116/ComfyUI/custom_nodes/ComfyUI-Sharp/nodes/sharp/model.py&quot;, line 970, in forward\n features = self.fusions[i](features, features_i)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File &quot;/tmp/comfytest-home/.ce/.pixi/envs/sharp-nodes/lib/python3.12/site-packages/torch/nn/modules/module.py&quot;, line 1776, in _wrapped_call_impl\n return self._call_impl(*args, **kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File &quot;/tmp/comfytest-home/.ce/.pixi/envs/sharp-nodes/lib/python3.12/site-packages/torch/nn/modules/module.py&quot;, line 1787, in _call_impl\n return forward_call(*args, **kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File &quot;/workspaces/Sharp-2116/ComfyUI/custom_nodes/ComfyUI-Sharp/nodes/sharp/model.py&quot;, line 860, in forward\n x = self.resnet2(x)\n ^^^^^^^^^^^^^^^\n File &quot;/tmp/comfytest-home/.ce/.pixi/envs/sharp-nodes/lib/python3.12/site-packages/torch/nn/modules/module.py&quot;, line 1776, in _wrapped_call_impl\n return self._call_impl(*args, **kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File &quot;/tmp/comfytest-home/.ce/.pixi/envs/sharp-nodes/lib/python3.12/site-packages/torch/nn/modules/module.py&quot;, line 1787, in _call_impl\n return forward_call(*args, **kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File &quot;/workspaces/Sharp-2116/ComfyUI/custom_nodes/ComfyUI-Sharp/nodes/sharp/model.py&quot;, line 766, in forward\n delta_x = self.residual(x)\n ^^^^^^^^^^^^^^^^\n File &quot;/tmp/comfytest-home/.ce/.pixi/envs/sharp-nodes/lib/python3.12/site-packages/torch/nn/modules/module.py&quot;, line 1776, in _wrapped_call_impl\n return self._call_impl(*args, **kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File &quot;/tmp/comfytest-home/.ce/.pixi/envs/sharp-nodes/lib/python3.12/site-packages/torch/nn/modules/module.py&quot;, line 1787, in _call_impl\n return forward_call(*args, **kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File &quot;/tmp/comfytest-home/.ce/.pixi/envs/sharp-nodes/lib/python3.12/site-packages/torch/nn/modules/container.py&quot;, line 253, in forward\n input = module(input)\n ^^^^^^^^^^^^^\n File &quot;/tmp/comfytest-home/.ce/.pixi/envs/sharp-nodes/lib/python3.12/site-packages/torch/nn/modules/module.py&quot;, line 1776, in _wrapped_call_impl\n return self._call_impl(*args, **kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File &quot;/tmp/comfytest-home/.ce/.pixi/envs/sharp-nodes/lib/python3.12/site-packages/torch/nn/modules/module.py&quot;, line 1787, in _call_impl\n return forward_call(*args, **kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File &quot;/tmp/comfytest-home/.ce/.pixi/envs/sharp-nodes/lib/python3.12/site-packages/torch/nn/modules/activation.py&quot;, line 143, in forward\n return F.relu(input, inplace=self.inplace)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File &quot;/tmp/comfytest-home/.ce/.pixi/envs/sharp-nodes/lib/python3.12/site-packages/torch/nn/functional.py&quot;, line 1721, in relu\n result = torch.relu(input)\n ^^^^^^^^^^^^^^^^^\ntorch.OutOfMemoryError: Allocation on device 0 would exceed allowed memory. (out of memory)\nCurrently allocated : 2.62 GiB\nRequested : 576.00 MiB\nDevice limit : 23.56 GiB\nFree (according to CUDA): 28.06 MiB\nPyTorch limit (set by user-supplied memory fraction)\n : 17179869184.00 GiB\n\n&#x27;, &#x27;exception_type&#x27;: &#x27;comfy_env.isolation.workers.base.WorkerError&#x27;, &#x27;traceback&#x27;: [&#x27; File &quot;/workspaces/Sharp-2116/ComfyUI/execution.py&quot;, line 536, in execute\n output_data, output_ui, has_subgraph, has_pending_tasks = await get_output_data(prompt_id, unique_id, obj, input_data_all, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n&#x27;, &#x27; File &quot;/workspaces/Sharp-2116/ComfyUI/execution.py&quot;, line 336, in get_output_data\n return_values = await _async_map_node_over_list(prompt_id, unique_id, obj, input_data_all, obj.FUNCTION, allow_interrupt=True, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n&#x27;, &#x27; File &quot;/workspaces/Sharp-2116/ComfyUI/execution.py&quot;, line 310, in _async_map_node_over_list\n await process_inputs(input_dict, i)\n&#x27;, &#x27; File &quot;/workspaces/Sharp-2116/ComfyUI/execution.py&quot;, line 298, in process_inputs\n result = f(**inputs)\n ^^^^^^^^^^^\n&#x27;, &#x27; File &quot;/workspaces/Sharp-2116/.venv/lib/python3.12/site-packages/comfy_env/isolation/metadata.py&quot;, line 556, in proxy\n result = worker.call_method(\n ^^^^^^^^^^^^^^^^^^^\n&#x27;, &#x27; File &quot;/workspaces/Sharp-2116/.venv/lib/python3.12/site-packages/comfy_env/isolation/workers/subprocess.py&quot;, line 674, in call_method\n raise WorkerError(\n&#x27;], &#x27;current_inputs&#x27;: {&#x27;snap_to_external_depth&#x27;: [&#x27;none&#x27;], &#x27;depth_convention&#x27;: [&#x27;planar_z&#x27;], &#x27;focal_length_mm&#x27;: [30], &#x27;output_prefix&#x27;: [&#x27;sharp_aligned&#x27;], &#x27;save_background_layer&#x27;: [True], &#x27;edge_crop&#x27;: [0], &#x27;model&#x27;: [&quot;{&#x27;model_path&#x27;: &#x27;/workspaces/Sharp-2116/ComfyUI/models/sharp/sharp_2572gikvuh.pt&#x27;, &#x27;precision&#x27;: &#x27;auto&#x27;, &#x27;dtype&#x27;: &#x27;bf16&#x27;}&quot;], &#x27;image&#x27;: [&#x27;tensor([[[[0.2295, 0.1593, 0.1320],\n [0.2225, 0.1553, 0.1284],\n [0.2150, 0.1509, 0.1239],\n ...,\n [0.2200, 0.1668, 0.1292],\n [0.2211, 0.1688, 0.1288],\n [0.2225, 0.1713, 0.1286]],\n\n [[0.2374, 0.1658, 0.1388],\n [0.2252, 0.1560, 0.1298],\n [0.2171, 0.1502, 0.1235],\n ...,\n [0.2197, 0.1685, 0.1281],\n [0.2201, 0.1689, 0.1268],\n [0.2212, 0.1701, 0.1276]],\n\n [[0.2464, 0.1742, 0.1473],\n [0.2275, 0.1569, 0.1334],\n [0.2201, 0.1510, 0.1257],\n ...,\n [0.2234, 0.1717, 0.1320],\n [0.2229, 0.1719, 0.1304],\n [0.2228, 0.1719, 0.1311]],\n\n ...,\n\n [[0.3665, 0.2781, 0.2253],\n [0.3601, 0.2719, 0.2171],\n [0.3566, 0.2677, 0.2108],\n ...,\n [0.2097, 0.1555, 0.1290],\n [0.2147, 0.1605, 0.1336],\n [0.2204, 0.1663, 0.1390]],\n\n [[0.3594, 0.2736, 0.2191],\n [0.3577, 0.2701, 0.2141],\n [0.3563, 0.2668, 0.2093],\n ...,\n [0.2086, 0.1535, 0.1266],\n [0.2103, 0.1553, 0.1273],\n [0.2180, 0.1627, 0.1350]],\n\n [[0.3578, 0.2721, 0.2183],\n [0.3595, 0.2715, 0.2161],\n [0.3605, 0.2708, 0.2139],\n ...,\n [0.2117, 0.1558, 0.1290],\n [0.2083, 0.1533, 0.1242],\n [0.2139, 0.1583, 0.1295]]],\n\n\n [[[0.2412, 0.1888, 0.1523],\n [0.2363, 0.1820, 0.1465],\n [0.2291, 0.1742, 0.1387],\n ...,\n [0.1693, 0.1221, 0.0941],\n [0.1688, 0.1234, 0.0941],\n [0.1683, 0.1251, 0.0937]],\n\n [[0.2309, 0.1833, 0.1445],\n [0.2265, 0.1767, 0.1392],\n [0.2219, 0.1697, 0.1337],\n ...,\n [0.1713, 0.1232, 0.0947],\n [0.1691, 0.1248, 0.0949],\n [0.1661, 0.1253, 0.0936]],\n\n [[0.2208, 0.1714, 0.1346],\n [0.2167, 0.1676, 0.1308],\n [0.2142, 0.1646, 0.1283],\n ...,\n [0.1714, 0.1250, 0.0977],\n [0.1672, 0.1255, 0.0958],\n [0.1650, 0.1273, 0.0962]],\n\n ...,\n\n [[0.0963, 0.0708, 0.0621],\n [0.0980, 0.0710, 0.0624],\n [0.0989, 0.0702, 0.0622],\n ...,\n [0.0971, 0.0777, 0.0620],\n [0.0962, 0.0750, 0.0593],\n [0.0958, 0.0745, 0.0588]],\n\n [[0.1054, 0.0740, 0.0679],\n [0.1094, 0.0769, 0.0696],\n [0.1044, 0.0721, 0.0642],\n ...,\n [0.0973, 0.0776, 0.0619],\n [0.0959, 0.0744, 0.0588],\n [0.0945, 0.0715, 0.0558]],\n\n [[0.1072, 0.0748, 0.0688],\n [0.1138, 0.0799, 0.0721],\n [0.0975, 0.0648, 0.0569],\n ...,\n [0.0981, 0.0783, 0.0627],\n [0.0970, 0.0759, 0.0603],\n [0.0963, 0.0736, 0.0579]]],\n\n\n [[[0.0865, 0.0314, 0.0133],\n [0.0866, 0.0314, 0.0165],\n [0.0868, 0.0314, 0.0195],\n ...,\n [0.2040, 0.1495, 0.1230],\n [0.2041, 0.1514, 0.1244],\n [0.2042, 0.1528, 0.1257]],\n\n [[0.0881, 0.0317, 0.0138],\n [0.0879, 0.0314, 0.0155],\n [0.0881, 0.0314, 0.0181],\n ...,\n [0.2048, 0.1499, 0.1252],\n [0.2053, 0.1522, 0.1266],\n [0.2065, 0.1523, 0.1270]],\n\n [[0.0905, 0.0333, 0.0176],\n [0.0892, 0.0314, 0.0152],\n [0.0893, 0.0314, 0.0173],\n ...,\n [0.2061, 0.1509, 0.1274],\n [0.2072, 0.1528, 0.1284],\n [0.2087, 0.1523, 0.1282]],\n\n ...,\n\n [[0.1964, 0.1389, 0.1240],\n [0.1976, 0.1409, 0.1305],\n [0.1976, 0.1419, 0.1358],\n ...,\n [0.1501, 0.1145, 0.0873],\n [0.1625, 0.1256, 0.0971],\n [0.1701, 0.1327, 0.1036]],\n\n [[0.1935, 0.1386, 0.1295],\n [0.1939, 0.1405, 0.1341],\n [0.1910, 0.1400, 0.1334],\n ...,\n [0.1437, 0.1112, 0.0853],\n [0.1518, 0.1172, 0.0883],\n [0.1623, 0.1267, 0.0961]],\n\n [[0.1916, 0.1419, 0.1339],\n [0.1899, 0.1417, 0.1342],\n [0.1878, 0.1407, 0.1311],\n ...,\n [0.1386, 0.1090, 0.0864],\n [0.1440, 0.1114, 0.0831],\n [0.1536, 0.1179, 0.0862]]],\n\n\n ...,\n\n\n [[[0.2294, 0.1672, 0.1355],\n [0.2236, 0.1641, 0.1311],\n [0.2163, 0.1611, 0.1260],\n ...,\n [0.0688, 0.0239, 0.0121],\n [0.0751, 0.0308, 0.0191],\n [0.0801, 0.0350, 0.0240]],\n\n [[0.2258, 0.1632, 0.1318],\n [0.2212, 0.1602, 0.1280],\n [0.2155, 0.1576, 0.1238],\n ...,\n [0.0730, 0.0270, 0.0153],\n [0.0816, 0.0358, 0.0241],\n [0.0889, 0.0432, 0.0316]],\n\n [[0.2235, 0.1605, 0.1294],\n [0.2195, 0.1567, 0.1254],\n [0.2152, 0.1542, 0.1219],\n ...,\n [0.0763, 0.0296, 0.0178],\n [0.0868, 0.0395, 0.0278],\n [0.0909, 0.0423, 0.0316]],\n\n ...,\n\n [[0.1235, 0.0549, 0.0451],\n [0.1233, 0.0549, 0.0448],\n [0.1227, 0.0535, 0.0432],\n ...,\n [0.1183, 0.0819, 0.0830],\n [0.1113, 0.0793, 0.0789],\n [0.1014, 0.0748, 0.0719]],\n\n [[0.1236, 0.0549, 0.0452],\n [0.1247, 0.0549, 0.0463],\n [0.1253, 0.0533, 0.0439],\n ...,\n [0.1214, 0.0827, 0.0828],\n [0.1186, 0.0829, 0.0829],\n [0.1125, 0.0810, 0.0798]],\n\n [[0.1240, 0.0545, 0.0453],\n [0.1239, 0.0523, 0.0452],\n [0.1252, 0.0507, 0.0419],\n ...,\n [0.1300, 0.0895, 0.0867],\n [0.1250, 0.0864, 0.0856],\n [0.1221, 0.0860, 0.0860]]],\n\n\n [[[0.2006, 0.1485, 0.1144],\n [0.1982, 0.1450, 0.1119],\n [0.1947, 0.1413, 0.1084],\n ...,\n [0.1985, 0.1450, 0.1208],\n [0.1962, 0.1463, 0.1195],\n [0.1968, 0.1490, 0.1210]],\n\n [[0.2008, 0.1498, 0.1145],\n [0.1966, 0.1450, 0.1103],\n [0.1936, 0.1420, 0.1073],\n ...,\n [0.1978, 0.1447, 0.1185],\n [0.1947, 0.1452, 0.1164],\n [0.1947, 0.1475, 0.1173]],\n\n [[0.1994, 0.1475, 0.1122],\n [0.1931, 0.1421, 0.1068],\n [0.1919, 0.1402, 0.1047],\n ...,\n [0.1988, 0.1479, 0.1179],\n [0.1966, 0.1495, 0.1167],\n [0.1974, 0.1489, 0.1185]],\n\n ...,\n\n [[0.0689, 0.0305, 0.0157],\n [0.0718, 0.0353, 0.0193],\n [0.0746, 0.0403, 0.0233],\n ...,\n [0.1382, 0.1091, 0.1143],\n [0.1269, 0.0988, 0.0973],\n [0.1322, 0.1058, 0.0998]],\n\n [[0.0783, 0.0366, 0.0174],\n [0.0817, 0.0428, 0.0229],\n [0.0855, 0.0496, 0.0291],\n ...,\n [0.1647, 0.1395, 0.1542],\n [0.1109, 0.0874, 0.0919],\n [0.1014, 0.0805, 0.0808]],\n\n [[0.0970, 0.0558, 0.0313],\n [0.0995, 0.0608, 0.0361],\n [0.1021, 0.0648, 0.0402],\n ...,\n [0.3396, 0.3138, 0.3366],\n [0.2739, 0.2498, 0.2654],\n [0.2146, 0.1927, 0.2023]]],\n\n\n [[[0.1389, 0.0976, 0.0712],\n [0.1365, 0.0967, 0.0673],\n [0.1362, 0.0969, 0.0657],\n ...,\n [0.2057, 0.1441, 0.1224],\n [0.2057, 0.1430, 0.1196],\n [0.2062, 0.1427, 0.1187]],\n\n [[0.1367, 0.0942, 0.0694],\n [0.1352, 0.0938, 0.0645],\n [0.1350, 0.0940, 0.0613],\n ...,\n [0.1922, 0.1319, 0.1134],\n [0.1958, 0.1341, 0.1133],\n [0.1963, 0.1337, 0.1112]],\n\n [[0.1350, 0.0907, 0.0636],\n [0.1350, 0.0922, 0.0605],\n [0.1356, 0.0928, 0.0585],\n ...,\n [0.1870, 0.1274, 0.1097],\n [0.1912, 0.1293, 0.1101],\n [0.1962, 0.1330, 0.1118]],\n\n ...,\n\n [[0.1043, 0.0973, 0.0717],\n [0.1044, 0.0976, 0.0753],\n [0.1046, 0.0980, 0.0794],\n ...,\n [0.4337, 0.2547, 0.1783],\n [0.4269, 0.2507, 0.1767],\n [0.4135, 0.2373, 0.1657]],\n\n [[0.1020, 0.0964, 0.0675],\n [0.1027, 0.0973, 0.0730],\n [0.1029, 0.0969, 0.0766],\n ...,\n [0.4263, 0.2455, 0.1721],\n [0.4254, 0.2492, 0.1784],\n [0.4090, 0.2359, 0.1668]],\n\n [[0.1001, 0.0961, 0.0648],\n [0.1015, 0.0976, 0.0721],\n [0.1008, 0.0949, 0.0734],\n ...,\n [0.4201, 0.2376, 0.1669],\n [0.4196, 0.2416, 0.1739],\n [0.4068, 0.2344, 0.1683]]]])&#x27;], &#x27;metric_depth_layer0&#x27;: [&#x27;tensor([[[[0.5945, 0.5945, 0.5945],\n [0.5944, 0.5944, 0.5944],\n [0.5944, 0.5944, 0.5944],\n ...,\n [0.5005, 0.5005, 0.5005],\n [0.5000, 0.5000, 0.5000],\n [0.4995, 0.4995, 0.4995]],\n\n [[0.5949, 0.5949, 0.5949],\n [0.5949, 0.5949, 0.5949],\n [0.5948, 0.5948, 0.5948],\n ...,\n [0.5001, 0.5001, 0.5001],\n [0.4996, 0.4996, 0.4996],\n [0.4992, 0.4992, 0.4992]],\n\n [[0.5954, 0.5954, 0.5954],\n [0.5953, 0.5953, 0.5953],\n [0.5953, 0.5953, 0.5953],\n ...,\n [0.4998, 0.4998, 0.4998],\n [0.4993, 0.4993, 0.4993],\n [0.4988, 0.4988, 0.4988]],\n\n ...,\n\n [[0.8991, 0.8991, 0.8991],\n [0.8956, 0.8956, 0.8956],\n [0.8923, 0.8923, 0.8923],\n ...,\n [0.2245, 0.2245, 0.2245],\n [0.2244, 0.2244, 0.2244],\n [0.2243, 0.2243, 0.2243]],\n\n [[0.8969, 0.8969, 0.8969],\n [0.8935, 0.8935, 0.8935],\n [0.8901, 0.8901, 0.8901],\n ...,\n [0.2245, 0.2245, 0.2245],\n [0.2243, 0.2243, 0.2243],\n [0.2242, 0.2242, 0.2242]],\n\n [[0.8947, 0.8947, 0.8947],\n [0.8913, 0.8913, 0.8913],\n [0.8880, 0.8880, 0.8880],\n ...,\n [0.2244, 0.2244, 0.2244],\n [0.2243, 0.2243, 0.2243],\n [0.2241, 0.2241, 0.2241]]],\n\n\n [[[0.4448, 0.4448, 0.4448],\n [0.4452, 0.4452, 0.4452],\n [0.4456, 0.4456, 0.4456],\n ...,\n [0.6041, 0.6041, 0.6041],\n [0.6041, 0.6041, 0.6041],\n [0.6042, 0.6042, 0.6042]],\n\n [[0.4453, 0.4453, 0.4453],\n [0.4457, 0.4457, 0.4457],\n [0.4461, 0.4461, 0.4461],\n ...,\n [0.6044, 0.6044, 0.6044],\n [0.6045, 0.6045, 0.6045],\n [0.6045, 0.6045, 0.6045]],\n\n [[0.4458, 0.4458, 0.4458],\n [0.4462, 0.4462, 0.4462],\n [0.4465, 0.4465, 0.4465],\n ...,\n [0.6048, 0.6048, 0.6048],\n [0.6048, 0.6048, 0.6048],\n [0.6049, 0.6049, 0.6049]],\n\n ...,\n\n [[0.8155, 0.8155, 0.8155],\n [0.8161, 0.8161, 0.8161],\n [0.8167, 0.8167, 0.8167],\n ...,\n [0.9889, 0.9889, 0.9889],\n [0.9884, 0.9884, 0.9884],\n [0.9879, 0.9879, 0.9879]],\n\n [[0.8152, 0.8152, 0.8152],\n [0.8158, 0.8158, 0.8158],\n [0.8164, 0.8164, 0.8164],\n ...,\n [0.9884, 0.9884, 0.9884],\n [0.9879, 0.9879, 0.9879],\n [0.9874, 0.9874, 0.9874]],\n\n [[0.8149, 0.8149, 0.8149],\n [0.8155, 0.8155, 0.8155],\n [0.8161, 0.8161, 0.8161],\n ...,\n [0.9880, 0.9880, 0.9880],\n [0.9875, 0.9875, 0.9875],\n [0.9870, 0.9870, 0.9870]]],\n\n\n [[[0.6090, 0.6090, 0.6090],\n [0.6092, 0.6092, 0.6092],\n [0.6094, 0.6094, 0.6094],\n ...,\n [0.2262, 0.2262, 0.2262],\n [0.2261, 0.2261, 0.2261],\n [0.2260, 0.2260, 0.2260]],\n\n [[0.6093, 0.6093, 0.6093],\n [0.6095, 0.6095, 0.6095],\n [0.6097, 0.6097, 0.6097],\n ...,\n [0.2263, 0.2263, 0.2263],\n [0.2262, 0.2262, 0.2262],\n [0.2261, 0.2261, 0.2261]],\n\n [[0.6096, 0.6096, 0.6096],\n [0.6098, 0.6098, 0.6098],\n [0.6100, 0.6100, 0.6100],\n ...,\n [0.2264, 0.2264, 0.2264],\n [0.2264, 0.2264, 0.2264],\n [0.2263, 0.2263, 0.2263]],\n\n ...,\n\n [[0.6546, 0.6546, 0.6546],\n [0.6546, 0.6546, 0.6546],\n [0.6546, 0.6546, 0.6546],\n ...,\n [0.6347, 0.6347, 0.6347],\n [0.6348, 0.6348, 0.6348],\n [0.6348, 0.6348, 0.6348]],\n\n [[0.6543, 0.6543, 0.6543],\n [0.6543, 0.6543, 0.6543],\n [0.6543, 0.6543, 0.6543],\n ...,\n [0.6344, 0.6344, 0.6344],\n [0.6344, 0.6344, 0.6344],\n [0.6344, 0.6344, 0.6344]],\n\n [[0.6540, 0.6540, 0.6540],\n [0.6540, 0.6540, 0.6540],\n [0.6540, 0.6540, 0.6540],\n ...,\n [0.6340, 0.6340, 0.6340],\n [0.6341, 0.6341, 0.6341],\n [0.6341, 0.6341, 0.6341]]],\n\n\n ...,\n\n\n [[[0.7529, 0.7529, 0.7529],\n [0.7529, 0.7529, 0.7529],\n [0.7529, 0.7529, 0.7529],\n ...,\n [0.4330, 0.4330, 0.4330],\n [0.4329, 0.4329, 0.4329],\n [0.4327, 0.4327, 0.4327]],\n\n [[0.7538, 0.7538, 0.7538],\n [0.7538, 0.7538, 0.7538],\n [0.7538, 0.7538, 0.7538],\n ...,\n [0.4334, 0.4334, 0.4334],\n [0.4333, 0.4333, 0.4333],\n [0.4331, 0.4331, 0.4331]],\n\n [[0.7547, 0.7547, 0.7547],\n [0.7547, 0.7547, 0.7547],\n [0.7547, 0.7547, 0.7547],\n ...,\n [0.4338, 0.4338, 0.4338],\n [0.4337, 0.4337, 0.4337],\n [0.4335, 0.4335, 0.4335]],\n\n ...,\n\n [[0.8059, 0.8059, 0.8059],\n [0.8064, 0.8064, 0.8064],\n [0.8069, 0.8069, 0.8069],\n ...,\n [0.4864, 0.4864, 0.4864],\n [0.4862, 0.4862, 0.4862],\n [0.4859, 0.4859, 0.4859]],\n\n [[0.8055, 0.8055, 0.8055],\n [0.8061, 0.8061, 0.8061],\n [0.8066, 0.8066, 0.8066],\n ...,\n [0.4860, 0.4860, 0.4860],\n [0.4857, 0.4857, 0.4857],\n [0.4855, 0.4855, 0.4855]],\n\n [[0.8052, 0.8052, 0.8052],\n [0.8057, 0.8057, 0.8057],\n [0.8063, 0.8063, 0.8063],\n ...,\n [0.4855, 0.4855, 0.4855],\n [0.4853, 0.4853, 0.4853],\n [0.4850, 0.4850, 0.4850]]],\n\n\n [[[0.6092, 0.6092, 0.6092],\n [0.6092, 0.6092, 0.6092],\n [0.6091, 0.6091, 0.6091],\n ...,\n [0.5786, 0.5786, 0.5786],\n [0.5786, 0.5786, 0.5786],\n [0.5785, 0.5785, 0.5785]],\n\n [[0.6097, 0.6097, 0.6097],\n [0.6097, 0.6097, 0.6097],\n [0.6096, 0.6096, 0.6096],\n ...,\n [0.5791, 0.5791, 0.5791],\n [0.5790, 0.5790, 0.5790],\n [0.5790, 0.5790, 0.5790]],\n\n [[0.6102, 0.6102, 0.6102],\n [0.6102, 0.6102, 0.6102],\n [0.6102, 0.6102, 0.6102],\n ...,\n [0.5795, 0.5795, 0.5795],\n [0.5795, 0.5795, 0.5795],\n [0.5795, 0.5795, 0.5795]],\n\n ...,\n\n [[0.9890, 0.9890, 0.9890],\n [0.9895, 0.9895, 0.9895],\n [0.9899, 0.9899, 0.9899],\n ...,\n [1.3732, 1.3732, 1.3732],\n [1.3720, 1.3720, 1.3720],\n [1.3709, 1.3709, 1.3709]],\n\n [[0.9887, 0.9887, 0.9887],\n [0.9891, 0.9891, 0.9891],\n [0.9896, 0.9896, 0.9896],\n ...,\n [1.3725, 1.3725, 1.3725],\n [1.3716, 1.3716, 1.3716],\n [1.3705, 1.3705, 1.3705]],\n\n [[0.9884, 0.9884, 0.9884],\n [0.9888, 0.9888, 0.9888],\n [0.9892, 0.9892, 0.9892],\n ...,\n [1.3712, 1.3712, 1.3712],\n [1.3703, 1.3703, 1.3703],\n [1.3694, 1.3694, 1.3694]]],\n\n\n [[[0.5974, 0.5974, 0.5974],\n [0.5974, 0.5974, 0.5974],\n [0.5974, 0.5974, 0.5974],\n ...,\n [0.5923, 0.5923, 0.5923],\n [0.5927, 0.5927, 0.5927],\n [0.5924, 0.5924, 0.5924]],\n\n [[0.5981, 0.5981, 0.5981],\n [0.5981, 0.5981, 0.5981],\n [0.5981, 0.5981, 0.5981],\n ...,\n [0.5942, 0.5942, 0.5942],\n [0.5943, 0.5943, 0.5943],\n [0.5945, 0.5945, 0.5945]],\n\n [[0.5988, 0.5988, 0.5988],\n [0.5987, 0.5987, 0.5987],\n [0.5987, 0.5987, 0.5987],\n ...,\n [0.5957, 0.5957, 0.5957],\n [0.5958, 0.5958, 0.5958],\n [0.5959, 0.5959, 0.5959]],\n\n ...,\n\n [[1.1845, 1.1845, 1.1845],\n [1.1844, 1.1844, 1.1844],\n [1.1843, 1.1843, 1.1843],\n ...,\n [1.3010, 1.3010, 1.3010],\n [1.3009, 1.3009, 1.3009],\n [1.3009, 1.3009, 1.3009]],\n\n [[1.1839, 1.1839, 1.1839],\n [1.1838, 1.1838, 1.1838],\n [1.1837, 1.1837, 1.1837],\n ...,\n [1.3004, 1.3004, 1.3004],\n [1.3002, 1.3002, 1.3002],\n [1.3002, 1.3002, 1.3002]],\n\n [[1.1834, 1.1834, 1.1834],\n [1.1832, 1.1832, 1.1832],\n [1.1832, 1.1832, 1.1832],\n ...,\n [1.2997, 1.2997, 1.2997],\n [1.2996, 1.2996, 1.2996],\n [1.2995, 1.2995, 1.2995]]]])&#x27;], &#x27;extrinsics&#x27;: [&#x27;tensor([[[ 9.6511e-01, 2.6185e-01, -0.0000e+00, -0.0000e+00],\n [-1.7510e-01, 6.4537e-01, -7.4353e-01, -0.0000e+00],\n [-1.9470e-01, 7.1759e-01, 6.6870e-01, -0.0000e+00],\n [ 0.0000e+00, 0.0000e+00, 0.0000e+00, 1.0000e+00]],\n\n [[-9.8956e-01, -1.4415e-01, 0.0000e+00, -0.0000e+00],\n [ 1.2162e-01, -8.3487e-01, -5.3685e-01, -0.0000e+00],\n [ 7.7389e-02, -5.3124e-01, 8.4368e-01, -0.0000e+00],\n [ 0.0000e+00, 0.0000e+00, 0.0000e+00, 1.0000e+00]],\n\n [[ 9.8997e-01, 1.4126e-01, -0.0000e+00, -0.0000e+00],\n [ 1.1581e-01, -8.1161e-01, -5.7261e-01, -0.0000e+00],\n [-8.0884e-02, 5.6687e-01, -8.1983e-01, -0.0000e+00],\n [ 0.0000e+00, 0.0000e+00, 0.0000e+00, 1.0000e+00]],\n\n [[-8.6729e-01, -4.9781e-01, 0.0000e+00, -0.0000e+00],\n [-4.7452e-01, 8.2672e-01, -3.0226e-01, -0.0000e+00],\n [ 1.5047e-01, -2.6215e-01, -9.5323e-01, -0.0000e+00],\n [ 0.0000e+00, 0.0000e+00, 0.0000e+00, 1.0000e+00]],\n\n [[ 8.8284e-01, -4.6967e-01, 0.0000e+00, -0.0000e+00],\n [ 1.7091e-02, 3.2127e-02, -9.9934e-01, -0.0000e+00],\n [ 4.6936e-01, 8.8226e-01, 3.6390e-02, -0.0000e+00],\n [ 0.0000e+00, 0.0000e+00, 0.0000e+00, 1.0000e+00]],\n\n [[ 9.2565e-01, 3.7839e-01, -0.0000e+00, -0.0000e+00],\n [ 4.1003e-02, -1.0031e-01, -9.9411e-01, -0.0000e+00],\n [-3.7616e-01, 9.2020e-01, -1.0836e-01, -0.0000e+00],\n [ 0.0000e+00, 0.0000e+00, 0.0000e+00, 1.0000e+00]],\n\n [[-8.6071e-01, -5.0909e-01, 0.0000e+00, -0.0000e+00],\n [ 1.1896e-01, -2.0112e-01, -9.7232e-01, -0.0000e+00],\n [ 4.9500e-01, -8.3689e-01, 2.3366e-01, -0.0000e+00],\n [ 0.0000e+00, 0.0000e+00, 0.0000e+00, 1.0000e+00]],\n\n [[-7.5339e-01, 6.5757e-01, 0.0000e+00, -0.0000e+00],\n [-5.5843e-02, -6.3981e-02, -9.9639e-01, -0.0000e+00],\n [-6.5519e-01, -7.5067e-01, 8.4924e-02, -0.0000e+00],\n [ 0.0000e+00, 0.0000e+00, 0.0000e+00, 1.0000e+00]],\n\n [[ 2.2467e-01, -9.7443e-01, 0.0000e+00, -0.0000e+00],\n [ 3.1484e-01, 7.2592e-02, -9.4636e-01, -0.0000e+00],\n [ 9.2217e-01, 2.1262e-01, 3.2310e-01, -0.0000e+00],\n [ 0.0000e+00, 0.0000e+00, 0.0000e+00, 1.0000e+00]],\n\n [[ 4.2691e-01, -9.0429e-01, 0.0000e+00, -0.0000e+00],\n [-4.6351e-01, -2.1882e-01, -8.5865e-01, -0.0000e+00],\n [ 7.7647e-01, 3.6656e-01, -5.1257e-01, -0.0000e+00],\n [ 0.0000e+00, 0.0000e+00, 0.0000e+00, 1.0000e+00]],\n\n [[ 1.2488e-01, 9.9217e-01, -0.0000e+00, -0.0000e+00],\n [-6.2833e-01, 7.9086e-02, -7.7392e-01, -0.0000e+00],\n [-7.6786e-01, 9.6648e-02, 6.3329e-01, -0.0000e+00],\n [ 0.0000e+00, 0.0000e+00, 0.0000e+00, 1.0000e+00]],\n\n [[ 2.5193e-01, 9.6775e-01, -0.0000e+00, -0.0000e+00],\n [ 3.8270e-01, -9.9626e-02, -9.1849e-01, -0.0000e+00],\n [-8.8886e-01, 2.3139e-01, -3.9545e-01, -0.0000e+00],\n [ 0.0000e+00, 0.0000e+00, 0.0000e+00, 1.0000e+00]],\n\n [[ 6.9995e-01, 7.1420e-01, -0.0000e+00, -0.0000e+00],\n [-6.8584e-01, 6.7216e-01, -2.7897e-01, -0.0000e+00],\n [-1.9924e-01, 1.9526e-01, 9.6030e-01, -0.0000e+00],\n [ 0.0000e+00, 0.0000e+00, 0.0000e+00, 1.0000e+00]],\n\n [[-4.5849e-01, -8.8870e-01, 0.0000e+00, -0.0000e+00],\n [ 6.0968e-01, -3.1454e-01, -7.2757e-01, -0.0000e+00],\n [ 6.4659e-01, -3.3358e-01, 6.8603e-01, -0.0000e+00],\n [ 0.0000e+00, 0.0000e+00, 0.0000e+00, 1.0000e+00]],\n\n [[ 7.6968e-01, -6.3843e-01, 0.0000e+00, -0.0000e+00],\n [ 4.1171e-01, 4.9634e-01, -7.6429e-01, -0.0000e+00],\n [ 4.8795e-01, 5.8826e-01, 6.4487e-01, -0.0000e+00],\n [ 0.0000e+00, 0.0000e+00, 0.0000e+00, 1.0000e+00]],\n\n [[ 5.6771e-01, -8.2323e-01, 0.0000e+00, -0.0000e+00],\n [-4.4107e-02, -3.0417e-02, -9.9856e-01, -0.0000e+00],\n [ 8.2204e-01, 5.6690e-01, -5.3578e-02, -0.0000e+00],\n [ 0.0000e+00, 0.0000e+00, 0.0000e+00, 1.0000e+00]],\n\n [[ 9.8807e-01, -1.5402e-01, 0.0000e+00, -0.0000e+00],\n [ 5.0149e-02, 3.2170e-01, -9.4551e-01, -0.0000e+00],\n [ 1.4563e-01, 9.3423e-01, 3.2559e-01, -0.0000e+00],\n [ 0.0000e+00, 0.0000e+00, 0.0000e+00, 1.0000e+00]],\n\n [[ 9.9992e-01, -1.2620e-02, 0.0000e+00, -0.0000e+00],\n [-2.9300e-04, -2.3215e-02, -9.9973e-01, -0.0000e+00],\n [ 1.2617e-02, 9.9965e-01, -2.3217e-02, -0.0000e+00],\n [ 0.0000e+00, 0.0000e+00, 0.0000e+00, 1.0000e+00]],\n\n [[ 9.4823e-01, 3.1760e-01, -0.0000e+00, -0.0000e+00],\n [-1.0116e-01, 3.0204e-01, -9.4791e-01, -0.0000e+00],\n [-3.0105e-01, 8.9884e-01, 3.1853e-01, -0.0000e+00],\n [ 0.0000e+00, 0.0000e+00, 0.0000e+00, 1.0000e+00]],\n\n [[ 7.2229e-01, 6.9159e-01, -0.0000e+00, -0.0000e+00],\n [-9.4219e-02, 9.8403e-02, -9.9068e-01, -0.0000e+00],\n [-6.8514e-01, 7.1556e-01, 1.3624e-01, -0.0000e+00],\n [ 0.0000e+00, 0.0000e+00, 0.0000e+00, 1.0000e+00]],\n\n [[ 6.4041e-01, 7.6804e-01, -0.0000e+00, -0.0000e+00],\n [-4.3270e-01, 3.6079e-01, -8.2620e-01, -0.0000e+00],\n [-6.3455e-01, 5.2910e-01, 5.6338e-01, -0.0000e+00],\n [ 0.0000e+00, 0.0000e+00, 0.0000e+00, 1.0000e+00]],\n\n [[-5.7287e-01, 8.1965e-01, 0.0000e+00, -0.0000e+00],\n [-6.6643e-01, -4.6578e-01, -5.8217e-01, -0.0000e+00],\n [-4.7717e-01, -3.3351e-01, 8.1307e-01, -0.0000e+00],\n [ 0.0000e+00, 0.0000e+00, 0.0000e+00, 1.0000e+00]],\n\n [[ 9.1001e-01, -4.1459e-01, 0.0000e+00, -0.0000e+00],\n [-3.8506e-01, -8.4521e-01, -3.7059e-01, -0.0000e+00],\n [ 1.5364e-01, 3.3724e-01, -9.2879e-01, -0.0000e+00],\n [ 0.0000e+00, 0.0000e+00, 0.0000e+00, 1.0000e+00]],\n\n [[ 7.7465e-01, -6.3239e-01, 0.0000e+00, -0.0000e+00],\n [-4.6463e-01, -5.6915e-01, -6.7838e-01, -0.0000e+00],\n [ 4.2900e-01, 5.2550e-01, -7.3471e-01, -0.0000e+00],\n [ 0.0000e+00, 0.0000e+00, 0.0000e+00, 1.0000e+00]],\n\n [[-1.7155e-01, -9.8518e-01, 0.0000e+00, -0.0000e+00],\n [-6.3580e-01, 1.1071e-01, -7.6387e-01, -0.0000e+00],\n [ 7.5255e-01, -1.3104e-01, -6.4537e-01, -0.0000e+00],\n [ 0.0000e+00, 0.0000e+00, 0.0000e+00, 1.0000e+00]],\n\n [[-6.5399e-01, -7.5651e-01, 0.0000e+00, -0.0000e+00],\n [-4.0699e-02, 3.5183e-02, -9.9855e-01, -0.0000e+00],\n [ 7.5541e-01, -6.5304e-01, -5.3798e-02, -0.0000e+00],\n [ 0.0000e+00, 0.0000e+00, 0.0000e+00, 1.0000e+00]],\n\n [[-8.8700e-01, -4.6177e-01, 0.0000e+00, -0.0000e+00],\n [-2.3540e-01, 4.5216e-01, -8.6031e-01, -0.0000e+00],\n [ 3.9727e-01, -7.6310e-01, -5.0977e-01, -0.0000e+00],\n [ 0.0000e+00, 0.0000e+00, 0.0000e+00, 1.0000e+00]],\n\n [[-9.9995e-01, 9.7823e-03, 0.0000e+00, -0.0000e+00],\n [ 1.8542e-04, 1.8953e-02, -9.9982e-01, -0.0000e+00],\n [-9.7806e-03, -9.9977e-01, -1.8954e-02, -0.0000e+00],\n [ 0.0000e+00, 0.0000e+00, 0.0000e+00, 1.0000e+00]],\n\n [[-7.3330e-01, 6.7990e-01, 0.0000e+00, -0.0000e+00],\n [ 4.3334e-01, 4.6737e-01, -7.7057e-01, -0.0000e+00],\n [-5.2391e-01, -5.6506e-01, -6.3735e-01, -0.0000e+00],\n [ 0.0000e+00, 0.0000e+00, 0.0000e+00, 1.0000e+00]],\n\n [[-2.2620e-01, 9.7408e-01, 0.0000e+00, -0.0000e+00],\n [ 2.7024e-02, 6.2753e-03, -9.9962e-01, -0.0000e+00],\n [-9.7371e-01, -2.2611e-01, -2.7743e-02, -0.0000e+00],\n [ 0.0000e+00, 0.0000e+00, 0.0000e+00, 1.0000e+00]],\n\n [[ 1.3263e-01, 9.9117e-01, -0.0000e+00, -0.0000e+00],\n [ 9.0641e-01, -1.2129e-01, -4.0460e-01, -0.0000e+00],\n [-4.0103e-01, 5.3663e-02, -9.1449e-01, -0.0000e+00],\n [ 0.0000e+00, 0.0000e+00, 0.0000e+00, 1.0000e+00]],\n\n [[ 7.5564e-01, 6.5498e-01, -0.0000e+00, -0.0000e+00],\n [ 4.5219e-01, -5.2168e-01, -7.2345e-01, -0.0000e+00],\n [-4.7385e-01, 5.4667e-01, -6.9038e-01, -0.0000e+00],\n [ 0.0000e+00, 0.0000e+00, 0.0000e+00, 1.0000e+00]],\n\n [[-9.9445e-01, -1.0523e-01, 0.0000e+00, -0.0000e+00],\n [ 4.5965e-02, -4.3438e-01, -8.9956e-01, -0.0000e+00],\n [ 9.4662e-02, -8.9456e-01, 4.3680e-01, -0.0000e+00],\n [ 0.0000e+00, 0.0000e+00, 0.0000e+00, 1.0000e+00]],\n\n [[-2.7980e-01, -9.6006e-01, 0.0000e+00, -0.0000e+00],\n [ 4.7567e-02, -1.3863e-02, -9.9877e-01, -0.0000e+00],\n [ 9.5888e-01, -2.7946e-01, 4.9545e-02, -0.0000e+00],\n [ 0.0000e+00, 0.0000e+00, 0.0000e+00, 1.0000e+00]],\n\n [[ 1.6888e-01, -9.8564e-01, 0.0000e+00, -0.0000e+00],\n [-1.8271e-01, -3.1305e-02, -9.8267e-01, -0.0000e+00],\n [ 9.6855e-01, 1.6595e-01, -1.8537e-01, -0.0000e+00],\n [ 0.0000e+00, 0.0000e+00, 0.0000e+00, 1.0000e+00]],\n\n [[ 7.3212e-01, -6.8117e-01, 0.0000e+00, -0.0000e+00],\n [-2.6258e-01, -2.8222e-01, -9.2271e-01, -0.0000e+00],\n [ 6.2853e-01, 6.7554e-01, -3.8548e-01, -0.0000e+00],\n [ 0.0000e+00, 0.0000e+00, 0.0000e+00, 1.0000e+00]],\n\n [[ 9.6738e-01, -2.5333e-01, 0.0000e+00, -0.0000e+00],\n [-1.1545e-01, -4.4087e-01, -8.9011e-01, -0.0000e+00],\n [ 2.2549e-01, 8.6108e-01, -4.5574e-01, -0.0000e+00],\n [ 0.0000e+00, 0.0000e+00, 0.0000e+00, 1.0000e+00]],\n\n [[ 9.7513e-01, 2.2164e-01, -0.0000e+00, -0.0000e+00],\n [ 1.0290e-01, -4.5271e-01, -8.8570e-01, -0.0000e+00],\n [-1.9631e-01, 8.6367e-01, -4.6426e-01, -0.0000e+00],\n [ 0.0000e+00, 0.0000e+00, 0.0000e+00, 1.0000e+00]],\n\n [[ 7.0377e-01, 7.1043e-01, -0.0000e+00, -0.0000e+00],\n [ 2.3358e-01, -2.3139e-01, -9.4440e-01, -0.0000e+00],\n [-6.7093e-01, 6.6464e-01, -3.2879e-01, -0.0000e+00],\n [ 0.0000e+00, 0.0000e+00, 0.0000e+00, 1.0000e+00]],\n\n [[ 3.3220e-01, 9.4321e-01, -0.0000e+00, -0.0000e+00],\n [-1.3354e-01, 4.7033e-02, -9.8993e-01, -0.0000e+00],\n [-9.3371e-01, 3.2885e-01, 1.4158e-01, -0.0000e+00],\n [ 0.0000e+00, 0.0000e+00, 0.0000e+00, 1.0000e+00]],\n\n [[-4.1884e-01, 9.0806e-01, 0.0000e+00, -0.0000e+00],\n [-4.7743e-01, -2.2021e-01, -8.5063e-01, -0.0000e+00],\n [-7.7242e-01, -3.5627e-01, 5.2577e-01, -0.0000e+00],\n [ 0.0000e+00, 0.0000e+00, 0.0000e+00, 1.0000e+00]],\n\n [[-8.9469e-01, 4.4669e-01, 0.0000e+00, -0.0000e+00],\n [-2.4934e-01, -4.9940e-01, -8.2972e-01, -0.0000e+00],\n [-3.7063e-01, -7.4234e-01, 5.5819e-01, -0.0000e+00],\n [ 0.0000e+00, 0.0000e+00, 0.0000e+00, 1.0000e+00]]])&#x27;], &#x27;intrinsics&#x27;: [&#x27;tensor([[[0.5000, 0.0000, 0.5000],\n [0.0000, 0.5000, 0.5000],\n [0.0000, 0.0000, 1.0000]],\n\n [[0.5000, 0.0000, 0.5000],\n [0.0000, 0.5000, 0.5000],\n [0.0000, 0.0000, 1.0000]],\n\n [[0.5000, 0.0000, 0.5000],\n [0.0000, 0.5000, 0.5000],\n [0.0000, 0.0000, 1.0000]],\n\n [[0.5000, 0.0000, 0.5000],\n [0.0000, 0.5000, 0.5000],\n [0.0000, 0.0000, 1.0000]],\n\n [[0.5000, 0.0000, 0.5000],\n [0.0000, 0.5000, 0.5000],\n [0.0000, 0.0000, 1.0000]],\n\n [[0.5000, 0.0000, 0.5000],\n [0.0000, 0.5000, 0.5000],\n [0.0000, 0.0000, 1.0000]],\n\n [[0.5000, 0.0000, 0.5000],\n [0.0000, 0.5000, 0.5000],\n [0.0000, 0.0000, 1.0000]],\n\n [[0.5000, 0.0000, 0.5000],\n [0.0000, 0.5000, 0.5000],\n [0.0000, 0.0000, 1.0000]],\n\n [[0.5000, 0.0000, 0.5000],\n [0.0000, 0.5000, 0.5000],\n [0.0000, 0.0000, 1.0000]],\n\n [[0.5000, 0.0000, 0.5000],\n [0.0000, 0.5000, 0.5000],\n [0.0000, 0.0000, 1.0000]],\n\n [[0.5000, 0.0000, 0.5000],\n [0.0000, 0.5000, 0.5000],\n [0.0000, 0.0000, 1.0000]],\n\n [[0.5000, 0.0000, 0.5000],\n [0.0000, 0.5000, 0.5000],\n [0.0000, 0.0000, 1.0000]],\n\n [[0.5000, 0.0000, 0.5000],\n [0.0000, 0.5000, 0.5000],\n [0.0000, 0.0000, 1.0000]],\n\n [[0.5000, 0.0000, 0.5000],\n [0.0000, 0.5000, 0.5000],\n [0.0000, 0.0000, 1.0000]],\n\n [[0.5000, 0.0000, 0.5000],\n [0.0000, 0.5000, 0.5000],\n [0.0000, 0.0000, 1.0000]],\n\n [[0.5000, 0.0000, 0.5000],\n [0.0000, 0.5000, 0.5000],\n [0.0000, 0.0000, 1.0000]],\n\n [[0.5000, 0.0000, 0.5000],\n [0.0000, 0.5000, 0.5000],\n [0.0000, 0.0000, 1.0000]],\n\n [[0.5000, 0.0000, 0.5000],\n [0.0000, 0.5000, 0.5000],\n [0.0000, 0.0000, 1.0000]],\n\n [[0.5000, 0.0000, 0.5000],\n [0.0000, 0.5000, 0.5000],\n [0.0000, 0.0000, 1.0000]],\n\n [[0.5000, 0.0000, 0.5000],\n [0.0000, 0.5000, 0.5000],\n [0.0000, 0.0000, 1.0000]],\n\n [[0.5000, 0.0000, 0.5000],\n [0.0000, 0.5000, 0.5000],\n [0.0000, 0.0000, 1.0000]],\n\n [[0.5000, 0.0000, 0.5000],\n [0.0000, 0.5000, 0.5000],\n [0.0000, 0.0000, 1.0000]],\n\n [[0.5000, 0.0000, 0.5000],\n [0.0000, 0.5000, 0.5000],\n [0.0000, 0.0000, 1.0000]],\n\n [[0.5000, 0.0000, 0.5000],\n [0.0000, 0.5000, 0.5000],\n [0.0000, 0.0000, 1.0000]],\n\n [[0.5000, 0.0000, 0.5000],\n [0.0000, 0.5000, 0.5000],\n [0.0000, 0.0000, 1.0000]],\n\n [[0.5000, 0.0000, 0.5000],\n [0.0000, 0.5000, 0.5000],\n [0.0000, 0.0000, 1.0000]],\n\n [[0.5000, 0.0000, 0.5000],\n [0.0000, 0.5000, 0.5000],\n [0.0000, 0.0000, 1.0000]],\n\n [[0.5000, 0.0000, 0.5000],\n [0.0000, 0.5000, 0.5000],\n [0.0000, 0.0000, 1.0000]],\n\n [[0.5000, 0.0000, 0.5000],\n [0.0000, 0.5000, 0.5000],\n [0.0000, 0.0000, 1.0000]],\n\n [[0.5000, 0.0000, 0.5000],\n [0.0000, 0.5000, 0.5000],\n [0.0000, 0.0000, 1.0000]],\n\n [[0.5000, 0.0000, 0.5000],\n [0.0000, 0.5000, 0.5000],\n [0.0000, 0.0000, 1.0000]],\n\n [[0.5000, 0.0000, 0.5000],\n [0.0000, 0.5000, 0.5000],\n [0.0000, 0.0000, 1.0000]],\n\n [[0.5000, 0.0000, 0.5000],\n [0.0000, 0.5000, 0.5000],\n [0.0000, 0.0000, 1.0000]],\n\n [[0.5000, 0.0000, 0.5000],\n [0.0000, 0.5000, 0.5000],\n [0.0000, 0.0000, 1.0000]],\n\n [[0.5000, 0.0000, 0.5000],\n [0.0000, 0.5000, 0.5000],\n [0.0000, 0.0000, 1.0000]],\n\n [[0.5000, 0.0000, 0.5000],\n [0.0000, 0.5000, 0.5000],\n [0.0000, 0.0000, 1.0000]],\n\n [[0.5000, 0.0000, 0.5000],\n [0.0000, 0.5000, 0.5000],\n [0.0000, 0.0000, 1.0000]],\n\n [[0.5000, 0.0000, 0.5000],\n [0.0000, 0.5000, 0.5000],\n [0.0000, 0.0000, 1.0000]],\n\n [[0.5000, 0.0000, 0.5000],\n [0.0000, 0.5000, 0.5000],\n [0.0000, 0.0000, 1.0000]],\n\n [[0.5000, 0.0000, 0.5000],\n [0.0000, 0.5000, 0.5000],\n [0.0000, 0.0000, 1.0000]],\n\n [[0.5000, 0.0000, 0.5000],\n [0.0000, 0.5000, 0.5000],\n [0.0000, 0.0000, 1.0000]],\n\n [[0.5000, 0.0000, 0.5000],\n [0.0000, 0.5000, 0.5000],\n [0.0000, 0.0000, 1.0000]]])&#x27;], &#x27;mask&#x27;: [&#x27;tensor([[[0., 0., 0., ..., 0., 0., 0.],\n [0., 0., 0., ..., 0., 0., 0.],\n [0., 0., 0., ..., 0., 0., 0.],\n ...,\n [0., 0., 0., ..., 0., 0., 0.],\n [0., 0., 0., ..., 0., 0., 0.],\n [0., 0., 0., ..., 0., 0., 0.]],\n\n [[0., 0., 0., ..., 0., 0., 0.],\n [0., 0., 0., ..., 0., 0., 0.],\n [0., 0., 0., ..., 0., 0., 0.],\n ...,\n [0., 0., 0., ..., 0., 0., 0.],\n [0., 0., 0., ..., 0., 0., 0.],\n [0., 0., 0., ..., 0., 0., 0.]],\n\n [[0., 0., 0., ..., 0., 0., 0.],\n [0., 0., 0., ..., 0., 0., 0.],\n [0., 0., 0., ..., 0., 0., 0.],\n ...,\n [0., 0., 0., ..., 0., 0., 0.],\n [0., 0., 0., ..., 0., 0., 0.],\n [0., 0., 0., ..., 0., 0., 0.]],\n\n ...,\n\n [[0., 0., 0., ..., 0., 0., 0.],\n [0., 0., 0., ..., 0., 0., 0.],\n [0., 0., 0., ..., 0., 0., 0.],\n ...,\n [0., 0., 0., ..., 0., 0., 0.],\n [0., 0., 0., ..., 0., 0., 0.],\n [0., 0., 0., ..., 0., 0., 0.]],\n\n [[0., 0., 0., ..., 0., 0., 0.],\n [0., 0., 0., ..., 0., 0., 0.],\n [0., 0., 0., ..., 0., 0., 0.],\n ...,\n [0., 0., 0., ..., 0., 0., 0.],\n [0., 0., 0., ..., 0., 0., 0.],\n [0., 0., 0., ..., 0., 0., 0.]],\n\n [[0., 0., 0., ..., 0., 0., 0.],\n [0., 0., 0., ..., 0., 0., 0.],\n [0., 0., 0., ..., 0., 0., 0.],\n ...,\n [0., 0., 0., ..., 0., 0., 0.],\n [0., 0., 0., ..., 0., 0., 0.],\n [0., 0., 0., ..., 0., 0., 0.]]])&#x27;], &#x27;prompt&#x27;: [&quot;{&#x27;7&#x27;: {&#x27;inputs&#x27;: {&#x27;image&#x27;: &#x27;pano.png&#x27;}, &#x27;class_type&#x27;: &#x27;LoadImage&#x27;, &#x27;_meta&#x27;: {&#x27;title&#x27;: &#x27;Load Image&#x27;}, &#x27;is_changed&#x27;: [&#x27;96e739adfe5f3b5cdbb280fba3e7b3b35eb874e037e610b31ee4340444b86e4d&#x27;]}, &#x27;9&#x27;: {&#x27;inputs&#x27;: {&#x27;precision&#x27;: &#x27;auto&#x27;}, &#x27;class_type&#x27;: &#x27;LoadSharpModel&#x27;, &#x27;_meta&#x27;: {&#x27;title&#x27;: &#x27;(Down)Load SHARP Model&#x27;}}, &#x27;54&#x27;: {&#x27;inputs&#x27;: {&#x27;ply_folder&#x27;: [&#x27;76&#x27;, 0], &#x27;output_prefix&#x27;: &#x27;merged&#x27;, &#x27;max_depth&#x27;: 0.0, &#x27;min_opacity&#x27;: 0.0}, &#x27;class_type&#x27;: &#x27;MergeGaussians&#x27;, &#x27;_meta&#x27;: {&#x27;title&#x27;: &#x27;Merge Gaussians (PLY Files)&#x27;}}, &#x27;59&#x27;: {&#x27;inputs&#x27;: {&#x27;image&#x27;: [&#x27;7&#x27;, 0]}, &#x27;class_type&#x27;: &#x27;PanoramaWrap&#x27;, &#x27;_meta&#x27;: {&#x27;title&#x27;: &#x27;Panorama Wrap (IMAGE -&gt; PANORAMA)&#x27;}}, &#x27;60&#x27;: {&#x27;inputs&#x27;: {&#x27;out_width&#x27;: [&#x27;61&#x27;, 0], &#x27;out_height&#x27;: [&#x27;61&#x27;, 1], &#x27;use_gpu&#x27;: True, &#x27;scale_anchor&#x27;: False, &#x27;chunk_size&#x27;: 8, &#x27;center_weight_power&#x27;: 2.0, &#x27;normal_edge_threshold_deg&#x27;: 0.0, &#x27;normal_consistency_boost&#x27;: False, &#x27;max_ray_distance_m&#x27;: 0.0, &#x27;face_points&#x27;: [&#x27;81&#x27;, 3], &#x27;extrinsics&#x27;: [&#x27;96&#x27;, 1], &#x27;intrinsics&#x27;: [&#x27;96&#x27;, 2], &#x27;face_valid_masks&#x27;: [&#x27;81&#x27;, 4], &#x27;face_normals&#x27;: [&#x27;81&#x27;, 2]}, &#x27;class_type&#x27;: &#x27;PanoramaDepthMerge&#x27;, &#x27;_meta&#x27;: {&#x27;title&#x27;: &#x27;Panorama Depth Merge&#x27;}}, &#x27;61&#x27;: {&#x27;inputs&#x27;: {&#x27;image&#x27;: [&#x27;7&#x27;, 0]}, &#x27;class_type&#x27;: &#x27;GetImageSize&#x27;, &#x27;_meta&#x27;: {&#x27;title&#x27;: &#x27;Get Image Size&#x27;}}, &#x27;62&#x27;: {&#x27;inputs&#x27;: {&#x27;images&#x27;: [&#x27;60&#x27;, 2]}, &#x27;class_type&#x27;: &#x27;PreviewImage&#x27;, &#x27;_meta&#x27;: {&#x27;title&#x27;: &#x27;Preview Image&#x27;}}, &#x27;68&#x27;: {&#x27;inputs&#x27;: {&#x27;images&#x27;: [&#x27;96&#x27;, 0]}, &#x27;class_type&#x27;: &#x27;PreviewImage&#x27;, &#x27;_meta&#x27;: {&#x27;title&#x27;: &#x27;Preview Image&#x27;}}, &#x27;70&#x27;: {&#x27;inputs&#x27;: {&#x27;images&#x27;: [&#x27;81&#x27;, 0]}, &#x27;class_type&#x27;: &#x27;PreviewImage&#x27;, &#x27;_meta&#x27;: {&#x27;title&#x27;: &#x27;Preview Image&#x27;}}, &#x27;73&#x27;: {&#x27;inputs&#x27;: {&#x27;image&#x27;: [&#x27;87&#x27;, 1], &#x27;intrinsics&#x27;: [&#x27;87&#x27;, 4], &#x27;extrinsics&#x27;: [&#x27;87&#x27;, 3]}, &#x27;class_type&#x27;: &#x27;SharpRayToPlanarDepth&#x27;, &#x27;_meta&#x27;: {&#x27;title&#x27;: &#x27;SHARP Ray-Distance -&gt; Planar Depth&#x27;}}, &#x27;76&#x27;: {&#x27;inputs&#x27;: {&#x27;snap_to_external_depth&#x27;: &#x27;none&#x27;, &#x27;depth_convention&#x27;: &#x27;planar_z&#x27;, &#x27;focal_length_mm&#x27;: 30.0, &#x27;output_prefix&#x27;: &#x27;sharp_aligned&#x27;, &#x27;save_background_layer&#x27;: True, &#x27;edge_crop&#x27;: 0.0, &#x27;model&#x27;: [&#x27;9&#x27;, 0], &#x27;image&#x27;: [&#x27;87&#x27;, 0], &#x27;metric_depth_layer0&#x27;: [&#x27;73&#x27;, 0], &#x27;extrinsics&#x27;: [&#x27;87&#x27;, 3], &#x27;intrinsics&#x27;: [&#x27;87&#x27;, 4], &#x27;mask&#x27;: [&#x27;87&#x27;, 6]}, &#x27;class_type&#x27;: &#x27;SharpPredictGaussiansFromMetricDepth&#x27;, &#x27;_meta&#x27;: {&#x27;title&#x27;: &#x27;SHARP Predict Gaussians (Image + Metric Depth)&#x27;}}, &#x27;78&#x27;: {&#x27;inputs&#x27;: {&#x27;rotate_x&#x27;: -90.0, &#x27;rotate_y&#x27;: 0.0, &#x27;rotate_z&#x27;: 0.0, &#x27;ply_path&#x27;: [&#x27;54&#x27;, 1]}, &#x27;class_type&#x27;: &#x27;TransformGaussian&#x27;, &#x27;_meta&#x27;: {&#x27;title&#x27;: &#x27;Transform Gaussian&#x27;}}, &#x27;80&#x27;: {&#x27;inputs&#x27;: {&#x27;model&#x27;: &#x27;moge-2-vitl-normal.pt&#x27;, &#x27;precision&#x27;: &#x27;auto&#x27;, &#x27;attention&#x27;: &#x27;auto&#x27;}, &#x27;class_type&#x27;: &#x27;DownloadAndLoadMoGe2Model&#x27;, &#x27;_meta&#x27;: {&#x27;title&#x27;: &#x27;(Down)Load MoGe-2 Model&#x27;}}, &#x27;81&#x27;: {&#x27;inputs&#x27;: {&#x27;resolution_level&#x27;: 9, &#x27;num_tokens&#x27;: 0, &#x27;fov_x_deg&#x27;: [&#x27;96&#x27;, 3], &#x27;force_projection&#x27;: True, &#x27;apply_mask&#x27;: True, &#x27;moge2_model&#x27;: [&#x27;80&#x27;, 0], &#x27;images&#x27;: [&#x27;96&#x27;, 0]}, &#x27;class_type&#x27;: &#x27;MoGe2Inference&#x27;, &#x27;_meta&#x27;: {&#x27;title&#x27;: &#x27;MoGe-2 Geometry&#x27;}}, &#x27;87&#x27;: {&#x27;inputs&#x27;: {&#x27;split_method&#x27;: &#x27;icosahedron_42&#x27;, &#x27;resolution&#x27;: 1536, &#x27;fov_degrees&#x27;: 90.0, &#x27;use_gpu&#x27;: True, &#x27;create_masks&#x27;: True, &#x27;mask_method&#x27;: &#x27;closest_to&#x27;, &#x27;panorama&#x27;: [&#x27;59&#x27;, 0], &#x27;depth_panorama&#x27;: [&#x27;60&#x27;, 0], &#x27;normals_panorama&#x27;: [&#x27;60&#x27;, 3]}, &#x27;class_type&#x27;: &#x27;PanoramaSplitAdaptive&#x27;, &#x27;_meta&#x27;: {&#x27;title&#x27;: &#x27;Panorama Split (Depth+Normals Conditioned)&#x27;}}, &#x27;89&#x27;: {&#x27;inputs&#x27;: {&#x27;images&#x27;: [&#x27;87&#x27;, 8]}, &#x27;class_type&#x27;: &#x27;PreviewImage&#x27;, &#x27;_meta&#x27;: {&#x27;title&#x27;: &#x27;Preview Image&#x27;}}, &#x27;95&#x27;: {&#x27;inputs&#x27;: {&#x27;camera_mode&#x27;: &#x27;orbit&#x27;, &#x27;fov_degrees&#x27;: 71.0, &#x27;renderer&#x27;: &#x27;playcanvas&#x27;, &#x27;transport_format&#x27;: &#x27;ply&#x27;, &#x27;ply_path&#x27;: [&#x27;78&#x27;, 0]}, &#x27;class_type&#x27;: &#x27;PreviewGaussians&#x27;, &#x27;_meta&#x27;: {&#x27;title&#x27;: &#x27;Preview Gaussians&#x27;}}, &#x27;96&#x27;: {&#x27;inputs&#x27;: {&#x27;split_method&#x27;: &#x27;icosahedron_42&#x27;, &#x27;resolution&#x27;: 952, &#x27;fov_degrees&#x27;: 90.0, &#x27;use_gpu&#x27;: True, &#x27;create_masks&#x27;: False, &#x27;fname&#x27;: &#x27;pano_bank&#x27;, &#x27;panorama&#x27;: [&#x27;59&#x27;, 0]}, &#x27;class_type&#x27;: &#x27;PanoramaSplit&#x27;, &#x27;_meta&#x27;: {&#x27;title&#x27;: &#x27;Panorama Split&#x27;}}}&quot;], &#x27;extra_pnginfo&#x27;: [&#x27;{\&#x27;workflow\&#x27;: {\&#x27;id\&#x27;: \&#x27;sharp-basic-workflow\&#x27;, \&#x27;revision\&#x27;: 0, \&#x27;last_node_id\&#x27;: 96, \&#x27;last_link_id\&#x27;: 245, \&#x27;nodes\&#x27;: [{\&#x27;id\&#x27;: 81, \&#x27;type\&#x27;: \&#x27;MoGe2Inference\&#x27;, \&#x27;pos\&#x27;: [-145.48997561390166, -946.2284863418914], \&#x27;size\&#x27;: [292.5625, 392], \&#x27;flags\&#x27;: {}, \&#x27;order\&#x27;: 7, \&#x27;mode\&#x27;: 0, \&#x27;inputs\&#x27;: [{\&#x27;name\&#x27;: \&#x27;moge2_model\&#x27;, \&#x27;type\&#x27;: \&#x27;MOGE2_MODEL\&#x27;, \&#x27;link\&#x27;: 203}, {\&#x27;name\&#x27;: \&#x27;images\&#x27;, \&#x27;type\&#x27;: \&#x27;IMAGE\&#x27;, \&#x27;link\&#x27;: 241}, {\&#x27;name\&#x27;: \&#x27;fov_x_deg\&#x27;, \&#x27;shape\&#x27;: 7, \&#x27;type\&#x27;: \&#x27;FLOAT\&#x27;, \&#x27;widget\&#x27;: {\&#x27;name\&#x27;: \&#x27;fov_x_deg\&#x27;}, \&#x27;link\&#x27;: 245}], \&#x27;outputs\&#x27;: [{\&#x27;name\&#x27;: \&#x27;depth_visualization\&#x27;, \&#x27;type\&#x27;: \&#x27;IMAGE\&#x27;, \&#x27;links\&#x27;: [204]}, {\&#x27;name\&#x27;: \&#x27;depth_raw\&#x27;, \&#x27;type\&#x27;: \&#x27;IMAGE\&#x27;, \&#x27;links\&#x27;: None}, {\&#x27;name\&#x27;: \&#x27;normal\&#x27;, \&#x27;type\&#x27;: \&#x27;IMAGE\&#x27;, \&#x27;links\&#x27;: [207]}, {\&#x27;name\&#x27;: \&#x27;points_raw\&#x27;, \&#x27;type\&#x27;: \&#x27;IMAGE\&#x27;, \&#x27;links\&#x27;: [205]}, {\&#x27;name\&#x27;: \&#x27;valid_mask\&#x27;, \&#x27;type\&#x27;: \&#x27;MASK\&#x27;, \&#x27;links\&#x27;: [206]}, {\&#x27;name\&#x27;: \&#x27;intrinsics\&#x27;, \&#x27;type\&#x27;: \&#x27;INTRINSICS\&#x27;, \&#x27;links\&#x27;: None}, {\&#x27;name\&#x27;: \&#x27;fov_x\&#x27;, \&#x27;type\&#x27;: \&#x27;FLOAT\&#x27;, \&#x27;links\&#x27;: None}, {\&#x27;name\&#x27;: \&#x27;fov_y\&#x27;, \&#x27;type\&#x27;: \&#x27;FLOAT\&#x27;, \&#x27;links\&#x27;: None}], \&#x27;properties\&#x27;: {\&#x27;Node name for S&amp;R\&#x27;: \&#x27;MoGe2Inference\&#x27;, \&#x27;cnr_id\&#x27;: \&#x27;ComfyUI-MoGe2\&#x27;, \&#x27;ver\&#x27;: \&#x27;6ef48db2c09cce4003571a6f6c8611d91b700da1\&#x27;, \&#x27;aux_id\&#x27;: \&#x27;PozzettiAndrea/ComfyUI-MoGe2\&#x27;}, \&#x27;widgets_values\&#x27;: [9, 0, 0, True, True]}, {\&#x27;id\&#x27;: 59, \&#x27;type\&#x27;: \&#x27;PanoramaWrap\&#x27;, \&#x27;pos\&#x27;: [-789.4857318627402, -551.9764436780553], \&#x27;size\&#x27;: [307.890625, 72], \&#x27;flags\&#x27;: {}, \&#x27;order\&#x27;: 3, \&#x27;mode\&#x27;: 0, \&#x27;inputs\&#x27;: [{\&#x27;name\&#x27;: \&#x27;image\&#x27;, \&#x27;type\&#x27;: \&#x27;IMAGE\&#x27;, \&#x27;link\&#x27;: 142}], \&#x27;outputs\&#x27;: [{\&#x27;name\&#x27;: \&#x27;panorama\&#x27;, \&#x27;type\&#x27;: \&#x27;PANORAMA\&#x27;, \&#x27;links\&#x27;: [222, 240]}], \&#x27;properties\&#x27;: {\&#x27;Node name for S&amp;R\&#x27;: \&#x27;PanoramaWrap\&#x27;, \&#x27;cnr_id\&#x27;: \&#x27;comfyui-panopack\&#x27;, \&#x27;ver\&#x27;: \&#x27;adeea5953c01a5815d6ba5e33640e52fd7921df4\&#x27;, \&#x27;aux_id\&#x27;: \&#x27;PozzettiAndrea/ComfyUI-PanoPack\&#x27;}, \&#x27;widgets_values\&#x27;: []}, {\&#x27;id\&#x27;: 96, \&#x27;type\&#x27;: \&#x27;PanoramaSplit\&#x27;, \&#x27;pos\&#x27;: [-462.8987519197383, -916.9000181773324], \&#x27;size\&#x27;: [304.546875, 428], \&#x27;flags\&#x27;: {}, \&#x27;order\&#x27;: 5, \&#x27;mode\&#x27;: 0, \&#x27;inputs\&#x27;: [{\&#x27;name\&#x27;: \&#x27;panorama\&#x27;, \&#x27;type\&#x27;: \&#x27;PANORAMA\&#x27;, \&#x27;link\&#x27;: 240}], \&#x27;outputs\&#x27;: [{\&#x27;name\&#x27;: \&#x27;face_images\&#x27;, \&#x27;type\&#x27;: \&#x27;IMAGE\&#x27;, \&#x27;links\&#x27;: [241, 242]}, {\&#x27;name\&#x27;: \&#x27;extrinsics\&#x27;, \&#x27;type\&#x27;: \&#x27;EXTRINSICS\&#x27;, \&#x27;links\&#x27;: [243]}, {\&#x27;name\&#x27;: \&#x27;intrinsics\&#x27;, \&#x27;type\&#x27;: \&#x27;INTRINSICS\&#x27;, \&#x27;links\&#x27;: [244]}, {\&#x27;name\&#x27;: \&#x27;fov_x_deg\&#x27;, \&#x27;type\&#x27;: \&#x27;FLOAT\&#x27;, \&#x27;links\&#x27;: [245]}, {\&#x27;name\&#x27;: \&#x27;face_masks\&#x27;, \&#x27;type\&#x27;: \&#x27;MASK\&#x27;, \&#x27;links\&#x27;: None}, {\&#x27;name\&#x27;: \&#x27;debug_image\&#x27;, \&#x27;type\&#x27;: \&#x27;IMAGE\&#x27;, \&#x27;links\&#x27;: None}, {\&#x27;name\&#x27;: \&#x27;debug_masks\&#x27;, \&#x27;type\&#x27;: \&#x27;IMAGE\&#x27;, \&#x27;links\&#x27;: None}, {\&#x27;name\&#x27;: \&#x27;entries\&#x27;, \&#x27;type\&#x27;: \&#x27;MEMORY_BANK_ENTRIES\&#x27;, \&#x27;links\&#x27;: None}], \&#x27;properties\&#x27;: {\&#x27;Node name for S&amp;R\&#x27;: \&#x27;PanoramaSplit\&#x27;, \&#x27;cnr_id\&#x27;: \&#x27;comfyui-panopack\&#x27;, \&#x27;ver\&#x27;: \&#x27;fd9b5c44ef6a2f0ca22b61bffb45a1b7f245f886\&#x27;, \&#x27;aux_id\&#x27;: \&#x27;PozzettiAndrea/ComfyUI-PanoPack\&#x27;}, \&#x27;widgets_values\&#x27;: [\&#x27;icosahedron_42\&#x27;, 952, 90, True, False, \&#x27;pano_bank\&#x27;]}, {\&#x27;id\&#x27;: 80, \&#x27;type\&#x27;: \&#x27;DownloadAndLoadMoGe2Model\&#x27;, \&#x27;pos\&#x27;: [-477.7554783798633, -1077.050564446215], \&#x27;size\&#x27;: [284.15625, 168], \&#x27;flags\&#x27;: {}, \&#x27;order\&#x27;: 0, \&#x27;mode\&#x27;: 0, \&#x27;inputs\&#x27;: [], \&#x27;outputs\&#x27;: [{\&#x27;name\&#x27;: \&#x27;moge2_model\&#x27;, \&#x27;type\&#x27;: \&#x27;MOGE2_MODEL\&#x27;, \&#x27;links\&#x27;: [203]}], \&#x27;properties\&#x27;: {\&#x27;Node name for S&amp;R\&#x27;: \&#x27;DownloadAndLoadMoGe2Model\&#x27;, \&#x27;cnr_id\&#x27;: \&#x27;ComfyUI-MoGe2\&#x27;, \&#x27;ver\&#x27;: \&#x27;6ef48db2c09cce4003571a6f6c8611d91b700da1\&#x27;, \&#x27;aux_id\&#x27;: \&#x27;PozzettiAndrea/ComfyUI-MoGe2\&#x27;}, \&#x27;widgets_values\&#x27;: [\&#x27;moge-2-vitl-normal.pt\&#x27;, \&#x27;auto\&#x27;, \&#x27;auto\&#x27;]}, {\&#x27;id\&#x27;: 73, \&#x27;type\&#x27;: \&#x27;SharpRayToPlanarDepth\&#x27;, \&#x27;pos\&#x27;: [-956.7489133418973, -22.166464855453995], \&#x27;size\&#x27;: [286.109375, 120], \&#x27;flags\&#x27;: {}, \&#x27;order\&#x27;: 12, \&#x27;mode\&#x27;: 0, \&#x27;inputs\&#x27;: [{\&#x27;name\&#x27;: \&#x27;image\&#x27;, \&#x27;type\&#x27;: \&#x27;IMAGE\&#x27;, \&#x27;link\&#x27;: 234}, {\&#x27;name\&#x27;: \&#x27;intrinsics\&#x27;, \&#x27;type\&#x27;: \&#x27;INTRINSICS\&#x27;, \&#x27;link\&#x27;: 232}, {\&#x27;name\&#x27;: \&#x27;extrinsics\&#x27;, \&#x27;shape\&#x27;: 7, \&#x27;type\&#x27;: \&#x27;EXTRINSICS\&#x27;, \&#x27;link\&#x27;: 231}], \&#x27;outputs\&#x27;: [{\&#x27;name\&#x27;: \&#x27;image\&#x27;, \&#x27;type\&#x27;: \&#x27;IMAGE\&#x27;, \&#x27;links\&#x27;: [235]}, {\&#x27;name\&#x27;: \&#x27;extrinsics\&#x27;, \&#x27;type\&#x27;: \&#x27;EXTRINSICS\&#x27;, \&#x27;links\&#x27;: None}, {\&#x27;name\&#x27;: \&#x27;intrinsics\&#x27;, \&#x27;type\&#x27;: \&#x27;INTRINSICS\&#x27;, \&#x27;links\&#x27;: None}], \&#x27;properties\&#x27;: {\&#x27;Node name for S&amp;R\&#x27;: \&#x27;SharpRayToPlanarDepth\&#x27;, \&#x27;cnr_id\&#x27;: \&#x27;comfyui-sharp\&#x27;, \&#x27;ver\&#x27;: \&#x27;c37c544b330e132340566e44171d88da5d01247e\&#x27;, \&#x27;aux_id\&#x27;: \&#x27;PozzettiAndrea/ComfyUI-Sharp\&#x27;}, \&#x27;widgets_values\&#x27;: []}, {\&#x27;id\&#x27;: 61, \&#x27;type\&#x27;: \&#x27;GetImageSize\&#x27;, \&#x27;pos\&#x27;: [-158.7395384200763, -589.7539360560568], \&#x27;size\&#x27;: [225, 124], \&#x27;flags\&#x27;: {}, \&#x27;order\&#x27;: 4, \&#x27;mode\&#x27;: 0, \&#x27;inputs\&#x27;: [{\&#x27;name\&#x27;: \&#x27;image\&#x27;, \&#x27;type\&#x27;: \&#x27;IMAGE\&#x27;, \&#x27;link\&#x27;: 152}], \&#x27;outputs\&#x27;: [{\&#x27;name\&#x27;: \&#x27;width\&#x27;, \&#x27;type\&#x27;: \&#x27;INT\&#x27;, \&#x27;links\&#x27;: [153]}, {\&#x27;name\&#x27;: \&#x27;height\&#x27;, \&#x27;type\&#x27;: \&#x27;INT\&#x27;, \&#x27;links\&#x27;: [154]}, {\&#x27;name\&#x27;: \&#x27;batch_size\&#x27;, \&#x27;type\&#x27;: \&#x27;INT\&#x27;, \&#x27;links\&#x27;: None}], \&#x27;properties\&#x27;: {\&#x27;Node name for S&amp;R\&#x27;: \&#x27;GetImageSize\&#x27;, \&#x27;cnr_id\&#x27;: \&#x27;comfy-core\&#x27;, \&#x27;ver\&#x27;: \&#x27;0.22.0\&#x27;}, \&#x27;widgets_values\&#x27;: []}, {\&#x27;id\&#x27;: 9, \&#x27;type\&#x27;: \&#x27;LoadSharpModel\&#x27;, \&#x27;pos\&#x27;: [-1105.497986644508, -216.4591320978957], \&#x27;size\&#x27;: [270, 104], \&#x27;flags\&#x27;: {}, \&#x27;order\&#x27;: 1, \&#x27;mode\&#x27;: 0, \&#x27;inputs\&#x27;: [], \&#x27;outputs\&#x27;: [{\&#x27;name\&#x27;: \&#x27;model_config\&#x27;, \&#x27;type\&#x27;: \&#x27;SHARP_MODEL_CONFIG\&#x27;, \&#x27;links\&#x27;: [189]}], \&#x27;properties\&#x27;: {\&#x27;Node name for S&amp;R\&#x27;: \&#x27;LoadSharpModel\&#x27;, \&#x27;cnr_id\&#x27;: \&#x27;comfyui-sharp\&#x27;, \&#x27;ver\&#x27;: \&#x27;51939f0d3bdcd9f4965978445ad0fa31a6222ef0\&#x27;, \&#x27;aux_id\&#x27;: \&#x27;PozzettiAndrea/ComfyUI-Sharp\&#x27;}, \&#x27;widgets_values\&#x27;: [\&#x27;auto\&#x27;]}, {\&#x27;id\&#x27;: 7, \&#x27;type\&#x27;: \&#x27;LoadImage\&#x27;, \&#x27;pos\&#x27;: [-1139.285769435423, -980.2364094317245], \&#x27;size\&#x27;: [662.21875, 367.625], \&#x27;flags\&#x27;: {}, \&#x27;order\&#x27;: 2, \&#x27;mode\&#x27;: 0, \&#x27;inputs\&#x27;: [], \&#x27;outputs\&#x27;: [{\&#x27;name\&#x27;: \&#x27;IMAGE\&#x27;, \&#x27;type\&#x27;: \&#x27;IMAGE\&#x27;, \&#x27;links\&#x27;: [142, 152]}, {\&#x27;name\&#x27;: \&#x27;MASK\&#x27;, \&#x27;type\&#x27;: \&#x27;MASK\&#x27;, \&#x27;links\&#x27;: None}], \&#x27;properties\&#x27;: {\&#x27;Node name for S&amp;R\&#x27;: \&#x27;LoadImage\&#x27;, \&#x27;cnr_id\&#x27;: \&#x27;comfy-core\&#x27;, \&#x27;ver\&#x27;: \&#x27;0.12.2\&#x27;}, \&#x27;widgets_values\&#x27;: [\&#x27;pano.png\&#x27;, \&#x27;image\&#x27;]}, {\&#x27;id\&#x27;: 54, \&#x27;type\&#x27;: \&#x27;MergeGaussians\&#x27;, \&#x27;pos\&#x27;: [-141.09746184191266, -52.05419638538134], \&#x27;size\&#x27;: [289.28125, 280], \&#x27;flags\&#x27;: {}, \&#x27;order\&#x27;: 15, \&#x27;mode\&#x27;: 0, \&#x27;inputs\&#x27;: [{\&#x27;name\&#x27;: \&#x27;ply_folder\&#x27;, \&#x27;type\&#x27;: \&#x27;STRING\&#x27;, \&#x27;widget\&#x27;: {\&#x27;name\&#x27;: \&#x27;ply_folder\&#x27;}, \&#x27;link\&#x27;: 194}], \&#x27;outputs\&#x27;: [{\&#x27;name\&#x27;: \&#x27;ply_paths\&#x27;, \&#x27;type\&#x27;: \&#x27;STRING\&#x27;, \&#x27;links\&#x27;: []}, {\&#x27;name\&#x27;: \&#x27;merged_ply_path\&#x27;, \&#x27;type\&#x27;: \&#x27;STRING\&#x27;, \&#x27;links\&#x27;: [198]}, {\&#x27;name\&#x27;: \&#x27;field_ply_path\&#x27;, \&#x27;type\&#x27;: \&#x27;STRING\&#x27;, \&#x27;links\&#x27;: []}, {\&#x27;name\&#x27;: \&#x27;num_gaussians\&#x27;, \&#x27;type\&#x27;: \&#x27;INT\&#x27;, \&#x27;links\&#x27;: None}], \&#x27;properties\&#x27;: {\&#x27;Node name for S&amp;R\&#x27;: \&#x27;MergeGaussians\&#x27;, \&#x27;cnr_id\&#x27;: \&#x27;comfyui-sharp\&#x27;, \&#x27;ver\&#x27;: \&#x27;9ae300958498a99946acd046599f14a13b2e9175\&#x27;, \&#x27;aux_id\&#x27;: \&#x27;PozzettiAndrea/ComfyUI-Sharp\&#x27;}, \&#x27;widgets_values\&#x27;: [\&#x27;\&#x27;, \&#x27;merged\&#x27;, 0, 0]}, {\&#x27;id\&#x27;: 78, \&#x27;type\&#x27;: \&#x27;TransformGaussian\&#x27;, \&#x27;pos\&#x27;: [181.98316864432408, -49.85432446955129], \&#x27;size\&#x27;: [270, 168], \&#x27;flags\&#x27;: {}, \&#x27;order\&#x27;: 16, \&#x27;mode\&#x27;: 0, \&#x27;inputs\&#x27;: [{\&#x27;name\&#x27;: \&#x27;ply_path\&#x27;, \&#x27;type\&#x27;: \&#x27;STRING\&#x27;, \&#x27;link\&#x27;: 198}], \&#x27;outputs\&#x27;: [{\&#x27;name\&#x27;: \&#x27;ply_path\&#x27;, \&#x27;type\&#x27;: \&#x27;STRING\&#x27;, \&#x27;links\&#x27;: [239]}], \&#x27;properties\&#x27;: {\&#x27;Node name for S&amp;R\&#x27;: \&#x27;TransformGaussian\&#x27;, \&#x27;cnr_id\&#x27;: \&#x27;ComfyUI-GaussianPack\&#x27;, \&#x27;ver\&#x27;: \&#x27;73b37ef2f8c35254ccb55c124a7d5653e7fe3c5f\&#x27;, \&#x27;aux_id\&#x27;: \&#x27;PozzettiAndrea/ComfyUI-GaussianPack\&#x27;}, \&#x27;widgets_values\&#x27;: [-90, 0, 0]}, {\&#x27;id\&#x27;: 68, \&#x27;type\&#x27;: \&#x27;PreviewImage\&#x27;, \&#x27;pos\&#x27;: [-90.10767008220357, -1268.2551623811057], \&#x27;size\&#x27;: [225, 247.28125], \&#x27;flags\&#x27;: {}, \&#x27;order\&#x27;: 6, \&#x27;mode\&#x27;: 0, \&#x27;inputs\&#x27;: [{\&#x27;name\&#x27;: \&#x27;images\&#x27;, \&#x27;type\&#x27;: \&#x27;IMAGE\&#x27;, \&#x27;link\&#x27;: 242}], \&#x27;outputs\&#x27;: [], \&#x27;properties\&#x27;: {\&#x27;Node name for S&amp;R\&#x27;: \&#x27;PreviewImage\&#x27;, \&#x27;cnr_id\&#x27;: \&#x27;comfy-core\&#x27;, \&#x27;ver\&#x27;: \&#x27;0.22.0\&#x27;}, \&#x27;widgets_values\&#x27;: []}, {\&#x27;id\&#x27;: 70, \&#x27;type\&#x27;: \&#x27;PreviewImage\&#x27;, \&#x27;pos\&#x27;: [175.19686722884055, -1260.264032349202], \&#x27;size\&#x27;: [225, 246], \&#x27;flags\&#x27;: {}, \&#x27;order\&#x27;: 8, \&#x27;mode\&#x27;: 0, \&#x27;inputs\&#x27;: [{\&#x27;name\&#x27;: \&#x27;images\&#x27;, \&#x27;type\&#x27;: \&#x27;IMAGE\&#x27;, \&#x27;link\&#x27;: 204}], \&#x27;outputs\&#x27;: [], \&#x27;properties\&#x27;: {\&#x27;Node name for S&amp;R\&#x27;: \&#x27;PreviewImage\&#x27;, \&#x27;cnr_id\&#x27;: \&#x27;comfy-core\&#x27;, \&#x27;ver\&#x27;: \&#x27;0.22.0\&#x27;}, \&#x27;widgets_values\&#x27;: []}, {\&#x27;id\&#x27;: 60, \&#x27;type\&#x27;: \&#x27;PanoramaDepthMerge\&#x27;, \&#x27;pos\&#x27;: [169.67257218083785, -942.7524376795825], \&#x27;size\&#x27;: [323.171875, 468], \&#x27;flags\&#x27;: {}, \&#x27;order\&#x27;: 9, \&#x27;mode\&#x27;: 0, \&#x27;inputs\&#x27;: [{\&#x27;name\&#x27;: \&#x27;face_points\&#x27;, \&#x27;type\&#x27;: \&#x27;IMAGE\&#x27;, \&#x27;link\&#x27;: 205}, {\&#x27;name\&#x27;: \&#x27;extrinsics\&#x27;, \&#x27;type\&#x27;: \&#x27;EXTRINSICS\&#x27;, \&#x27;link\&#x27;: 243}, {\&#x27;name\&#x27;: \&#x27;intrinsics\&#x27;, \&#x27;type\&#x27;: \&#x27;INTRINSICS\&#x27;, \&#x27;link\&#x27;: 244}, {\&#x27;name\&#x27;: \&#x27;face_valid_masks\&#x27;, \&#x27;shape\&#x27;: 7, \&#x27;type\&#x27;: \&#x27;MASK\&#x27;, \&#x27;link\&#x27;: 206}, {\&#x27;name\&#x27;: \&#x27;face_confidences\&#x27;, \&#x27;shape\&#x27;: 7, \&#x27;type\&#x27;: \&#x27;MASK\&#x27;, \&#x27;link\&#x27;: None}, {\&#x27;name\&#x27;: \&#x27;face_normals\&#x27;, \&#x27;shape\&#x27;: 7, \&#x27;type\&#x27;: \&#x27;IMAGE\&#x27;, \&#x27;link\&#x27;: 207}, {\&#x27;name\&#x27;: \&#x27;out_width\&#x27;, \&#x27;type\&#x27;: \&#x27;INT\&#x27;, \&#x27;widget\&#x27;: {\&#x27;name\&#x27;: \&#x27;out_width\&#x27;}, \&#x27;link\&#x27;: 153}, {\&#x27;name\&#x27;: \&#x27;out_height\&#x27;, \&#x27;type\&#x27;: \&#x27;INT\&#x27;, \&#x27;widget\&#x27;: {\&#x27;name\&#x27;: \&#x27;out_height\&#x27;}, \&#x27;link\&#x27;: 154}], \&#x27;outputs\&#x27;: [{\&#x27;name\&#x27;: \&#x27;depth\&#x27;, \&#x27;type\&#x27;: \&#x27;IMAGE\&#x27;, \&#x27;links\&#x27;: [216]}, {\&#x27;name\&#x27;: \&#x27;valid_mask\&#x27;, \&#x27;type\&#x27;: \&#x27;MASK\&#x27;, \&#x27;links\&#x27;: None}, {\&#x27;name\&#x27;: \&#x27;debug_image\&#x27;, \&#x27;type\&#x27;: \&#x27;IMAGE\&#x27;, \&#x27;links\&#x27;: [156]}, {\&#x27;name\&#x27;: \&#x27;normals\&#x27;, \&#x27;type\&#x27;: \&#x27;IMAGE\&#x27;, \&#x27;links\&#x27;: [217]}, {\&#x27;name\&#x27;: \&#x27;xyz_views\&#x27;, \&#x27;type\&#x27;: \&#x27;IMAGE\&#x27;, \&#x27;links\&#x27;: None}, {\&#x27;name\&#x27;: \&#x27;points\&#x27;, \&#x27;type\&#x27;: \&#x27;IMAGE\&#x27;, \&#x27;links\&#x27;: None}], \&#x27;properties\&#x27;: {\&#x27;Node name for S&amp;R\&#x27;: \&#x27;PanoramaDepthMerge\&#x27;, \&#x27;cnr_id\&#x27;: \&#x27;comfyui-panopack\&#x27;, \&#x27;ver\&#x27;: \&#x27;adeea5953c01a5815d6ba5e33640e52fd7921df4\&#x27;, \&#x27;aux_id\&#x27;: \&#x27;PozzettiAndrea/ComfyUI-PanoPack\&#x27;}, \&#x27;widgets_values\&#x27;: [1920, 960, True, False, 8, 2, 0, False, 0]}, {\&#x27;id\&#x27;: 62, \&#x27;type\&#x27;: \&#x27;PreviewImage\&#x27;, \&#x27;pos\&#x27;: [490.1101747470437, -1264.7603371902492], \&#x27;size\&#x27;: [225, 246], \&#x27;flags\&#x27;: {}, \&#x27;order\&#x27;: 10, \&#x27;mode\&#x27;: 0, \&#x27;inputs\&#x27;: [{\&#x27;name\&#x27;: \&#x27;images\&#x27;, \&#x27;type\&#x27;: \&#x27;IMAGE\&#x27;, \&#x27;link\&#x27;: 156}], \&#x27;outputs\&#x27;: [], \&#x27;properties\&#x27;: {\&#x27;Node name for S&amp;R\&#x27;: \&#x27;PreviewImage\&#x27;, \&#x27;cnr_id\&#x27;: \&#x27;comfy-core\&#x27;, \&#x27;ver\&#x27;: \&#x27;0.22.0\&#x27;}, \&#x27;widgets_values\&#x27;: []}, {\&#x27;id\&#x27;: 87, \&#x27;type\&#x27;: \&#x27;PanoramaSplitAdaptive\&#x27;, \&#x27;pos\&#x27;: [540.2924213151191, -975.4562974593275], \&#x27;size\&#x27;: [402.078125, 448], \&#x27;flags\&#x27;: {}, \&#x27;order\&#x27;: 11, \&#x27;mode\&#x27;: 0, \&#x27;inputs\&#x27;: [{\&#x27;name\&#x27;: \&#x27;panorama\&#x27;, \&#x27;type\&#x27;: \&#x27;PANORAMA\&#x27;, \&#x27;link\&#x27;: 222}, {\&#x27;name\&#x27;: \&#x27;depth_panorama\&#x27;, \&#x27;type\&#x27;: \&#x27;IMAGE\&#x27;, \&#x27;link\&#x27;: 216}, {\&#x27;name\&#x27;: \&#x27;normals_panorama\&#x27;, \&#x27;type\&#x27;: \&#x27;IMAGE\&#x27;, \&#x27;link\&#x27;: 217}], \&#x27;outputs\&#x27;: [{\&#x27;name\&#x27;: \&#x27;face_images\&#x27;, \&#x27;type\&#x27;: \&#x27;IMAGE\&#x27;, \&#x27;links\&#x27;: [221]}, {\&#x27;name\&#x27;: \&#x27;face_images_depth\&#x27;, \&#x27;type\&#x27;: \&#x27;IMAGE\&#x27;, \&#x27;links\&#x27;: [234]}, {\&#x27;name\&#x27;: \&#x27;face_images_normals\&#x27;, \&#x27;type\&#x27;: \&#x27;IMAGE\&#x27;, \&#x27;links\&#x27;: None}, {\&#x27;name\&#x27;: \&#x27;extrinsics\&#x27;, \&#x27;type\&#x27;: \&#x27;EXTRINSICS\&#x27;, \&#x27;links\&#x27;: [225, 231]}, {\&#x27;name\&#x27;: \&#x27;intrinsics\&#x27;, \&#x27;type\&#x27;: \&#x27;INTRINSICS\&#x27;, \&#x27;links\&#x27;: [226, 232]}, {\&#x27;name\&#x27;: \&#x27;fov_x_deg\&#x27;, \&#x27;type\&#x27;: \&#x27;FLOAT\&#x27;, \&#x27;links\&#x27;: []}, {\&#x27;name\&#x27;: \&#x27;face_masks\&#x27;, \&#x27;type\&#x27;: \&#x27;MASK\&#x27;, \&#x27;links\&#x27;: [224]}, {\&#x27;name\&#x27;: \&#x27;debug_image\&#x27;, \&#x27;type\&#x27;: \&#x27;IMAGE\&#x27;, \&#x27;links\&#x27;: []}, {\&#x27;name\&#x27;: \&#x27;debug_masks\&#x27;, \&#x27;type\&#x27;: \&#x27;IMAGE\&#x27;, \&#x27;links\&#x27;: [228]}], \&#x27;properties\&#x27;: {\&#x27;Node name for S&amp;R\&#x27;: \&#x27;PanoramaSplitAdaptive\&#x27;, \&#x27;cnr_id\&#x27;: \&#x27;comfyui-panopack\&#x27;, \&#x27;ver\&#x27;: \&#x27;191ac4ed16a0beb8e859ebc70ab166ec9ddbc2ad\&#x27;, \&#x27;aux_id\&#x27;: \&#x27;PozzettiAndrea/ComfyUI-PanoPack\&#x27;}, \&#x27;widgets_values\&#x27;: [\&#x27;icosahedron_42\&#x27;, 1536, 90, True, True, \&#x27;closest_to\&#x27;]}, {\&#x27;id\&#x27;: 89, \&#x27;type\&#x27;: \&#x27;PreviewImage\&#x27;, \&#x27;pos\&#x27;: [875.2597078684457, -609.9340148050444], \&#x27;size\&#x27;: [367.984375, 258], \&#x27;flags\&#x27;: {}, \&#x27;order\&#x27;: 13, \&#x27;mode\&#x27;: 0, \&#x27;inputs\&#x27;: [{\&#x27;name\&#x27;: \&#x27;images\&#x27;, \&#x27;type\&#x27;: \&#x27;IMAGE\&#x27;, \&#x27;link\&#x27;: 228}], \&#x27;outputs\&#x27;: [], \&#x27;properties\&#x27;: {\&#x27;Node name for S&amp;R\&#x27;: \&#x27;PreviewImage\&#x27;, \&#x27;cnr_id\&#x27;: \&#x27;comfy-core\&#x27;, \&#x27;ver\&#x27;: \&#x27;0.24.0\&#x27;}, \&#x27;widgets_values\&#x27;: []}, {\&#x27;id\&#x27;: 76, \&#x27;type\&#x27;: \&#x27;SharpPredictGaussiansFromMetricDepth\&#x27;, \&#x27;pos\&#x27;: [-617.3693549549649, -51.26345750773104], \&#x27;size\&#x27;: [427.46875, 408], \&#x27;flags\&#x27;: {}, \&#x27;order\&#x27;: 14, \&#x27;mode\&#x27;: 0, \&#x27;inputs\&#x27;: [{\&#x27;name\&#x27;: \&#x27;model\&#x27;, \&#x27;type\&#x27;: \&#x27;SHARP_MODEL_CONFIG\&#x27;, \&#x27;link\&#x27;: 189}, {\&#x27;name\&#x27;: \&#x27;image\&#x27;, \&#x27;type\&#x27;: \&#x27;IMAGE\&#x27;, \&#x27;link\&#x27;: 221}, {\&#x27;name\&#x27;: \&#x27;metric_depth_layer0\&#x27;, \&#x27;type\&#x27;: \&#x27;IMAGE\&#x27;, \&#x27;link\&#x27;: 235}, {\&#x27;name\&#x27;: \&#x27;metric_depth_layer1\&#x27;, \&#x27;shape\&#x27;: 7, \&#x27;type\&#x27;: \&#x27;IMAGE\&#x27;, \&#x27;link\&#x27;: None}, {\&#x27;name\&#x27;: \&#x27;extrinsics\&#x27;, \&#x27;shape\&#x27;: 7, \&#x27;type\&#x27;: \&#x27;EXTRINSICS\&#x27;, \&#x27;link\&#x27;: 225}, {\&#x27;name\&#x27;: \&#x27;intrinsics\&#x27;, \&#x27;shape\&#x27;: 7, \&#x27;type\&#x27;: \&#x27;INTRINSICS\&#x27;, \&#x27;link\&#x27;: 226}, {\&#x27;name\&#x27;: \&#x27;mask\&#x27;, \&#x27;shape\&#x27;: 7, \&#x27;type\&#x27;: \&#x27;MASK\&#x27;, \&#x27;link\&#x27;: 224}], \&#x27;outputs\&#x27;: [{\&#x27;name\&#x27;: \&#x27;ply_path\&#x27;, \&#x27;type\&#x27;: \&#x27;STRING\&#x27;, \&#x27;links\&#x27;: [194]}, {\&#x27;name\&#x27;: \&#x27;ply_folder\&#x27;, \&#x27;type\&#x27;: \&#x27;STRING\&#x27;, \&#x27;links\&#x27;: None}, {\&#x27;name\&#x27;: \&#x27;extrinsics\&#x27;, \&#x27;type\&#x27;: \&#x27;EXTRINSICS\&#x27;, \&#x27;links\&#x27;: None}, {\&#x27;name\&#x27;: \&#x27;intrinsics\&#x27;, \&#x27;type\&#x27;: \&#x27;INTRINSICS\&#x27;, \&#x27;links\&#x27;: None}], \&#x27;properties\&#x27;: {\&#x27;Node name for S&amp;R\&#x27;: \&#x27;SharpPredictGaussiansFromMetricDepth\&#x27;, \&#x27;cnr_id\&#x27;: \&#x27;comfyui-sharp\&#x27;, \&#x27;ver\&#x27;: \&#x27;8a35d88363cea291ddf08781f8174429c009f3a9\&#x27;, \&#x27;aux_id\&#x27;: \&#x27;PozzettiAndrea/ComfyUI-Sharp\&#x27;}, \&#x27;widgets_values\&#x27;: [\&#x27;none\&#x27;, \&#x27;planar_z\&#x27;, 30, \&#x27;sharp_aligned\&#x27;, True, 0]}, {\&#x27;id\&#x27;: 95, \&#x27;type\&#x27;: \&#x27;PreviewGaussians\&#x27;, \&#x27;pos\&#x27;: [484.59240446243155, -259.7520358522845], \&#x27;size\&#x27;: [512, 714], \&#x27;flags\&#x27;: {}, \&#x27;order\&#x27;: 17, \&#x27;mode\&#x27;: 0, \&#x27;inputs\&#x27;: [{\&#x27;name\&#x27;: \&#x27;ply_path\&#x27;, \&#x27;type\&#x27;: \&#x27;STRING\&#x27;, \&#x27;link\&#x27;: 239}], \&#x27;outputs\&#x27;: [], \&#x27;properties\&#x27;: {\&#x27;Node name for S&amp;R\&#x27;: \&#x27;PreviewGaussians\&#x27;, \&#x27;Widget Values\&#x27;: {\&#x27;camera_mode\&#x27;: \&#x27;orbit\&#x27;, \&#x27;fov_degrees\&#x27;: 71, \&#x27;renderer\&#x27;: \&#x27;playcanvas\&#x27;, \&#x27;transport_format\&#x27;: \&#x27;ply\&#x27;}, \&#x27;cnr_id\&#x27;: \&#x27;ComfyUI-GaussianPack\&#x27;, \&#x27;ver\&#x27;: \&#x27;059313a53ffa7ecc8697eddc02d2cee4727e5085\&#x27;, \&#x27;aux_id\&#x27;: \&#x27;PozzettiAndrea/ComfyUI-GaussianPack\&#x27;, \&#x27;Camera Config\&#x27;: {\&#x27;cameraType\&#x27;: \&#x27;perspective\&#x27;, \&#x27;fov\&#x27;: 50, \&#x27;state\&#x27;: \&#x27;{&quot;v&quot;:1,&quot;pos&quot;:[0,0,0],&quot;target&quot;:[0,0,1],&quot;fov&quot;:50,&quot;scale&quot;:20,&quot;opacity&quot;:1}\&#x27;}}, \&#x27;widgets_values\&#x27;: [\&#x27;orbit\&#x27;, 71, \&#x27;playcanvas\&#x27;, \&#x27;ply\&#x27;, \&#x27;\&#x27;]}], \&#x27;links\&#x27;: [[142, 7, 0, 59, 0, \&#x27;IMAGE\&#x27;], [152, 7, 0, 61, 0, \&#x27;IMAGE\&#x27;], [153, 61, 0, 60, 6, \&#x27;INT\&#x27;], [154, 61, 1, 60, 7, \&#x27;INT\&#x27;], [156, 60, 2, 62, 0, \&#x27;IMAGE\&#x27;], [189, 9, 0, 76, 0, \&#x27;SHARP_MODEL_CONFIG\&#x27;], [194, 76, 0, 54, 0, \&#x27;STRING\&#x27;], [198, 54, 1, 78, 0, \&#x27;STRING\&#x27;], [203, 80, 0, 81, 0, \&#x27;MOGE2_MODEL\&#x27;], [204, 81, 0, 70, 0, \&#x27;IMAGE\&#x27;], [205, 81, 3, 60, 0, \&#x27;IMAGE\&#x27;], [206, 81, 4, 60, 3, \&#x27;MASK\&#x27;], [207, 81, 2, 60, 5, \&#x27;IMAGE\&#x27;], [216, 60, 0, 87, 1, \&#x27;IMAGE\&#x27;], [217, 60, 3, 87, 2, \&#x27;IMAGE\&#x27;], [221, 87, 0, 76, 1, \&#x27;IMAGE\&#x27;], [222, 59, 0, 87, 0, \&#x27;PANORAMA\&#x27;], [224, 87, 6, 76, 6, \&#x27;MASK\&#x27;], [225, 87, 3, 76, 4, \&#x27;EXTRINSICS\&#x27;], [226, 87, 4, 76, 5, \&#x27;INTRINSICS\&#x27;], [228, 87, 8, 89, 0, \&#x27;IMAGE\&#x27;], [231, 87, 3, 73, 2, \&#x27;EXTRINSICS\&#x27;], [232, 87, 4, 73, 1, \&#x27;INTRINSICS\&#x27;], [234, 87, 1, 73, 0, \&#x27;IMAGE\&#x27;], [235, 73, 0, 76, 2, \&#x27;IMAGE\&#x27;], [239, 78, 0, 95, 0, \&#x27;STRING\&#x27;], [240, 59, 0, 96, 0, \&#x27;PANORAMA\&#x27;], [241, 96, 0, 81, 1, \&#x27;IMAGE\&#x27;], [242, 96, 0, 68, 0, \&#x27;IMAGE\&#x27;], [243, 96, 1, 60, 1, \&#x27;EXTRINSICS\&#x27;], [244, 96, 2, 60, 2, \&#x27;INTRINSICS\&#x27;], [245, 96, 3, 81, 2, \&#x27;FLOAT\&#x27;]], \&#x27;groups\&#x27;: [{\&#x27;id\&#x27;: 1, \&#x27;title\&#x27;: \&#x27;Predict Gaussians on top of 360 depth crops\&#x27;, \&#x27;bounding\&#x27;: [-1151.4211521619075, -331.99912475655, 2396.7794018846753, 794.3643875583768], \&#x27;color\&#x27;: \&#x27;#3f789e\&#x27;, \&#x27;flags\&#x27;: {}}, {\&#x27;id\&#x27;: 2, \&#x27;title\&#x27;: \&#x27;Create 360 depth crops\&#x27;, \&#x27;bounding\&#x27;: [-1150.1796372694037, -1350.5346537851567, 2395.3198716986108, 991.3238724528154], \&#x27;color\&#x27;: \&#x27;#8A8\&#x27;, \&#x27;flags\&#x27;: {}}], \&#x27;config\&#x27;: {}, \&#x27;extra\&#x27;: {\&#x27;ds\&#x27;: {\&#x27;scale\&#x27;: 0.9847082690094333, \&#x27;offset\&#x27;: [272.0924091759777, 462.46918863940033]}, \&#x27;workflowRendererVersion\&#x27;: \&#x27;LG\&#x27;, \&#x27;frontendVersion\&#x27;: \&#x27;1.45.15\&#x27;}, \&#x27;version\&#x27;: 0.4}}&#x27;]}, &#x27;current_outputs&#x27;: [&#x27;54&#x27;, &#x27;73&#x27;, &#x27;81&#x27;, &#x27;59&#x27;, &#x27;70&#x27;, &#x27;62&#x27;, &#x27;95&#x27;, &#x27;80&#x27;, &#x27;60&#x27;, &#x27;68&#x27;, &#x27;87&#x27;, &#x27;7&#x27;, &#x27;78&#x27;, &#x27;76&#x27;, &#x27;89&#x27;, &#x27;96&#x27;, &#x27;61&#x27;, &#x27;9&#x27;], &#x27;timestamp&#x27;: 1780867591509}
Details:
Workflow: /node/ComfyUI-Sharp/workflows/pano.json
Node error: SharpPredictGaussiansFromMetricDepth</div>
</div>
</div>
<div class="models-section">
<div class="section-header">
<h2 class="section-title">Downloaded Models</h2>
<span class="models-total">8 files &middot; 3.8 GB</span>
</div>
<details class="models-folder" open>
<summary class="models-folder-header">
<span class="models-folder-name">models/moge2/</span>
<span class="models-folder-meta">
<span class="models-folder-size">1.2 GB</span>
</span>
</summary>
<div class="models-file-list">
<div class="models-file"><span class="models-file-path">moge-2-vitl-normal.pt</span><span class="models-file-size">1.2 GB</span></div>
<div class="models-file"><span class="models-file-path">.cache/huggingface/CACHEDIR.TAG</span><span class="models-file-size">191.0 B</span></div>
<div class="models-file"><span class="models-file-path">.cache/huggingface/download/model.pt.metadata</span><span class="models-file-size">123.0 B</span></div>
<div class="models-file"><span class="models-file-path">.cache/huggingface/.gitignore</span><span class="models-file-size">1.0 B</span></div>
</div>
</details>
<details class="models-folder" open>
<summary class="models-folder-header">
<span class="models-folder-name">models/sharp/</span>
<span class="models-folder-meta">
<span class="models-folder-size">2.6 GB</span>
</span>
</summary>
<div class="models-file-list">
<div class="models-file"><span class="models-file-path">sharp_2572gikvuh.pt</span><span class="models-file-size">2.6 GB</span></div>
<div class="models-file"><span class="models-file-path">.cache/huggingface/CACHEDIR.TAG</span><span class="models-file-size">191.0 B</span></div>
<div class="models-file"><span class="models-file-path">.cache/huggingface/download/sharp_2572gikvuh.pt.metadata</span><span class="models-file-size">125.0 B</span></div>
<div class="models-file"><span class="models-file-path">.cache/huggingface/.gitignore</span><span class="models-file-size">1.0 B</span></div>
</div>
</details>
</div>
</div>
<div class="lightbox" id="lightbox">
<button class="lightbox-close" onclick="closeLightbox()">&times;</button>
<button class="lightbox-nav lightbox-nav-left" onclick="navigateLightbox(-1)">&#8249;</button>
<button class="lightbox-nav lightbox-nav-right" onclick="navigateLightbox(1)">&#8250;</button>
<div class="lightbox-content">
<img id="lightbox-img" src="" alt="">
<video id="lightbox-video" controls preload="metadata" style="display:none; max-width:90vw; max-height:80vh; background:#000;"></video>
<div class="video-player" id="video-player">
<div class="video-slider-container">
<div id="video-slider"></div>
</div>
<div class="video-controls">
<span class="video-frame-counter" id="video-frame-counter">0.0s / 0.0s</span>
</div>
</div>
<div class="resource-graph" id="resource-graph">
<div class="resource-graph-title">Resource Usage</div>
<canvas id="resource-canvas"></canvas>
<div class="resource-legend">
<span><span class="dot ram"></span> RAM (GB)</span>
<span id="gpu-legend" style="display:none"><span class="dot gpu"></span> VRAM (GB)</span>
</div>
</div>
<div class="lightbox-info">
<div>
<span class="lightbox-title" id="lightbox-title"></span>
<span class="lightbox-hardware" id="lightbox-hardware"></span>
</div>
<div class="lightbox-meta">
<span class="lightbox-badge" id="lightbox-badge"></span>
<span class="lightbox-duration" id="lightbox-duration"></span>
</div>
</div>
<pre class="lightbox-log" id="lightbox-log"></pre>
</div>
</div>
<div class="img-overlay" id="img-overlay">
<img id="img-overlay-content" src="" alt="">
</div>
<footer>
Generated by <a href="https://github.com/PozzettiAndrea/comfy-test">comfy-test</a>
</footer>
<script>
function setView(mode) {
const grid = document.getElementById('workflow-grid');
grid.className = mode === 'list' ? 'workflow-grid view-list' : 'workflow-grid';
document.querySelectorAll('.view-controls .view-btn').forEach(btn => {
btn.classList.toggle('active', btn.textContent.trim().toLowerCase() === mode);
});
}
const workflowData = {"pano": {"src": "", "title": "pano", "status": "fail", "duration": "287.07", "log": " [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\nCapturing execution frames: pano.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 Queuing workflow for execution...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Received JSON with keys: ['prompt']\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Prompt has 18 nodes\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 7: LoadImage\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"image\": \"pano.png\"}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 9: LoadSharpModel\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"precision\": \"auto\"}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 54: MergeGaussians\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"ply_folder\": [\"76\", 0], \"output_prefix\": \"merged\", \"max_depth\": 0, \"min_opacity\": 0}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 59: PanoramaWrap\n [ComfyUI] [comfy-env] SubprocessWorker: /tmp/comfytest-home/.ce/.pixi/envs/sharp-nodes/bin/python\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"image\": [\"7\", 0]}\n [ComfyUI] [comfy-env] env_vars: {'COMFYUI_BASE': '/workspaces/Sharp-2116/ComfyUI'}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 60: PanoramaDepthMerge\n [ComfyUI] [ComfyUI-Sharp] python: /tmp/comfytest-home/.ce/.pixi/envs/sharp-nodes/bin/python\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"out_width\": [\"61\", 0], \"out_height\": [\"61\", 1], \"use_gpu\": true, \"scale_anchor\": false, \"chunk_size\": 8, \"center_weight_power\": 2, \"normal_edge_threshold_deg\": 0, \"normal_consistency_boost\": false,\n [ComfyUI] [ComfyUI-Sharp] sys_path sent to worker: ['/workspaces/Sharp-2116/ComfyUI', '/workspaces/Sharp-2116/ComfyUI/custom_nodes/ComfyUI-Sharp', '/tmp/comfytest-home/.ce/.pixi/envs/sharp-nodes/lib/python3.1/site-packages', '/workspaces/Sharp-2116/ComfyUI/custom_nodes/ComfyUI-Sharp']\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 61: GetImageSize\n [ComfyUI] [SubprocessWorker] is_pixi=True, python=/tmp/comfytest-home/.ce/.pixi/envs/sharp-nodes/bin/python\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"image\": [\"7\", 0]}\n [ComfyUI] [SubprocessWorker] launching cmd=['/tmp/comfytest-home/.pixi/bin/pixi', 'run', '--as-is', '--manifest-path', '/tmp/comfytest-home/.ce/pixi.toml', '-e', 'sharp-nodes', 'python', '/tmp/comfyui_pvenv_dkunr1h2/persistent_worker.py', 'abstract://comfy_worker_458b4dbae961']...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 62: PreviewImage\n [ComfyUI] [SubprocessWorker] socket_addr=abstract://comfy_worker_458b4dbae961 (abstract, no filesystem path)\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"images\": [\"60\", 2]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 68: PreviewImage\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"images\": [\"96\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 70: PreviewImage\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"images\": [\"81\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 73: SharpRayToPlanarDepth\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"image\": [\"87\", 1], \"intrinsics\": [\"87\", 4], \"extrinsics\": [\"87\", 3]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 76: SharpPredictGaussiansFromMetricDepth\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"snap_to_external_depth\": \"none\", \"depth_convention\": \"planar_z\", \"focal_length_mm\": 30, \"output_prefix\": \"sharp_aligned\", \"save_background_layer\": true, \"edge_crop\": 0, \"model\": [\"9\", 0], \"image\": [\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 78: TransformGaussian\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"rotate_x\": -90, \"rotate_y\": 0, \"rotate_z\": 0, \"ply_path\": [\"54\", 1]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 80: DownloadAndLoadMoGe2Model\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"model\": \"moge-2-vitl-normal.pt\", \"precision\": \"auto\", \"attention\": \"auto\"}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 81: MoGe2Inference\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"resolution_level\": 9, \"num_tokens\": 0, \"fov_x_deg\": [\"96\", 3], \"force_projection\": true, \"apply_mask\": true, \"moge2_model\": [\"80\", 0], \"images\": [\"96\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 87: PanoramaSplitAdaptive\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"split_method\": \"icosahedron_42\", \"resolution\": 1536, \"fov_degrees\": 90, \"use_gpu\": true, \"create_masks\": true, \"mask_method\": \"closest_to\", \"panorama\": [\"59\", 0], \"depth_panorama\": [\"60\", 0], \"norma\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 89: PreviewImage\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"images\": [\"87\", 8]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 95: PreviewGaussians\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"camera_mode\": \"orbit\", \"fov_degrees\": 71, \"renderer\": \"playcanvas\", \"transport_format\": \"ply\", \"ply_path\": [\"78\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 96: PanoramaSplit\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"split_method\": \"icosahedron_42\", \"resolution\": 952, \"fov_degrees\": 90, \"use_gpu\": true, \"create_masks\": false, \"fname\": \"pano_bank\", \"panorama\": [\"59\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Generated prompt_id: 563b8eb0-e42c-48f1-a486-afbdca4b9432\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 LoadSharpModel: precision: 'auto'\n [ComfyUI] [VRAM] Before LoadSharpModel: 14558 / 24122 MB\n [ComfyUI] [SubprocessWorker] call_method: nodes.load_model.LoadSharpModel.EXECUTE_NORMALIZED\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [worker:ComfyUI-Sharp] ERROR: Failed to import comfy_kitchen, Error: No module named 'comfy_kitchen', fp8 and fp4 support will not be available.\n [ComfyUI] [worker:ComfyUI-Sharp] WARNING: comfy_kitchen does not support stochastic FP8 rounding, please update comfy_kitchen.\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-Sharp] [LoadSharpModel] precision='auto' -> dtype=bf16 (device=cuda:0)\n [ComfyUI] [worker:ComfyUI-Sharp] [LoadSharpModel] checkpoint not found \u2014 downloading from HuggingFace repo 'apple/Sharp' file 'sharp_2572gikvuh.pt' -> /workspaces/Sharp-2116/ComfyUI/models/sharp\n [ComfyUI] \n Frame 2 saved (frame_001.jpg, t=2.2s)\n [capture-periodic] freeze=1ms shot=95ms unfreeze=1ms saved=True\n Frame 3 saved (frame_002.jpg, t=4.4s)\n [capture-periodic] freeze=1ms shot=102ms unfreeze=1ms saved=True\n [capture-loop] iter=50 t=5.5s state={'complete': False, 'error': None, 'executedCount': 0, 'wsState': 1} eval_ms=1 ram=23.1/31.3GB (74%) swap=7.1/32.0GB (22%) cpu=18% browser_rss=1.01GB\n [ComfyUI] sharp_2572gikvuh.pt: 0%| | 0.00/2.81G [00:00<?, ?B/s]\n [ComfyUI] sharp_2572gikvuh.pt: 6%|\u258c | 158M/2.81G [00:04<01:07, 39.3MB/s][SubprocessWorker] callback 'report_progress' from call_id=1\n [ComfyUI] \n [ComfyUI] sharp_2572gikvuh.pt: 10%|\u2588 | 292M/2.81G [00:04<00:31, 79.9MB/s][SubprocessWorker] callback 'report_progress' from call_id=1\n Frame 4 saved (frame_003.jpg, t=6.6s)\n [capture-periodic] freeze=1ms shot=95ms unfreeze=5ms saved=True\n [ComfyUI] \n [ComfyUI] sharp_2572gikvuh.pt: 13%|\u2588\u258e | 359M/2.81G [00:05<00:34, 70.2MB/s][SubprocessWorker] callback 'report_progress' from call_id=1\n Frame 5 saved (frame_004.jpg, t=8.8s)\n [capture-periodic] freeze=1ms shot=95ms unfreeze=5ms saved=True\n [capture-loop] iter=100 t=10.9s state={'complete': False, 'error': None, 'executedCount': 0, 'wsState': 1} eval_ms=2 ram=22.9/31.3GB (73%) swap=7.4/32.0GB (23%) cpu=19% browser_rss=1.01GB\n [ComfyUI] \n [ComfyUI] sharp_2572gikvuh.pt: 15%|\u2588\u258c | 427M/2.81G [00:11<01:20, 29.7MB/s][SubprocessWorker] callback 'report_progress' from call_id=1\n Frame 6 saved (frame_005.jpg, t=15.4s)\n [capture-periodic] freeze=1ms shot=96ms unfreeze=6ms saved=True\n [ComfyUI] \n [ComfyUI] sharp_2572gikvuh.pt: 22%|\u2588\u2588\u258f | 628M/2.81G [00:13<00:49, 44.2MB/s][SubprocessWorker] callback 'report_progress' from call_id=1\n [capture-loop] iter=150 t=16.4s state={'complete': False, 'error': None, 'executedCount': 0, 'wsState': 1} eval_ms=2 ram=23.2/31.3GB (74%) swap=7.5/32.0GB (23%) cpu=12% browser_rss=1.01GB\n Frame 7 saved (frame_006.jpg, t=17.6s)\n [capture-periodic] freeze=1ms shot=101ms unfreeze=1ms saved=True\n [ComfyUI] \n [ComfyUI] sharp_2572gikvuh.pt: 37%|\u2588\u2588\u2588\u258b | 1.03G/2.81G [00:15<00:21, 84.5MB/s][SubprocessWorker] callback 'report_progress' from call_id=1\n [ComfyUI] \n [ComfyUI] sharp_2572gikvuh.pt: 39%|\u2588\u2588\u2588\u2589 | 1.10G/2.81G [00:16<00:18, 92.6MB/s][SubprocessWorker] callback 'report_progress' from call_id=1\n Frame 8 saved (frame_007.jpg, t=19.8s)\n [capture-periodic] freeze=1ms shot=100ms unfreeze=1ms saved=True\n [capture-loop] iter=200 t=21.8s state={'complete': False, 'error': None, 'executedCount': 0, 'wsState': 1} eval_ms=1 ram=23.2/31.3GB (74%) swap=7.6/32.0GB (24%) cpu=11% browser_rss=1.01GB\n [ComfyUI] \n [ComfyUI] sharp_2572gikvuh.pt: 41%|\u2588\u2588\u2588\u2588\u258f | 1.16G/2.81G [00:20<00:31, 53.0MB/s][SubprocessWorker] callback 'report_progress' from call_id=1\n [ComfyUI] \n [ComfyUI] sharp_2572gikvuh.pt: 44%|\u2588\u2588\u2588\u2588\u258d | 1.23G/2.81G [00:20<00:26, 59.4MB/s][SubprocessWorker] callback 'report_progress' from call_id=1\n [ComfyUI] \n [ComfyUI] sharp_2572gikvuh.pt: 49%|\u2588\u2588\u2588\u2588\u258a | 1.37G/2.81G [00:21<00:18, 76.9MB/s][SubprocessWorker] callback 'report_progress' from call_id=1\n Frame 9 saved (frame_008.jpg, t=24.1s)\n [capture-periodic] freeze=1ms shot=109ms unfreeze=5ms saved=True\n [ComfyUI] \n [ComfyUI] sharp_2572gikvuh.pt: 51%|\u2588\u2588\u2588\u2588\u2588 | 1.43G/2.81G [00:23<00:20, 67.4MB/s][SubprocessWorker] callback 'report_progress' from call_id=1\n [ComfyUI] \n [ComfyUI] sharp_2572gikvuh.pt: 75%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u258d | 2.10G/2.81G [00:23<00:03, 211MB/s] [SubprocessWorker] callback 'report_progress' from call_id=1\n Frame 10 saved (frame_009.jpg, t=26.3s)\n [capture-periodic] freeze=1ms shot=111ms unfreeze=5ms saved=True\n [ComfyUI] \n [ComfyUI] sharp_2572gikvuh.pt: 100%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 2.81G/2.81G [00:24<00:00, 382MB/s][SubprocessWorker] callback 'report_progress' from call_id=1\n [ComfyUI] \n [ComfyUI] sharp_2572gikvuh.pt: 100%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 2.81G/2.81G [00:24<00:00, 116MB/s]\n [ComfyUI] [worker:ComfyUI-Sharp] [LoadSharpModel] checkpoint ready: /workspaces/Sharp-2116/ComfyUI/models/sharp/sharp_2572gikvuh.pt (2679.6 MB)\n [ComfyUI] [worker:ComfyUI-Sharp] [LoadSharpModel] config: precision=auto -> dtype=bf16\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] SubprocessWorker: /tmp/comfytest-home/.ce/.pixi/envs/moge2-nodes/bin/python\n [ComfyUI] [comfy-env] env_vars: {'COMFYUI_BASE': '/workspaces/Sharp-2116/ComfyUI'}\n [ComfyUI] [comfy-env] LoadSharpModel done (26.43s): result: NodeOutput\n [ComfyUI] [ComfyUI-MoGe2] python: /tmp/comfytest-home/.ce/.pixi/envs/moge2-nodes/bin/python\n [ComfyUI] [VRAM] After LoadSharpModel: 14500 / 24122 MB\n [ComfyUI] [ComfyUI-MoGe2] sys_path sent to worker: ['/workspaces/Sharp-2116/ComfyUI', '/workspaces/Sharp-2116/ComfyUI/custom_nodes/ComfyUI-MoGe2', '/tmp/comfytest-home/.ce/.pixi/envs/moge2-nodes/lib/python3.1/site-packages', '/workspaces/Sharp-2116/ComfyUI/custom_nodes/ComfyUI-MoGe2']\n [ComfyUI] [comfy-env] Running DownloadAndLoadMoGe2Model: model: 'moge-2-vitl-normal.pt', precision: 'auto', attention: 'auto'\n [ComfyUI] [SubprocessWorker] is_pixi=True, python=/tmp/comfytest-home/.ce/.pixi/envs/moge2-nodes/bin/python\n [ComfyUI] [VRAM] Before DownloadAndLoadMoGe2Model: 14500 / 24122 MB\n [ComfyUI] [SubprocessWorker] launching cmd=['/tmp/comfytest-home/.pixi/bin/pixi', 'run', '--as-is', '--manifest-path', '/tmp/comfytest-home/.ce/pixi.toml', '-e', 'moge2-nodes', 'python', '/tmp/comfyui_pvenv_qiyu3byh/persistent_worker.py', 'abstract://comfy_worker_b6d443267695']...\n [ComfyUI] [SubprocessWorker] call_method: nodes.load_model.DownloadAndLoadMoGe2Model.EXECUTE_NORMALIZED\n [ComfyUI] [SubprocessWorker] socket_addr=abstract://comfy_worker_b6d443267695 (abstract, no filesystem path)\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [capture-loop] iter=250 t=27.4s state={'complete': False, 'error': None, 'executedCount': 0, 'wsState': 1} eval_ms=1 ram=21.9/31.3GB (70%) swap=8.0/32.0GB (25%) cpu=16% browser_rss=0.92GB\n [ComfyUI] [worker:ComfyUI-MoGe2] ERROR: Failed to import comfy_kitchen, Error: No module named 'comfy_kitchen', fp8 and fp4 support will not be available.\n [ComfyUI] [worker:ComfyUI-MoGe2] WARNING: comfy_kitchen does not support stochastic FP8 rounding, please update comfy_kitchen.\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 Frame 11 saved (frame_010.jpg, t=28.5s)\n [capture-periodic] freeze=1ms shot=92ms unfreeze=7ms saved=True\n [ComfyUI] Warning: You are sending unauthenticated requests to the HF Hub. Please set a HF_TOKEN to enable higher rate limits and faster downloads.\n [ComfyUI] [worker:ComfyUI-MoGe2] WARNING: Warning: You are sending unauthenticated requests to the HF Hub. Please set a HF_TOKEN to enable higher rate limits and faster downloads.\n [ComfyUI] \n [capture-loop] iter=300 t=32.8s state={'complete': False, 'error': None, 'executedCount': 0, 'wsState': 1} eval_ms=2 ram=22.4/31.3GB (72%) swap=8.0/32.0GB (25%) cpu=10% browser_rss=0.92GB\n [capture-loop] iter=350 t=38.2s state={'complete': False, 'error': None, 'executedCount': 0, 'wsState': 1} eval_ms=3 ram=22.7/31.3GB (72%) swap=8.3/32.0GB (26%) cpu=9% browser_rss=0.93GB\n [ComfyUI] model.pt: 0%| | 0.00/1.32G [00:00<?, ?B/s]\n [ComfyUI] model.pt: 46%|\u2588\u2588\u2588\u2588\u258c | 604M/1.32G [00:10<00:12, 57.4MB/s][SubprocessWorker] callback 'report_progress' from call_id=1\n [ComfyUI] \n [ComfyUI] model.pt: 61%|\u2588\u2588\u2588\u2588\u2588\u2588 | 805M/1.32G [00:10<00:06, 81.9MB/s][SubprocessWorker] callback 'report_progress' from call_id=1\n [ComfyUI] \n [ComfyUI] model.pt: 71%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588 | 939M/1.32G [00:11<00:03, 102MB/s] [SubprocessWorker] callback 'report_progress' from call_id=1\n [ComfyUI] \n [ComfyUI] model.pt: 77%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u258b | 1.02G/1.32G [00:11<00:02, 110MB/s][SubprocessWorker] callback 'report_progress' from call_id=1\n [ComfyUI] \n [ComfyUI] model.pt: 86%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u258c | 1.14G/1.32G [00:11<00:01, 137MB/s][SubprocessWorker] callback 'report_progress' from call_id=1\n [ComfyUI] \n [ComfyUI] model.pt: 100%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 1.32G/1.32G [00:11<00:00, 196MB/s][SubprocessWorker] callback 'report_progress' from call_id=1\n [ComfyUI] \n [ComfyUI] model.pt: 100%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 1.32G/1.32G [00:11<00:00, 110MB/s]\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] DownloadAndLoadMoGe2Model done (14.51s): result: NodeOutput\n [ComfyUI] [VRAM] After DownloadAndLoadMoGe2Model: 14761 / 24122 MB\n [ComfyUI] [comfy-env] Running PanoramaWrap: image: torch.float32 [1,2048,4096,3] cpu\n [ComfyUI] [comfy-env] SubprocessWorker: /tmp/comfytest-home/.ce/.pixi/envs/panopack-nodes/bin/python\n [ComfyUI] [VRAM] Before PanoramaWrap: 14761 / 24122 MB\n [ComfyUI] [comfy-env] env_vars: {'COMFYUI_BASE': '/workspaces/Sharp-2116/ComfyUI'}\n [ComfyUI] [SubprocessWorker] call_method: nodes.panorama_type.PanoramaWrap.EXECUTE_NORMALIZED\n [ComfyUI] [ComfyUI-PanoPack] python: /tmp/comfytest-home/.ce/.pixi/envs/panopack-nodes/bin/python\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-PanoPack] sys_path sent to worker: ['/workspaces/Sharp-2116/ComfyUI', '/workspaces/Sharp-2116/ComfyUI/custom_nodes/ComfyUI-PanoPack', '/tmp/comfytest-home/.ce/.pixi/envs/panopack-nodes/lib/python3.1/site-packages', '/workspaces/Sharp-2116/ComfyUI/custom_nodes/ComfyUI-PanoPack']\n [ComfyUI] [SubprocessWorker] is_pixi=True, python=/tmp/comfytest-home/.ce/.pixi/envs/panopack-nodes/bin/python\n [ComfyUI] [SubprocessWorker] launching cmd=['/tmp/comfytest-home/.pixi/bin/pixi', 'run', '--as-is', '--manifest-path', '/tmp/comfytest-home/.ce/pixi.toml', '-e', 'panopack-nodes', 'python', '/tmp/comfyui_pvenv_21xouluv/persistent_worker.py', 'abstract://comfy_worker_2ff51dd20ef8']...\n [ComfyUI] [SubprocessWorker] socket_addr=abstract://comfy_worker_2ff51dd20ef8 (abstract, no filesystem path)\n Frame 12 saved (frame_011.jpg, t=41.5s)\n [capture-periodic] freeze=1ms shot=94ms unfreeze=5ms saved=True\n [ComfyUI] [worker:ComfyUI-PanoPack] ERROR: Failed to import comfy_kitchen, Error: No module named 'comfy_kitchen', fp8 and fp4 support will not be available.\n [ComfyUI] [worker:ComfyUI-PanoPack] WARNING: comfy_kitchen does not support stochastic FP8 rounding, please update comfy_kitchen.\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [comfy-env] PRE-SERIALIZE 'image' shape: torch.Size([1, 2048, 4096, 3])\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-PanoPack] [comfy-env] _from_shm got dict with keys: ['__type__', 'strategy', 'parent_pid', 'fd', 'storage_size']\n [ComfyUI] [worker:ComfyUI-PanoPack] [comfy-env] DESERIALIZE TensorRef: tensor_size=[1, 2048, 4096, 3]\n [ComfyUI] [worker:ComfyUI-PanoPack] [comfy-env] DESERIALIZED tensor shape: torch.Size([1, 2048, 4096, 3])\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] PanoramaWrap done (1.73s): result: NodeOutput\n [ComfyUI] [VRAM] After PanoramaWrap: 15022 / 24122 MB\n [ComfyUI] [comfy-env] Running PanoramaSplit: split_method: dict, resolution: 952, fov_degrees: 90.0, use_gpu: True, create_masks: False, fname: 'pano_bank', panorama: dict\n [ComfyUI] [VRAM] Before PanoramaSplit: 15022 / 24122 MB\n [ComfyUI] [SubprocessWorker] call_method: nodes.panorama_split.PanoramaSplit.EXECUTE_NORMALIZED\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-PanoPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-PanoPack] 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] [worker:ComfyUI-PanoPack] [comfy-env] _from_shm got dict with keys: ['__type__', 'strategy', 'parent_pid', 'fd', 'storage_size']\n [ComfyUI] [worker:ComfyUI-PanoPack] [comfy-env] DESERIALIZE TensorRef: tensor_size=[1, 2048, 4096, 3]\n [ComfyUI] [worker:ComfyUI-PanoPack] [comfy-env] DESERIALIZED tensor shape: torch.Size([1, 2048, 4096, 3])\n [capture-loop] iter=400 t=43.6s state={'complete': False, 'error': None, 'executedCount': 0, 'wsState': 1} eval_ms=2 ram=22.2/31.3GB (71%) swap=8.8/32.0GB (27%) cpu=18% browser_rss=0.94GB\n Frame 13 saved (frame_012.jpg, t=43.7s)\n [capture-periodic] freeze=1ms shot=101ms unfreeze=6ms saved=True\n [ComfyUI] [worker:ComfyUI-PanoPack] [PanoramaSplit] swapped up=[0,1,0] for 2 pole vertices\n [capture-loop] iter=450 t=49.1s state={'complete': False, 'error': None, 'executedCount': 0, 'wsState': 1} eval_ms=2 ram=22.2/31.3GB (71%) swap=9.1/32.0GB (28%) cpu=13% browser_rss=0.94GB\n [ComfyUI] [worker:ComfyUI-PanoPack] [VRAM] +822MB (now 822MB) reserved=1312MB peak=822MB\n [ComfyUI] [worker:ComfyUI-PanoPack] [VRAM] -823MB (now 0MB) reserved=1312MB peak=822MB\n [ComfyUI] [worker:ComfyUI-PanoPack] [PanoramaSplit] icosahedron_42: (4096x2048) -> 42 crops @ 952x952, fov=(90,90) via grid_sample (GPU); cameras 1.509s, split 5.811s, total 9.273s\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] PanoramaSplit done (10.51s): result: NodeOutput\n [ComfyUI] [VRAM] After PanoramaSplit: 16396 / 24122 MB\n [capture-loop] iter=500 t=54.4s state={'complete': False, 'error': None, 'executedCount': 0, 'wsState': 1} eval_ms=1 ram=21.8/31.3GB (70%) swap=10.1/32.0GB (32%) cpu=12% browser_rss=0.93GB\n Frame 14 saved (frame_013.jpg, t=54.6s)\n [capture-periodic] freeze=1ms shot=104ms unfreeze=6ms saved=True\n [ComfyUI] [comfy-env] Running MoGe2Inference: resolution_level: 9, num_tokens: 0, fov_x_deg: 90.0, force_projection: True, apply_mask: True, moge2_model: dict, images: torch.float32 [42,952,952,3] cpu\n [ComfyUI] [VRAM] Before MoGe2Inference: 16396 / 24122 MB\n [ComfyUI] [SubprocessWorker] call_method: nodes.nodes_inference.MoGe2Inference.EXECUTE_NORMALIZED\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-MoGe2] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-MoGe2] Health check: ok\n Node executed (1 total), capturing...\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [comfy-env] PRE-SERIALIZE 'images' shape: torch.Size([42, 952, 952, 3])\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] [worker:ComfyUI-MoGe2] [comfy-env] _from_shm got dict with keys: ['__type__', 'strategy', 'parent_pid', 'fd', 'storage_size']\n [ComfyUI] [worker:ComfyUI-MoGe2] [comfy-env] DESERIALIZE TensorRef: tensor_size=[42, 952, 952, 3]\n [ComfyUI] [worker:ComfyUI-MoGe2] [comfy-env] DESERIALIZED tensor shape: torch.Size([42, 952, 952, 3])\n Frame 15 saved (frame_014.jpg, t=56.5s)\n [capture-node] freeze=17ms shot=120ms unfreeze=1ms saved=True\n [capture-loop] iter=550 t=60.2s state={'complete': False, 'error': None, 'executedCount': 1, 'wsState': 1} eval_ms=1 ram=22.5/31.3GB (72%) swap=10.1/32.0GB (32%) cpu=18% browser_rss=1.08GB\n [ComfyUI] [SubprocessWorker] callback 'request_vram_budget' from call_id=2\n [ComfyUI] [comfy-env] VRAM request: 0.66GB, free before eviction: 8.10GB\n [ComfyUI] [comfy-env] VRAM after eviction: 8.10GB\n [ComfyUI] [worker:ComfyUI-MoGe2] [VRAM] +558MB (now 558MB) reserved=576MB peak=558MB\n [capture-loop] iter=600 t=65.7s state={'complete': False, 'error': None, 'executedCount': 1, 'wsState': 1} eval_ms=2 ram=24.0/31.3GB (77%) swap=10.8/32.0GB (34%) cpu=15% browser_rss=1.05GB\n [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2\n [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2\n [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2\n [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2\n [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2\n [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2\n Frame 16 saved (frame_015.jpg, t=67.4s)\n [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2\n [capture-periodic] freeze=1ms shot=95ms unfreeze=7ms saved=True\n [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2\n [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2\n [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2\n [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2\n [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2\n [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2\n [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2\n [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2\n [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2\n [ComfyUI] [worker:ComfyUI-MoGe2] [VRAM] +252MB (now 810MB) reserved=1600MB peak=810MB\n [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2\n Frame 17 saved (frame_016.jpg, t=69.6s)\n [capture-periodic] freeze=1ms shot=89ms unfreeze=1ms saved=True\n [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2\n [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2\n [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2\n [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2\n [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2\n [capture-loop] iter=650 t=71.1s state={'complete': False, 'error': None, 'executedCount': 1, 'wsState': 1} eval_ms=3 ram=24.1/31.3GB (77%) swap=10.9/32.0GB (34%) cpu=15% browser_rss=1.09GB\n [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2\n [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2\n Frame 18 saved (frame_017.jpg, t=71.8s)\n [capture-periodic] freeze=1ms shot=102ms unfreeze=16ms saved=True\n [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2\n [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2\n [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2\n [ComfyUI] [worker:ComfyUI-MoGe2] [VRAM] +348MB (now 1159MB) reserved=1600MB peak=1159MB\n [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2\n [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2\n [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2\n [ComfyUI] [worker:ComfyUI-MoGe2] [VRAM] -452MB (now 707MB) reserved=1600MB peak=1159MB\n [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2\n [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2\n Frame 19 saved (frame_018.jpg, t=74.0s)\n [capture-periodic] freeze=1ms shot=100ms unfreeze=8ms saved=True\n [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2\n [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2\n [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2\n [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2\n [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2\n [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2\n [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2\n Frame 20 saved (frame_019.jpg, t=76.2s)\n [capture-periodic] freeze=4ms shot=101ms unfreeze=1ms saved=True\n [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2\n [capture-loop] iter=700 t=76.7s state={'complete': False, 'error': None, 'executedCount': 1, 'wsState': 1} eval_ms=1 ram=24.2/31.3GB (77%) swap=11.8/32.0GB (37%) cpu=16% browser_rss=1.10GB\n [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2\n [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2\n Frame 21 saved (frame_020.jpg, t=78.4s)\n [capture-periodic] freeze=1ms shot=110ms unfreeze=1ms saved=True\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] Created 1 model patchers: ['MoGeWrapper_1']\n [ComfyUI] [comfy-env] MoGe2Inference done (23.91s): result: NodeOutput\n [ComfyUI] [VRAM] After MoGe2Inference: 18146 / 24122 MB\n [ComfyUI] [VRAM] Loaded: SubprocessModel (631 MB)\n Frame 22 saved (frame_021.jpg, t=80.6s)\n [capture-periodic] freeze=1ms shot=98ms unfreeze=5ms saved=True\n [ComfyUI] [comfy-env] Running PanoramaDepthMerge: out_width: 4096, out_height: 2048, use_gpu: True, scale_anchor: False, chunk_size: 8, center_weight_power: 2.0, normal_edge_threshold_deg: 0.0, normal_consistency_boost: False, max_ray_distance_m: 0.0, face_points: torch.float32 [42,952,952,3] cpu, extrinsics: torch.float32 [42,4,4] cpu, intrinsics: torch.float32 [42,3,3] cpu, face_valid_masks: torch.float32 [42,952,952] cpu, face_normals: torch.float32 [42,952,952,3] cpu\n [ComfyUI] [VRAM] Before PanoramaDepthMerge: 18146 / 24122 MB\n [ComfyUI] [VRAM] Loaded: SubprocessModel (631 MB)\n [ComfyUI] [SubprocessWorker] call_method: nodes.depth_merge.PanoramaDepthMerge.EXECUTE_NORMALIZED\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-PanoPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-PanoPack] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [comfy-env] PRE-SERIALIZE 'face_points' shape: torch.Size([42, 952, 952, 3])\n [ComfyUI] [comfy-env] PRE-SERIALIZE 'extrinsics' shape: torch.Size([42, 4, 4])\n [ComfyUI] [comfy-env] PRE-SERIALIZE 'intrinsics' shape: torch.Size([42, 3, 3])\n [ComfyUI] [comfy-env] PRE-SERIALIZE 'face_valid_masks' shape: torch.Size([42, 952, 952])\n [ComfyUI] [comfy-env] PRE-SERIALIZE 'face_normals' shape: torch.Size([42, 952, 952, 3])\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n Node executed (2 total), capturing...\n Frame 23 saved (frame_022.jpg, t=81.5s)\n [capture-node] freeze=2ms shot=143ms unfreeze=8ms saved=True\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] [worker:ComfyUI-PanoPack] [comfy-env] _from_shm got dict with keys: ['__type__', 'strategy', 'parent_pid', 'fd', 'storage_size']\n [ComfyUI] [worker:ComfyUI-PanoPack] [comfy-env] DESERIALIZE TensorRef: tensor_size=[42, 952, 952, 3]\n [ComfyUI] [worker:ComfyUI-PanoPack] [comfy-env] DESERIALIZED tensor shape: torch.Size([42, 952, 952, 3])\n [ComfyUI] [worker:ComfyUI-PanoPack] [comfy-env] _from_shm got dict with keys: ['__type__', 'strategy', 'parent_pid', 'fd', 'storage_size']\n [ComfyUI] [worker:ComfyUI-PanoPack] [comfy-env] DESERIALIZE TensorRef: tensor_size=[42, 4, 4]\n [ComfyUI] [worker:ComfyUI-PanoPack] [comfy-env] DESERIALIZED tensor shape: torch.Size([42, 4, 4])\n [ComfyUI] [worker:ComfyUI-PanoPack] [comfy-env] _from_shm got dict with keys: ['__type__', 'strategy', 'parent_pid', 'fd', 'storage_size']\n [ComfyUI] [worker:ComfyUI-PanoPack] [comfy-env] DESERIALIZE TensorRef: tensor_size=[42, 3, 3]\n [ComfyUI] [worker:ComfyUI-PanoPack] [comfy-env] DESERIALIZED tensor shape: torch.Size([42, 3, 3])\n [ComfyUI] [worker:ComfyUI-PanoPack] [comfy-env] _from_shm got dict with keys: ['__type__', 'strategy', 'parent_pid', 'fd', 'storage_size']\n [ComfyUI] [worker:ComfyUI-PanoPack] [comfy-env] DESERIALIZE TensorRef: tensor_size=[42, 952, 952]\n [ComfyUI] [worker:ComfyUI-PanoPack] [comfy-env] DESERIALIZED tensor shape: torch.Size([42, 952, 952])\n [ComfyUI] [worker:ComfyUI-PanoPack] [comfy-env] _from_shm got dict with keys: ['__type__', 'strategy', 'parent_pid', 'fd', 'storage_size']\n [ComfyUI] [worker:ComfyUI-PanoPack] [comfy-env] DESERIALIZE TensorRef: tensor_size=[42, 952, 952, 3]\n [ComfyUI] [worker:ComfyUI-PanoPack] [comfy-env] DESERIALIZED tensor shape: torch.Size([42, 952, 952, 3])\n [capture-loop] iter=750 t=82.5s state={'complete': False, 'error': None, 'executedCount': 2, 'wsState': 1} eval_ms=1 ram=26.6/31.3GB (85%) swap=12.5/32.0GB (39%) cpu=19% browser_rss=1.15GB\n Frame 24 saved (frame_023.jpg, t=86.0s)\n [capture-periodic] freeze=1ms shot=97ms unfreeze=4ms saved=True\n [capture-loop] iter=800 t=87.9s state={'complete': False, 'error': None, 'executedCount': 2, 'wsState': 1} eval_ms=1 ram=27.2/31.3GB (87%) swap=13.4/32.0GB (42%) cpu=14% browser_rss=1.15GB\n [capture-loop] iter=850 t=93.4s state={'complete': False, 'error': None, 'executedCount': 2, 'wsState': 1} eval_ms=2 ram=27.3/31.3GB (87%) swap=13.4/32.0GB (42%) cpu=19% browser_rss=1.15GB\n [capture-loop] iter=900 t=98.7s state={'complete': False, 'error': None, 'executedCount': 2, 'wsState': 1} eval_ms=2 ram=27.4/31.3GB (88%) swap=13.4/32.0GB (42%) cpu=20% browser_rss=1.15GB\n [ComfyUI] [worker:ComfyUI-PanoPack]\n [ComfyUI] === WATCHDOG TICK 1 ===\n [ComfyUI] [worker:ComfyUI-PanoPack] Thread 0x00007a4b965ff640 (most recent call first):\n [ComfyUI] File \"/tmp/comfytest-home/.ce/.pixi/envs/panopack-nodes/lib/python3.12/socket.py\", line 295 in accept\n [ComfyUI] File \"/tmp/comfytest-home/.ce/.pixi/envs/panopack-nodes/lib/python3.12/multiprocessing/connection.py\", line 626 in accept\n [ComfyUI] File \"/tmp/comfytest-home/.ce/.pixi/envs/panopack-nodes/lib/python3.12/multiprocessing/connection.py\", line 480 in accept\n [ComfyUI] File \"/tmp/comfytest-home/.ce/.pixi/envs/panopack-nodes/lib/python3.12/multiprocessing/resource_sharer.py\", line 138 in _serve\n [ComfyUI] File \"/tmp/comfytest-home/.ce/.pixi/envs/panopack-nodes/lib/python3.12/threading.py\", line 1012 in run\n [ComfyUI] File \"/tmp/comfytest-home/.ce/.pixi/envs/panopack-nodes/lib/python3.12/threading.py\", line 1075 in _bootstrap_inner\n [ComfyUI] File \"/tmp/comfytest-home/.ce/.pixi/envs/panopack-nodes/lib/python3.12/threading.py\", line 1032 in _bootstrap\n [ComfyUI] \n [ComfyUI] Thread 0x00007a4d775b9640 (most recent call first):\n [ComfyUI] File \"/tmp/comfyui_pvenv_21xouluv/persistent_worker.py\", line 106 in _vram_poller\n [ComfyUI] File \"/tmp/comfytest-home/.ce/.pixi/envs/panopack-nodes/lib/python3.12/threading.py\", line 1012 in run\n [ComfyUI] File \"/tmp/comfytest-home/.ce/.pixi/envs/panopack-nodes/lib/python3.12/threading.py\", line 1075 in _bootstrap_inner\n [ComfyUI] File \"/tmp/comfytest-home/.ce/.pixi/envs/panopack-nodes/lib/python3.12/threading.py\", line 1032 in _bootstrap\n [ComfyUI] \n [ComfyUI] Current thread 0x00007a4d77dbe640 (most recent call first):\n [ComfyUI] File \"/tmp/comfyui_pvenv_21xouluv/persistent_worker.py\", line 52 in _watchdog\n [ComfyUI] File \"/tmp/comfytest-home/.ce/.pixi/envs/panopack-nodes/lib/python3.12/threading.py\", line 1012 in run\n [ComfyUI] File \"/tmp/comfytest-home/.ce/.pixi/envs/panopack-nodes/lib/python3.12/threading.py\", line 1075 in _bootstrap_inner\n [ComfyUI] File \"/tmp/comfytest-home/.ce/.pixi/envs/panopack-nodes/lib/python3.12/threading.py\", line 1032 in _bootstrap\n [ComfyUI] \n [ComfyUI] Thread 0x00007a4d783b9740 (most recent call first):\n [ComfyUI] File \"/tmp/comfytest-home/.ce/.pixi/envs/panopack-nodes/lib/python3.12/site-packages/numpy/_core/einsumfunc.py\", line 1610 in einsum\n [ComfyUI] File \"/workspaces/Sharp-2116/ComfyUI/custom_nodes/ComfyUI-PanoPack/nodes/depth_merge.py\", line 421 in _merge_world_normals\n [ComfyUI] File \"/workspaces/Sharp-2116/ComfyUI/custom_nodes/ComfyUI-PanoPack/nodes/depth_merge.py\", line 896 in execute\n [ComfyUI] File \"/workspaces/Sharp-2116/ComfyUI/comfy_api/latest/_io.py\", line 1892 in EXECUTE_NORMALIZED\n [ComfyUI] File \"/tmp/comfyui_pvenv_21xouluv/persistent_worker.py\", line 1762 in main\n [ComfyUI] File \"/tmp/comfyui_pvenv_21xouluv/persistent_worker.py\", line 1807 in <module>\n [ComfyUI] \n [ComfyUI] [worker:ComfyUI-PanoPack] === END ===\n [ComfyUI] \n [capture-loop] iter=950 t=104.2s state={'complete': False, 'error': None, 'executedCount': 2, 'wsState': 1} eval_ms=2 ram=27.4/31.3GB (88%) swap=13.4/32.0GB (42%) cpu=18% browser_rss=1.15GB\n [capture-loop] iter=1000 t=109.6s state={'complete': False, 'error': None, 'executedCount': 2, 'wsState': 1} eval_ms=1 ram=27.4/31.3GB (88%) swap=13.4/32.0GB (42%) cpu=19% browser_rss=1.15GB\n [ComfyUI] [worker:ComfyUI-PanoPack] [PanoramaDepthMerge] normals merged: 2048x4096\n [ComfyUI] [worker:ComfyUI-PanoPack] [PanoramaDepthMerge] merging 42 faces @ 952x952 -> equirect 2048x4096 (use_gpu=True); input = points (||.|| -> ray distance)\n [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=3\n [ComfyUI] [worker:ComfyUI-PanoPack] [PanoramaDepthMerge] top-level peak VRAM estimate: 3.46 GB (4096x2048, N=42, chunk_size=8)\n [ComfyUI] [SubprocessWorker] callback 'request_vram_budget' from call_id=3\n [ComfyUI] [comfy-env] VRAM request: 3.46GB, free before eviction: 6.27GB\n [ComfyUI] [comfy-env] VRAM after eviction: 6.27GB\n [ComfyUI] [worker:ComfyUI-PanoPack] [PanoramaDepthMerge] -> requested 3.46 GB eviction via comfy_worker.call_parent\n [ComfyUI] [worker:ComfyUI-PanoPack] [VRAM] +435MB (now 435MB) reserved=448MB peak=822MB\n [ComfyUI] /workspaces/Sharp-2116/ComfyUI/custom_nodes/ComfyUI-PanoPack/nodes/_vendor/worldgen/src/panorama_utils.py:349: UserWarning: Sparse CSR tensor support is in beta state. If you miss a functionality in the sparse tensor support, please submit a feature request to https://github.com/pytorch/pytorch/issues. (Triggered internally at /pytorch/aten/src/ATen/SparseCsrTensorImpl.cpp:49.)\n [ComfyUI] A_gpu = torch.sparse_csr_tensor(\n [ComfyUI] [worker:ComfyUI-PanoPack] [merge_panorama_depth_gpu 256x128 ] done 0.50s (warp 0.28, build 0.01, LSMR 0.21); N=42 K=8 chunks=6; depth min/med/max = 0.384/0.945/3.091; valid 32768/32768\n [ComfyUI] [worker:ComfyUI-PanoPack] [merge_panorama_depth_gpu 512x256 ] done 0.68s (warp 0.08, build 0.02, LSMR 0.07); N=42 K=8 chunks=6; depth min/med/max = 0.384/0.945/3.094; valid 131072/131072\n Frame 25 saved (frame_024.jpg, t=114.2s)\n [capture-periodic] freeze=1ms shot=104ms unfreeze=8ms saved=True\n [ComfyUI] [worker:ComfyUI-PanoPack] [merge_panorama_depth_gpu 1024x512 ] done 1.00s (warp 0.11, build 0.05, LSMR 0.13); N=42 K=8 chunks=6; depth min/med/max = 0.384/0.945/3.094; valid 524288/524288\n [capture-loop] iter=1050 t=115.1s state={'complete': False, 'error': None, 'executedCount': 2, 'wsState': 1} eval_ms=1 ram=27.5/31.3GB (88%) swap=13.4/32.0GB (42%) cpu=19% browser_rss=1.15GB\n [ComfyUI] [worker:ComfyUI-PanoPack] [VRAM] +262MB (now 698MB) reserved=768MB peak=822MB\n [ComfyUI] [worker:ComfyUI-PanoPack] [merge_panorama_depth_gpu 2048x1024] done 2.83s (warp 0.20, build 0.75, LSMR 0.82); N=42 K=8 chunks=6; depth min/med/max = 0.384/0.945/3.095; valid 2097152/2097152\n [ComfyUI] [worker:ComfyUI-PanoPack] [VRAM] -400MB (now 298MB) reserved=416MB peak=859MB\n [capture-loop] iter=1100 t=120.4s state={'complete': False, 'error': None, 'executedCount': 2, 'wsState': 1} eval_ms=1 ram=27.4/31.3GB (88%) swap=14.2/32.0GB (44%) cpu=13% browser_rss=0.85GB\n [ComfyUI] [worker:ComfyUI-PanoPack] [VRAM] +383MB (now 682MB) reserved=800MB peak=859MB\n [ComfyUI] [worker:ComfyUI-PanoPack] [VRAM] +287MB (now 970MB) reserved=1088MB peak=970MB\n [capture-loop] iter=1150 t=125.9s state={'complete': False, 'error': None, 'executedCount': 2, 'wsState': 1} eval_ms=1 ram=26.7/31.3GB (86%) swap=16.0/32.0GB (50%) cpu=13% browser_rss=0.71GB\n [ComfyUI] [worker:ComfyUI-PanoPack] [VRAM] +927MB (now 1898MB) reserved=2176MB peak=1898MB\n [ComfyUI] [worker:ComfyUI-PanoPack] [merge_panorama_depth_gpu 4096x2048] done 13.67s (warp 0.59, build 7.43, LSMR 2.61); N=42 K=8 chunks=6; depth min/med/max = 0.384/0.945/3.094; valid 8388608/8388608\n [ComfyUI] [worker:ComfyUI-PanoPack] [PanoramaDepthMerge] merged depth: shape (2048, 4096), min=0.384, median=0.945, max=3.094; valid pixels: 8388608 / 8388608\n [ComfyUI] [worker:ComfyUI-PanoPack] [VRAM] -1891MB (now 8MB) reserved=2176MB peak=1898MB\n [capture-loop] iter=1200 t=131.3s state={'complete': False, 'error': None, 'executedCount': 2, 'wsState': 1} eval_ms=2 ram=25.5/31.3GB (82%) swap=16.1/32.0GB (50%) cpu=17% browser_rss=0.71GB\n [capture-loop] iter=1250 t=136.8s state={'complete': False, 'error': None, 'executedCount': 2, 'wsState': 1} eval_ms=1 ram=25.3/31.3GB (81%) swap=16.1/32.0GB (50%) cpu=19% browser_rss=0.71GB\n [ComfyUI] [worker:ComfyUI-PanoPack] [PanoramaDepthMerge] debug_image: H=2048+102, mult_disagreement (log-d, sphere-uniform): mean=11.22%, p99=24.69%, max=28.22%; overlap_pixels=8388608\n [capture-loop] iter=1300 t=142.2s state={'complete': False, 'error': None, 'executedCount': 2, 'wsState': 1} eval_ms=1 ram=26.0/31.3GB (83%) swap=16.1/32.0GB (50%) cpu=18% browser_rss=0.71GB\n [ComfyUI] [worker:ComfyUI-PanoPack] [headless_gl] prefix=/tmp/comfytest-home/.ce/.pixi/envs/panopack-nodes\n [ComfyUI] [worker:ComfyUI-PanoPack] [headless_gl] OSMesa: ['libOSMesa.so', 'libOSMesa.so.8', 'libOSMesa.so.8.0.0']\n [ComfyUI] [worker:ComfyUI-PanoPack] [headless_gl] env: VTK_DEFAULT_OPENGL_WINDOW=vtkOSOpenGLRenderWindow PYVISTA_OFF_SCREEN=true\n [ComfyUI] [worker:ComfyUI-PanoPack] [PanoramaDepthMerge] xyz_views: cloud bbox center=(-0.79, -0.31, +0.03) m, size=(4.27 x 3.57 x 1.96) m, N=80000 (subsampled)\n [ComfyUI] [worker:ComfyUI-PanoPack] [PanoramaDepthMerge] points: merged equirect point map (1, 2048, 4096, 3)\n [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=3\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] PanoramaDepthMerge done (63.90s): result: NodeOutput\n [ComfyUI] [VRAM] After PanoramaDepthMerge: 16876 / 24122 MB\n [ComfyUI] [VRAM] Loaded: SubprocessModel (631 MB)\n [ComfyUI] [comfy-env] Running PanoramaSplitAdaptive: split_method: 'icosahedron_42', resolution: 1536, fov_degrees: 90.0, use_gpu: True, create_masks: True, mask_method: 'closest_to', panorama: dict, depth_panorama: torch.float32 [1,2048,4096,3] cpu, normals_panorama: torch.float32 [1,2048,4096,3] cpu\n [ComfyUI] [VRAM] Before PanoramaSplitAdaptive: 16876 / 24122 MB\n [ComfyUI] [VRAM] Loaded: SubprocessModel (631 MB)\n [ComfyUI] [SubprocessWorker] call_method: nodes.panorama_split_adaptive.PanoramaSplitAdaptive.EXECUTE_NORMALIZED\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-PanoPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-PanoPack] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [comfy-env] PRE-SERIALIZE 'depth_panorama' shape: torch.Size([1, 2048, 4096, 3])\n [ComfyUI] [comfy-env] PRE-SERIALIZE 'normals_panorama' shape: torch.Size([1, 2048, 4096, 3])\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n Node executed (3 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] [worker:ComfyUI-PanoPack] [comfy-env] _from_shm got dict with keys: ['__type__', 'strategy', 'parent_pid', 'fd', 'storage_size']\n [ComfyUI] [worker:ComfyUI-PanoPack] [comfy-env] DESERIALIZE TensorRef: tensor_size=[1, 2048, 4096, 3]\n [ComfyUI] [worker:ComfyUI-PanoPack] [comfy-env] DESERIALIZED tensor shape: torch.Size([1, 2048, 4096, 3])\n [ComfyUI] [worker:ComfyUI-PanoPack] [comfy-env] _from_shm got dict with keys: ['__type__', 'strategy', 'parent_pid', 'fd', 'storage_size']\n [ComfyUI] [worker:ComfyUI-PanoPack] [comfy-env] DESERIALIZE TensorRef: tensor_size=[1, 2048, 4096, 3]\n [ComfyUI] [worker:ComfyUI-PanoPack] [comfy-env] DESERIALIZED tensor shape: torch.Size([1, 2048, 4096, 3])\n [ComfyUI] [worker:ComfyUI-PanoPack] [comfy-env] _from_shm got dict with keys: ['__type__', 'strategy', 'parent_pid', 'fd', 'storage_size']\n [ComfyUI] [worker:ComfyUI-PanoPack] [comfy-env] DESERIALIZE TensorRef: tensor_size=[1, 2048, 4096, 3]\n [ComfyUI] [worker:ComfyUI-PanoPack] [comfy-env] DESERIALIZED tensor shape: torch.Size([1, 2048, 4096, 3])\n Frame 26 saved (frame_025.jpg, t=145.6s)\n [capture-node] freeze=2ms shot=112ms unfreeze=7ms saved=True\n [ComfyUI] [worker:ComfyUI-PanoPack] [PanoramaSplitAdaptive] computing area weights from depth (2048x4096) + normals...\n [ComfyUI] [worker:ComfyUI-PanoPack] [PanoramaSplitAdaptive] weight range: [1.06, 131], mean=11.7\n [ComfyUI] [worker:ComfyUI-PanoPack] [PanoramaSplitAdaptive] adaptive relax: icosahedron_42 (42 cameras), weighted Lloyd...\n [capture-loop] iter=1350 t=147.9s state={'complete': False, 'error': None, 'executedCount': 3, 'wsState': 1} eval_ms=1 ram=25.0/31.3GB (80%) swap=16.1/32.0GB (50%) cpu=13% browser_rss=0.72GB\n [capture-loop] iter=1400 t=153.3s state={'complete': False, 'error': None, 'executedCount': 3, 'wsState': 1} eval_ms=2 ram=24.8/31.3GB (80%) swap=16.1/32.0GB (50%) cpu=14% browser_rss=0.72GB\n [capture-loop] iter=1450 t=158.8s state={'complete': False, 'error': None, 'executedCount': 3, 'wsState': 1} eval_ms=1 ram=24.9/31.3GB (80%) swap=16.1/32.0GB (50%) cpu=13% browser_rss=0.72GB\n [ComfyUI] [worker:ComfyUI-PanoPack]\n [ComfyUI] === WATCHDOG TICK 2 ===\n [ComfyUI] [worker:ComfyUI-PanoPack] Thread 0x00007a4b965ff640 (most recent call first):\n [ComfyUI] File \"/tmp/comfytest-home/.ce/.pixi/envs/panopack-nodes/lib/python3.12/socket.py\", line 295 in accept\n [ComfyUI] File \"/tmp/comfytest-home/.ce/.pixi/envs/panopack-nodes/lib/python3.12/multiprocessing/connection.py\", line 626 in accept\n [ComfyUI] File \"/tmp/comfytest-home/.ce/.pixi/envs/panopack-nodes/lib/python3.12/multiprocessing/connection.py\", line 480 in accept\n [ComfyUI] File \"/tmp/comfytest-home/.ce/.pixi/envs/panopack-nodes/lib/python3.12/multiprocessing/resource_sharer.py\", line 138 in _serve\n [ComfyUI] File \"/tmp/comfytest-home/.ce/.pixi/envs/panopack-nodes/lib/python3.12/threading.py\", line 1012 in run\n [ComfyUI] File \"/tmp/comfytest-home/.ce/.pixi/envs/panopack-nodes/lib/python3.12/threading.py\", line 1075 in _bootstrap_inner\n [ComfyUI] File \"/tmp/comfytest-home/.ce/.pixi/envs/panopack-nodes/lib/python3.12/threading.py\", line 1032 in _bootstrap\n [ComfyUI] \n [ComfyUI] Thread 0x00007a4d775b9640 (most recent call first):\n [ComfyUI] File \"/tmp/comfyui_pvenv_21xouluv/persistent_worker.py\", line 106 in _vram_poller\n [ComfyUI] File \"/tmp/comfytest-home/.ce/.pixi/envs/panopack-nodes/lib/python3.12/threading.py\", line 1012 in run\n [ComfyUI] File \"/tmp/comfytest-home/.ce/.pixi/envs/panopack-nodes/lib/python3.12/threading.py\", line 1075 in _bootstrap_inner\n [ComfyUI] File \"/tmp/comfytest-home/.ce/.pixi/envs/panopack-nodes/lib/python3.12/threading.py\", line 1032 in _bootstrap\n [ComfyUI] \n [ComfyUI] Current thread 0x00007a4d77dbe640 (most recent call first):\n [ComfyUI] File \"/tmp/comfyui_pvenv_21xouluv/persistent_worker.py\", line 52 in _watchdog\n [ComfyUI] File \"/tmp/comfytest-home/.ce/.pixi/envs/panopack-nodes/lib/python3.12/threading.py\", line 1012 in run\n [ComfyUI] File \"/tmp/comfytest-home/.ce/.pixi/envs/panopack-nodes/lib/python3.12/threading.py\", line 1075 in _bootstrap_inner\n [ComfyUI] File \"/tmp/comfytest-home/.ce/.pixi/envs/panopack-nodes/lib/python3.12/threading.py\", line 1032 in _bootstrap\n [ComfyUI] \n [ComfyUI] Thread 0x00007a4d783b9740 (most recent call first):\n [ComfyUI] File \"/workspaces/Sharp-2116/ComfyUI/custom_nodes/ComfyUI-PanoPack/nodes/panorama_split_adaptive.py\", line 237 in _lloyd_relax\n [ComfyUI] File \"/workspaces/Sharp-2116/ComfyUI/custom_nodes/ComfyUI-PanoPack/nodes/panorama_split_adaptive.py\", line 408 in execute\n [ComfyUI] File \"/workspaces/Sharp-2116/ComfyUI/comfy_api/latest/_io.py\", line 1892 in EXECUTE_NORMALIZED\n [ComfyUI] File \"/tmp/comfyui_pvenv_21xouluv/persistent_worker.py\", line 1762 in main\n [ComfyUI] File \"/tmp/comfyui_pvenv_21xouluv/persistent_worker.py\", line 1807 in <module>\n [ComfyUI] \n [ComfyUI] [worker:ComfyUI-PanoPack] === END ===\n [ComfyUI] \n [capture-loop] iter=1500 t=164.2s state={'complete': False, 'error': None, 'executedCount': 3, 'wsState': 1} eval_ms=2 ram=25.0/31.3GB (80%) swap=16.1/32.0GB (50%) cpu=13% browser_rss=0.72GB\n [capture-loop] iter=1550 t=169.7s state={'complete': False, 'error': None, 'executedCount': 3, 'wsState': 1} eval_ms=3 ram=26.0/31.3GB (83%) swap=16.1/32.0GB (50%) cpu=14% browser_rss=0.72GB\n [ComfyUI] [worker:ComfyUI-PanoPack] [PanoramaSplitAdaptive] Lloyd ran 24 iters (max move 1.42e-02)\n [ComfyUI] [worker:ComfyUI-PanoPack] [PanoramaSplitAdaptive] Lloyd relaxation done: 42 camera directions in 25.331s\n [ComfyUI] [worker:ComfyUI-PanoPack] [PanoramaSplitAdaptive] rasterizing 42 faces @ 1536x1536...\n [capture-loop] iter=1600 t=175.0s state={'complete': False, 'error': None, 'executedCount': 3, 'wsState': 1} eval_ms=1 ram=24.9/31.3GB (80%) swap=16.1/32.0GB (50%) cpu=13% browser_rss=0.72GB\n [capture-loop] iter=1650 t=180.5s state={'complete': False, 'error': None, 'executedCount': 3, 'wsState': 1} eval_ms=1 ram=26.3/31.3GB (84%) swap=16.2/32.0GB (50%) cpu=13% browser_rss=0.72GB\n [ComfyUI] [worker:ComfyUI-PanoPack] [VRAM] +756MB (now 764MB) reserved=800MB peak=1898MB\n [ComfyUI] [worker:ComfyUI-PanoPack] [VRAM] +1230MB (now 1994MB) reserved=3168MB peak=1994MB\n [ComfyUI] [worker:ComfyUI-PanoPack] [VRAM] -1986MB (now 8MB) reserved=3168MB peak=1994MB\n [capture-loop] iter=1700 t=185.9s state={'complete': False, 'error': None, 'executedCount': 3, 'wsState': 1} eval_ms=2 ram=26.1/31.3GB (84%) swap=17.5/32.0GB (55%) cpu=13% browser_rss=0.72GB\n [ComfyUI] [worker:ComfyUI-PanoPack] [PanoramaSplitAdaptive] rasterized RGB in 14.332s (GPU)\n [ComfyUI] [worker:ComfyUI-PanoPack] [PanoramaSplitAdaptive] rasterizing depth crops...\n [capture-loop] iter=1750 t=191.3s state={'complete': False, 'error': None, 'executedCount': 3, 'wsState': 1} eval_ms=2 ram=25.9/31.3GB (83%) swap=17.5/32.0GB (55%) cpu=14% browser_rss=0.72GB\n [capture-loop] iter=1800 t=196.7s state={'complete': False, 'error': None, 'executedCount': 3, 'wsState': 1} eval_ms=1 ram=25.8/31.3GB (82%) swap=18.3/32.0GB (57%) cpu=13% browser_rss=0.72GB\n [ComfyUI] [worker:ComfyUI-PanoPack] [VRAM] +756MB (now 764MB) reserved=3168MB peak=1994MB\n [ComfyUI] [worker:ComfyUI-PanoPack] [VRAM] +1230MB (now 1994MB) reserved=3264MB peak=1994MB\n [ComfyUI] [worker:ComfyUI-PanoPack] [VRAM] -1986MB (now 8MB) reserved=3264MB peak=1994MB\n [capture-loop] iter=1850 t=202.1s state={'complete': False, 'error': None, 'executedCount': 3, 'wsState': 1} eval_ms=1 ram=26.2/31.3GB (84%) swap=19.1/32.0GB (60%) cpu=13% browser_rss=0.66GB\n [ComfyUI] [worker:ComfyUI-PanoPack] [PanoramaSplitAdaptive] rasterizing normals crops...\n [capture-loop] iter=1900 t=207.5s state={'complete': False, 'error': None, 'executedCount': 3, 'wsState': 1} eval_ms=2 ram=26.0/31.3GB (83%) swap=19.4/32.0GB (61%) cpu=13% browser_rss=0.66GB\n [capture-loop] iter=1950 t=213.0s state={'complete': False, 'error': None, 'executedCount': 3, 'wsState': 1} eval_ms=2 ram=26.6/31.3GB (85%) swap=19.5/32.0GB (61%) cpu=13% browser_rss=0.66GB\n [ComfyUI] [worker:ComfyUI-PanoPack] [VRAM] +1986MB (now 1994MB) reserved=3264MB peak=1994MB\n [capture-loop] iter=2000 t=218.3s state={'complete': False, 'error': None, 'executedCount': 3, 'wsState': 1} eval_ms=1 ram=28.9/31.3GB (93%) swap=19.5/32.0GB (61%) cpu=12% browser_rss=0.66GB\n [ComfyUI] [worker:ComfyUI-PanoPack] [VRAM] -1986MB (now 8MB) reserved=3264MB peak=1994MB\n [ComfyUI] [worker:ComfyUI-PanoPack] [PanoramaSplitAdaptive] generating closest_to masks...\n [ComfyUI] [worker:ComfyUI-PanoPack]\n [ComfyUI] === WATCHDOG TICK 3 ===\n [ComfyUI] [worker:ComfyUI-PanoPack] Thread 0x00007a4b965ff64\n... (truncated)", "hardware": {"os": "Linux-6.8.0-107-generic-x86_64-with-glibc2.35", "cpu": "AMD Ryzen 5 5600 6-Core Processor", "gpu": "NVIDIA GeForce RTX 3090"}}, "sharp_basic": {"src": "screenshots/sharp_basic_executed.png", "title": "sharp_basic", "status": "pass", "duration": "55.20", "log": " [ComfyUI] [ComfyUI-MoGe2] python: /tmp/comfytest-home/.ce/.pixi/envs/moge2-nodes/bin/python\n [ComfyUI] [comfy-env] [VRAM] Before offload 'MoGeWrapper_1' (631 MB) -> cpu: 24094 / 24122 MB\nCapturing execution frames: sharp_basic.json\n [ComfyUI] [ComfyUI-MoGe2] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-MoGe2] sys_path sent to worker: ['/workspaces/Sharp-2116/ComfyUI', '/workspaces/Sharp-2116/ComfyUI/custom_nodes/ComfyUI-MoGe2', '/tmp/comfytest-home/.ce/.pixi/envs/moge2-nodes/lib/python3.1/site-packages', '/workspaces/Sharp-2116/ComfyUI/custom_nodes/ComfyUI-MoGe2']\n [ComfyUI] [ComfyUI-MoGe2] Health check: failed\n [ComfyUI] [SubprocessWorker] is_pixi=True, python=/tmp/comfytest-home/.ce/.pixi/envs/moge2-nodes/bin/python\n [ComfyUI] [ComfyUI-MoGe2] Socket unhealthy, restarting worker...\n [ComfyUI] [SubprocessWorker] launching cmd=['/tmp/comfytest-home/.pixi/bin/pixi', 'run', '--as-is', '--manifest-path', '/tmp/comfytest-home/.ce/pixi.toml', '-e', 'moge2-nodes', 'python', '/tmp/comfyui_pvenv_qiyu3byh/persistent_worker.py', 'abstract://comfy_worker_c866669d71d1']...\n [ComfyUI] [SubprocessWorker] socket_addr=abstract://comfy_worker_c866669d71d1 (abstract, no filesystem path)\n [ComfyUI] [comfy-env] Invalidated 1 stale model patchers (will be cleaned up during next unload)\n [ComfyUI] [worker:ComfyUI-MoGe2] ERROR: Failed to import comfy_kitchen, Error: No module named 'comfy_kitchen', fp8 and fp4 support will not be available.\n [ComfyUI] [worker:ComfyUI-MoGe2] WARNING: comfy_kitchen does not support stochastic FP8 rounding, please update comfy_kitchen.\n [ComfyUI] [SubprocessWorker] call_id=3 sending model_to_device\n [ComfyUI] \u001b[1m\u001b[33m[WARNING]\u001b[0m Model 'MoGeWrapper_1' gone from worker (restarted?), treating as offloaded\n [ComfyUI] [comfy-env] [VRAM] After offload 'MoGeWrapper_1' (631 MB): 24094 / 24122 MB\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 Queuing workflow for execution...\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: LoadImage\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"image\": \"beach.jpg\"}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 2: LoadSharpModel\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"precision\": \"auto\"}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 5: SharpPredict\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"focal_length_mm\": 30, \"output_prefix\": \"sharp\", \"model\": [\"2\", 0], \"image\": [\"1\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 6: PreviewGaussianSharp\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"preview_gaussian\": \"\", \"ply_path\": [\"5\", 0], \"extrinsics\": [\"5\", 1], \"intrinsics\": [\"5\", 2]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Generated prompt_id: f20069a5-23b5-4b7b-b9bb-e43f2bd0934a\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 LoadSharpModel: precision: 'auto'\n [ComfyUI] [ComfyUI-Sharp] python: /tmp/comfytest-home/.ce/.pixi/envs/sharp-nodes/bin/python\n [ComfyUI] [VRAM] Before LoadSharpModel: 22083 / 24122 MB\n [ComfyUI] [SubprocessWorker] call_method: nodes.load_model.LoadSharpModel.EXECUTE_NORMALIZED\n [ComfyUI] [ComfyUI-Sharp] sys_path sent to worker: ['/workspaces/Sharp-2116/ComfyUI', '/workspaces/Sharp-2116/ComfyUI/custom_nodes/ComfyUI-Sharp', '/tmp/comfytest-home/.ce/.pixi/envs/sharp-nodes/lib/python3.1/site-packages', '/workspaces/Sharp-2116/ComfyUI/custom_nodes/ComfyUI-Sharp']\n [ComfyUI] [SubprocessWorker] is_pixi=True, python=/tmp/comfytest-home/.ce/.pixi/envs/sharp-nodes/bin/python\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [SubprocessWorker] launching cmd=['/tmp/comfytest-home/.pixi/bin/pixi', 'run', '--as-is', '--manifest-path', '/tmp/comfytest-home/.ce/pixi.toml', '-e', 'sharp-nodes', 'python', '/tmp/comfyui_pvenv_dkunr1h2/persistent_worker.py', 'abstract://comfy_worker_4c1c0ea91cc9']...\n [ComfyUI] [ComfyUI-Sharp] Health check: ping (timeout=5.0s)...\n [ComfyUI] [SubprocessWorker] socket_addr=abstract://comfy_worker_4c1c0ea91cc9 (abstract, no filesystem path)\n [ComfyUI] [ComfyUI-Sharp] Health check: failed\n [ComfyUI] [ComfyUI-Sharp] Socket unhealthy, restarting worker...\n [ComfyUI] [worker:ComfyUI-Sharp] ERROR: Failed to import comfy_kitchen, Error: No module named 'comfy_kitchen', fp8 and fp4 support will not be available.\n [ComfyUI] [worker:ComfyUI-Sharp] WARNING: comfy_kitchen does not support stochastic FP8 rounding, please update comfy_kitchen.\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=4 sending call_method\n [ComfyUI] [worker:ComfyUI-Sharp] [LoadSharpModel] precision='auto' -> dtype=bf16 (device=cuda:0)\n [ComfyUI] [worker:ComfyUI-Sharp] [LoadSharpModel] checkpoint already present, reusing (no download): /workspaces/Sharp-2116/ComfyUI/models/sharp/sharp_2572gikvuh.pt (2679.6 MB)\n [ComfyUI] [worker:ComfyUI-Sharp] [LoadSharpModel] checkpoint ready: /workspaces/Sharp-2116/ComfyUI/models/sharp/sharp_2572gikvuh.pt (2679.6 MB)\n [ComfyUI] [worker:ComfyUI-Sharp] [LoadSharpModel] config: precision=auto -> dtype=bf16\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] [VRAM] Before offload 'MoGeWrapper_1' (631 MB) -> cpu: 18097 / 24122 MB\n [ComfyUI] [ComfyUI-MoGe2] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-MoGe2] Health check: ok\n [ComfyUI] [SubprocessWorker] call_id=4 sending model_to_device\n [ComfyUI] \u001b[1m\u001b[33m[WARNING]\u001b[0m Model 'MoGeWrapper_1' gone from worker (restarted?), treating as offloaded\n [ComfyUI] [comfy-env] [VRAM] After offload 'MoGeWrapper_1' (631 MB): 18097 / 24122 MB\n [ComfyUI] [comfy-env] LoadSharpModel done (1.79s): result: NodeOutput\n [ComfyUI] [VRAM] After LoadSharpModel: 18097 / 24122 MB\n [ComfyUI] [comfy-env] Running SharpPredict: focal_length_mm: 30.0, output_prefix: 'sharp', model: dict, image: torch.float32 [1,1024,1536,3] cpu\n [ComfyUI] [VRAM] Before SharpPredict: 18097 / 24122 MB\n [ComfyUI] [SubprocessWorker] call_method: nodes.predict.SharpPredict.EXECUTE_NORMALIZED\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-Sharp] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-Sharp] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [comfy-env] PRE-SERIALIZE 'image' shape: torch.Size([1, 1024, 1536, 3])\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] [worker:ComfyUI-Sharp] [comfy-env] _from_shm got dict with keys: ['__type__', 'strategy', 'parent_pid', 'fd', 'storage_size']\n [ComfyUI] [worker:ComfyUI-Sharp] [comfy-env] DESERIALIZE TensorRef: tensor_size=[1, 1024, 1536, 3]\n [ComfyUI] [worker:ComfyUI-Sharp] [comfy-env] DESERIALIZED tensor shape: torch.Size([1, 1024, 1536, 3])\n Frame 2 saved (frame_001.jpg, t=2.3s)\n [capture-periodic] freeze=3ms shot=127ms unfreeze=4ms saved=True\n Frame 3 saved (frame_002.jpg, t=4.5s)\n [capture-periodic] freeze=3ms shot=110ms unfreeze=1ms saved=True\n [capture-loop] iter=50 t=5.6s state={'complete': False, 'error': None, 'executedCount': 0, 'wsState': 1} eval_ms=1 ram=17.5/31.3GB (56%) swap=22.3/32.0GB (70%) cpu=17% browser_rss=0.77GB\n [ComfyUI] [worker:ComfyUI-Sharp] [LoadSharpModel] loading checkpoint from /workspaces/Sharp-2116/ComfyUI/models/sharp/sharp_2572gikvuh.pt (dtype=bf16)\n [ComfyUI] [worker:ComfyUI-Sharp] [LoadSharpModel] initializing model on meta device...\n [ComfyUI] [worker:ComfyUI-Sharp] [LoadSharpModel] model ready (torch.bfloat16)\n [ComfyUI] [SubprocessWorker] callback 'request_vram_budget' from call_id=5\n [ComfyUI] [comfy-env] VRAM request: 2.81GB, free before eviction: 6.32GB\n [ComfyUI] [comfy-env] VRAM after eviction: 6.32GB\n [ComfyUI] [worker:ComfyUI-Sharp] [VRAM] +200MB (now 200MB) reserved=384MB peak=200MB\n [ComfyUI] [worker:ComfyUI-Sharp] [VRAM] +412MB (now 613MB) reserved=896MB peak=667MB\n [ComfyUI] [worker:ComfyUI-Sharp] [VRAM] +903MB (now 1517MB) reserved=5280MB peak=4406MB\n [capture-loop] iter=100 t=10.9s state={'complete': False, 'error': None, 'executedCount': 0, 'wsState': 1} eval_ms=2 ram=22.7/31.3GB (73%) swap=22.3/32.0GB (70%) cpu=15% browser_rss=0.72GB\n [ComfyUI] [worker:ComfyUI-Sharp] [VRAM] +994MB (now 2511MB) reserved=4224MB peak=4406MB\n [ComfyUI] [worker:ComfyUI-Sharp] [VRAM] -698MB (now 1814MB) reserved=4224MB peak=4406MB\n [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=5\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] SubprocessWorker: /tmp/comfytest-home/.ce/.pixi/envs/gaussianpack-nodes/bin/python\n [ComfyUI] [comfy-env] SharpPredict done (10.73s): result: NodeOutput\n [ComfyUI] [comfy-env] env_vars: {'COMFYUI_BASE': '/workspaces/Sharp-2116/ComfyUI'}\n [ComfyUI] [VRAM] After SharpPredict: 22441 / 24122 MB\n [ComfyUI] [ComfyUI-GaussianPack] python: /tmp/comfytest-home/.ce/.pixi/envs/gaussianpack-nodes/bin/python\n [ComfyUI] [comfy-env] Running PreviewGaussianSharp: ply_path: '/workspaces/Sharp-2116/ComfyUI/output/sharp_178086760762..., extrinsics: list[4], intrinsics: list[3]\n [ComfyUI] [ComfyUI-GaussianPack] sys_path sent to worker: ['/workspaces/Sharp-2116/ComfyUI', '/workspaces/Sharp-2116/ComfyUI/custom_nodes/ComfyUI-GaussianPack', '/tmp/comfytest-home/.ce/.pixi/envs/gaussianpack-nodes/lib/python3.1/site-packages', '/workspaces/Sharp-2116/ComfyUI/custom_nodes/ComfyUI-GaussianPack']\n [ComfyUI] [VRAM] Before PreviewGaussianSharp: 22441 / 24122 MB\n [ComfyUI] [SubprocessWorker] is_pixi=True, python=/tmp/comfytest-home/.ce/.pixi/envs/gaussianpack-nodes/bin/python\n [ComfyUI] [SubprocessWorker] call_method: nodes.preview_gaussian_sharp.PreviewGaussianSharp.EXECUTE_NORMALIZED\n [ComfyUI] [SubprocessWorker] launching cmd=['/tmp/comfytest-home/.pixi/bin/pixi', 'run', '--as-is', '--manifest-path', '/tmp/comfytest-home/.ce/pixi.toml', '-e', 'gaussianpack-nodes', 'python', '/tmp/comfyui_pvenv_wh7tm0qh/persistent_worker.py', 'abstract://comfy_worker_91dc799f389a']...\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [SubprocessWorker] socket_addr=abstract://comfy_worker_91dc799f389a (abstract, no filesystem path)\n Frame 4 saved (frame_003.jpg, t=13.2s)\n [capture-periodic] freeze=1ms shot=107ms unfreeze=2ms 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] PreviewGaussianSharp done (1.55s): result: NodeOutput\n [ComfyUI] [VRAM] After PreviewGaussianSharp: 22441 / 24122 MB\n [ComfyUI] \u001b[32m[INFO]\u001b[0m \u001b[32mPrompt executed in 14.13 seconds\u001b[0m\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\n Node executed (1 total), capturing...\n Frame 5 saved (frame_004.jpg, t=14.5s)\n [capture-node] freeze=1ms shot=839ms unfreeze=0ms saved=True\n Execution complete (t=14.5s)\n [3d-wait] Phase 1: Waiting for 'Loading 3D Model' text to disappear...\n [3d-wait] Phase 1 done in 0.0s\n [3d-wait] Phase 2: iframes=1\n [3d-wait] iframe viewer_ready=True (matched 1 console logs)\n [3d-wait] Unfrozen in 0.001s, rendering for 5s...\n [3d-wait] JS halted via CDP after 8.0s\n [3d-wait] Re-frozen in 31.6s\n [3d-wait] Total 3D wait: 31.6s\n Captured 5 unique frames over 47.15s\n [debug] iframes: 1\n [debug] iframe[0]: src=http://127.0.0.1:41893/extensions/ComfyUI-GaussianPack/viewer_gaussian_sharp.htm, canvas=1536x1024, rafFrozen=True\n [timing] trigger_3d_previews: 0.0s\n Saved high-quality screenshot: sharp_basic_executed.png\n [timing] final_screenshot: 0.3s\n Captured 6 video frames", "hardware": {"os": "Linux-6.8.0-107-generic-x86_64-with-glibc2.35", "cpu": "AMD Ryzen 5 5600 6-Core Processor", "gpu": "NVIDIA GeForce RTX 3090"}}, "sharp_exif": {"src": "screenshots/sharp_exif_executed.png", "title": "sharp_exif", "status": "pass", "duration": "53.39", "log": "Capturing execution frames: sharp_exif.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 Queuing workflow for execution...\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 2: LoadSharpModel\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"precision\": \"auto\"}\n [ComfyUI] [ComfyUI-Sharp] python: /tmp/comfytest-home/.ce/.pixi/envs/sharp-nodes/bin/python\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 7: SharpPredict\n [ComfyUI] [ComfyUI-Sharp] sys_path sent to worker: ['/workspaces/Sharp-2116/ComfyUI', '/workspaces/Sharp-2116/ComfyUI/custom_nodes/ComfyUI-Sharp', '/tmp/comfytest-home/.ce/.pixi/envs/sharp-nodes/lib/python3.1/site-packages', '/workspaces/Sharp-2116/ComfyUI/custom_nodes/ComfyUI-Sharp']\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"focal_length_mm\": [\"9\", 2], \"output_prefix\": \"sharp\", \"model\": [\"2\", 0], \"image\": [\"9\", 0]}\n [ComfyUI] [SubprocessWorker] is_pixi=True, python=/tmp/comfytest-home/.ce/.pixi/envs/sharp-nodes/bin/python\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 9: LoadImageWithExif\n [ComfyUI] [SubprocessWorker] launching cmd=['/tmp/comfytest-home/.pixi/bin/pixi', 'run', '--as-is', '--manifest-path', '/tmp/comfytest-home/.ce/pixi.toml', '-e', 'sharp-nodes', 'python', '/tmp/comfyui_pvenv_dkunr1h2/persistent_worker.py', 'abstract://comfy_worker_40fcddf9ed07']...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"image\": \"eth3d.png\", \"default_focal_mm\": 30}\n [ComfyUI] [SubprocessWorker] socket_addr=abstract://comfy_worker_40fcddf9ed07 (abstract, no filesystem path)\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 11: PreviewGaussianSharp\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"preview_gaussian\": \"\", \"ply_path\": [\"7\", 0], \"extrinsics\": [\"7\", 1], \"intrinsics\": [\"7\", 2]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Generated prompt_id: f9d3b9bf-b528-4577-8d55-e06bb3b73d36\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 LoadImageWithExif: image: 'eth3d.png', default_focal_mm: 30.0\n [ComfyUI] [VRAM] Before LoadImageWithExif: 22441 / 24122 MB\n [ComfyUI] [SubprocessWorker] call_method: nodes.load_image_exif.LoadImageWithExif.EXECUTE_NORMALIZED\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-Sharp] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-Sharp] Health check: failed\n [ComfyUI] [ComfyUI-Sharp] Socket unhealthy, restarting worker...\n [ComfyUI] [worker:ComfyUI-Sharp] ERROR: Failed to import comfy_kitchen, Error: No module named 'comfy_kitchen', fp8 and fp4 support will not be available.\n [ComfyUI] [worker:ComfyUI-Sharp] WARNING: comfy_kitchen does not support stochastic FP8 rounding, please update comfy_kitchen.\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] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] LoadImageWithExif done (1.74s): result: NodeOutput\n [ComfyUI] [VRAM] After LoadImageWithExif: 18099 / 24122 MB\n [ComfyUI] [comfy-env] Running LoadSharpModel: precision: 'auto'\n [ComfyUI] [VRAM] Before LoadSharpModel: 18099 / 24122 MB\n [ComfyUI] [SubprocessWorker] call_method: nodes.load_model.LoadSharpModel.EXECUTE_NORMALIZED\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-Sharp] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-Sharp] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=7 sending call_method\n [ComfyUI] [worker:ComfyUI-Sharp] [LoadSharpModel] precision='auto' -> dtype=bf16 (device=cuda:0)\n [ComfyUI] [worker:ComfyUI-Sharp] [LoadSharpModel] checkpoint already present, reusing (no download): /workspaces/Sharp-2116/ComfyUI/models/sharp/sharp_2572gikvuh.pt (2679.6 MB)\n [ComfyUI] [worker:ComfyUI-Sharp] [LoadSharpModel] checkpoint ready: /workspaces/Sharp-2116/ComfyUI/models/sharp/sharp_2572gikvuh.pt (2679.6 MB)\n [ComfyUI] [worker:ComfyUI-Sharp] [LoadSharpModel] config: precision=auto -> dtype=bf16\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] LoadSharpModel done (0.08s): result: NodeOutput\n [ComfyUI] [VRAM] After LoadSharpModel: 18099 / 24122 MB\n [ComfyUI] [comfy-env] Running SharpPredict: focal_length_mm: 20.0, output_prefix: 'sharp', model: dict, image: torch.float32 [1,1011,1520,3] cpu\n [ComfyUI] [VRAM] Before SharpPredict: 18099 / 24122 MB\n [ComfyUI] [SubprocessWorker] call_method: nodes.predict.SharpPredict.EXECUTE_NORMALIZED\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-Sharp] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-Sharp] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [comfy-env] PRE-SERIALIZE 'image' shape: torch.Size([1, 1011, 1520, 3])\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n Frame 2 saved (frame_001.jpg, t=2.3s)\n [capture-periodic] freeze=1ms shot=123ms unfreeze=2ms saved=True\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=8 sending call_method\n [ComfyUI] [worker:ComfyUI-Sharp] [comfy-env] _from_shm got dict with keys: ['__type__', 'strategy', 'parent_pid', 'fd', 'storage_size']\n [ComfyUI] [worker:ComfyUI-Sharp] [comfy-env] DESERIALIZE TensorRef: tensor_size=[1, 1011, 1520, 3]\n [ComfyUI] [worker:ComfyUI-Sharp] [comfy-env] DESERIALIZED tensor shape: torch.Size([1, 1011, 1520, 3])\n Frame 3 saved (frame_002.jpg, t=4.5s)\n [capture-periodic] freeze=1ms shot=120ms unfreeze=1ms saved=True\n [capture-loop] iter=50 t=5.6s state={'complete': False, 'error': None, 'executedCount': 0, 'wsState': 1} eval_ms=1 ram=13.3/31.3GB (43%) swap=22.2/32.0GB (69%) cpu=68% browser_rss=0.84GB\n [ComfyUI] [worker:ComfyUI-Sharp] [LoadSharpModel] loading checkpoint from /workspaces/Sharp-2116/ComfyUI/models/sharp/sharp_2572gikvuh.pt (dtype=bf16)\n [ComfyUI] [worker:ComfyUI-Sharp] [LoadSharpModel] initializing model on meta device...\n [ComfyUI] [worker:ComfyUI-Sharp] [LoadSharpModel] model ready (torch.bfloat16)\n [ComfyUI] [SubprocessWorker] callback 'request_vram_budget' from call_id=8\n [ComfyUI] [comfy-env] VRAM request: 2.81GB, free before eviction: 6.32GB\n [ComfyUI] [comfy-env] VRAM after eviction: 6.32GB\n [ComfyUI] [worker:ComfyUI-Sharp] [VRAM] +200MB (now 200MB) reserved=384MB peak=200MB\n [ComfyUI] [worker:ComfyUI-Sharp] [VRAM] +421MB (now 621MB) reserved=896MB peak=675MB\n [ComfyUI] [worker:ComfyUI-Sharp] [VRAM] +894MB (now 1516MB) reserved=5280MB peak=4405MB\n [capture-loop] iter=100 t=11.0s state={'complete': False, 'error': None, 'executedCount': 0, 'wsState': 1} eval_ms=3 ram=17.5/31.3GB (56%) swap=22.2/32.0GB (69%) cpu=15% browser_rss=0.84GB\n [ComfyUI] [worker:ComfyUI-Sharp] [VRAM] +994MB (now 2511MB) reserved=4384MB peak=4405MB\n [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=8\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] SharpPredict done (10.70s): result: NodeOutput\n [ComfyUI] [VRAM] After SharpPredict: 22601 / 24122 MB\n [ComfyUI] [comfy-env] Running PreviewGaussianSharp: ply_path: '/workspaces/Sharp-2116/ComfyUI/output/sharp_178086766310..., extrinsics: list[4], intrinsics: list[3]\n [ComfyUI] [VRAM] Before PreviewGaussianSharp: 22601 / 24122 MB\n [ComfyUI] [SubprocessWorker] call_method: nodes.preview_gaussian_sharp.PreviewGaussianSharp.EXECUTE_NORMALIZED\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] PreviewGaussianSharp done (0.05s): result: NodeOutput\n [ComfyUI] [VRAM] After PreviewGaussianSharp: 22601 / 24122 MB\n [ComfyUI] \u001b[32m[INFO]\u001b[0m \u001b[32mPrompt executed in 12.58 seconds\u001b[0m\n Node executed (1 total), capturing...\n Frame 4 saved (frame_003.jpg, t=13.0s)\n [capture-node] freeze=1ms shot=946ms unfreeze=0ms saved=True\n Execution complete (t=13.0s)\n [3d-wait] Phase 1: Waiting for 'Loading 3D Model' text to disappear...\n [3d-wait] Phase 1 done in 0.0s\n [3d-wait] Phase 2: iframes=1\n [3d-wait] iframe viewer_ready=True (matched 1 console logs)\n [3d-wait] Unfrozen in 0.001s, rendering for 5s...\n [3d-wait] JS halted via CDP after 8.1s\n [3d-wait] Re-frozen in 31.8s\n [3d-wait] Total 3D wait: 31.8s\n Captured 4 unique frames over 45.93s\n [debug] iframes: 1\n [debug] iframe[0]: src=http://127.0.0.1:41893/extensions/ComfyUI-GaussianPack/viewer_gaussian_sharp.htm, canvas=1520x1011, rafFrozen=True\n [timing] trigger_3d_previews: 0.0s\n Saved high-quality screenshot: sharp_exif_executed.png\n [timing] final_screenshot: 0.3s\n Captured 5 video frames", "hardware": {"os": "Linux-6.8.0-107-generic-x86_64-with-glibc2.35", "cpu": "AMD Ryzen 5 5600 6-Core Processor", "gpu": "NVIDIA GeForce RTX 3090"}}, "vanilla_vs_image_depth_gaussians": {"src": "screenshots/vanilla_vs_image_depth_gaussians_executed.png", "title": "vanilla_vs_image_depth_gaussians", "status": "pass", "duration": "111.12", "log": "Capturing execution frames: vanilla_vs_image_depth_gaussians.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 Queuing workflow for execution...\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 8 nodes\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 7: LoadImage\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"image\": \"middlebury.jpg\"}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 9: LoadSharpModel\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"precision\": \"auto\"}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 47: SharpPredictMetricDepth\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"focal_length_mm\": 30, \"model\": [\"9\", 0], \"image\": [\"7\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 57: SharpPredict\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"focal_length_mm\": 30, \"output_prefix\": \"sharp\", \"model\": [\"9\", 0], \"image\": [\"58\", 0]}\n [ComfyUI] [ComfyUI-Sharp] python: /tmp/comfytest-home/.ce/.pixi/envs/sharp-nodes/bin/python\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 58: ImageFromBatch\n [ComfyUI] [ComfyUI-Sharp] sys_path sent to worker: ['/workspaces/Sharp-2116/ComfyUI', '/workspaces/Sharp-2116/ComfyUI/custom_nodes/ComfyUI-Sharp', '/tmp/comfytest-home/.ce/.pixi/envs/sharp-nodes/lib/python3.1/site-packages', '/workspaces/Sharp-2116/ComfyUI/custom_nodes/ComfyUI-Sharp']\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"batch_index\": 0, \"length\": 1, \"image\": [\"7\", 0]}\n [ComfyUI] [SubprocessWorker] is_pixi=True, python=/tmp/comfytest-home/.ce/.pixi/envs/sharp-nodes/bin/python\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 83: SharpPredictGaussiansFromMetricDepth\n [ComfyUI] [SubprocessWorker] launching cmd=['/tmp/comfytest-home/.pixi/bin/pixi', 'run', '--as-is', '--manifest-path', '/tmp/comfytest-home/.ce/pixi.toml', '-e', 'sharp-nodes', 'python', '/tmp/comfyui_pvenv_dkunr1h2/persistent_worker.py', 'abstract://comfy_worker_3da5d23f0c89']...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"snap_to_external_depth\": \"none\", \"depth_convention\": \"planar_z\", \"focal_length_mm\": 30, \"output_prefix\": \"sharp_aligned\", \"save_background_layer\": true, \"edge_crop\": 0, \"model\": [\"9\", 0], \"image\": [\n [ComfyUI] [SubprocessWorker] socket_addr=abstract://comfy_worker_3da5d23f0c89 (abstract, no filesystem path)\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 92: PreviewGaussianSharp\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"preview_gaussian\": \"\", \"ply_path\": [\"83\", 0], \"extrinsics\": [\"83\", 2], \"intrinsics\": [\"83\", 3]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 93: PreviewGaussianSharp\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"preview_gaussian\": \"\", \"ply_path\": [\"57\", 0], \"extrinsics\": [\"57\", 1], \"intrinsics\": [\"57\", 2]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Generated prompt_id: 97ff6663-3fdf-496a-8b63-35cbfdb225a8\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 LoadSharpModel: precision: 'auto'\n [ComfyUI] [VRAM] Before LoadSharpModel: 22601 / 24122 MB\n [ComfyUI] [SubprocessWorker] call_method: nodes.load_model.LoadSharpModel.EXECUTE_NORMALIZED\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-Sharp] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-Sharp] Health check: failed\n [ComfyUI] [ComfyUI-Sharp] Socket unhealthy, restarting worker...\n [ComfyUI] [worker:ComfyUI-Sharp] ERROR: Failed to import comfy_kitchen, Error: No module named 'comfy_kitchen', fp8 and fp4 support will not be available.\n [ComfyUI] [worker:ComfyUI-Sharp] WARNING: comfy_kitchen does not support stochastic FP8 rounding, please update comfy_kitchen.\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=9 sending call_method\n [ComfyUI] [worker:ComfyUI-Sharp] [LoadSharpModel] precision='auto' -> dtype=bf16 (device=cuda:0)\n [ComfyUI] [worker:ComfyUI-Sharp] [LoadSharpModel] checkpoint already present, reusing (no download): /workspaces/Sharp-2116/ComfyUI/models/sharp/sharp_2572gikvuh.pt (2679.6 MB)\n [ComfyUI] [worker:ComfyUI-Sharp] [LoadSharpModel] checkpoint ready: /workspaces/Sharp-2116/ComfyUI/models/sharp/sharp_2572gikvuh.pt (2679.6 MB)\n [ComfyUI] [worker:ComfyUI-Sharp] [LoadSharpModel] config: precision=auto -> dtype=bf16\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] LoadSharpModel done (1.74s): result: NodeOutput\n [ComfyUI] [VRAM] After LoadSharpModel: 18101 / 24122 MB\n [ComfyUI] [comfy-env] Running SharpPredict: focal_length_mm: 30.0, output_prefix: 'sharp', model: dict, image: torch.float32 [1,960,1416,3] cpu\n [ComfyUI] [VRAM] Before SharpPredict: 18101 / 24122 MB\n [ComfyUI] [SubprocessWorker] call_method: nodes.predict.SharpPredict.EXECUTE_NORMALIZED\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-Sharp] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-Sharp] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [comfy-env] PRE-SERIALIZE 'image' shape: torch.Size([1, 960, 1416, 3])\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=10 sending call_method\n [ComfyUI] [worker:ComfyUI-Sharp] [comfy-env] _from_shm got dict with keys: ['__type__', 'strategy', 'parent_pid', 'fd', 'storage_size']\n [ComfyUI] [worker:ComfyUI-Sharp] [comfy-env] DESERIALIZE TensorRef: tensor_size=[1, 960, 1416, 3]\n [ComfyUI] [worker:ComfyUI-Sharp] [comfy-env] DESERIALIZED tensor shape: torch.Size([1, 960, 1416, 3])\n Frame 2 saved (frame_001.jpg, t=2.3s)\n [capture-periodic] freeze=1ms shot=111ms unfreeze=2ms saved=True\n Frame 3 saved (frame_002.jpg, t=4.5s)\n [capture-periodic] freeze=1ms shot=102ms unfreeze=2ms saved=True\n [ComfyUI] [worker:ComfyUI-Sharp] [LoadSharpModel] loading checkpoint from /workspaces/Sharp-2116/ComfyUI/models/sharp/sharp_2572gikvuh.pt (dtype=bf16)\n [capture-loop] iter=50 t=5.6s state={'complete': False, 'error': None, 'executedCount': 0, 'wsState': 1} eval_ms=1 ram=13.7/31.3GB (44%) swap=22.2/32.0GB (69%) cpu=70% browser_rss=0.75GB\n [ComfyUI] [worker:ComfyUI-Sharp] [LoadSharpModel] initializing model on meta device...\n [ComfyUI] [worker:ComfyUI-Sharp] [LoadSharpModel] model ready (torch.bfloat16)\n [ComfyUI] [SubprocessWorker] callback 'request_vram_budget' from call_id=10\n [ComfyUI] [comfy-env] VRAM request: 2.81GB, free before eviction: 6.31GB\n [ComfyUI] [comfy-env] VRAM after eviction: 6.31GB\n [ComfyUI] [worker:ComfyUI-Sharp] [VRAM] +207MB (now 207MB) reserved=416MB peak=207MB\n [ComfyUI] [worker:ComfyUI-Sharp] [VRAM] +412MB (now 619MB) reserved=896MB peak=655MB\n [ComfyUI] [worker:ComfyUI-Sharp] [VRAM] +894MB (now 1514MB) reserved=5280MB peak=4403MB\n [ComfyUI] [worker:ComfyUI-Sharp] [VRAM] +994MB (now 2509MB) reserved=4352MB peak=4403MB\n [capture-loop] iter=100 t=11.0s state={'complete': False, 'error': None, 'executedCount': 0, 'wsState': 1} eval_ms=1 ram=18.8/31.3GB (60%) swap=22.2/32.0GB (69%) cpu=18% browser_rss=0.65GB\n [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=10\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] SharpPredict done (9.82s): result: NodeOutput\n [ComfyUI] [ComfyUI-GaussianPack] python: /tmp/comfytest-home/.ce/.pixi/envs/gaussianpack-nodes/bin/python\n [ComfyUI] [VRAM] After SharpPredict: 22569 / 24122 MB\n [ComfyUI] [ComfyUI-GaussianPack] sys_path sent to worker: ['/workspaces/Sharp-2116/ComfyUI', '/workspaces/Sharp-2116/ComfyUI/custom_nodes/ComfyUI-GaussianPack', '/tmp/comfytest-home/.ce/.pixi/envs/gaussianpack-nodes/lib/python3.1/site-packages', '/workspaces/Sharp-2116/ComfyUI/custom_nodes/ComfyUI-GaussianPack']\n [ComfyUI] [comfy-env] Running PreviewGaussianSharp: ply_path: '/workspaces/Sharp-2116/ComfyUI/output/sharp_178086771577..., extrinsics: list[4], intrinsics: list[3]\n [ComfyUI] [SubprocessWorker] is_pixi=True, python=/tmp/comfytest-home/.ce/.pixi/envs/gaussianpack-nodes/bin/python\n [ComfyUI] [VRAM] Before PreviewGaussianSharp: 22569 / 24122 MB\n [ComfyUI] [SubprocessWorker] launching cmd=['/tmp/comfytest-home/.pixi/bin/pixi', 'run', '--as-is', '--manifest-path', '/tmp/comfytest-home/.ce/pixi.toml', '-e', 'gaussianpack-nodes', 'python', '/tmp/comfyui_pvenv_wh7tm0qh/persistent_worker.py', 'abstract://comfy_worker_b45d8065a7be']...\n [ComfyUI] [SubprocessWorker] call_method: nodes.preview_gaussian_sharp.PreviewGaussianSharp.EXECUTE_NORMALIZED\n [ComfyUI] [SubprocessWorker] socket_addr=abstract://comfy_worker_b45d8065a7be (abstract, no filesystem path)\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: failed\n [ComfyUI] [ComfyUI-GaussianPack] Socket unhealthy, restarting worker...\n [ComfyUI] [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] [worker:ComfyUI-GaussianPack] WARNING: SPZ route not registered (ModuleNotFoundError: No module named 'comfy_aimdo')\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] PreviewGaussianSharp done (1.45s): result: NodeOutput\n [ComfyUI] [VRAM] After PreviewGaussianSharp: 22569 / 24122 MB\n [ComfyUI] [ComfyUI-Sharp] python: /tmp/comfytest-home/.ce/.pixi/envs/sharp-nodes/bin/python\n [ComfyUI] [ComfyUI-Sharp] sys_path sent to worker: ['/workspaces/Sharp-2116/ComfyUI', '/workspaces/Sharp-2116/ComfyUI/custom_nodes/ComfyUI-Sharp', '/tmp/comfytest-home/.ce/.pixi/envs/sharp-nodes/lib/python3.1/site-packages', '/workspaces/Sharp-2116/ComfyUI/custom_nodes/ComfyUI-Sharp']\n [ComfyUI] [comfy-env] Running SharpPredictMetricDepth: focal_length_mm: 30.0, model: dict, image: torch.float32 [1,960,1416,3] cpu\n [ComfyUI] [VRAM] Before SharpPredictMetricDepth: 22569 / 24122 MB\n [ComfyUI] [SubprocessWorker] is_pixi=True, python=/tmp/comfytest-home/.ce/.pixi/envs/sharp-nodes/bin/python\n [ComfyUI] [SubprocessWorker] launching cmd=['/tmp/comfytest-home/.pixi/bin/pixi', 'run', '--as-is', '--manifest-path', '/tmp/comfytest-home/.ce/pixi.toml', '-e', 'sharp-nodes', 'python', '/tmp/comfyui_pvenv_dkunr1h2/persistent_worker.py', 'abstract://comfy_worker_77e8aff3a80f']...\n [ComfyUI] [SubprocessWorker] call_method: nodes.predict_metric_depth.SharpPredictMetricDepth.EXECUTE_NORMALIZED\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [SubprocessWorker] socket_addr=abstract://comfy_worker_77e8aff3a80f (abstract, no filesystem path)\n [ComfyUI] [ComfyUI-Sharp] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-Sharp] Health check: failed\n [ComfyUI] [ComfyUI-Sharp] Socket unhealthy, restarting worker...\n Node executed (1 total), capturing...\n [ComfyUI] [worker:ComfyUI-Sharp] ERROR: Failed to import comfy_kitchen, Error: No module named 'comfy_kitchen', fp8 and fp4 support will not be available.\n [ComfyUI] [worker:ComfyUI-Sharp] WARNING: comfy_kitchen does not support stochastic FP8 rounding, please update comfy_kitchen.\n Frame 4 saved (frame_003.jpg, t=13.4s)\n [capture-node] freeze=693ms shot=402ms unfreeze=1ms saved=True\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [comfy-env] PRE-SERIALIZE 'image' shape: torch.Size([1, 960, 1416, 3])\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=11 sending call_method\n [ComfyUI] [worker:ComfyUI-Sharp] [comfy-env] _from_shm got dict with keys: ['__type__', 'strategy', 'parent_pid', 'fd', 'storage_size']\n [ComfyUI] [worker:ComfyUI-Sharp] [comfy-env] DESERIALIZE TensorRef: tensor_size=[1, 960, 1416, 3]\n [ComfyUI] [worker:ComfyUI-Sharp] [comfy-env] DESERIALIZED tensor shape: torch.Size([1, 960, 1416, 3])\n [ComfyUI] [worker:ComfyUI-Sharp] [LoadSharpModel] loading checkpoint from /workspaces/Sharp-2116/ComfyUI/models/sharp/sharp_2572gikvuh.pt (dtype=bf16)\n [ComfyUI] [worker:ComfyUI-Sharp] [LoadSharpModel] initializing model on meta device...\n [ComfyUI] [worker:ComfyUI-Sharp] [LoadSharpModel] model ready (torch.bfloat16)\n [ComfyUI] [worker:ComfyUI-Sharp] [SharpPredictMetricDepth] intrinsics not wired -> using identity-style K (focal=1186.2px @ image 1416\u00d7960, 35mm-equiv 30.0mm). Pass intrinsics from PanoramaSplit for per-face accurate K.\n [ComfyUI] [SubprocessWorker] callback 'request_vram_budget' from call_id=11\n [ComfyUI] [comfy-env] VRAM request: 2.81GB, free before eviction: 6.31GB\n [ComfyUI] [comfy-env] VRAM after eviction: 6.31GB\n [ComfyUI] [worker:ComfyUI-Sharp] [VRAM] +207MB (now 207MB) reserved=384MB peak=207MB\n [ComfyUI] [worker:ComfyUI-Sharp] [VRAM] +394MB (now 601MB) reserved=896MB peak=628MB\n [ComfyUI] [worker:ComfyUI-Sharp] [VRAM] +912MB (now 1514MB) reserved=4960MB peak=4403MB\n [ComfyUI] [worker:ComfyUI-Sharp] [SharpPredictMetricDepth] 1 face(s) @ 1536\u00b2; layer0/layer1 depth median=2.12/2.12m, K_1536 fx->1286.7; points_raw ||v||=1.32\u20133.07m; 4.6s\n [ComfyUI] [worker:ComfyUI-Sharp] [VRAM] -1474MB (now 41MB) reserved=1824MB peak=4403MB\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] SharpPredictMetricDepth done (13.31s): result: NodeOutput\n [ComfyUI] [VRAM] After SharpPredictMetricDepth: 20003 / 24122 MB\n [ComfyUI] [comfy-env] Running SharpPredictGaussiansFromMetricDepth: snap_to_external_depth: 'none', depth_convention: 'planar_z', focal_length_mm: 30.0, output_prefix: 'sharp_aligned', save_background_layer: True, edge_crop: 0.0, model: dict, image: torch.float32 [1,960,1416,3] cpu, metric_depth_layer0: torch.float32 [1,1536,1536,3] cpu\n [ComfyUI] [VRAM] Before SharpPredictGaussiansFromMetricDepth: 20003 / 24122 MB\n [ComfyUI] [SubprocessWorker] call_method: nodes.predict_gaussians_from_depth.SharpPredictGaussiansFromMetricDepth.EXECUTE_NORMALIZED\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-Sharp] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-Sharp] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [comfy-env] PRE-SERIALIZE 'image' shape: torch.Size([1, 960, 1416, 3])\n [ComfyUI] [comfy-env] PRE-SERIALIZE 'metric_depth_layer0' shape: torch.Size([1, 1536, 1536, 3])\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=12 sending call_method\n [ComfyUI] [worker:ComfyUI-Sharp] [comfy-env] _from_shm got dict with keys: ['__type__', 'strategy', 'parent_pid', 'fd', 'storage_size']\n [ComfyUI] [worker:ComfyUI-Sharp] [comfy-env] DESERIALIZE TensorRef: tensor_size=[1, 960, 1416, 3]\n [ComfyUI] [worker:ComfyUI-Sharp] [comfy-env] DESERIALIZED tensor shape: torch.Size([1, 960, 1416, 3])\n [ComfyUI] [worker:ComfyUI-Sharp] [comfy-env] _from_shm got dict with keys: ['__type__', 'strategy', 'parent_pid', 'fd', 'storage_size']\n [ComfyUI] [worker:ComfyUI-Sharp] [comfy-env] DESERIALIZE TensorRef: tensor_size=[1, 1536, 1536, 3]\n [ComfyUI] [worker:ComfyUI-Sharp] [comfy-env] DESERIALIZED tensor shape: torch.Size([1, 1536, 1536, 3])\n [ComfyUI] [worker:ComfyUI-Sharp] [SharpPredictGaussiansFromMetricDepth] metric_depth_layer1 unwired -> layer 1 will duplicate layer 0 (legacy behavior)\n [ComfyUI] [SubprocessWorker] callback 'request_vram_budget' from call_id=12\n [ComfyUI] [comfy-env] VRAM request: 2.81GB, free before eviction: 4.32GB\n [ComfyUI] [comfy-env] VRAM after eviction: 4.32GB\n [ComfyUI] [worker:ComfyUI-Sharp] [SharpPredictGaussiansFromMetricDepth] face 1/1: 1416\u00d7960, extrinsics=none, intrinsics=none, mask=no, snap=none, depth_conv=planar_z\n [ComfyUI] [worker:ComfyUI-Sharp] [VRAM] +2836MB (now 2877MB) reserved=4640MB peak=4403MB\n [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=12\n [ComfyUI] [worker:ComfyUI-Sharp] [SharpPredictGaussiansFromMetricDepth] 1 face(s) -> 1.18M gaussians total (both layers, snap=none); saved to /workspaces/Sharp-2116/ComfyUI/output/sharp_aligned_1780867735593.ply; 1.3s\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] SharpPredictGaussiansFromMetricDepth done (1.51s): result: NodeOutput\n [ComfyUI] [VRAM] After SharpPredictGaussiansFromMetricDepth: 22857 / 24122 MB\n [ComfyUI] [comfy-env] Running PreviewGaussianSharp: ply_path: '/workspaces/Sharp-2116/ComfyUI/output/sharp_aligned_1780..., extrinsics: list[4], intrinsics: list[3]\n [ComfyUI] [VRAM] Before PreviewGaussianSharp: 22857 / 24122 MB\n [ComfyUI] [SubprocessWorker] call_method: nodes.preview_gaussian_sharp.PreviewGaussianSharp.EXECUTE_NORMALIZED\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=4 sending call_method\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] PreviewGaussianSharp done (0.07s): result: NodeOutput\n [ComfyUI] [VRAM] After PreviewGaussianSharp: 22857 / 24122 MB\n [ComfyUI] \u001b[32m[INFO]\u001b[0m \u001b[32mPrompt executed in 27.93 seconds\u001b[0m\n Frame 5 saved (frame_004.jpg, t=22.8s)\n [capture-periodic] freeze=8155ms shot=8864ms unfreeze=189ms saved=True\n Node executed (2 total), capturing...\n Frame 6 saved (frame_005.jpg, t=48.0s)\n [capture-node] freeze=7679ms shot=7961ms unfreeze=0ms saved=True\n Execution complete (t=48.0s)\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=2\n [3d-wait] iframe viewer_ready=True (matched 2 console logs)\n [3d-wait] Unfrozen in 0.001s, rendering for 5s...\n [3d-wait] JS halted via CDP after 16.3s\n [3d-wait] Re-frozen in 40.0s\n [3d-wait] Total 3D wait: 40.0s\n Captured 6 unique frames over 103.62s\n [debug] iframes: 2\n [debug] iframe[0]: src=http://127.0.0.1:41893/extensions/ComfyUI-GaussianPack/viewer_gaussian_sharp.htm, canvas=1416x960, rafFrozen=True\n [debug] iframe[1]: src=http://127.0.0.1:41893/extensions/ComfyUI-GaussianPack/viewer_gaussian_sharp.htm, canvas=1416x960, rafFrozen=True\n [timing] trigger_3d_previews: 0.0s\n Saved high-quality screenshot: vanilla_vs_image_depth_gaussians_executed.png\n [timing] final_screenshot: 0.3s\n Captured 7 video frames", "hardware": {"os": "Linux-6.8.0-107-generic-x86_64-with-glibc2.35", "cpu": "AMD Ryzen 5 5600 6-Core Processor", "gpu": "NVIDIA GeForce RTX 3090"}}};
const workflowNames = Object.keys(workflowData);
const videoData = {"vanilla_vs_image_depth_gaussians": {"frames": [{"file": "frame_000.jpg", "time": 0.0, "log": "Capturing execution frames: vanilla_vs_image_depth_gaussians.json\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache."}, {"file": "frame_001.jpg", "time": 2.27, "log": "Capturing execution frames: vanilla_vs_image_depth_gaussians.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 Queuing workflow for execution...\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 8 nodes\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 7: LoadImage\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"image\": \"middlebury.jpg\"}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 9: LoadSharpModel\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"precision\": \"auto\"}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 47: SharpPredictMetricDepth\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"focal_length_mm\": 30, \"model\": [\"9\", 0], \"image\": [\"7\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 57: SharpPredict\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"focal_length_mm\": 30, \"output_prefix\": \"sharp\", \"model\": [\"9\", 0], \"image\": [\"58\", 0]}\n [ComfyUI] [ComfyUI-Sharp] python: /tmp/comfytest-home/.ce/.pixi/envs/sharp-nodes/bin/python\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 58: ImageFromBatch\n [ComfyUI] [ComfyUI-Sharp] sys_path sent to worker: ['/workspaces/Sharp-2116/ComfyUI', '/workspaces/Sharp-2116/ComfyUI/custom_nodes/ComfyUI-Sharp', '/tmp/comfytest-home/.ce/.pixi/envs/sharp-nodes/lib/python3.1/site-packages', '/workspaces/Sharp-2116/ComfyUI/custom_nodes/ComfyUI-Sharp']\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"batch_index\": 0, \"length\": 1, \"image\": [\"7\", 0]}\n [ComfyUI] [SubprocessWorker] is_pixi=True, python=/tmp/comfytest-home/.ce/.pixi/envs/sharp-nodes/bin/python\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 83: SharpPredictGaussiansFromMetricDepth\n [ComfyUI] [SubprocessWorker] launching cmd=['/tmp/comfytest-home/.pixi/bin/pixi', 'run', '--as-is', '--manifest-path', '/tmp/comfytest-home/.ce/pixi.toml', '-e', 'sharp-nodes', 'python', '/tmp/comfyui_pvenv_dkunr1h2/persistent_worker.py', 'abstract://comfy_worker_3da5d23f0c89']...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"snap_to_external_depth\": \"none\", \"depth_convention\": \"planar_z\", \"focal_length_mm\": 30, \"output_prefix\": \"sharp_aligned\", \"save_background_layer\": true, \"edge_crop\": 0, \"model\": [\"9\", 0], \"image\": [\n [ComfyUI] [SubprocessWorker] socket_addr=abstract://comfy_worker_3da5d23f0c89 (abstract, no filesystem path)\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 92: PreviewGaussianSharp\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"preview_gaussian\": \"\", \"ply_path\": [\"83\", 0], \"extrinsics\": [\"83\", 2], \"intrinsics\": [\"83\", 3]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 93: PreviewGaussianSharp\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"preview_gaussian\": \"\", \"ply_path\": [\"57\", 0], \"extrinsics\": [\"57\", 1], \"intrinsics\": [\"57\", 2]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Generated prompt_id: 97ff6663-3fdf-496a-8b63-35cbfdb225a8\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 LoadSharpModel: precision: 'auto'\n [ComfyUI] [VRAM] Before LoadSharpModel: 22601 / 24122 MB\n [ComfyUI] [SubprocessWorker] call_method: nodes.load_model.LoadSharpModel.EXECUTE_NORMALIZED\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-Sharp] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-Sharp] Health check: failed\n [ComfyUI] [ComfyUI-Sharp] Socket unhealthy, restarting worker...\n [ComfyUI] [worker:ComfyUI-Sharp] ERROR: Failed to import comfy_kitchen, Error: No module named 'comfy_kitchen', fp8 and fp4 support will not be available.\n [ComfyUI] [worker:ComfyUI-Sharp] WARNING: comfy_kitchen does not support stochastic FP8 rounding, please update comfy_kitchen.\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=9 sending call_method\n [ComfyUI] [worker:ComfyUI-Sharp] [LoadSharpModel] precision='auto' -> dtype=bf16 (device=cuda:0)\n [ComfyUI] [worker:ComfyUI-Sharp] [LoadSharpModel] checkpoint already present, reusing (no download): /workspaces/Sharp-2116/ComfyUI/models/sharp/sharp_2572gikvuh.pt (2679.6 MB)\n [ComfyUI] [worker:ComfyUI-Sharp] [LoadSharpModel] checkpoint ready: /workspaces/Sharp-2116/ComfyUI/models/sharp/sharp_2572gikvuh.pt (2679.6 MB)\n [ComfyUI] [worker:ComfyUI-Sharp] [LoadSharpModel] config: precision=auto -> dtype=bf16\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] LoadSharpModel done (1.74s): result: NodeOutput\n [ComfyUI] [VRAM] After LoadSharpModel: 18101 / 24122 MB\n [ComfyUI] [comfy-env] Running SharpPredict: focal_length_mm: 30.0, output_prefix: 'sharp', model: dict, image: torch.float32 [1,960,1416,3] cpu\n [ComfyUI] [VRAM] Before SharpPredict: 18101 / 24122 MB\n [ComfyUI] [SubprocessWorker] call_method: nodes.predict.SharpPredict.EXECUTE_NORMALIZED\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-Sharp] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-Sharp] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [comfy-env] PRE-SERIALIZE 'image' shape: torch.Size([1, 960, 1416, 3])\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=10 sending call_method\n [ComfyUI] [worker:ComfyUI-Sharp] [comfy-env] _from_shm got dict with keys: ['__type__', 'strategy', 'parent_pid', 'fd', 'storage_size']\n [ComfyUI] [worker:ComfyUI-Sharp] [comfy-env] DESERIALIZE TensorRef: tensor_size=[1, 960, 1416, 3]\n [ComfyUI] [worker:ComfyUI-Sharp] [comfy-env] DESERIALIZED tensor shape: torch.Size([1, 960, 1416, 3])"}, {"file": "frame_002.jpg", "time": 4.48, "log": "Capturing execution frames: vanilla_vs_image_depth_gaussians.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 Queuing workflow for execution...\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 8 nodes\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 7: LoadImage\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"image\": \"middlebury.jpg\"}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 9: LoadSharpModel\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"precision\": \"auto\"}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 47: SharpPredictMetricDepth\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"focal_length_mm\": 30, \"model\": [\"9\", 0], \"image\": [\"7\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 57: SharpPredict\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"focal_length_mm\": 30, \"output_prefix\": \"sharp\", \"model\": [\"9\", 0], \"image\": [\"58\", 0]}\n [ComfyUI] [ComfyUI-Sharp] python: /tmp/comfytest-home/.ce/.pixi/envs/sharp-nodes/bin/python\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 58: ImageFromBatch\n [ComfyUI] [ComfyUI-Sharp] sys_path sent to worker: ['/workspaces/Sharp-2116/ComfyUI', '/workspaces/Sharp-2116/ComfyUI/custom_nodes/ComfyUI-Sharp', '/tmp/comfytest-home/.ce/.pixi/envs/sharp-nodes/lib/python3.1/site-packages', '/workspaces/Sharp-2116/ComfyUI/custom_nodes/ComfyUI-Sharp']\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"batch_index\": 0, \"length\": 1, \"image\": [\"7\", 0]}\n [ComfyUI] [SubprocessWorker] is_pixi=True, python=/tmp/comfytest-home/.ce/.pixi/envs/sharp-nodes/bin/python\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 83: SharpPredictGaussiansFromMetricDepth\n [ComfyUI] [SubprocessWorker] launching cmd=['/tmp/comfytest-home/.pixi/bin/pixi', 'run', '--as-is', '--manifest-path', '/tmp/comfytest-home/.ce/pixi.toml', '-e', 'sharp-nodes', 'python', '/tmp/comfyui_pvenv_dkunr1h2/persistent_worker.py', 'abstract://comfy_worker_3da5d23f0c89']...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"snap_to_external_depth\": \"none\", \"depth_convention\": \"planar_z\", \"focal_length_mm\": 30, \"output_prefix\": \"sharp_aligned\", \"save_background_layer\": true, \"edge_crop\": 0, \"model\": [\"9\", 0], \"image\": [\n [ComfyUI] [SubprocessWorker] socket_addr=abstract://comfy_worker_3da5d23f0c89 (abstract, no filesystem path)\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 92: PreviewGaussianSharp\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"preview_gaussian\": \"\", \"ply_path\": [\"83\", 0], \"extrinsics\": [\"83\", 2], \"intrinsics\": [\"83\", 3]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 93: PreviewGaussianSharp\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"preview_gaussian\": \"\", \"ply_path\": [\"57\", 0], \"extrinsics\": [\"57\", 1], \"intrinsics\": [\"57\", 2]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Generated prompt_id: 97ff6663-3fdf-496a-8b63-35cbfdb225a8\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 LoadSharpModel: precision: 'auto'\n [ComfyUI] [VRAM] Before LoadSharpModel: 22601 / 24122 MB\n [ComfyUI] [SubprocessWorker] call_method: nodes.load_model.LoadSharpModel.EXECUTE_NORMALIZED\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-Sharp] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-Sharp] Health check: failed\n [ComfyUI] [ComfyUI-Sharp] Socket unhealthy, restarting worker...\n [ComfyUI] [worker:ComfyUI-Sharp] ERROR: Failed to import comfy_kitchen, Error: No module named 'comfy_kitchen', fp8 and fp4 support will not be available.\n [ComfyUI] [worker:ComfyUI-Sharp] WARNING: comfy_kitchen does not support stochastic FP8 rounding, please update comfy_kitchen.\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=9 sending call_method\n [ComfyUI] [worker:ComfyUI-Sharp] [LoadSharpModel] precision='auto' -> dtype=bf16 (device=cuda:0)\n [ComfyUI] [worker:ComfyUI-Sharp] [LoadSharpModel] checkpoint already present, reusing (no download): /workspaces/Sharp-2116/ComfyUI/models/sharp/sharp_2572gikvuh.pt (2679.6 MB)\n [ComfyUI] [worker:ComfyUI-Sharp] [LoadSharpModel] checkpoint ready: /workspaces/Sharp-2116/ComfyUI/models/sharp/sharp_2572gikvuh.pt (2679.6 MB)\n [ComfyUI] [worker:ComfyUI-Sharp] [LoadSharpModel] config: precision=auto -> dtype=bf16\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] LoadSharpModel done (1.74s): result: NodeOutput\n [ComfyUI] [VRAM] After LoadSharpModel: 18101 / 24122 MB\n [ComfyUI] [comfy-env] Running SharpPredict: focal_length_mm: 30.0, output_prefix: 'sharp', model: dict, image: torch.float32 [1,960,1416,3] cpu\n [ComfyUI] [VRAM] Before SharpPredict: 18101 / 24122 MB\n [ComfyUI] [SubprocessWorker] call_method: nodes.predict.SharpPredict.EXECUTE_NORMALIZED\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-Sharp] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-Sharp] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [comfy-env] PRE-SERIALIZE 'image' shape: torch.Size([1, 960, 1416, 3])\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=10 sending call_method\n [ComfyUI] [worker:ComfyUI-Sharp] [comfy-env] _from_shm got dict with keys: ['__type__', 'strategy', 'parent_pid', 'fd', 'storage_size']\n [ComfyUI] [worker:ComfyUI-Sharp] [comfy-env] DESERIALIZE TensorRef: tensor_size=[1, 960, 1416, 3]\n [ComfyUI] [worker:ComfyUI-Sharp] [comfy-env] DESERIALIZED tensor shape: torch.Size([1, 960, 1416, 3])\n Frame 2 saved (frame_001.jpg, t=2.3s)\n [capture-periodic] freeze=1ms shot=111ms unfreeze=2ms saved=True"}, {"file": "frame_003.jpg", "time": 13.38, "log": "Capturing execution frames: vanilla_vs_image_depth_gaussians.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 Queuing workflow for execution...\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 8 nodes\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 7: LoadImage\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"image\": \"middlebury.jpg\"}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 9: LoadSharpModel\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"precision\": \"auto\"}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 47: SharpPredictMetricDepth\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"focal_length_mm\": 30, \"model\": [\"9\", 0], \"image\": [\"7\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 57: SharpPredict\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"focal_length_mm\": 30, \"output_prefix\": \"sharp\", \"model\": [\"9\", 0], \"image\": [\"58\", 0]}\n [ComfyUI] [ComfyUI-Sharp] python: /tmp/comfytest-home/.ce/.pixi/envs/sharp-nodes/bin/python\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 58: ImageFromBatch\n [ComfyUI] [ComfyUI-Sharp] sys_path sent to worker: ['/workspaces/Sharp-2116/ComfyUI', '/workspaces/Sharp-2116/ComfyUI/custom_nodes/ComfyUI-Sharp', '/tmp/comfytest-home/.ce/.pixi/envs/sharp-nodes/lib/python3.1/site-packages', '/workspaces/Sharp-2116/ComfyUI/custom_nodes/ComfyUI-Sharp']\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"batch_index\": 0, \"length\": 1, \"image\": [\"7\", 0]}\n [ComfyUI] [SubprocessWorker] is_pixi=True, python=/tmp/comfytest-home/.ce/.pixi/envs/sharp-nodes/bin/python\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 83: SharpPredictGaussiansFromMetricDepth\n [ComfyUI] [SubprocessWorker] launching cmd=['/tmp/comfytest-home/.pixi/bin/pixi', 'run', '--as-is', '--manifest-path', '/tmp/comfytest-home/.ce/pixi.toml', '-e', 'sharp-nodes', 'python', '/tmp/comfyui_pvenv_dkunr1h2/persistent_worker.py', 'abstract://comfy_worker_3da5d23f0c89']...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"snap_to_external_depth\": \"none\", \"depth_convention\": \"planar_z\", \"focal_length_mm\": 30, \"output_prefix\": \"sharp_aligned\", \"save_background_layer\": true, \"edge_crop\": 0, \"model\": [\"9\", 0], \"image\": [\n [ComfyUI] [SubprocessWorker] socket_addr=abstract://comfy_worker_3da5d23f0c89 (abstract, no filesystem path)\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 92: PreviewGaussianSharp\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"preview_gaussian\": \"\", \"ply_path\": [\"83\", 0], \"extrinsics\": [\"83\", 2], \"intrinsics\": [\"83\", 3]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 93: PreviewGaussianSharp\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"preview_gaussian\": \"\", \"ply_path\": [\"57\", 0], \"extrinsics\": [\"57\", 1], \"intrinsics\": [\"57\", 2]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Generated prompt_id: 97ff6663-3fdf-496a-8b63-35cbfdb225a8\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 LoadSharpModel: precision: 'auto'\n [ComfyUI] [VRAM] Before LoadSharpModel: 22601 / 24122 MB\n [ComfyUI] [SubprocessWorker] call_method: nodes.load_model.LoadSharpModel.EXECUTE_NORMALIZED\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-Sharp] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-Sharp] Health check: failed\n [ComfyUI] [ComfyUI-Sharp] Socket unhealthy, restarting worker...\n [ComfyUI] [worker:ComfyUI-Sharp] ERROR: Failed to import comfy_kitchen, Error: No module named 'comfy_kitchen', fp8 and fp4 support will not be available.\n [ComfyUI] [worker:ComfyUI-Sharp] WARNING: comfy_kitchen does not support stochastic FP8 rounding, please update comfy_kitchen.\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=9 sending call_method\n [ComfyUI] [worker:ComfyUI-Sharp] [LoadSharpModel] precision='auto' -> dtype=bf16 (device=cuda:0)\n [ComfyUI] [worker:ComfyUI-Sharp] [LoadSharpModel] checkpoint already present, reusing (no download): /workspaces/Sharp-2116/ComfyUI/models/sharp/sharp_2572gikvuh.pt (2679.6 MB)\n [ComfyUI] [worker:ComfyUI-Sharp] [LoadSharpModel] checkpoint ready: /workspaces/Sharp-2116/ComfyUI/models/sharp/sharp_2572gikvuh.pt (2679.6 MB)\n [ComfyUI] [worker:ComfyUI-Sharp] [LoadSharpModel] config: precision=auto -> dtype=bf16\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] LoadSharpModel done (1.74s): result: NodeOutput\n [ComfyUI] [VRAM] After LoadSharpModel: 18101 / 24122 MB\n [ComfyUI] [comfy-env] Running SharpPredict: focal_length_mm: 30.0, output_prefix: 'sharp', model: dict, image: torch.float32 [1,960,1416,3] cpu\n [ComfyUI] [VRAM] Before SharpPredict: 18101 / 24122 MB\n [ComfyUI] [SubprocessWorker] call_method: nodes.predict.SharpPredict.EXECUTE_NORMALIZED\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-Sharp] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-Sharp] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [comfy-env] PRE-SERIALIZE 'image' shape: torch.Size([1, 960, 1416, 3])\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=10 sending call_method\n [ComfyUI] [worker:ComfyUI-Sharp] [comfy-env] _from_shm got dict with keys: ['__type__', 'strategy', 'parent_pid', 'fd', 'storage_size']\n [ComfyUI] [worker:ComfyUI-Sharp] [comfy-env] DESERIALIZE TensorRef: tensor_size=[1, 960, 1416, 3]\n [ComfyUI] [worker:ComfyUI-Sharp] [comfy-env] DESERIALIZED tensor shape: torch.Size([1, 960, 1416, 3])\n Frame 2 saved (frame_001.jpg, t=2.3s)\n [capture-periodic] freeze=1ms shot=111ms unfreeze=2ms saved=True\n Frame 3 saved (frame_002.jpg, t=4.5s)\n [capture-periodic] freeze=1ms shot=102ms unfreeze=2ms saved=True\n [ComfyUI] [worker:ComfyUI-Sharp] [LoadSharpModel] loading checkpoint from /workspaces/Sharp-2116/ComfyUI/models/sharp/sharp_2572gikvuh.pt (dtype=bf16)\n [capture-loop] iter=50 t=5.6s state={'complete': False, 'error': None, 'executedCount': 0, 'wsState': 1} eval_ms=1 ram=13.7/31.3GB (44%) swap=22.2/32.0GB (69%) cpu=70% browser_rss=0.75GB\n [ComfyUI] [worker:ComfyUI-Sharp] [LoadSharpModel] initializing model on meta device...\n [ComfyUI] [worker:ComfyUI-Sharp] [LoadSharpModel] model ready (torch.bfloat16)\n [ComfyUI] [SubprocessWorker] callback 'request_vram_budget' from call_id=10\n [ComfyUI] [comfy-env] VRAM request: 2.81GB, free before eviction: 6.31GB\n [ComfyUI] [comfy-env] VRAM after eviction: 6.31GB\n [ComfyUI] [worker:ComfyUI-Sharp] [VRAM] +207MB (now 207MB) reserved=416MB peak=207MB\n [ComfyUI] [worker:ComfyUI-Sharp] [VRAM] +412MB (now 619MB) reserved=896MB peak=655MB\n [ComfyUI] [worker:ComfyUI-Sharp] [VRAM] +894MB (now 1514MB) reserved=5280MB peak=4403MB\n [ComfyUI] [worker:ComfyUI-Sharp] [VRAM] +994MB (now 2509MB) reserved=4352MB peak=4403MB\n [capture-loop] iter=100 t=11.0s state={'complete': False, 'error': None, 'executedCount': 0, 'wsState': 1} eval_ms=1 ram=18.8/31.3GB (60%) swap=22.2/32.0GB (69%) cpu=18% browser_rss=0.65GB\n [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=10\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] SharpPredict done (9.82s): result: NodeOutput\n [ComfyUI] [ComfyUI-GaussianPack] python: /tmp/comfytest-home/.ce/.pixi/envs/gaussianpack-nodes/bin/python\n [ComfyUI] [VRAM] After SharpPredict: 22569 / 24122 MB\n [ComfyUI] [ComfyUI-GaussianPack] sys_path sent to worker: ['/workspaces/Sharp-2116/ComfyUI', '/workspaces/Sharp-2116/ComfyUI/custom_nodes/ComfyUI-GaussianPack', '/tmp/comfytest-home/.ce/.pixi/envs/gaussianpack-nodes/lib/python3.1/site-packages', '/workspaces/Sharp-2116/ComfyUI/custom_nodes/ComfyUI-GaussianPack']\n [ComfyUI] [comfy-env] Running PreviewGaussianSharp: ply_path: '/workspaces/Sharp-2116/ComfyUI/output/sharp_178086771577..., extrinsics: list[4], intrinsics: list[3]\n [ComfyUI] [SubprocessWorker] is_pixi=True, python=/tmp/comfytest-home/.ce/.pixi/envs/gaussianpack-nodes/bin/python\n [ComfyUI] [VRAM] Before PreviewGaussianSharp: 22569 / 24122 MB\n [ComfyUI] [SubprocessWorker] launching cmd=['/tmp/comfytest-home/.pixi/bin/pixi', 'run', '--as-is', '--manifest-path', '/tmp/comfytest-home/.ce/pixi.toml', '-e', 'gaussianpack-nodes', 'python', '/tmp/comfyui_pvenv_wh7tm0qh/persistent_worker.py', 'abstract://comfy_worker_b45d8065a7be']...\n [ComfyUI] [SubprocessWorker] call_method: nodes.preview_gaussian_sharp.PreviewGaussianSharp.EXECUTE_NORMALIZED\n [ComfyUI] [SubprocessWorker] socket_addr=abstract://comfy_worker_b45d8065a7be (abstract, no filesystem path)\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: failed\n [ComfyUI] [ComfyUI-GaussianPack] Socket unhealthy, restarting worker...\n [ComfyUI] [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] [worker:ComfyUI-GaussianPack] WARNING: SPZ route not registered (ModuleNotFoundError: No module named 'comfy_aimdo')\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] PreviewGaussianSharp done (1.45s): result: NodeOutput\n [ComfyUI] [VRAM] After PreviewGaussianSharp: 22569 / 24122 MB\n [ComfyUI] [ComfyUI-Sharp] python: /tmp/comfytest-home/.ce/.pixi/envs/sharp-nodes/bin/python\n [ComfyUI] [ComfyUI-Sharp] sys_path sent to worker: ['/workspaces/Sharp-2116/ComfyUI', '/workspaces/Sharp-2116/ComfyUI/custom_nodes/ComfyUI-Sharp', '/tmp/comfytest-home/.ce/.pixi/envs/sharp-nodes/lib/python3.1/site-packages', '/workspaces/Sharp-2116/ComfyUI/custom_nodes/ComfyUI-Sharp']\n [ComfyUI] [comfy-env] Running SharpPredictMetricDepth: focal_length_mm: 30.0, model: dict, image: torch.float32 [1,960,1416,3] cpu\n [ComfyUI] [VRAM] Before SharpPredictMetricDepth: 22569 / 24122 MB\n [ComfyUI] [SubprocessWorker] is_pixi=True, python=/tmp/comfytest-home/.ce/.pixi/envs/sharp-nodes/bin/python\n [ComfyUI] [SubprocessWorker] launching cmd=['/tmp/comfytest-home/.pixi/bin/pixi', 'run', '--as-is', '--manifest-path', '/tmp/comfytest-home/.ce/pixi.toml', '-e', 'sharp-nodes', 'python', '/tmp/comfyui_pvenv_dkunr1h2/persistent_worker.py', 'abstract://comfy_worker_77e8aff3a80f']...\n [ComfyUI] [SubprocessWorker] call_method: nodes.predict_metric_depth.SharpPredictMetricDepth.EXECUTE_NORMALIZED\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [SubprocessWorker] socket_addr=abstract://comfy_worker_77e8aff3a80f (abstract, no filesystem path)\n [ComfyUI] [ComfyUI-Sharp] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-Sharp] Health check: failed\n [ComfyUI] [ComfyUI-Sharp] Socket unhealthy, restarting worker..."}, {"file": "frame_004.jpg", "time": 22.75, "log": "Capturing execution frames: vanilla_vs_image_depth_gaussians.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 Queuing workflow for execution...\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 8 nodes\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 7: LoadImage\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"image\": \"middlebury.jpg\"}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 9: LoadSharpModel\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"precision\": \"auto\"}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 47: SharpPredictMetricDepth\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"focal_length_mm\": 30, \"model\": [\"9\", 0], \"image\": [\"7\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 57: SharpPredict\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"focal_length_mm\": 30, \"output_prefix\": \"sharp\", \"model\": [\"9\", 0], \"image\": [\"58\", 0]}\n [ComfyUI] [ComfyUI-Sharp] python: /tmp/comfytest-home/.ce/.pixi/envs/sharp-nodes/bin/python\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 58: ImageFromBatch\n [ComfyUI] [ComfyUI-Sharp] sys_path sent to worker: ['/workspaces/Sharp-2116/ComfyUI', '/workspaces/Sharp-2116/ComfyUI/custom_nodes/ComfyUI-Sharp', '/tmp/comfytest-home/.ce/.pixi/envs/sharp-nodes/lib/python3.1/site-packages', '/workspaces/Sharp-2116/ComfyUI/custom_nodes/ComfyUI-Sharp']\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"batch_index\": 0, \"length\": 1, \"image\": [\"7\", 0]}\n [ComfyUI] [SubprocessWorker] is_pixi=True, python=/tmp/comfytest-home/.ce/.pixi/envs/sharp-nodes/bin/python\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 83: SharpPredictGaussiansFromMetricDepth\n [ComfyUI] [SubprocessWorker] launching cmd=['/tmp/comfytest-home/.pixi/bin/pixi', 'run', '--as-is', '--manifest-path', '/tmp/comfytest-home/.ce/pixi.toml', '-e', 'sharp-nodes', 'python', '/tmp/comfyui_pvenv_dkunr1h2/persistent_worker.py', 'abstract://comfy_worker_3da5d23f0c89']...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"snap_to_external_depth\": \"none\", \"depth_convention\": \"planar_z\", \"focal_length_mm\": 30, \"output_prefix\": \"sharp_aligned\", \"save_background_layer\": true, \"edge_crop\": 0, \"model\": [\"9\", 0], \"image\": [\n [ComfyUI] [SubprocessWorker] socket_addr=abstract://comfy_worker_3da5d23f0c89 (abstract, no filesystem path)\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 92: PreviewGaussianSharp\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"preview_gaussian\": \"\", \"ply_path\": [\"83\", 0], \"extrinsics\": [\"83\", 2], \"intrinsics\": [\"83\", 3]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 93: PreviewGaussianSharp\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"preview_gaussian\": \"\", \"ply_path\": [\"57\", 0], \"extrinsics\": [\"57\", 1], \"intrinsics\": [\"57\", 2]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Generated prompt_id: 97ff6663-3fdf-496a-8b63-35cbfdb225a8\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 LoadSharpModel: precision: 'auto'\n [ComfyUI] [VRAM] Before LoadSharpModel: 22601 / 24122 MB\n [ComfyUI] [SubprocessWorker] call_method: nodes.load_model.LoadSharpModel.EXECUTE_NORMALIZED\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-Sharp] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-Sharp] Health check: failed\n [ComfyUI] [ComfyUI-Sharp] Socket unhealthy, restarting worker...\n [ComfyUI] [worker:ComfyUI-Sharp] ERROR: Failed to import comfy_kitchen, Error: No module named 'comfy_kitchen', fp8 and fp4 support will not be available.\n [ComfyUI] [worker:ComfyUI-Sharp] WARNING: comfy_kitchen does not support stochastic FP8 rounding, please update comfy_kitchen.\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=9 sending call_method\n [ComfyUI] [worker:ComfyUI-Sharp] [LoadSharpModel] precision='auto' -> dtype=bf16 (device=cuda:0)\n [ComfyUI] [worker:ComfyUI-Sharp] [LoadSharpModel] checkpoint already present, reusing (no download): /workspaces/Sharp-2116/ComfyUI/models/sharp/sharp_2572gikvuh.pt (2679.6 MB)\n [ComfyUI] [worker:ComfyUI-Sharp] [LoadSharpModel] checkpoint ready: /workspaces/Sharp-2116/ComfyUI/models/sharp/sharp_2572gikvuh.pt (2679.6 MB)\n [ComfyUI] [worker:ComfyUI-Sharp] [LoadSharpModel] config: precision=auto -> dtype=bf16\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] LoadSharpModel done (1.74s): result: NodeOutput\n [ComfyUI] [VRAM] After LoadSharpModel: 18101 / 24122 MB\n [ComfyUI] [comfy-env] Running SharpPredict: focal_length_mm: 30.0, output_prefix: 'sharp', model: dict, image: torch.float32 [1,960,1416,3] cpu\n [ComfyUI] [VRAM] Before SharpPredict: 18101 / 24122 MB\n [ComfyUI] [SubprocessWorker] call_method: nodes.predict.SharpPredict.EXECUTE_NORMALIZED\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-Sharp] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-Sharp] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [comfy-env] PRE-SERIALIZE 'image' shape: torch.Size([1, 960, 1416, 3])\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=10 sending call_method\n [ComfyUI] [worker:ComfyUI-Sharp] [comfy-env] _from_shm got dict with keys: ['__type__', 'strategy', 'parent_pid', 'fd', 'storage_size']\n [ComfyUI] [worker:ComfyUI-Sharp] [comfy-env] DESERIALIZE TensorRef: tensor_size=[1, 960, 1416, 3]\n [ComfyUI] [worker:ComfyUI-Sharp] [comfy-env] DESERIALIZED tensor shape: torch.Size([1, 960, 1416, 3])\n Frame 2 saved (frame_001.jpg, t=2.3s)\n [capture-periodic] freeze=1ms shot=111ms unfreeze=2ms saved=True\n Frame 3 saved (frame_002.jpg, t=4.5s)\n [capture-periodic] freeze=1ms shot=102ms unfreeze=2ms saved=True\n [ComfyUI] [worker:ComfyUI-Sharp] [LoadSharpModel] loading checkpoint from /workspaces/Sharp-2116/ComfyUI/models/sharp/sharp_2572gikvuh.pt (dtype=bf16)\n [capture-loop] iter=50 t=5.6s state={'complete': False, 'error': None, 'executedCount': 0, 'wsState': 1} eval_ms=1 ram=13.7/31.3GB (44%) swap=22.2/32.0GB (69%) cpu=70% browser_rss=0.75GB\n [ComfyUI] [worker:ComfyUI-Sharp] [LoadSharpModel] initializing model on meta device...\n [ComfyUI] [worker:ComfyUI-Sharp] [LoadSharpModel] model ready (torch.bfloat16)\n [ComfyUI] [SubprocessWorker] callback 'request_vram_budget' from call_id=10\n [ComfyUI] [comfy-env] VRAM request: 2.81GB, free before eviction: 6.31GB\n [ComfyUI] [comfy-env] VRAM after eviction: 6.31GB\n [ComfyUI] [worker:ComfyUI-Sharp] [VRAM] +207MB (now 207MB) reserved=416MB peak=207MB\n [ComfyUI] [worker:ComfyUI-Sharp] [VRAM] +412MB (now 619MB) reserved=896MB peak=655MB\n [ComfyUI] [worker:ComfyUI-Sharp] [VRAM] +894MB (now 1514MB) reserved=5280MB peak=4403MB\n [ComfyUI] [worker:ComfyUI-Sharp] [VRAM] +994MB (now 2509MB) reserved=4352MB peak=4403MB\n [capture-loop] iter=100 t=11.0s state={'complete': False, 'error': None, 'executedCount': 0, 'wsState': 1} eval_ms=1 ram=18.8/31.3GB (60%) swap=22.2/32.0GB (69%) cpu=18% browser_rss=0.65GB\n [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=10\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] SharpPredict done (9.82s): result: NodeOutput\n [ComfyUI] [ComfyUI-GaussianPack] python: /tmp/comfytest-home/.ce/.pixi/envs/gaussianpack-nodes/bin/python\n [ComfyUI] [VRAM] After SharpPredict: 22569 / 24122 MB\n [ComfyUI] [ComfyUI-GaussianPack] sys_path sent to worker: ['/workspaces/Sharp-2116/ComfyUI', '/workspaces/Sharp-2116/ComfyUI/custom_nodes/ComfyUI-GaussianPack', '/tmp/comfytest-home/.ce/.pixi/envs/gaussianpack-nodes/lib/python3.1/site-packages', '/workspaces/Sharp-2116/ComfyUI/custom_nodes/ComfyUI-GaussianPack']\n [ComfyUI] [comfy-env] Running PreviewGaussianSharp: ply_path: '/workspaces/Sharp-2116/ComfyUI/output/sharp_178086771577..., extrinsics: list[4], intrinsics: list[3]\n [ComfyUI] [SubprocessWorker] is_pixi=True, python=/tmp/comfytest-home/.ce/.pixi/envs/gaussianpack-nodes/bin/python\n [ComfyUI] [VRAM] Before PreviewGaussianSharp: 22569 / 24122 MB\n [ComfyUI] [SubprocessWorker] launching cmd=['/tmp/comfytest-home/.pixi/bin/pixi', 'run', '--as-is', '--manifest-path', '/tmp/comfytest-home/.ce/pixi.toml', '-e', 'gaussianpack-nodes', 'python', '/tmp/comfyui_pvenv_wh7tm0qh/persistent_worker.py', 'abstract://comfy_worker_b45d8065a7be']...\n [ComfyUI] [SubprocessWorker] call_method: nodes.preview_gaussian_sharp.PreviewGaussianSharp.EXECUTE_NORMALIZED\n [ComfyUI] [SubprocessWorker] socket_addr=abstract://comfy_worker_b45d8065a7be (abstract, no filesystem path)\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: failed\n [ComfyUI] [ComfyUI-GaussianPack] Socket unhealthy, restarting worker...\n [ComfyUI] [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] [worker:ComfyUI-GaussianPack] WARNING: SPZ route not registered (ModuleNotFoundError: No module named 'comfy_aimdo')\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] PreviewGaussianSharp done (1.45s): result: NodeOutput\n [ComfyUI] [VRAM] After PreviewGaussianSharp: 22569 / 24122 MB\n [ComfyUI] [ComfyUI-Sharp] python: /tmp/comfytest-home/.ce/.pixi/envs/sharp-nodes/bin/python\n [ComfyUI] [ComfyUI-Sharp] sys_path sent to worker: ['/workspaces/Sharp-2116/ComfyUI', '/workspaces/Sharp-2116/ComfyUI/custom_nodes/ComfyUI-Sharp', '/tmp/comfytest-home/.ce/.pixi/envs/sharp-nodes/lib/python3.1/site-packages', '/workspaces/Sharp-2116/ComfyUI/custom_nodes/ComfyUI-Sharp']\n [ComfyUI] [comfy-env] Running SharpPredictMetricDepth: focal_length_mm: 30.0, model: dict, image: torch.float32 [1,960,1416,3] cpu\n [ComfyUI] [VRAM] Before SharpPredictMetricDepth: 22569 / 24122 MB\n [ComfyUI] [SubprocessWorker] is_pixi=True, python=/tmp/comfytest-home/.ce/.pixi/envs/sharp-nodes/bin/python\n [ComfyUI] [SubprocessWorker] launching cmd=['/tmp/comfytest-home/.pixi/bin/pixi', 'run', '--as-is', '--manifest-path', '/tmp/comfytest-home/.ce/pixi.toml', '-e', 'sharp-nodes', 'python', '/tmp/comfyui_pvenv_dkunr1h2/persistent_worker.py', 'abstract://comfy_worker_77e8aff3a80f']...\n [ComfyUI] [SubprocessWorker] call_method: nodes.predict_metric_depth.SharpPredictMetricDepth.EXECUTE_NORMALIZED\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [SubprocessWorker] socket_addr=abstract://comfy_worker_77e8aff3a80f (abstract, no filesystem path)\n [ComfyUI] [ComfyUI-Sharp] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-Sharp] Health check: failed\n [ComfyUI] [ComfyUI-Sharp] Socket unhealthy, restarting worker...\n Node executed (1 total), capturing...\n [ComfyUI] [worker:ComfyUI-Sharp] ERROR: Failed to import comfy_kitchen, Error: No module named 'comfy_kitchen', fp8 and fp4 support will not be available.\n [ComfyUI] [worker:ComfyUI-Sharp] WARNING: comfy_kitchen does not support stochastic FP8 rounding, please update comfy_kitchen.\n Frame 4 saved (frame_003.jpg, t=13.4s)\n [capture-node] freeze=693ms shot=402ms unfreeze=1ms saved=True\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [comfy-env] PRE-SERIALIZE 'image' shape: torch.Size([1, 960, 1416, 3])\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=11 sending call_method\n [ComfyUI] [worker:ComfyUI-Sharp] [comfy-env] _from_shm got dict with keys: ['__type__', 'strategy', 'parent_pid', 'fd', 'storage_size']\n [ComfyUI] [worker:ComfyUI-Sharp] [comfy-env] DESERIALIZE TensorRef: tensor_size=[1, 960, 1416, 3]\n [ComfyUI] [worker:ComfyUI-Sharp] [comfy-env] DESERIALIZED tensor shape: torch.Size([1, 960, 1416, 3])\n [ComfyUI] [worker:ComfyUI-Sharp] [LoadSharpModel] loading checkpoint from /workspaces/Sharp-2116/ComfyUI/models/sharp/sharp_2572gikvuh.pt (dtype=bf16)\n [ComfyUI] [worker:ComfyUI-Sharp] [LoadSharpModel] initializing model on meta device...\n [ComfyUI] [worker:ComfyUI-Sharp] [LoadSharpModel] model ready (torch.bfloat16)\n [ComfyUI] [worker:ComfyUI-Sharp] [SharpPredictMetricDepth] intrinsics not wired -> using identity-style K (focal=1186.2px @ image 1416\u00d7960, 35mm-equiv 30.0mm). Pass intrinsics from PanoramaSplit for per-face accurate K.\n [ComfyUI] [SubprocessWorker] callback 'request_vram_budget' from call_id=11\n [ComfyUI] [comfy-env] VRAM request: 2.81GB, free before eviction: 6.31GB\n [ComfyUI] [comfy-env] VRAM after eviction: 6.31GB\n [ComfyUI] [worker:ComfyUI-Sharp] [VRAM] +207MB (now 207MB) reserved=384MB peak=207MB"}, {"file": "frame_005.jpg", "time": 47.95, "log": "Capturing execution frames: vanilla_vs_image_depth_gaussians.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 Queuing workflow for execution...\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 8 nodes\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 7: LoadImage\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"image\": \"middlebury.jpg\"}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 9: LoadSharpModel\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"precision\": \"auto\"}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 47: SharpPredictMetricDepth\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"focal_length_mm\": 30, \"model\": [\"9\", 0], \"image\": [\"7\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 57: SharpPredict\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"focal_length_mm\": 30, \"output_prefix\": \"sharp\", \"model\": [\"9\", 0], \"image\": [\"58\", 0]}\n [ComfyUI] [ComfyUI-Sharp] python: /tmp/comfytest-home/.ce/.pixi/envs/sharp-nodes/bin/python\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 58: ImageFromBatch\n [ComfyUI] [ComfyUI-Sharp] sys_path sent to worker: ['/workspaces/Sharp-2116/ComfyUI', '/workspaces/Sharp-2116/ComfyUI/custom_nodes/ComfyUI-Sharp', '/tmp/comfytest-home/.ce/.pixi/envs/sharp-nodes/lib/python3.1/site-packages', '/workspaces/Sharp-2116/ComfyUI/custom_nodes/ComfyUI-Sharp']\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"batch_index\": 0, \"length\": 1, \"image\": [\"7\", 0]}\n [ComfyUI] [SubprocessWorker] is_pixi=True, python=/tmp/comfytest-home/.ce/.pixi/envs/sharp-nodes/bin/python\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 83: SharpPredictGaussiansFromMetricDepth\n [ComfyUI] [SubprocessWorker] launching cmd=['/tmp/comfytest-home/.pixi/bin/pixi', 'run', '--as-is', '--manifest-path', '/tmp/comfytest-home/.ce/pixi.toml', '-e', 'sharp-nodes', 'python', '/tmp/comfyui_pvenv_dkunr1h2/persistent_worker.py', 'abstract://comfy_worker_3da5d23f0c89']...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"snap_to_external_depth\": \"none\", \"depth_convention\": \"planar_z\", \"focal_length_mm\": 30, \"output_prefix\": \"sharp_aligned\", \"save_background_layer\": true, \"edge_crop\": 0, \"model\": [\"9\", 0], \"image\": [\n [ComfyUI] [SubprocessWorker] socket_addr=abstract://comfy_worker_3da5d23f0c89 (abstract, no filesystem path)\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 92: PreviewGaussianSharp\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"preview_gaussian\": \"\", \"ply_path\": [\"83\", 0], \"extrinsics\": [\"83\", 2], \"intrinsics\": [\"83\", 3]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 93: PreviewGaussianSharp\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"preview_gaussian\": \"\", \"ply_path\": [\"57\", 0], \"extrinsics\": [\"57\", 1], \"intrinsics\": [\"57\", 2]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Generated prompt_id: 97ff6663-3fdf-496a-8b63-35cbfdb225a8\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 LoadSharpModel: precision: 'auto'\n [ComfyUI] [VRAM] Before LoadSharpModel: 22601 / 24122 MB\n [ComfyUI] [SubprocessWorker] call_method: nodes.load_model.LoadSharpModel.EXECUTE_NORMALIZED\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-Sharp] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-Sharp] Health check: failed\n [ComfyUI] [ComfyUI-Sharp] Socket unhealthy, restarting worker...\n [ComfyUI] [worker:ComfyUI-Sharp] ERROR: Failed to import comfy_kitchen, Error: No module named 'comfy_kitchen', fp8 and fp4 support will not be available.\n [ComfyUI] [worker:ComfyUI-Sharp] WARNING: comfy_kitchen does not support stochastic FP8 rounding, please update comfy_kitchen.\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=9 sending call_method\n [ComfyUI] [worker:ComfyUI-Sharp] [LoadSharpModel] precision='auto' -> dtype=bf16 (device=cuda:0)\n [ComfyUI] [worker:ComfyUI-Sharp] [LoadSharpModel] checkpoint already present, reusing (no download): /workspaces/Sharp-2116/ComfyUI/models/sharp/sharp_2572gikvuh.pt (2679.6 MB)\n [ComfyUI] [worker:ComfyUI-Sharp] [LoadSharpModel] checkpoint ready: /workspaces/Sharp-2116/ComfyUI/models/sharp/sharp_2572gikvuh.pt (2679.6 MB)\n [ComfyUI] [worker:ComfyUI-Sharp] [LoadSharpModel] config: precision=auto -> dtype=bf16\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] LoadSharpModel done (1.74s): result: NodeOutput\n [ComfyUI] [VRAM] After LoadSharpModel: 18101 / 24122 MB\n [ComfyUI] [comfy-env] Running SharpPredict: focal_length_mm: 30.0, output_prefix: 'sharp', model: dict, image: torch.float32 [1,960,1416,3] cpu\n [ComfyUI] [VRAM] Before SharpPredict: 18101 / 24122 MB\n [ComfyUI] [SubprocessWorker] call_method: nodes.predict.SharpPredict.EXECUTE_NORMALIZED\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-Sharp] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-Sharp] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [comfy-env] PRE-SERIALIZE 'image' shape: torch.Size([1, 960, 1416, 3])\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=10 sending call_method\n [ComfyUI] [worker:ComfyUI-Sharp] [comfy-env] _from_shm got dict with keys: ['__type__', 'strategy', 'parent_pid', 'fd', 'storage_size']\n [ComfyUI] [worker:ComfyUI-Sharp] [comfy-env] DESERIALIZE TensorRef: tensor_size=[1, 960, 1416, 3]\n [ComfyUI] [worker:ComfyUI-Sharp] [comfy-env] DESERIALIZED tensor shape: torch.Size([1, 960, 1416, 3])\n Frame 2 saved (frame_001.jpg, t=2.3s)\n [capture-periodic] freeze=1ms shot=111ms unfreeze=2ms saved=True\n Frame 3 saved (frame_002.jpg, t=4.5s)\n [capture-periodic] freeze=1ms shot=102ms unfreeze=2ms saved=True\n [ComfyUI] [worker:ComfyUI-Sharp] [LoadSharpModel] loading checkpoint from /workspaces/Sharp-2116/ComfyUI/models/sharp/sharp_2572gikvuh.pt (dtype=bf16)\n [capture-loop] iter=50 t=5.6s state={'complete': False, 'error': None, 'executedCount': 0, 'wsState': 1} eval_ms=1 ram=13.7/31.3GB (44%) swap=22.2/32.0GB (69%) cpu=70% browser_rss=0.75GB\n [ComfyUI] [worker:ComfyUI-Sharp] [LoadSharpModel] initializing model on meta device...\n [ComfyUI] [worker:ComfyUI-Sharp] [LoadSharpModel] model ready (torch.bfloat16)\n [ComfyUI] [SubprocessWorker] callback 'request_vram_budget' from call_id=10\n [ComfyUI] [comfy-env] VRAM request: 2.81GB, free before eviction: 6.31GB\n [ComfyUI] [comfy-env] VRAM after eviction: 6.31GB\n [ComfyUI] [worker:ComfyUI-Sharp] [VRAM] +207MB (now 207MB) reserved=416MB peak=207MB\n [ComfyUI] [worker:ComfyUI-Sharp] [VRAM] +412MB (now 619MB) reserved=896MB peak=655MB\n [ComfyUI] [worker:ComfyUI-Sharp] [VRAM] +894MB (now 1514MB) reserved=5280MB peak=4403MB\n [ComfyUI] [worker:ComfyUI-Sharp] [VRAM] +994MB (now 2509MB) reserved=4352MB peak=4403MB\n [capture-loop] iter=100 t=11.0s state={'complete': False, 'error': None, 'executedCount': 0, 'wsState': 1} eval_ms=1 ram=18.8/31.3GB (60%) swap=22.2/32.0GB (69%) cpu=18% browser_rss=0.65GB\n [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=10\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] SharpPredict done (9.82s): result: NodeOutput\n [ComfyUI] [ComfyUI-GaussianPack] python: /tmp/comfytest-home/.ce/.pixi/envs/gaussianpack-nodes/bin/python\n [ComfyUI] [VRAM] After SharpPredict: 22569 / 24122 MB\n [ComfyUI] [ComfyUI-GaussianPack] sys_path sent to worker: ['/workspaces/Sharp-2116/ComfyUI', '/workspaces/Sharp-2116/ComfyUI/custom_nodes/ComfyUI-GaussianPack', '/tmp/comfytest-home/.ce/.pixi/envs/gaussianpack-nodes/lib/python3.1/site-packages', '/workspaces/Sharp-2116/ComfyUI/custom_nodes/ComfyUI-GaussianPack']\n [ComfyUI] [comfy-env] Running PreviewGaussianSharp: ply_path: '/workspaces/Sharp-2116/ComfyUI/output/sharp_178086771577..., extrinsics: list[4], intrinsics: list[3]\n [ComfyUI] [SubprocessWorker] is_pixi=True, python=/tmp/comfytest-home/.ce/.pixi/envs/gaussianpack-nodes/bin/python\n [ComfyUI] [VRAM] Before PreviewGaussianSharp: 22569 / 24122 MB\n [ComfyUI] [SubprocessWorker] launching cmd=['/tmp/comfytest-home/.pixi/bin/pixi', 'run', '--as-is', '--manifest-path', '/tmp/comfytest-home/.ce/pixi.toml', '-e', 'gaussianpack-nodes', 'python', '/tmp/comfyui_pvenv_wh7tm0qh/persistent_worker.py', 'abstract://comfy_worker_b45d8065a7be']...\n [ComfyUI] [SubprocessWorker] call_method: nodes.preview_gaussian_sharp.PreviewGaussianSharp.EXECUTE_NORMALIZED\n [ComfyUI] [SubprocessWorker] socket_addr=abstract://comfy_worker_b45d8065a7be (abstract, no filesystem path)\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: failed\n [ComfyUI] [ComfyUI-GaussianPack] Socket unhealthy, restarting worker...\n [ComfyUI] [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] [worker:ComfyUI-GaussianPack] WARNING: SPZ route not registered (ModuleNotFoundError: No module named 'comfy_aimdo')\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] PreviewGaussianSharp done (1.45s): result: NodeOutput\n [ComfyUI] [VRAM] After PreviewGaussianSharp: 22569 / 24122 MB\n [ComfyUI] [ComfyUI-Sharp] python: /tmp/comfytest-home/.ce/.pixi/envs/sharp-nodes/bin/python\n [ComfyUI] [ComfyUI-Sharp] sys_path sent to worker: ['/workspaces/Sharp-2116/ComfyUI', '/workspaces/Sharp-2116/ComfyUI/custom_nodes/ComfyUI-Sharp', '/tmp/comfytest-home/.ce/.pixi/envs/sharp-nodes/lib/python3.1/site-packages', '/workspaces/Sharp-2116/ComfyUI/custom_nodes/ComfyUI-Sharp']\n [ComfyUI] [comfy-env] Running SharpPredictMetricDepth: focal_length_mm: 30.0, model: dict, image: torch.float32 [1,960,1416,3] cpu\n [ComfyUI] [VRAM] Before SharpPredictMetricDepth: 22569 / 24122 MB\n [ComfyUI] [SubprocessWorker] is_pixi=True, python=/tmp/comfytest-home/.ce/.pixi/envs/sharp-nodes/bin/python\n [ComfyUI] [SubprocessWorker] launching cmd=['/tmp/comfytest-home/.pixi/bin/pixi', 'run', '--as-is', '--manifest-path', '/tmp/comfytest-home/.ce/pixi.toml', '-e', 'sharp-nodes', 'python', '/tmp/comfyui_pvenv_dkunr1h2/persistent_worker.py', 'abstract://comfy_worker_77e8aff3a80f']...\n [ComfyUI] [SubprocessWorker] call_method: nodes.predict_metric_depth.SharpPredictMetricDepth.EXECUTE_NORMALIZED\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [SubprocessWorker] socket_addr=abstract://comfy_worker_77e8aff3a80f (abstract, no filesystem path)\n [ComfyUI] [ComfyUI-Sharp] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-Sharp] Health check: failed\n [ComfyUI] [ComfyUI-Sharp] Socket unhealthy, restarting worker...\n Node executed (1 total), capturing...\n [ComfyUI] [worker:ComfyUI-Sharp] ERROR: Failed to import comfy_kitchen, Error: No module named 'comfy_kitchen', fp8 and fp4 support will not be available.\n [ComfyUI] [worker:ComfyUI-Sharp] WARNING: comfy_kitchen does not support stochastic FP8 rounding, please update comfy_kitchen.\n Frame 4 saved (frame_003.jpg, t=13.4s)\n [capture-node] freeze=693ms shot=402ms unfreeze=1ms saved=True\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [comfy-env] PRE-SERIALIZE 'image' shape: torch.Size([1, 960, 1416, 3])\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=11 sending call_method\n [ComfyUI] [worker:ComfyUI-Sharp] [comfy-env] _from_shm got dict with keys: ['__type__', 'strategy', 'parent_pid', 'fd', 'storage_size']\n [ComfyUI] [worker:ComfyUI-Sharp] [comfy-env] DESERIALIZE TensorRef: tensor_size=[1, 960, 1416, 3]\n [ComfyUI] [worker:ComfyUI-Sharp] [comfy-env] DESERIALIZED tensor shape: torch.Size([1, 960, 1416, 3])\n [ComfyUI] [worker:ComfyUI-Sharp] [LoadSharpModel] loading checkpoint from /workspaces/Sharp-2116/ComfyUI/models/sharp/sharp_2572gikvuh.pt (dtype=bf16)\n [ComfyUI] [worker:ComfyUI-Sharp] [LoadSharpModel] initializing model on meta device...\n [ComfyUI] [worker:ComfyUI-Sharp] [LoadSharpModel] model ready (torch.bfloat16)\n [ComfyUI] [worker:ComfyUI-Sharp] [SharpPredictMetricDepth] intrinsics not wired -> using identity-style K (focal=1186.2px @ image 1416\u00d7960, 35mm-equiv 30.0mm). Pass intrinsics from PanoramaSplit for per-face accurate K.\n [ComfyUI] [SubprocessWorker] callback 'request_vram_budget' from call_id=11\n [ComfyUI] [comfy-env] VRAM request: 2.81GB, free before eviction: 6.31GB\n [ComfyUI] [comfy-env] VRAM after eviction: 6.31GB\n [ComfyUI] [worker:ComfyUI-Sharp] [VRAM] +207MB (now 207MB) reserved=384MB peak=207MB\n [ComfyUI] [worker:ComfyUI-Sharp] [VRAM] +394MB (now 601MB) reserved=896MB peak=628MB\n [ComfyUI] [worker:ComfyUI-Sharp] [VRAM] +912MB (now 1514MB) reserved=4960MB peak=4403MB\n [ComfyUI] [worker:ComfyUI-Sharp] [SharpPredictMetricDepth] 1 face(s) @ 1536\u00b2; layer0/layer1 depth median=2.12/2.12m, K_1536 fx->1286.7; points_raw ||v||=1.32\u20133.07m; 4.6s\n [ComfyUI] [worker:ComfyUI-Sharp] [VRAM] -1474MB (now 41MB) reserved=1824MB peak=4403MB\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] SharpPredictMetricDepth done (13.31s): result: NodeOutput\n [ComfyUI] [VRAM] After SharpPredictMetricDepth: 20003 / 24122 MB\n [ComfyUI] [comfy-env] Running SharpPredictGaussiansFromMetricDepth: snap_to_external_depth: 'none', depth_convention: 'planar_z', focal_length_mm: 30.0, output_prefix: 'sharp_aligned', save_background_layer: True, edge_crop: 0.0, model: dict, image: torch.float32 [1,960,1416,3] cpu, metric_depth_layer0: torch.float32 [1,1536,1536,3] cpu\n [ComfyUI] [VRAM] Before SharpPredictGaussiansFromMetricDepth: 20003 / 24122 MB\n [ComfyUI] [SubprocessWorker] call_method: nodes.predict_gaussians_from_depth.SharpPredictGaussiansFromMetricDepth.EXECUTE_NORMALIZED\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-Sharp] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-Sharp] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [comfy-env] PRE-SERIALIZE 'image' shape: torch.Size([1, 960, 1416, 3])\n [ComfyUI] [comfy-env] PRE-SERIALIZE 'metric_depth_layer0' shape: torch.Size([1, 1536, 1536, 3])\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=12 sending call_method\n [ComfyUI] [worker:ComfyUI-Sharp] [comfy-env] _from_shm got dict with keys: ['__type__', 'strategy', 'parent_pid', 'fd', 'storage_size']\n [ComfyUI] [worker:ComfyUI-Sharp] [comfy-env] DESERIALIZE TensorRef: tensor_size=[1, 960, 1416, 3]\n [ComfyUI] [worker:ComfyUI-Sharp] [comfy-env] DESERIALIZED tensor shape: torch.Size([1, 960, 1416, 3])\n [ComfyUI] [worker:ComfyUI-Sharp] [comfy-env] _from_shm got dict with keys: ['__type__', 'strategy', 'parent_pid', 'fd', 'storage_size']\n [ComfyUI] [worker:ComfyUI-Sharp] [comfy-env] DESERIALIZE TensorRef: tensor_size=[1, 1536, 1536, 3]\n [ComfyUI] [worker:ComfyUI-Sharp] [comfy-env] DESERIALIZED tensor shape: torch.Size([1, 1536, 1536, 3])\n [ComfyUI] [worker:ComfyUI-Sharp] [SharpPredictGaussiansFromMetricDepth] metric_depth_layer1 unwired -> layer 1 will duplicate layer 0 (legacy behavior)\n [ComfyUI] [SubprocessWorker] callback 'request_vram_budget' from call_id=12\n [ComfyUI] [comfy-env] VRAM request: 2.81GB, free before eviction: 4.32GB\n [ComfyUI] [comfy-env] VRAM after eviction: 4.32GB\n [ComfyUI] [worker:ComfyUI-Sharp] [SharpPredictGaussiansFromMetricDepth] face 1/1: 1416\u00d7960, extrinsics=none, intrinsics=none, mask=no, snap=none, depth_conv=planar_z\n [ComfyUI] [worker:ComfyUI-Sharp] [VRAM] +2836MB (now 2877MB) reserved=4640MB peak=4403MB\n [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=12\n [ComfyUI] [worker:ComfyUI-Sharp] [SharpPredictGaussiansFromMetricDepth] 1 face(s) -> 1.18M gaussians total (both layers, snap=none); saved to /workspaces/Sharp-2116/ComfyUI/output/sharp_aligned_1780867735593.ply; 1.3s\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] SharpPredictGaussiansFromMetricDepth done (1.51s): result: NodeOutput\n [ComfyUI] [VRAM] After SharpPredictGaussiansFromMetricDepth: 22857 / 24122 MB\n [ComfyUI] [comfy-env] Running PreviewGaussianSharp: ply_path: '/workspaces/Sharp-2116/ComfyUI/output/sharp_aligned_1780..., extrinsics: list[4], intrinsics: list[3]\n [ComfyUI] [VRAM] Before PreviewGaussianSharp: 22857 / 24122 MB\n [ComfyUI] [SubprocessWorker] call_method: nodes.preview_gaussian_sharp.PreviewGaussianSharp.EXECUTE_NORMALIZED\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-GaussianPack] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=4 sending call_method\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] PreviewGaussianSharp done (0.07s): result: NodeOutput\n [ComfyUI] [VRAM] After PreviewGaussianSharp: 22857 / 24122 MB\n [ComfyUI] \u001b[32m[INFO]\u001b[0m \u001b[32mPrompt executed in 27.93 seconds\u001b[0m\n Frame 5 saved (frame_004.jpg, t=22.8s)\n [capture-periodic] freeze=8155ms shot=8864ms unfreeze=189ms saved=True"}, {"file": "frame_006.jpg", "time": 105.8994710445404, "log": "Final screenshot"}], "total_time": 103.62}, "sharp_basic": {"frames": [{"file": "frame_000.jpg", "time": 0.0, "log": " [ComfyUI] [ComfyUI-MoGe2] python: /tmp/comfytest-home/.ce/.pixi/envs/moge2-nodes/bin/python\n [ComfyUI] [comfy-env] [VRAM] Before offload 'MoGeWrapper_1' (631 MB) -> cpu: 24094 / 24122 MB\nCapturing execution frames: sharp_basic.json\n [ComfyUI] [ComfyUI-MoGe2] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-MoGe2] sys_path sent to worker: ['/workspaces/Sharp-2116/ComfyUI', '/workspaces/Sharp-2116/ComfyUI/custom_nodes/ComfyUI-MoGe2', '/tmp/comfytest-home/.ce/.pixi/envs/moge2-nodes/lib/python3.1/site-packages', '/workspaces/Sharp-2116/ComfyUI/custom_nodes/ComfyUI-MoGe2']\n [ComfyUI] [ComfyUI-MoGe2] Health check: failed\n [ComfyUI] [SubprocessWorker] is_pixi=True, python=/tmp/comfytest-home/.ce/.pixi/envs/moge2-nodes/bin/python\n [ComfyUI] [ComfyUI-MoGe2] Socket unhealthy, restarting worker...\n [ComfyUI] [SubprocessWorker] launching cmd=['/tmp/comfytest-home/.pixi/bin/pixi', 'run', '--as-is', '--manifest-path', '/tmp/comfytest-home/.ce/pixi.toml', '-e', 'moge2-nodes', 'python', '/tmp/comfyui_pvenv_qiyu3byh/persistent_worker.py', 'abstract://comfy_worker_c866669d71d1']...\n [ComfyUI] [SubprocessWorker] socket_addr=abstract://comfy_worker_c866669d71d1 (abstract, no filesystem path)\n [ComfyUI] [comfy-env] Invalidated 1 stale model patchers (will be cleaned up during next unload)\n [ComfyUI] [worker:ComfyUI-MoGe2] ERROR: Failed to import comfy_kitchen, Error: No module named 'comfy_kitchen', fp8 and fp4 support will not be available.\n [ComfyUI] [worker:ComfyUI-MoGe2] WARNING: comfy_kitchen does not support stochastic FP8 rounding, please update comfy_kitchen.\n [ComfyUI] [SubprocessWorker] call_id=3 sending model_to_device\n [ComfyUI] \u001b[1m\u001b[33m[WARNING]\u001b[0m Model 'MoGeWrapper_1' gone from worker (restarted?), treating as offloaded\n [ComfyUI] [comfy-env] [VRAM] After offload 'MoGeWrapper_1' (631 MB): 24094 / 24122 MB\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache."}, {"file": "frame_001.jpg", "time": 2.28, "log": " [ComfyUI] [ComfyUI-MoGe2] python: /tmp/comfytest-home/.ce/.pixi/envs/moge2-nodes/bin/python\n [ComfyUI] [comfy-env] [VRAM] Before offload 'MoGeWrapper_1' (631 MB) -> cpu: 24094 / 24122 MB\nCapturing execution frames: sharp_basic.json\n [ComfyUI] [ComfyUI-MoGe2] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-MoGe2] sys_path sent to worker: ['/workspaces/Sharp-2116/ComfyUI', '/workspaces/Sharp-2116/ComfyUI/custom_nodes/ComfyUI-MoGe2', '/tmp/comfytest-home/.ce/.pixi/envs/moge2-nodes/lib/python3.1/site-packages', '/workspaces/Sharp-2116/ComfyUI/custom_nodes/ComfyUI-MoGe2']\n [ComfyUI] [ComfyUI-MoGe2] Health check: failed\n [ComfyUI] [SubprocessWorker] is_pixi=True, python=/tmp/comfytest-home/.ce/.pixi/envs/moge2-nodes/bin/python\n [ComfyUI] [ComfyUI-MoGe2] Socket unhealthy, restarting worker...\n [ComfyUI] [SubprocessWorker] launching cmd=['/tmp/comfytest-home/.pixi/bin/pixi', 'run', '--as-is', '--manifest-path', '/tmp/comfytest-home/.ce/pixi.toml', '-e', 'moge2-nodes', 'python', '/tmp/comfyui_pvenv_qiyu3byh/persistent_worker.py', 'abstract://comfy_worker_c866669d71d1']...\n [ComfyUI] [SubprocessWorker] socket_addr=abstract://comfy_worker_c866669d71d1 (abstract, no filesystem path)\n [ComfyUI] [comfy-env] Invalidated 1 stale model patchers (will be cleaned up during next unload)\n [ComfyUI] [worker:ComfyUI-MoGe2] ERROR: Failed to import comfy_kitchen, Error: No module named 'comfy_kitchen', fp8 and fp4 support will not be available.\n [ComfyUI] [worker:ComfyUI-MoGe2] WARNING: comfy_kitchen does not support stochastic FP8 rounding, please update comfy_kitchen.\n [ComfyUI] [SubprocessWorker] call_id=3 sending model_to_device\n [ComfyUI] \u001b[1m\u001b[33m[WARNING]\u001b[0m Model 'MoGeWrapper_1' gone from worker (restarted?), treating as offloaded\n [ComfyUI] [comfy-env] [VRAM] After offload 'MoGeWrapper_1' (631 MB): 24094 / 24122 MB\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 Queuing workflow for execution...\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: LoadImage\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"image\": \"beach.jpg\"}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 2: LoadSharpModel\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"precision\": \"auto\"}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 5: SharpPredict\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"focal_length_mm\": 30, \"output_prefix\": \"sharp\", \"model\": [\"2\", 0], \"image\": [\"1\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 6: PreviewGaussianSharp\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"preview_gaussian\": \"\", \"ply_path\": [\"5\", 0], \"extrinsics\": [\"5\", 1], \"intrinsics\": [\"5\", 2]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Generated prompt_id: f20069a5-23b5-4b7b-b9bb-e43f2bd0934a\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 LoadSharpModel: precision: 'auto'\n [ComfyUI] [ComfyUI-Sharp] python: /tmp/comfytest-home/.ce/.pixi/envs/sharp-nodes/bin/python\n [ComfyUI] [VRAM] Before LoadSharpModel: 22083 / 24122 MB\n [ComfyUI] [SubprocessWorker] call_method: nodes.load_model.LoadSharpModel.EXECUTE_NORMALIZED\n [ComfyUI] [ComfyUI-Sharp] sys_path sent to worker: ['/workspaces/Sharp-2116/ComfyUI', '/workspaces/Sharp-2116/ComfyUI/custom_nodes/ComfyUI-Sharp', '/tmp/comfytest-home/.ce/.pixi/envs/sharp-nodes/lib/python3.1/site-packages', '/workspaces/Sharp-2116/ComfyUI/custom_nodes/ComfyUI-Sharp']\n [ComfyUI] [SubprocessWorker] is_pixi=True, python=/tmp/comfytest-home/.ce/.pixi/envs/sharp-nodes/bin/python\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [SubprocessWorker] launching cmd=['/tmp/comfytest-home/.pixi/bin/pixi', 'run', '--as-is', '--manifest-path', '/tmp/comfytest-home/.ce/pixi.toml', '-e', 'sharp-nodes', 'python', '/tmp/comfyui_pvenv_dkunr1h2/persistent_worker.py', 'abstract://comfy_worker_4c1c0ea91cc9']...\n [ComfyUI] [ComfyUI-Sharp] Health check: ping (timeout=5.0s)...\n [ComfyUI] [SubprocessWorker] socket_addr=abstract://comfy_worker_4c1c0ea91cc9 (abstract, no filesystem path)\n [ComfyUI] [ComfyUI-Sharp] Health check: failed\n [ComfyUI] [ComfyUI-Sharp] Socket unhealthy, restarting worker...\n [ComfyUI] [worker:ComfyUI-Sharp] ERROR: Failed to import comfy_kitchen, Error: No module named 'comfy_kitchen', fp8 and fp4 support will not be available.\n [ComfyUI] [worker:ComfyUI-Sharp] WARNING: comfy_kitchen does not support stochastic FP8 rounding, please update comfy_kitchen.\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=4 sending call_method\n [ComfyUI] [worker:ComfyUI-Sharp] [LoadSharpModel] precision='auto' -> dtype=bf16 (device=cuda:0)\n [ComfyUI] [worker:ComfyUI-Sharp] [LoadSharpModel] checkpoint already present, reusing (no download): /workspaces/Sharp-2116/ComfyUI/models/sharp/sharp_2572gikvuh.pt (2679.6 MB)\n [ComfyUI] [worker:ComfyUI-Sharp] [LoadSharpModel] checkpoint ready: /workspaces/Sharp-2116/ComfyUI/models/sharp/sharp_2572gikvuh.pt (2679.6 MB)\n [ComfyUI] [worker:ComfyUI-Sharp] [LoadSharpModel] config: precision=auto -> dtype=bf16\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] [VRAM] Before offload 'MoGeWrapper_1' (631 MB) -> cpu: 18097 / 24122 MB\n [ComfyUI] [ComfyUI-MoGe2] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-MoGe2] Health check: ok\n [ComfyUI] [SubprocessWorker] call_id=4 sending model_to_device\n [ComfyUI] \u001b[1m\u001b[33m[WARNING]\u001b[0m Model 'MoGeWrapper_1' gone from worker (restarted?), treating as offloaded\n [ComfyUI] [comfy-env] [VRAM] After offload 'MoGeWrapper_1' (631 MB): 18097 / 24122 MB\n [ComfyUI] [comfy-env] LoadSharpModel done (1.79s): result: NodeOutput\n [ComfyUI] [VRAM] After LoadSharpModel: 18097 / 24122 MB\n [ComfyUI] [comfy-env] Running SharpPredict: focal_length_mm: 30.0, output_prefix: 'sharp', model: dict, image: torch.float32 [1,1024,1536,3] cpu\n [ComfyUI] [VRAM] Before SharpPredict: 18097 / 24122 MB\n [ComfyUI] [SubprocessWorker] call_method: nodes.predict.SharpPredict.EXECUTE_NORMALIZED\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-Sharp] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-Sharp] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [comfy-env] PRE-SERIALIZE 'image' shape: torch.Size([1, 1024, 1536, 3])\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] [worker:ComfyUI-Sharp] [comfy-env] _from_shm got dict with keys: ['__type__', 'strategy', 'parent_pid', 'fd', 'storage_size']\n [ComfyUI] [worker:ComfyUI-Sharp] [comfy-env] DESERIALIZE TensorRef: tensor_size=[1, 1024, 1536, 3]\n [ComfyUI] [worker:ComfyUI-Sharp] [comfy-env] DESERIALIZED tensor shape: torch.Size([1, 1024, 1536, 3])"}, {"file": "frame_002.jpg", "time": 4.51, "log": " [ComfyUI] [ComfyUI-MoGe2] python: /tmp/comfytest-home/.ce/.pixi/envs/moge2-nodes/bin/python\n [ComfyUI] [comfy-env] [VRAM] Before offload 'MoGeWrapper_1' (631 MB) -> cpu: 24094 / 24122 MB\nCapturing execution frames: sharp_basic.json\n [ComfyUI] [ComfyUI-MoGe2] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-MoGe2] sys_path sent to worker: ['/workspaces/Sharp-2116/ComfyUI', '/workspaces/Sharp-2116/ComfyUI/custom_nodes/ComfyUI-MoGe2', '/tmp/comfytest-home/.ce/.pixi/envs/moge2-nodes/lib/python3.1/site-packages', '/workspaces/Sharp-2116/ComfyUI/custom_nodes/ComfyUI-MoGe2']\n [ComfyUI] [ComfyUI-MoGe2] Health check: failed\n [ComfyUI] [SubprocessWorker] is_pixi=True, python=/tmp/comfytest-home/.ce/.pixi/envs/moge2-nodes/bin/python\n [ComfyUI] [ComfyUI-MoGe2] Socket unhealthy, restarting worker...\n [ComfyUI] [SubprocessWorker] launching cmd=['/tmp/comfytest-home/.pixi/bin/pixi', 'run', '--as-is', '--manifest-path', '/tmp/comfytest-home/.ce/pixi.toml', '-e', 'moge2-nodes', 'python', '/tmp/comfyui_pvenv_qiyu3byh/persistent_worker.py', 'abstract://comfy_worker_c866669d71d1']...\n [ComfyUI] [SubprocessWorker] socket_addr=abstract://comfy_worker_c866669d71d1 (abstract, no filesystem path)\n [ComfyUI] [comfy-env] Invalidated 1 stale model patchers (will be cleaned up during next unload)\n [ComfyUI] [worker:ComfyUI-MoGe2] ERROR: Failed to import comfy_kitchen, Error: No module named 'comfy_kitchen', fp8 and fp4 support will not be available.\n [ComfyUI] [worker:ComfyUI-MoGe2] WARNING: comfy_kitchen does not support stochastic FP8 rounding, please update comfy_kitchen.\n [ComfyUI] [SubprocessWorker] call_id=3 sending model_to_device\n [ComfyUI] \u001b[1m\u001b[33m[WARNING]\u001b[0m Model 'MoGeWrapper_1' gone from worker (restarted?), treating as offloaded\n [ComfyUI] [comfy-env] [VRAM] After offload 'MoGeWrapper_1' (631 MB): 24094 / 24122 MB\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 Queuing workflow for execution...\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: LoadImage\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"image\": \"beach.jpg\"}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 2: LoadSharpModel\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"precision\": \"auto\"}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 5: SharpPredict\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"focal_length_mm\": 30, \"output_prefix\": \"sharp\", \"model\": [\"2\", 0], \"image\": [\"1\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 6: PreviewGaussianSharp\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"preview_gaussian\": \"\", \"ply_path\": [\"5\", 0], \"extrinsics\": [\"5\", 1], \"intrinsics\": [\"5\", 2]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Generated prompt_id: f20069a5-23b5-4b7b-b9bb-e43f2bd0934a\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 LoadSharpModel: precision: 'auto'\n [ComfyUI] [ComfyUI-Sharp] python: /tmp/comfytest-home/.ce/.pixi/envs/sharp-nodes/bin/python\n [ComfyUI] [VRAM] Before LoadSharpModel: 22083 / 24122 MB\n [ComfyUI] [SubprocessWorker] call_method: nodes.load_model.LoadSharpModel.EXECUTE_NORMALIZED\n [ComfyUI] [ComfyUI-Sharp] sys_path sent to worker: ['/workspaces/Sharp-2116/ComfyUI', '/workspaces/Sharp-2116/ComfyUI/custom_nodes/ComfyUI-Sharp', '/tmp/comfytest-home/.ce/.pixi/envs/sharp-nodes/lib/python3.1/site-packages', '/workspaces/Sharp-2116/ComfyUI/custom_nodes/ComfyUI-Sharp']\n [ComfyUI] [SubprocessWorker] is_pixi=True, python=/tmp/comfytest-home/.ce/.pixi/envs/sharp-nodes/bin/python\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [SubprocessWorker] launching cmd=['/tmp/comfytest-home/.pixi/bin/pixi', 'run', '--as-is', '--manifest-path', '/tmp/comfytest-home/.ce/pixi.toml', '-e', 'sharp-nodes', 'python', '/tmp/comfyui_pvenv_dkunr1h2/persistent_worker.py', 'abstract://comfy_worker_4c1c0ea91cc9']...\n [ComfyUI] [ComfyUI-Sharp] Health check: ping (timeout=5.0s)...\n [ComfyUI] [SubprocessWorker] socket_addr=abstract://comfy_worker_4c1c0ea91cc9 (abstract, no filesystem path)\n [ComfyUI] [ComfyUI-Sharp] Health check: failed\n [ComfyUI] [ComfyUI-Sharp] Socket unhealthy, restarting worker...\n [ComfyUI] [worker:ComfyUI-Sharp] ERROR: Failed to import comfy_kitchen, Error: No module named 'comfy_kitchen', fp8 and fp4 support will not be available.\n [ComfyUI] [worker:ComfyUI-Sharp] WARNING: comfy_kitchen does not support stochastic FP8 rounding, please update comfy_kitchen.\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=4 sending call_method\n [ComfyUI] [worker:ComfyUI-Sharp] [LoadSharpModel] precision='auto' -> dtype=bf16 (device=cuda:0)\n [ComfyUI] [worker:ComfyUI-Sharp] [LoadSharpModel] checkpoint already present, reusing (no download): /workspaces/Sharp-2116/ComfyUI/models/sharp/sharp_2572gikvuh.pt (2679.6 MB)\n [ComfyUI] [worker:ComfyUI-Sharp] [LoadSharpModel] checkpoint ready: /workspaces/Sharp-2116/ComfyUI/models/sharp/sharp_2572gikvuh.pt (2679.6 MB)\n [ComfyUI] [worker:ComfyUI-Sharp] [LoadSharpModel] config: precision=auto -> dtype=bf16\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] [VRAM] Before offload 'MoGeWrapper_1' (631 MB) -> cpu: 18097 / 24122 MB\n [ComfyUI] [ComfyUI-MoGe2] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-MoGe2] Health check: ok\n [ComfyUI] [SubprocessWorker] call_id=4 sending model_to_device\n [ComfyUI] \u001b[1m\u001b[33m[WARNING]\u001b[0m Model 'MoGeWrapper_1' gone from worker (restarted?), treating as offloaded\n [ComfyUI] [comfy-env] [VRAM] After offload 'MoGeWrapper_1' (631 MB): 18097 / 24122 MB\n [ComfyUI] [comfy-env] LoadSharpModel done (1.79s): result: NodeOutput\n [ComfyUI] [VRAM] After LoadSharpModel: 18097 / 24122 MB\n [ComfyUI] [comfy-env] Running SharpPredict: focal_length_mm: 30.0, output_prefix: 'sharp', model: dict, image: torch.float32 [1,1024,1536,3] cpu\n [ComfyUI] [VRAM] Before SharpPredict: 18097 / 24122 MB\n [ComfyUI] [SubprocessWorker] call_method: nodes.predict.SharpPredict.EXECUTE_NORMALIZED\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-Sharp] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-Sharp] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [comfy-env] PRE-SERIALIZE 'image' shape: torch.Size([1, 1024, 1536, 3])\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] [worker:ComfyUI-Sharp] [comfy-env] _from_shm got dict with keys: ['__type__', 'strategy', 'parent_pid', 'fd', 'storage_size']\n [ComfyUI] [worker:ComfyUI-Sharp] [comfy-env] DESERIALIZE TensorRef: tensor_size=[1, 1024, 1536, 3]\n [ComfyUI] [worker:ComfyUI-Sharp] [comfy-env] DESERIALIZED tensor shape: torch.Size([1, 1024, 1536, 3])\n Frame 2 saved (frame_001.jpg, t=2.3s)\n [capture-periodic] freeze=3ms shot=127ms unfreeze=4ms saved=True"}, {"file": "frame_003.jpg", "time": 13.2, "log": " [ComfyUI] [ComfyUI-MoGe2] python: /tmp/comfytest-home/.ce/.pixi/envs/moge2-nodes/bin/python\n [ComfyUI] [comfy-env] [VRAM] Before offload 'MoGeWrapper_1' (631 MB) -> cpu: 24094 / 24122 MB\nCapturing execution frames: sharp_basic.json\n [ComfyUI] [ComfyUI-MoGe2] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-MoGe2] sys_path sent to worker: ['/workspaces/Sharp-2116/ComfyUI', '/workspaces/Sharp-2116/ComfyUI/custom_nodes/ComfyUI-MoGe2', '/tmp/comfytest-home/.ce/.pixi/envs/moge2-nodes/lib/python3.1/site-packages', '/workspaces/Sharp-2116/ComfyUI/custom_nodes/ComfyUI-MoGe2']\n [ComfyUI] [ComfyUI-MoGe2] Health check: failed\n [ComfyUI] [SubprocessWorker] is_pixi=True, python=/tmp/comfytest-home/.ce/.pixi/envs/moge2-nodes/bin/python\n [ComfyUI] [ComfyUI-MoGe2] Socket unhealthy, restarting worker...\n [ComfyUI] [SubprocessWorker] launching cmd=['/tmp/comfytest-home/.pixi/bin/pixi', 'run', '--as-is', '--manifest-path', '/tmp/comfytest-home/.ce/pixi.toml', '-e', 'moge2-nodes', 'python', '/tmp/comfyui_pvenv_qiyu3byh/persistent_worker.py', 'abstract://comfy_worker_c866669d71d1']...\n [ComfyUI] [SubprocessWorker] socket_addr=abstract://comfy_worker_c866669d71d1 (abstract, no filesystem path)\n [ComfyUI] [comfy-env] Invalidated 1 stale model patchers (will be cleaned up during next unload)\n [ComfyUI] [worker:ComfyUI-MoGe2] ERROR: Failed to import comfy_kitchen, Error: No module named 'comfy_kitchen', fp8 and fp4 support will not be available.\n [ComfyUI] [worker:ComfyUI-MoGe2] WARNING: comfy_kitchen does not support stochastic FP8 rounding, please update comfy_kitchen.\n [ComfyUI] [SubprocessWorker] call_id=3 sending model_to_device\n [ComfyUI] \u001b[1m\u001b[33m[WARNING]\u001b[0m Model 'MoGeWrapper_1' gone from worker (restarted?), treating as offloaded\n [ComfyUI] [comfy-env] [VRAM] After offload 'MoGeWrapper_1' (631 MB): 24094 / 24122 MB\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 Queuing workflow for execution...\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: LoadImage\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"image\": \"beach.jpg\"}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 2: LoadSharpModel\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"precision\": \"auto\"}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 5: SharpPredict\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"focal_length_mm\": 30, \"output_prefix\": \"sharp\", \"model\": [\"2\", 0], \"image\": [\"1\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 6: PreviewGaussianSharp\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"preview_gaussian\": \"\", \"ply_path\": [\"5\", 0], \"extrinsics\": [\"5\", 1], \"intrinsics\": [\"5\", 2]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Generated prompt_id: f20069a5-23b5-4b7b-b9bb-e43f2bd0934a\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 LoadSharpModel: precision: 'auto'\n [ComfyUI] [ComfyUI-Sharp] python: /tmp/comfytest-home/.ce/.pixi/envs/sharp-nodes/bin/python\n [ComfyUI] [VRAM] Before LoadSharpModel: 22083 / 24122 MB\n [ComfyUI] [SubprocessWorker] call_method: nodes.load_model.LoadSharpModel.EXECUTE_NORMALIZED\n [ComfyUI] [ComfyUI-Sharp] sys_path sent to worker: ['/workspaces/Sharp-2116/ComfyUI', '/workspaces/Sharp-2116/ComfyUI/custom_nodes/ComfyUI-Sharp', '/tmp/comfytest-home/.ce/.pixi/envs/sharp-nodes/lib/python3.1/site-packages', '/workspaces/Sharp-2116/ComfyUI/custom_nodes/ComfyUI-Sharp']\n [ComfyUI] [SubprocessWorker] is_pixi=True, python=/tmp/comfytest-home/.ce/.pixi/envs/sharp-nodes/bin/python\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [SubprocessWorker] launching cmd=['/tmp/comfytest-home/.pixi/bin/pixi', 'run', '--as-is', '--manifest-path', '/tmp/comfytest-home/.ce/pixi.toml', '-e', 'sharp-nodes', 'python', '/tmp/comfyui_pvenv_dkunr1h2/persistent_worker.py', 'abstract://comfy_worker_4c1c0ea91cc9']...\n [ComfyUI] [ComfyUI-Sharp] Health check: ping (timeout=5.0s)...\n [ComfyUI] [SubprocessWorker] socket_addr=abstract://comfy_worker_4c1c0ea91cc9 (abstract, no filesystem path)\n [ComfyUI] [ComfyUI-Sharp] Health check: failed\n [ComfyUI] [ComfyUI-Sharp] Socket unhealthy, restarting worker...\n [ComfyUI] [worker:ComfyUI-Sharp] ERROR: Failed to import comfy_kitchen, Error: No module named 'comfy_kitchen', fp8 and fp4 support will not be available.\n [ComfyUI] [worker:ComfyUI-Sharp] WARNING: comfy_kitchen does not support stochastic FP8 rounding, please update comfy_kitchen.\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=4 sending call_method\n [ComfyUI] [worker:ComfyUI-Sharp] [LoadSharpModel] precision='auto' -> dtype=bf16 (device=cuda:0)\n [ComfyUI] [worker:ComfyUI-Sharp] [LoadSharpModel] checkpoint already present, reusing (no download): /workspaces/Sharp-2116/ComfyUI/models/sharp/sharp_2572gikvuh.pt (2679.6 MB)\n [ComfyUI] [worker:ComfyUI-Sharp] [LoadSharpModel] checkpoint ready: /workspaces/Sharp-2116/ComfyUI/models/sharp/sharp_2572gikvuh.pt (2679.6 MB)\n [ComfyUI] [worker:ComfyUI-Sharp] [LoadSharpModel] config: precision=auto -> dtype=bf16\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] [VRAM] Before offload 'MoGeWrapper_1' (631 MB) -> cpu: 18097 / 24122 MB\n [ComfyUI] [ComfyUI-MoGe2] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-MoGe2] Health check: ok\n [ComfyUI] [SubprocessWorker] call_id=4 sending model_to_device\n [ComfyUI] \u001b[1m\u001b[33m[WARNING]\u001b[0m Model 'MoGeWrapper_1' gone from worker (restarted?), treating as offloaded\n [ComfyUI] [comfy-env] [VRAM] After offload 'MoGeWrapper_1' (631 MB): 18097 / 24122 MB\n [ComfyUI] [comfy-env] LoadSharpModel done (1.79s): result: NodeOutput\n [ComfyUI] [VRAM] After LoadSharpModel: 18097 / 24122 MB\n [ComfyUI] [comfy-env] Running SharpPredict: focal_length_mm: 30.0, output_prefix: 'sharp', model: dict, image: torch.float32 [1,1024,1536,3] cpu\n [ComfyUI] [VRAM] Before SharpPredict: 18097 / 24122 MB\n [ComfyUI] [SubprocessWorker] call_method: nodes.predict.SharpPredict.EXECUTE_NORMALIZED\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-Sharp] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-Sharp] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [comfy-env] PRE-SERIALIZE 'image' shape: torch.Size([1, 1024, 1536, 3])\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] [worker:ComfyUI-Sharp] [comfy-env] _from_shm got dict with keys: ['__type__', 'strategy', 'parent_pid', 'fd', 'storage_size']\n [ComfyUI] [worker:ComfyUI-Sharp] [comfy-env] DESERIALIZE TensorRef: tensor_size=[1, 1024, 1536, 3]\n [ComfyUI] [worker:ComfyUI-Sharp] [comfy-env] DESERIALIZED tensor shape: torch.Size([1, 1024, 1536, 3])\n Frame 2 saved (frame_001.jpg, t=2.3s)\n [capture-periodic] freeze=3ms shot=127ms unfreeze=4ms saved=True\n Frame 3 saved (frame_002.jpg, t=4.5s)\n [capture-periodic] freeze=3ms shot=110ms unfreeze=1ms saved=True\n [capture-loop] iter=50 t=5.6s state={'complete': False, 'error': None, 'executedCount': 0, 'wsState': 1} eval_ms=1 ram=17.5/31.3GB (56%) swap=22.3/32.0GB (70%) cpu=17% browser_rss=0.77GB\n [ComfyUI] [worker:ComfyUI-Sharp] [LoadSharpModel] loading checkpoint from /workspaces/Sharp-2116/ComfyUI/models/sharp/sharp_2572gikvuh.pt (dtype=bf16)\n [ComfyUI] [worker:ComfyUI-Sharp] [LoadSharpModel] initializing model on meta device...\n [ComfyUI] [worker:ComfyUI-Sharp] [LoadSharpModel] model ready (torch.bfloat16)\n [ComfyUI] [SubprocessWorker] callback 'request_vram_budget' from call_id=5\n [ComfyUI] [comfy-env] VRAM request: 2.81GB, free before eviction: 6.32GB\n [ComfyUI] [comfy-env] VRAM after eviction: 6.32GB\n [ComfyUI] [worker:ComfyUI-Sharp] [VRAM] +200MB (now 200MB) reserved=384MB peak=200MB\n [ComfyUI] [worker:ComfyUI-Sharp] [VRAM] +412MB (now 613MB) reserved=896MB peak=667MB\n [ComfyUI] [worker:ComfyUI-Sharp] [VRAM] +903MB (now 1517MB) reserved=5280MB peak=4406MB\n [capture-loop] iter=100 t=10.9s state={'complete': False, 'error': None, 'executedCount': 0, 'wsState': 1} eval_ms=2 ram=22.7/31.3GB (73%) swap=22.3/32.0GB (70%) cpu=15% browser_rss=0.72GB\n [ComfyUI] [worker:ComfyUI-Sharp] [VRAM] +994MB (now 2511MB) reserved=4224MB peak=4406MB\n [ComfyUI] [worker:ComfyUI-Sharp] [VRAM] -698MB (now 1814MB) reserved=4224MB peak=4406MB\n [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=5\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] SubprocessWorker: /tmp/comfytest-home/.ce/.pixi/envs/gaussianpack-nodes/bin/python\n [ComfyUI] [comfy-env] SharpPredict done (10.73s): result: NodeOutput\n [ComfyUI] [comfy-env] env_vars: {'COMFYUI_BASE': '/workspaces/Sharp-2116/ComfyUI'}\n [ComfyUI] [VRAM] After SharpPredict: 22441 / 24122 MB\n [ComfyUI] [ComfyUI-GaussianPack] python: /tmp/comfytest-home/.ce/.pixi/envs/gaussianpack-nodes/bin/python\n [ComfyUI] [comfy-env] Running PreviewGaussianSharp: ply_path: '/workspaces/Sharp-2116/ComfyUI/output/sharp_178086760762..., extrinsics: list[4], intrinsics: list[3]\n [ComfyUI] [ComfyUI-GaussianPack] sys_path sent to worker: ['/workspaces/Sharp-2116/ComfyUI', '/workspaces/Sharp-2116/ComfyUI/custom_nodes/ComfyUI-GaussianPack', '/tmp/comfytest-home/.ce/.pixi/envs/gaussianpack-nodes/lib/python3.1/site-packages', '/workspaces/Sharp-2116/ComfyUI/custom_nodes/ComfyUI-GaussianPack']\n [ComfyUI] [VRAM] Before PreviewGaussianSharp: 22441 / 24122 MB\n [ComfyUI] [SubprocessWorker] is_pixi=True, python=/tmp/comfytest-home/.ce/.pixi/envs/gaussianpack-nodes/bin/python\n [ComfyUI] [SubprocessWorker] call_method: nodes.preview_gaussian_sharp.PreviewGaussianSharp.EXECUTE_NORMALIZED\n [ComfyUI] [SubprocessWorker] launching cmd=['/tmp/comfytest-home/.pixi/bin/pixi', 'run', '--as-is', '--manifest-path', '/tmp/comfytest-home/.ce/pixi.toml', '-e', 'gaussianpack-nodes', 'python', '/tmp/comfyui_pvenv_wh7tm0qh/persistent_worker.py', 'abstract://comfy_worker_91dc799f389a']...\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [SubprocessWorker] socket_addr=abstract://comfy_worker_91dc799f389a (abstract, no filesystem path)"}, {"file": "frame_004.jpg", "time": 14.52, "log": " [ComfyUI] [ComfyUI-MoGe2] python: /tmp/comfytest-home/.ce/.pixi/envs/moge2-nodes/bin/python\n [ComfyUI] [comfy-env] [VRAM] Before offload 'MoGeWrapper_1' (631 MB) -> cpu: 24094 / 24122 MB\nCapturing execution frames: sharp_basic.json\n [ComfyUI] [ComfyUI-MoGe2] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-MoGe2] sys_path sent to worker: ['/workspaces/Sharp-2116/ComfyUI', '/workspaces/Sharp-2116/ComfyUI/custom_nodes/ComfyUI-MoGe2', '/tmp/comfytest-home/.ce/.pixi/envs/moge2-nodes/lib/python3.1/site-packages', '/workspaces/Sharp-2116/ComfyUI/custom_nodes/ComfyUI-MoGe2']\n [ComfyUI] [ComfyUI-MoGe2] Health check: failed\n [ComfyUI] [SubprocessWorker] is_pixi=True, python=/tmp/comfytest-home/.ce/.pixi/envs/moge2-nodes/bin/python\n [ComfyUI] [ComfyUI-MoGe2] Socket unhealthy, restarting worker...\n [ComfyUI] [SubprocessWorker] launching cmd=['/tmp/comfytest-home/.pixi/bin/pixi', 'run', '--as-is', '--manifest-path', '/tmp/comfytest-home/.ce/pixi.toml', '-e', 'moge2-nodes', 'python', '/tmp/comfyui_pvenv_qiyu3byh/persistent_worker.py', 'abstract://comfy_worker_c866669d71d1']...\n [ComfyUI] [SubprocessWorker] socket_addr=abstract://comfy_worker_c866669d71d1 (abstract, no filesystem path)\n [ComfyUI] [comfy-env] Invalidated 1 stale model patchers (will be cleaned up during next unload)\n [ComfyUI] [worker:ComfyUI-MoGe2] ERROR: Failed to import comfy_kitchen, Error: No module named 'comfy_kitchen', fp8 and fp4 support will not be available.\n [ComfyUI] [worker:ComfyUI-MoGe2] WARNING: comfy_kitchen does not support stochastic FP8 rounding, please update comfy_kitchen.\n [ComfyUI] [SubprocessWorker] call_id=3 sending model_to_device\n [ComfyUI] \u001b[1m\u001b[33m[WARNING]\u001b[0m Model 'MoGeWrapper_1' gone from worker (restarted?), treating as offloaded\n [ComfyUI] [comfy-env] [VRAM] After offload 'MoGeWrapper_1' (631 MB): 24094 / 24122 MB\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 Queuing workflow for execution...\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: LoadImage\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"image\": \"beach.jpg\"}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 2: LoadSharpModel\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"precision\": \"auto\"}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 5: SharpPredict\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"focal_length_mm\": 30, \"output_prefix\": \"sharp\", \"model\": [\"2\", 0], \"image\": [\"1\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 6: PreviewGaussianSharp\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"preview_gaussian\": \"\", \"ply_path\": [\"5\", 0], \"extrinsics\": [\"5\", 1], \"intrinsics\": [\"5\", 2]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Generated prompt_id: f20069a5-23b5-4b7b-b9bb-e43f2bd0934a\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 LoadSharpModel: precision: 'auto'\n [ComfyUI] [ComfyUI-Sharp] python: /tmp/comfytest-home/.ce/.pixi/envs/sharp-nodes/bin/python\n [ComfyUI] [VRAM] Before LoadSharpModel: 22083 / 24122 MB\n [ComfyUI] [SubprocessWorker] call_method: nodes.load_model.LoadSharpModel.EXECUTE_NORMALIZED\n [ComfyUI] [ComfyUI-Sharp] sys_path sent to worker: ['/workspaces/Sharp-2116/ComfyUI', '/workspaces/Sharp-2116/ComfyUI/custom_nodes/ComfyUI-Sharp', '/tmp/comfytest-home/.ce/.pixi/envs/sharp-nodes/lib/python3.1/site-packages', '/workspaces/Sharp-2116/ComfyUI/custom_nodes/ComfyUI-Sharp']\n [ComfyUI] [SubprocessWorker] is_pixi=True, python=/tmp/comfytest-home/.ce/.pixi/envs/sharp-nodes/bin/python\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [SubprocessWorker] launching cmd=['/tmp/comfytest-home/.pixi/bin/pixi', 'run', '--as-is', '--manifest-path', '/tmp/comfytest-home/.ce/pixi.toml', '-e', 'sharp-nodes', 'python', '/tmp/comfyui_pvenv_dkunr1h2/persistent_worker.py', 'abstract://comfy_worker_4c1c0ea91cc9']...\n [ComfyUI] [ComfyUI-Sharp] Health check: ping (timeout=5.0s)...\n [ComfyUI] [SubprocessWorker] socket_addr=abstract://comfy_worker_4c1c0ea91cc9 (abstract, no filesystem path)\n [ComfyUI] [ComfyUI-Sharp] Health check: failed\n [ComfyUI] [ComfyUI-Sharp] Socket unhealthy, restarting worker...\n [ComfyUI] [worker:ComfyUI-Sharp] ERROR: Failed to import comfy_kitchen, Error: No module named 'comfy_kitchen', fp8 and fp4 support will not be available.\n [ComfyUI] [worker:ComfyUI-Sharp] WARNING: comfy_kitchen does not support stochastic FP8 rounding, please update comfy_kitchen.\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=4 sending call_method\n [ComfyUI] [worker:ComfyUI-Sharp] [LoadSharpModel] precision='auto' -> dtype=bf16 (device=cuda:0)\n [ComfyUI] [worker:ComfyUI-Sharp] [LoadSharpModel] checkpoint already present, reusing (no download): /workspaces/Sharp-2116/ComfyUI/models/sharp/sharp_2572gikvuh.pt (2679.6 MB)\n [ComfyUI] [worker:ComfyUI-Sharp] [LoadSharpModel] checkpoint ready: /workspaces/Sharp-2116/ComfyUI/models/sharp/sharp_2572gikvuh.pt (2679.6 MB)\n [ComfyUI] [worker:ComfyUI-Sharp] [LoadSharpModel] config: precision=auto -> dtype=bf16\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] [VRAM] Before offload 'MoGeWrapper_1' (631 MB) -> cpu: 18097 / 24122 MB\n [ComfyUI] [ComfyUI-MoGe2] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-MoGe2] Health check: ok\n [ComfyUI] [SubprocessWorker] call_id=4 sending model_to_device\n [ComfyUI] \u001b[1m\u001b[33m[WARNING]\u001b[0m Model 'MoGeWrapper_1' gone from worker (restarted?), treating as offloaded\n [ComfyUI] [comfy-env] [VRAM] After offload 'MoGeWrapper_1' (631 MB): 18097 / 24122 MB\n [ComfyUI] [comfy-env] LoadSharpModel done (1.79s): result: NodeOutput\n [ComfyUI] [VRAM] After LoadSharpModel: 18097 / 24122 MB\n [ComfyUI] [comfy-env] Running SharpPredict: focal_length_mm: 30.0, output_prefix: 'sharp', model: dict, image: torch.float32 [1,1024,1536,3] cpu\n [ComfyUI] [VRAM] Before SharpPredict: 18097 / 24122 MB\n [ComfyUI] [SubprocessWorker] call_method: nodes.predict.SharpPredict.EXECUTE_NORMALIZED\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-Sharp] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-Sharp] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [comfy-env] PRE-SERIALIZE 'image' shape: torch.Size([1, 1024, 1536, 3])\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] [worker:ComfyUI-Sharp] [comfy-env] _from_shm got dict with keys: ['__type__', 'strategy', 'parent_pid', 'fd', 'storage_size']\n [ComfyUI] [worker:ComfyUI-Sharp] [comfy-env] DESERIALIZE TensorRef: tensor_size=[1, 1024, 1536, 3]\n [ComfyUI] [worker:ComfyUI-Sharp] [comfy-env] DESERIALIZED tensor shape: torch.Size([1, 1024, 1536, 3])\n Frame 2 saved (frame_001.jpg, t=2.3s)\n [capture-periodic] freeze=3ms shot=127ms unfreeze=4ms saved=True\n Frame 3 saved (frame_002.jpg, t=4.5s)\n [capture-periodic] freeze=3ms shot=110ms unfreeze=1ms saved=True\n [capture-loop] iter=50 t=5.6s state={'complete': False, 'error': None, 'executedCount': 0, 'wsState': 1} eval_ms=1 ram=17.5/31.3GB (56%) swap=22.3/32.0GB (70%) cpu=17% browser_rss=0.77GB\n [ComfyUI] [worker:ComfyUI-Sharp] [LoadSharpModel] loading checkpoint from /workspaces/Sharp-2116/ComfyUI/models/sharp/sharp_2572gikvuh.pt (dtype=bf16)\n [ComfyUI] [worker:ComfyUI-Sharp] [LoadSharpModel] initializing model on meta device...\n [ComfyUI] [worker:ComfyUI-Sharp] [LoadSharpModel] model ready (torch.bfloat16)\n [ComfyUI] [SubprocessWorker] callback 'request_vram_budget' from call_id=5\n [ComfyUI] [comfy-env] VRAM request: 2.81GB, free before eviction: 6.32GB\n [ComfyUI] [comfy-env] VRAM after eviction: 6.32GB\n [ComfyUI] [worker:ComfyUI-Sharp] [VRAM] +200MB (now 200MB) reserved=384MB peak=200MB\n [ComfyUI] [worker:ComfyUI-Sharp] [VRAM] +412MB (now 613MB) reserved=896MB peak=667MB\n [ComfyUI] [worker:ComfyUI-Sharp] [VRAM] +903MB (now 1517MB) reserved=5280MB peak=4406MB\n [capture-loop] iter=100 t=10.9s state={'complete': False, 'error': None, 'executedCount': 0, 'wsState': 1} eval_ms=2 ram=22.7/31.3GB (73%) swap=22.3/32.0GB (70%) cpu=15% browser_rss=0.72GB\n [ComfyUI] [worker:ComfyUI-Sharp] [VRAM] +994MB (now 2511MB) reserved=4224MB peak=4406MB\n [ComfyUI] [worker:ComfyUI-Sharp] [VRAM] -698MB (now 1814MB) reserved=4224MB peak=4406MB\n [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=5\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] SubprocessWorker: /tmp/comfytest-home/.ce/.pixi/envs/gaussianpack-nodes/bin/python\n [ComfyUI] [comfy-env] SharpPredict done (10.73s): result: NodeOutput\n [ComfyUI] [comfy-env] env_vars: {'COMFYUI_BASE': '/workspaces/Sharp-2116/ComfyUI'}\n [ComfyUI] [VRAM] After SharpPredict: 22441 / 24122 MB\n [ComfyUI] [ComfyUI-GaussianPack] python: /tmp/comfytest-home/.ce/.pixi/envs/gaussianpack-nodes/bin/python\n [ComfyUI] [comfy-env] Running PreviewGaussianSharp: ply_path: '/workspaces/Sharp-2116/ComfyUI/output/sharp_178086760762..., extrinsics: list[4], intrinsics: list[3]\n [ComfyUI] [ComfyUI-GaussianPack] sys_path sent to worker: ['/workspaces/Sharp-2116/ComfyUI', '/workspaces/Sharp-2116/ComfyUI/custom_nodes/ComfyUI-GaussianPack', '/tmp/comfytest-home/.ce/.pixi/envs/gaussianpack-nodes/lib/python3.1/site-packages', '/workspaces/Sharp-2116/ComfyUI/custom_nodes/ComfyUI-GaussianPack']\n [ComfyUI] [VRAM] Before PreviewGaussianSharp: 22441 / 24122 MB\n [ComfyUI] [SubprocessWorker] is_pixi=True, python=/tmp/comfytest-home/.ce/.pixi/envs/gaussianpack-nodes/bin/python\n [ComfyUI] [SubprocessWorker] call_method: nodes.preview_gaussian_sharp.PreviewGaussianSharp.EXECUTE_NORMALIZED\n [ComfyUI] [SubprocessWorker] launching cmd=['/tmp/comfytest-home/.pixi/bin/pixi', 'run', '--as-is', '--manifest-path', '/tmp/comfytest-home/.ce/pixi.toml', '-e', 'gaussianpack-nodes', 'python', '/tmp/comfyui_pvenv_wh7tm0qh/persistent_worker.py', 'abstract://comfy_worker_91dc799f389a']...\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [SubprocessWorker] socket_addr=abstract://comfy_worker_91dc799f389a (abstract, no filesystem path)\n Frame 4 saved (frame_003.jpg, t=13.2s)\n [capture-periodic] freeze=1ms shot=107ms unfreeze=2ms 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] PreviewGaussianSharp done (1.55s): result: NodeOutput\n [ComfyUI] [VRAM] After PreviewGaussianSharp: 22441 / 24122 MB\n [ComfyUI] \u001b[32m[INFO]\u001b[0m \u001b[32mPrompt executed in 14.13 seconds\u001b[0m\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache."}, {"file": "frame_005.jpg", "time": 49.49614953994751, "log": "Final screenshot"}], "total_time": 47.15}, "sharp_exif": {"frames": [{"file": "frame_000.jpg", "time": 0.0, "log": "Capturing execution frames: sharp_exif.json\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache."}, {"file": "frame_001.jpg", "time": 2.31, "log": "Capturing execution frames: sharp_exif.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 Queuing workflow for execution...\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 2: LoadSharpModel\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"precision\": \"auto\"}\n [ComfyUI] [ComfyUI-Sharp] python: /tmp/comfytest-home/.ce/.pixi/envs/sharp-nodes/bin/python\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 7: SharpPredict\n [ComfyUI] [ComfyUI-Sharp] sys_path sent to worker: ['/workspaces/Sharp-2116/ComfyUI', '/workspaces/Sharp-2116/ComfyUI/custom_nodes/ComfyUI-Sharp', '/tmp/comfytest-home/.ce/.pixi/envs/sharp-nodes/lib/python3.1/site-packages', '/workspaces/Sharp-2116/ComfyUI/custom_nodes/ComfyUI-Sharp']\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"focal_length_mm\": [\"9\", 2], \"output_prefix\": \"sharp\", \"model\": [\"2\", 0], \"image\": [\"9\", 0]}\n [ComfyUI] [SubprocessWorker] is_pixi=True, python=/tmp/comfytest-home/.ce/.pixi/envs/sharp-nodes/bin/python\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 9: LoadImageWithExif\n [ComfyUI] [SubprocessWorker] launching cmd=['/tmp/comfytest-home/.pixi/bin/pixi', 'run', '--as-is', '--manifest-path', '/tmp/comfytest-home/.ce/pixi.toml', '-e', 'sharp-nodes', 'python', '/tmp/comfyui_pvenv_dkunr1h2/persistent_worker.py', 'abstract://comfy_worker_40fcddf9ed07']...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"image\": \"eth3d.png\", \"default_focal_mm\": 30}\n [ComfyUI] [SubprocessWorker] socket_addr=abstract://comfy_worker_40fcddf9ed07 (abstract, no filesystem path)\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 11: PreviewGaussianSharp\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"preview_gaussian\": \"\", \"ply_path\": [\"7\", 0], \"extrinsics\": [\"7\", 1], \"intrinsics\": [\"7\", 2]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Generated prompt_id: f9d3b9bf-b528-4577-8d55-e06bb3b73d36\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 LoadImageWithExif: image: 'eth3d.png', default_focal_mm: 30.0\n [ComfyUI] [VRAM] Before LoadImageWithExif: 22441 / 24122 MB\n [ComfyUI] [SubprocessWorker] call_method: nodes.load_image_exif.LoadImageWithExif.EXECUTE_NORMALIZED\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-Sharp] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-Sharp] Health check: failed\n [ComfyUI] [ComfyUI-Sharp] Socket unhealthy, restarting worker...\n [ComfyUI] [worker:ComfyUI-Sharp] ERROR: Failed to import comfy_kitchen, Error: No module named 'comfy_kitchen', fp8 and fp4 support will not be available.\n [ComfyUI] [worker:ComfyUI-Sharp] WARNING: comfy_kitchen does not support stochastic FP8 rounding, please update comfy_kitchen.\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] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] LoadImageWithExif done (1.74s): result: NodeOutput\n [ComfyUI] [VRAM] After LoadImageWithExif: 18099 / 24122 MB\n [ComfyUI] [comfy-env] Running LoadSharpModel: precision: 'auto'\n [ComfyUI] [VRAM] Before LoadSharpModel: 18099 / 24122 MB\n [ComfyUI] [SubprocessWorker] call_method: nodes.load_model.LoadSharpModel.EXECUTE_NORMALIZED\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-Sharp] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-Sharp] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=7 sending call_method\n [ComfyUI] [worker:ComfyUI-Sharp] [LoadSharpModel] precision='auto' -> dtype=bf16 (device=cuda:0)\n [ComfyUI] [worker:ComfyUI-Sharp] [LoadSharpModel] checkpoint already present, reusing (no download): /workspaces/Sharp-2116/ComfyUI/models/sharp/sharp_2572gikvuh.pt (2679.6 MB)\n [ComfyUI] [worker:ComfyUI-Sharp] [LoadSharpModel] checkpoint ready: /workspaces/Sharp-2116/ComfyUI/models/sharp/sharp_2572gikvuh.pt (2679.6 MB)\n [ComfyUI] [worker:ComfyUI-Sharp] [LoadSharpModel] config: precision=auto -> dtype=bf16\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] LoadSharpModel done (0.08s): result: NodeOutput\n [ComfyUI] [VRAM] After LoadSharpModel: 18099 / 24122 MB\n [ComfyUI] [comfy-env] Running SharpPredict: focal_length_mm: 20.0, output_prefix: 'sharp', model: dict, image: torch.float32 [1,1011,1520,3] cpu\n [ComfyUI] [VRAM] Before SharpPredict: 18099 / 24122 MB"}, {"file": "frame_002.jpg", "time": 4.52, "log": "Capturing execution frames: sharp_exif.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 Queuing workflow for execution...\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 2: LoadSharpModel\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"precision\": \"auto\"}\n [ComfyUI] [ComfyUI-Sharp] python: /tmp/comfytest-home/.ce/.pixi/envs/sharp-nodes/bin/python\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 7: SharpPredict\n [ComfyUI] [ComfyUI-Sharp] sys_path sent to worker: ['/workspaces/Sharp-2116/ComfyUI', '/workspaces/Sharp-2116/ComfyUI/custom_nodes/ComfyUI-Sharp', '/tmp/comfytest-home/.ce/.pixi/envs/sharp-nodes/lib/python3.1/site-packages', '/workspaces/Sharp-2116/ComfyUI/custom_nodes/ComfyUI-Sharp']\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"focal_length_mm\": [\"9\", 2], \"output_prefix\": \"sharp\", \"model\": [\"2\", 0], \"image\": [\"9\", 0]}\n [ComfyUI] [SubprocessWorker] is_pixi=True, python=/tmp/comfytest-home/.ce/.pixi/envs/sharp-nodes/bin/python\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 9: LoadImageWithExif\n [ComfyUI] [SubprocessWorker] launching cmd=['/tmp/comfytest-home/.pixi/bin/pixi', 'run', '--as-is', '--manifest-path', '/tmp/comfytest-home/.ce/pixi.toml', '-e', 'sharp-nodes', 'python', '/tmp/comfyui_pvenv_dkunr1h2/persistent_worker.py', 'abstract://comfy_worker_40fcddf9ed07']...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"image\": \"eth3d.png\", \"default_focal_mm\": 30}\n [ComfyUI] [SubprocessWorker] socket_addr=abstract://comfy_worker_40fcddf9ed07 (abstract, no filesystem path)\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 11: PreviewGaussianSharp\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"preview_gaussian\": \"\", \"ply_path\": [\"7\", 0], \"extrinsics\": [\"7\", 1], \"intrinsics\": [\"7\", 2]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Generated prompt_id: f9d3b9bf-b528-4577-8d55-e06bb3b73d36\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 LoadImageWithExif: image: 'eth3d.png', default_focal_mm: 30.0\n [ComfyUI] [VRAM] Before LoadImageWithExif: 22441 / 24122 MB\n [ComfyUI] [SubprocessWorker] call_method: nodes.load_image_exif.LoadImageWithExif.EXECUTE_NORMALIZED\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-Sharp] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-Sharp] Health check: failed\n [ComfyUI] [ComfyUI-Sharp] Socket unhealthy, restarting worker...\n [ComfyUI] [worker:ComfyUI-Sharp] ERROR: Failed to import comfy_kitchen, Error: No module named 'comfy_kitchen', fp8 and fp4 support will not be available.\n [ComfyUI] [worker:ComfyUI-Sharp] WARNING: comfy_kitchen does not support stochastic FP8 rounding, please update comfy_kitchen.\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] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] LoadImageWithExif done (1.74s): result: NodeOutput\n [ComfyUI] [VRAM] After LoadImageWithExif: 18099 / 24122 MB\n [ComfyUI] [comfy-env] Running LoadSharpModel: precision: 'auto'\n [ComfyUI] [VRAM] Before LoadSharpModel: 18099 / 24122 MB\n [ComfyUI] [SubprocessWorker] call_method: nodes.load_model.LoadSharpModel.EXECUTE_NORMALIZED\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-Sharp] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-Sharp] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=7 sending call_method\n [ComfyUI] [worker:ComfyUI-Sharp] [LoadSharpModel] precision='auto' -> dtype=bf16 (device=cuda:0)\n [ComfyUI] [worker:ComfyUI-Sharp] [LoadSharpModel] checkpoint already present, reusing (no download): /workspaces/Sharp-2116/ComfyUI/models/sharp/sharp_2572gikvuh.pt (2679.6 MB)\n [ComfyUI] [worker:ComfyUI-Sharp] [LoadSharpModel] checkpoint ready: /workspaces/Sharp-2116/ComfyUI/models/sharp/sharp_2572gikvuh.pt (2679.6 MB)\n [ComfyUI] [worker:ComfyUI-Sharp] [LoadSharpModel] config: precision=auto -> dtype=bf16\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] LoadSharpModel done (0.08s): result: NodeOutput\n [ComfyUI] [VRAM] After LoadSharpModel: 18099 / 24122 MB\n [ComfyUI] [comfy-env] Running SharpPredict: focal_length_mm: 20.0, output_prefix: 'sharp', model: dict, image: torch.float32 [1,1011,1520,3] cpu\n [ComfyUI] [VRAM] Before SharpPredict: 18099 / 24122 MB\n [ComfyUI] [SubprocessWorker] call_method: nodes.predict.SharpPredict.EXECUTE_NORMALIZED\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-Sharp] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-Sharp] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [comfy-env] PRE-SERIALIZE 'image' shape: torch.Size([1, 1011, 1520, 3])\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n Frame 2 saved (frame_001.jpg, t=2.3s)\n [capture-periodic] freeze=1ms shot=123ms unfreeze=2ms saved=True\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=8 sending call_method\n [ComfyUI] [worker:ComfyUI-Sharp] [comfy-env] _from_shm got dict with keys: ['__type__', 'strategy', 'parent_pid', 'fd', 'storage_size']\n [ComfyUI] [worker:ComfyUI-Sharp] [comfy-env] DESERIALIZE TensorRef: tensor_size=[1, 1011, 1520, 3]\n [ComfyUI] [worker:ComfyUI-Sharp] [comfy-env] DESERIALIZED tensor shape: torch.Size([1, 1011, 1520, 3])"}, {"file": "frame_003.jpg", "time": 12.99, "log": "Capturing execution frames: sharp_exif.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 Queuing workflow for execution...\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 2: LoadSharpModel\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"precision\": \"auto\"}\n [ComfyUI] [ComfyUI-Sharp] python: /tmp/comfytest-home/.ce/.pixi/envs/sharp-nodes/bin/python\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 7: SharpPredict\n [ComfyUI] [ComfyUI-Sharp] sys_path sent to worker: ['/workspaces/Sharp-2116/ComfyUI', '/workspaces/Sharp-2116/ComfyUI/custom_nodes/ComfyUI-Sharp', '/tmp/comfytest-home/.ce/.pixi/envs/sharp-nodes/lib/python3.1/site-packages', '/workspaces/Sharp-2116/ComfyUI/custom_nodes/ComfyUI-Sharp']\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"focal_length_mm\": [\"9\", 2], \"output_prefix\": \"sharp\", \"model\": [\"2\", 0], \"image\": [\"9\", 0]}\n [ComfyUI] [SubprocessWorker] is_pixi=True, python=/tmp/comfytest-home/.ce/.pixi/envs/sharp-nodes/bin/python\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 9: LoadImageWithExif\n [ComfyUI] [SubprocessWorker] launching cmd=['/tmp/comfytest-home/.pixi/bin/pixi', 'run', '--as-is', '--manifest-path', '/tmp/comfytest-home/.ce/pixi.toml', '-e', 'sharp-nodes', 'python', '/tmp/comfyui_pvenv_dkunr1h2/persistent_worker.py', 'abstract://comfy_worker_40fcddf9ed07']...\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"image\": \"eth3d.png\", \"default_focal_mm\": 30}\n [ComfyUI] [SubprocessWorker] socket_addr=abstract://comfy_worker_40fcddf9ed07 (abstract, no filesystem path)\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 11: PreviewGaussianSharp\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"preview_gaussian\": \"\", \"ply_path\": [\"7\", 0], \"extrinsics\": [\"7\", 1], \"intrinsics\": [\"7\", 2]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Generated prompt_id: f9d3b9bf-b528-4577-8d55-e06bb3b73d36\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 LoadImageWithExif: image: 'eth3d.png', default_focal_mm: 30.0\n [ComfyUI] [VRAM] Before LoadImageWithExif: 22441 / 24122 MB\n [ComfyUI] [SubprocessWorker] call_method: nodes.load_image_exif.LoadImageWithExif.EXECUTE_NORMALIZED\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-Sharp] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-Sharp] Health check: failed\n [ComfyUI] [ComfyUI-Sharp] Socket unhealthy, restarting worker...\n [ComfyUI] [worker:ComfyUI-Sharp] ERROR: Failed to import comfy_kitchen, Error: No module named 'comfy_kitchen', fp8 and fp4 support will not be available.\n [ComfyUI] [worker:ComfyUI-Sharp] WARNING: comfy_kitchen does not support stochastic FP8 rounding, please update comfy_kitchen.\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] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] LoadImageWithExif done (1.74s): result: NodeOutput\n [ComfyUI] [VRAM] After LoadImageWithExif: 18099 / 24122 MB\n [ComfyUI] [comfy-env] Running LoadSharpModel: precision: 'auto'\n [ComfyUI] [VRAM] Before LoadSharpModel: 18099 / 24122 MB\n [ComfyUI] [SubprocessWorker] call_method: nodes.load_model.LoadSharpModel.EXECUTE_NORMALIZED\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-Sharp] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-Sharp] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=7 sending call_method\n [ComfyUI] [worker:ComfyUI-Sharp] [LoadSharpModel] precision='auto' -> dtype=bf16 (device=cuda:0)\n [ComfyUI] [worker:ComfyUI-Sharp] [LoadSharpModel] checkpoint already present, reusing (no download): /workspaces/Sharp-2116/ComfyUI/models/sharp/sharp_2572gikvuh.pt (2679.6 MB)\n [ComfyUI] [worker:ComfyUI-Sharp] [LoadSharpModel] checkpoint ready: /workspaces/Sharp-2116/ComfyUI/models/sharp/sharp_2572gikvuh.pt (2679.6 MB)\n [ComfyUI] [worker:ComfyUI-Sharp] [LoadSharpModel] config: precision=auto -> dtype=bf16\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] LoadSharpModel done (0.08s): result: NodeOutput\n [ComfyUI] [VRAM] After LoadSharpModel: 18099 / 24122 MB\n [ComfyUI] [comfy-env] Running SharpPredict: focal_length_mm: 20.0, output_prefix: 'sharp', model: dict, image: torch.float32 [1,1011,1520,3] cpu\n [ComfyUI] [VRAM] Before SharpPredict: 18099 / 24122 MB\n [ComfyUI] [SubprocessWorker] call_method: nodes.predict.SharpPredict.EXECUTE_NORMALIZED\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-Sharp] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-Sharp] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [comfy-env] PRE-SERIALIZE 'image' shape: torch.Size([1, 1011, 1520, 3])\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n Frame 2 saved (frame_001.jpg, t=2.3s)\n [capture-periodic] freeze=1ms shot=123ms unfreeze=2ms saved=True\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=8 sending call_method\n [ComfyUI] [worker:ComfyUI-Sharp] [comfy-env] _from_shm got dict with keys: ['__type__', 'strategy', 'parent_pid', 'fd', 'storage_size']\n [ComfyUI] [worker:ComfyUI-Sharp] [comfy-env] DESERIALIZE TensorRef: tensor_size=[1, 1011, 1520, 3]\n [ComfyUI] [worker:ComfyUI-Sharp] [comfy-env] DESERIALIZED tensor shape: torch.Size([1, 1011, 1520, 3])\n Frame 3 saved (frame_002.jpg, t=4.5s)\n [capture-periodic] freeze=1ms shot=120ms unfreeze=1ms saved=True\n [capture-loop] iter=50 t=5.6s state={'complete': False, 'error': None, 'executedCount': 0, 'wsState': 1} eval_ms=1 ram=13.3/31.3GB (43%) swap=22.2/32.0GB (69%) cpu=68% browser_rss=0.84GB\n [ComfyUI] [worker:ComfyUI-Sharp] [LoadSharpModel] loading checkpoint from /workspaces/Sharp-2116/ComfyUI/models/sharp/sharp_2572gikvuh.pt (dtype=bf16)\n [ComfyUI] [worker:ComfyUI-Sharp] [LoadSharpModel] initializing model on meta device...\n [ComfyUI] [worker:ComfyUI-Sharp] [LoadSharpModel] model ready (torch.bfloat16)\n [ComfyUI] [SubprocessWorker] callback 'request_vram_budget' from call_id=8\n [ComfyUI] [comfy-env] VRAM request: 2.81GB, free before eviction: 6.32GB\n [ComfyUI] [comfy-env] VRAM after eviction: 6.32GB\n [ComfyUI] [worker:ComfyUI-Sharp] [VRAM] +200MB (now 200MB) reserved=384MB peak=200MB\n [ComfyUI] [worker:ComfyUI-Sharp] [VRAM] +421MB (now 621MB) reserved=896MB peak=675MB\n [ComfyUI] [worker:ComfyUI-Sharp] [VRAM] +894MB (now 1516MB) reserved=5280MB peak=4405MB\n [capture-loop] iter=100 t=11.0s state={'complete': False, 'error': None, 'executedCount': 0, 'wsState': 1} eval_ms=3 ram=17.5/31.3GB (56%) swap=22.2/32.0GB (69%) cpu=15% browser_rss=0.84GB\n [ComfyUI] [worker:ComfyUI-Sharp] [VRAM] +994MB (now 2511MB) reserved=4384MB peak=4405MB\n [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=8\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] SharpPredict done (10.70s): result: NodeOutput\n [ComfyUI] [VRAM] After SharpPredict: 22601 / 24122 MB\n [ComfyUI] [comfy-env] Running PreviewGaussianSharp: ply_path: '/workspaces/Sharp-2116/ComfyUI/output/sharp_178086766310..., extrinsics: list[4], intrinsics: list[3]\n [ComfyUI] [VRAM] Before PreviewGaussianSharp: 22601 / 24122 MB\n [ComfyUI] [SubprocessWorker] call_method: nodes.preview_gaussian_sharp.PreviewGaussianSharp.EXECUTE_NORMALIZED\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] PreviewGaussianSharp done (0.05s): result: NodeOutput\n [ComfyUI] [VRAM] After PreviewGaussianSharp: 22601 / 24122 MB\n [ComfyUI] \u001b[32m[INFO]\u001b[0m \u001b[32mPrompt executed in 12.58 seconds\u001b[0m"}, {"file": "frame_004.jpg", "time": 48.237608909606934, "log": "Final screenshot"}], "total_time": 45.93}};
const inIframe = window !== window.top;
let currentWorkflow = null;
let playInterval = null;
let originalLogContent = '';
let currentFrameIndex = 0;
let currentFrames = [];
let currentTotalTime = 0;
function openLightboxByName(name) {
const w = workflowData[name];
if (w) openLightbox(w.src, w.title, w.status, w.duration, w.log, w.hardware);
}
function openLightbox(src, title, status, duration, logContent, hardware) {
document.getElementById('lightbox-img').src = src;
document.getElementById('lightbox-title').textContent = title;
currentWorkflow = title;
originalLogContent = logContent;
const badge = document.getElementById('lightbox-badge');
badge.textContent = status;
badge.className = 'lightbox-badge ' + status;
document.getElementById('lightbox-duration').textContent = duration + 's';
document.getElementById('lightbox-log').textContent = logContent || '(No log available)';
const hwEl = document.getElementById('lightbox-hardware');
if (hardware) {
const parts = [];
if (hardware.os) parts.push(hardware.os);
if (hardware.cpu) parts.push(hardware.cpu);
if (hardware.gpu) parts.push(hardware.gpu);
hwEl.textContent = parts.join(' | ');
} else {
hwEl.textContent = status === 'skipped' ? '(Did not run on this machine)' : '';
}
const data = videoData[title];
const videoPlayer = document.getElementById('video-player');
const lightboxImg = document.getElementById('lightbox-img');
const lightboxVideo = document.getElementById('lightbox-video');
// Reset both modes; the branch below activates one.
videoPlayer.classList.remove('active');
lightboxVideo.style.display = 'none';
lightboxVideo.removeAttribute('src');
lightboxImg.style.display = '';
if (data && data.mp4) {
// Playable mp4 (desktop runs). Show <video>, hide the
// frame-slideshow img + slider.
lightboxVideo.src = 'videos/' + encodeURIComponent(title) + '/' + data.mp4;
lightboxVideo.style.display = '';
lightboxImg.style.display = 'none';
} else if (data && data.frames && data.frames.length > 1) {
currentFrames = data.frames;
currentTotalTime = data.total_time || data.frames[data.frames.length - 1].time;
setupVideoSlider(data.frames, currentTotalTime);
updateVideoFrameByIndex(title, data.frames.length - 1);
videoPlayer.classList.add('active');
}
loadResourceGraph(title);
// Close image overlay if open
closeImgOverlay();
document.getElementById('lightbox').classList.add('active');
history.replaceState(null, '', '#' + encodeURIComponent(title));
// Notify parent frames for deep linking
if (inIframe) {
window.parent.postMessage({ type: 'comfytest-open', name: title }, '*');
}
}
function buildSliderRange(frames, totalTime) {
const range = { 'min': frames[0].time };
frames.forEach((frame, idx) => {
if (idx > 0 && idx < frames.length - 1) {
const pct = (frame.time / totalTime * 100).toFixed(1) + '%';
range[pct] = frame.time;
}
});
range['max'] = frames[frames.length - 1].time;
return range;
}
function setupVideoSlider(frames, totalTime) {
const sliderEl = document.getElementById('video-slider');
if (sliderEl.noUiSlider) {
sliderEl.noUiSlider.destroy();
}
const range = buildSliderRange(frames, totalTime);
noUiSlider.create(sliderEl, {
start: frames[frames.length - 1].time,
snap: true,
range: range,
pips: {
mode: 'range',
density: 100
}
});
sliderEl.noUiSlider.on('update', function(values) {
const time = parseFloat(values[0]);
const frameIdx = frames.findIndex(f => Math.abs(f.time - time) < 0.01);
if (frameIdx >= 0 && frameIdx !== currentFrameIndex) {
currentFrameIndex = frameIdx;
showFrame(currentWorkflow, frameIdx);
}
});
}
function showFrame(workflowName, frameIndex) {
const data = videoData[workflowName];
if (!data || !data.frames) return;
const frame = data.frames[frameIndex];
const img = document.getElementById('lightbox-img');
const isLastFrame = frameIndex === data.frames.length - 1;
if (isLastFrame && workflowData[workflowName] && workflowData[workflowName].src) {
img.src = workflowData[workflowName].src;
} else {
img.src = 'videos/' + workflowName + '/' + frame.file;
}
const counter = document.getElementById('video-frame-counter');
const totalTime = data.total_time || data.frames[data.frames.length - 1].time;
counter.textContent = frame.time.toFixed(1) + 's / ' + totalTime.toFixed(1) + 's';
const logEl = document.getElementById('lightbox-log');
if (frame.log) {
logEl.textContent = frame.log;
logEl.scrollTop = logEl.scrollHeight;
}
}
function updateVideoFrameByIndex(workflowName, frameIndex) {
currentFrameIndex = frameIndex;
showFrame(workflowName, frameIndex);
const sliderEl = document.getElementById('video-slider');
if (sliderEl.noUiSlider && currentFrames[frameIndex]) {
sliderEl.noUiSlider.set(currentFrames[frameIndex].time);
}
}
function toggleVideoPlay() {
const btn = document.getElementById('video-play-btn');
if (playInterval) {
clearInterval(playInterval);
playInterval = null;
btn.innerHTML = '&#9654; Play';
} else {
btn.innerHTML = '&#9632; Stop';
playInterval = setInterval(() => {
if (!currentFrames.length) return;
currentFrameIndex = (currentFrameIndex + 1) % currentFrames.length;
updateVideoFrameByIndex(currentWorkflow, currentFrameIndex);
}, 500);
}
}
let resourceGraphState = null;
async function loadResourceGraph(workflowName) {
const graphContainer = document.getElementById('resource-graph');
const canvas = document.getElementById('resource-canvas');
const gpuLegend = document.getElementById('gpu-legend');
resourceGraphState = null;
try {
const csvResponse = await fetch('logs/' + workflowName + '_resources.csv');
if (!csvResponse.ok) {
graphContainer.classList.remove('active');
return;
}
const text = await csvResponse.text();
const allLines = text.trim().split('\n');
let totalRamGb = 32;
if (allLines[0].startsWith('#')) {
const metaMatch = allLines[0].match(/total_ram_gb=([\d.]+)/);
if (metaMatch) {
totalRamGb = parseFloat(metaMatch[1]);
}
}
const dataLines = allLines.slice(2);
if (dataLines.length < 2) {
graphContainer.classList.remove('active');
return;
}
const data = dataLines.map(line => {
const [t, ram, vram] = line.split(',');
return {
t: parseFloat(t),
ram: parseFloat(ram),
vram: vram ? parseFloat(vram) : null
};
});
const hasVram = data.some(d => d.vram !== null);
gpuLegend.style.display = hasVram ? 'flex' : 'none';
graphContainer.classList.add('active');
await new Promise(r => setTimeout(r, 10));
const ctx = canvas.getContext('2d');
const dpr = window.devicePixelRatio || 1;
const rect = canvas.getBoundingClientRect();
canvas.width = rect.width * dpr;
canvas.height = rect.height * dpr;
ctx.scale(dpr, dpr);
const w = rect.width;
const h = rect.height;
const padding = { top: 10, right: 40, bottom: 20, left: 45 };
const graphW = w - padding.left - padding.right;
const graphH = h - padding.top - padding.bottom;
const maxRam = Math.max(...data.map(d => d.ram), 0.5);
const maxVram = hasVram ? Math.max(...data.filter(d => d.vram !== null).map(d => d.vram), 0.5) : 1;
const maxTime = data[data.length - 1].t;
resourceGraphState = { data, padding, w, h, graphW, graphH, maxRam, maxVram, maxTime, hasVram, dpr };
drawResourceGraph();
} catch (e) {
console.error('Resource graph error:', e);
graphContainer.classList.remove('active');
}
}
function drawResourceGraph(hoverX) {
if (!resourceGraphState) return;
const { data, padding, w, h, graphW, graphH, maxRam, maxVram, maxTime, hasVram, dpr } = resourceGraphState;
const canvas = document.getElementById('resource-canvas');
const ctx = canvas.getContext('2d');
ctx.setTransform(dpr, 0, 0, dpr, 0, 0);
ctx.clearRect(0, 0, w, h);
// Grid lines
ctx.strokeStyle = '#1c2d44';
ctx.lineWidth = 0.5;
for (let i = 1; i < 4; i++) {
const y = padding.top + (graphH * i / 4);
ctx.beginPath();
ctx.moveTo(padding.left, y);
ctx.lineTo(w - padding.right, y);
ctx.stroke();
}
// Axes
ctx.strokeStyle = '#243656';
ctx.lineWidth = 1;
ctx.beginPath();
ctx.moveTo(padding.left, padding.top);
ctx.lineTo(padding.left, h - padding.bottom);
ctx.lineTo(w - padding.right, h - padding.bottom);
ctx.lineTo(w - padding.right, padding.top);
ctx.stroke();
// Left axis: RAM
ctx.fillStyle = '#3fb950';
ctx.font = '9px sans-serif';
ctx.textAlign = 'right';
const ramMax = Math.ceil(maxRam * 10) / 10;
ctx.fillText(ramMax.toFixed(1) + ' GB', padding.left - 3, padding.top + 4);
ctx.fillText('0', padding.left - 3, h - padding.bottom + 4);
// Right axis: VRAM (if present)
if (hasVram) {
ctx.fillStyle = '#d29922';
ctx.textAlign = 'left';
const vramMax = Math.ceil(maxVram * 10) / 10;
ctx.fillText(vramMax.toFixed(1) + ' GB', w - padding.right + 3, padding.top + 4);
ctx.fillText('0', w - padding.right + 3, h - padding.bottom + 4);
}
// Time labels
ctx.fillStyle = '#4a6282';
ctx.textAlign = 'center';
ctx.fillText('0s', padding.left, h - padding.bottom + 12);
ctx.fillText(maxTime.toFixed(0) + 's', w - padding.right, h - padding.bottom + 12);
function drawLine(values, maxVal, color) {
if (values.every(v => v === null || isNaN(v))) return;
ctx.strokeStyle = color;
ctx.lineWidth = 1.5;
ctx.beginPath();
let started = false;
data.forEach((d, i) => {
const val = values[i];
if (val === null || isNaN(val)) return;
const x = padding.left + (d.t / maxTime) * graphW;
const y = padding.top + (1 - val / maxVal) * graphH;
if (!started) { ctx.moveTo(x, y); started = true; }
else { ctx.lineTo(x, y); }
});
ctx.stroke();
}
drawLine(data.map(d => d.ram), ramMax, '#3fb950');
if (hasVram) {
drawLine(data.map(d => d.vram), Math.ceil(maxVram * 10) / 10, '#d29922');
}
// Hover crosshair
if (hoverX !== undefined && hoverX >= padding.left && hoverX <= w - padding.right) {
const timeAtCursor = ((hoverX - padding.left) / graphW) * maxTime;
let closest = data[0], closestDist = Infinity;
for (const d of data) {
const dist = Math.abs(d.t - timeAtCursor);
if (dist < closestDist) { closestDist = dist; closest = d; }
}
const snapX = padding.left + (closest.t / maxTime) * graphW;
// Vertical line
ctx.strokeStyle = 'rgba(230,237,243,0.2)';
ctx.lineWidth = 1;
ctx.beginPath();
ctx.moveTo(snapX, padding.top);
ctx.lineTo(snapX, h - padding.bottom);
ctx.stroke();
// Readout
ctx.font = '10px sans-serif';
ctx.textAlign = 'left';
const readoutX = snapX + 6;
let readoutY = padding.top + 14;
ctx.fillStyle = '#8ba3c1';
ctx.fillText(closest.t.toFixed(1) + 's', readoutX, readoutY);
readoutY += 13;
ctx.fillStyle = '#3fb950';
ctx.fillText('RAM: ' + closest.ram.toFixed(2) + ' GB', readoutX, readoutY);
readoutY += 13;
if (hasVram && closest.vram !== null) {
ctx.fillStyle = '#d29922';
ctx.fillText('VRAM: ' + closest.vram.toFixed(2) + ' GB', readoutX, readoutY);
}
}
}
// Canvas hover handler
document.getElementById('resource-canvas').addEventListener('mousemove', function(e) {
if (!resourceGraphState) return;
const rect = this.getBoundingClientRect();
drawResourceGraph(e.clientX - rect.left);
});
document.getElementById('resource-canvas').addEventListener('mouseleave', function() {
drawResourceGraph();
});
function closeImgOverlay() {
const overlay = document.getElementById('img-overlay');
overlay.classList.remove('active', 'zoomed');
}
function closeLightbox() {
if (playInterval) {
clearInterval(playInterval);
playInterval = null;
document.getElementById('video-play-btn').innerHTML = '&#9654; Play';
}
closeImgOverlay();
document.getElementById('resource-graph').classList.remove('active');
document.getElementById('lightbox').classList.remove('active');
history.replaceState(null, '', window.location.pathname);
if (inIframe) {
window.parent.postMessage({ type: 'comfytest-close' }, '*');
}
}
document.getElementById('lightbox').onclick = (e) => {
if (e.target.id === 'lightbox') closeLightbox();
};
function navigateLightbox(delta) {
if (workflowNames.length === 0) return;
const idx = workflowNames.indexOf(currentWorkflow);
if (idx === -1) return;
const newIdx = (idx + delta + workflowNames.length) % workflowNames.length;
openLightboxByName(workflowNames[newIdx]);
}
function handleKey(key) {
const overlay = document.getElementById('img-overlay');
if (key === 'Escape') {
if (overlay.classList.contains('active')) {
closeImgOverlay();
} else {
closeLightbox();
}
return;
}
if (document.getElementById('lightbox').classList.contains('active') && !overlay.classList.contains('active')) {
if (key === 'ArrowLeft') { navigateLightbox(-1); }
if (key === 'ArrowRight') { navigateLightbox(1); }
if ((key === 'ArrowUp' || key === 'ArrowDown') && inIframe) {
window.parent.postMessage({
type: 'comfytest-platform-shift',
delta: key === 'ArrowUp' ? -1 : 1,
workflow: currentWorkflow,
}, '*');
}
}
}
document.onkeydown = (e) => {
if (['Escape', 'ArrowLeft', 'ArrowRight', 'ArrowUp', 'ArrowDown'].includes(e.key)) {
e.preventDefault();
handleKey(e.key);
}
};
// Click lightbox image -> open in fullscreen overlay (fit mode)
document.getElementById('lightbox-img').addEventListener('click', function(e) {
e.stopPropagation();
const overlay = document.getElementById('img-overlay');
const overlayImg = document.getElementById('img-overlay-content');
overlayImg.src = this.src;
overlay.classList.add('active');
overlay.classList.remove('zoomed');
});
// Click overlay image: fit -> zoomed -> close
document.getElementById('img-overlay-content').addEventListener('click', function(e) {
e.stopPropagation();
const overlay = document.getElementById('img-overlay');
if (overlay.classList.contains('zoomed')) {
closeImgOverlay();
} else {
overlay.classList.add('zoomed');
}
});
// Click overlay background -> close overlay
document.getElementById('img-overlay').addEventListener('click', function(e) {
if (e.target === this) closeImgOverlay();
});
function openFromHash() {
const hash = decodeURIComponent(window.location.hash.slice(1));
if (hash && workflowData[hash]) {
const w = workflowData[hash];
openLightbox(w.src, w.title, w.status, w.duration, w.log, w.hardware);
}
}
window.addEventListener('hashchange', openFromHash);
window.addEventListener('load', openFromHash);
// Listen for messages from parent frames
window.addEventListener('message', function(e) {
if (!e.data || !e.data.type) return;
if (e.data.type === 'comfytest-open' && e.data.name) {
openLightboxByName(e.data.name);
}
if (e.data.type === 'comfytest-key') {
handleKey(e.data.key);
}
});
// Detect iframe: hide header and move meta chips into summary
if (inIframe) {
document.body.classList.add('in-iframe');
const chips = document.querySelector('.meta-chips');
const summary = document.querySelector('.summary');
if (chips && summary) {
const wrapper = document.createElement('div');
wrapper.className = 'summary-meta';
while (chips.firstChild) wrapper.appendChild(chips.firstChild);
summary.insertBefore(wrapper, summary.firstChild);
}
}
</script>
</body>
</html>