1694 lines
323 KiB
HTML
1694 lines
323 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 0.0%, #f85149 0.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:35 UTC</span> <a class="meta-chip" href="https://github.com/PozzettiAndrea/comfy-gpu-ci/actions/runs/27105061263" 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> Windows-11-10.0.26100-SP0</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> Intel64 Family 6 Model 79 Stepping 1, GenuineIntel</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: 0.0%"></div>
|
|
</div>
|
|
<span class="progress-label">0.0%</span>
|
|
</div>
|
|
<div class="stats">
|
|
<span class="stat-badge stat-pass">0 passed</span>
|
|
<span class="stat-badge stat-fail">4 failed</span>
|
|
<span class="stat-total">0/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>396.95s</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<div class="workflow-card clickable failed" onclick="openLightboxByName('sharp_basic')">
|
|
<div class="workflow-screenshot placeholder">No screenshot</div>
|
|
<div class="workflow-info">
|
|
<div class="workflow-header">
|
|
<span class="workflow-name" title="sharp_basic">sharp_basic</span>
|
|
<span class="workflow-badge fail">fail</span>
|
|
</div>
|
|
<div class="workflow-meta">
|
|
<span>7.21s</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<div class="workflow-card clickable failed" onclick="openLightboxByName('sharp_exif')">
|
|
<div class="workflow-screenshot placeholder">No screenshot</div>
|
|
<div class="workflow-info">
|
|
<div class="workflow-header">
|
|
<span class="workflow-name" title="sharp_exif">sharp_exif</span>
|
|
<span class="workflow-badge fail">fail</span>
|
|
</div>
|
|
<div class="workflow-meta">
|
|
<span>6.26s</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<div class="workflow-card clickable failed" onclick="openLightboxByName('vanilla_vs_image_depth_gaussians')">
|
|
<div class="workflow-screenshot placeholder">No screenshot</div>
|
|
<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 fail">fail</span>
|
|
</div>
|
|
<div class="workflow-meta">
|
|
<span>6.37s</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">396.95s</span>
|
|
</div>
|
|
<div class="failed-error">Workflow execution failed: {'prompt_id': 'a0b5651f-7690-4c72-b8ea-fc0e3c49acc8', 'node_id': '76', 'node_type': 'SharpPredictGaussiansFromMetricDepth', 'executed': ['81', '59', '73', '89', '9', '60', '70', '62', '87', '68', '61', '80', '7', '96'], 'exception_message': 'No module named \'torchvision\'\n\nWorker traceback:\nTraceback (most recent call last):\n File "C:\\Users\\ContainerUser\\AppData\\Local\\Temp\\comfyui_pvenv__j68vr6p\\persistent_worker.py", line 1762, in main\n result = method(**inputs)\n File "C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy_api\\latest\\_io.py", line 1880, in EXECUTE_NORMALIZED\n to_return = cls.execute(*args, **kwargs)\n File "C:\\Users\\ContainerUser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\sharp-nodes\\Lib\\site-packages\\torch\\utils\\_contextlib.py", line 124, in decorate_context\n return func(*args, **kwargs)\n File "C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\custom_nodes\\ComfyUI-Sharp\\nodes\\predict_gaussians_from_depth.py", line 279, in execute\n patcher = _load_sharp_model(model)\n File "C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\custom_nodes\\ComfyUI-Sharp\\nodes\\load_model.py", line 138, in _load_sharp_model\n import comfy.model_patcher\n File "C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\model_patcher.py", line 32, in <module>\n import comfy.hooks\n File "C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\hooks.py", line 14, in <module>\n import comfy.lora\n File "C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\lora.py", line 22, in <module>\n import comfy.model_base\n File "C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\model_base.py", line 41, in <module>\n import comfy.ldm.cosmos.model\n File "C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\ldm\\cosmos\\model.py", line 25, in <module>\n from torchvision import transforms\nModuleNotFoundError: No module named \'torchvision\'\n\n', 'exception_type': 'comfy_env.isolation.workers.base.WorkerError', 'traceback': [' File "C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py", 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', ' File "C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py", 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', ' File "C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py", line 310, in _async_map_node_over_list\n await process_inputs(input_dict, i)\n', ' File "C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py", line 298, in process_inputs\n result = f(**inputs)\n', ' File "C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\python_embeded\\Lib\\site-packages\\comfy_env\\isolation\\metadata.py", line 556, in proxy\n result = worker.call_method(\n module_name=mod,\n ...<4 lines>...\n timeout=600.0,\n )\n', ' File "C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\python_embeded\\Lib\\site-packages\\comfy_env\\isolation\\workers\\subprocess.py", line 674, in call_method\n raise WorkerError(\n ...<2 lines>...\n )\n'], 'current_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': ["{'model_path': 'C:\\\\workspaces\\\\Sharp-2317\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\models\\\\sharp\\\\sharp_2572gikvuh.pt', 'precision': 'auto', 'dtype': 'bf16'}"], 'image': ['tensor([[[[0.2295, 0.1593, 0.1320],\n [0.2225, 0.1553, 0.1284],\n [0.2149, 0.1509, 0.1239],\n ...,\n [0.2200, 0.1667, 0.1292],\n [0.2212, 0.1688, 0.1289],\n [0.2225, 0.1714, 0.1287]],\n\n [[0.2374, 0.1657, 0.1388],\n [0.2252, 0.1560, 0.1298],\n [0.2171, 0.1502, 0.1235],\n ...,\n [0.2198, 0.1685, 0.1281],\n [0.2201, 0.1690, 0.1269],\n [0.2213, 0.1702, 0.1277]],\n\n [[0.2464, 0.1741, 0.1473],\n [0.2275, 0.1569, 0.1333],\n [0.2201, 0.1510, 0.1257],\n ...,\n [0.2232, 0.1715, 0.1318],\n [0.2227, 0.1717, 0.1302],\n [0.2227, 0.1718, 0.1310]],\n\n ...,\n\n [[0.3662, 0.2779, 0.2250],\n [0.3601, 0.2718, 0.2170],\n [0.3565, 0.2677, 0.2106],\n ...,\n [0.2098, 0.1556, 0.1291],\n [0.2149, 0.1607, 0.1338],\n [0.2205, 0.1664, 0.1391]],\n\n [[0.3594, 0.2735, 0.2190],\n [0.3577, 0.2700, 0.2139],\n [0.3562, 0.2667, 0.2091],\n ...,\n [0.2085, 0.1535, 0.1265],\n [0.2105, 0.1555, 0.1276],\n [0.2182, 0.1629, 0.1352]],\n\n [[0.3578, 0.2721, 0.2182],\n [0.3595, 0.2714, 0.2160],\n [0.3602, 0.2706, 0.2137],\n ...,\n [0.2115, 0.1557, 0.1289],\n [0.2082, 0.1532, 0.1241],\n [0.2141, 0.1585, 0.1298]]],\n\n\n [[[0.2406, 0.1885, 0.1518],\n [0.2357, 0.1816, 0.1460],\n [0.2286, 0.1737, 0.1383],\n ...,\n [0.1694, 0.1221, 0.0941],\n [0.1689, 0.1234, 0.0941],\n [0.1683, 0.1252, 0.0938]],\n\n [[0.2302, 0.1827, 0.1439],\n [0.2259, 0.1762, 0.1388],\n [0.2214, 0.1693, 0.1333],\n ...,\n [0.1714, 0.1233, 0.0948],\n [0.1691, 0.1248, 0.0949],\n [0.1661, 0.1253, 0.0937]],\n\n [[0.2202, 0.1707, 0.1339],\n [0.2162, 0.1670, 0.1303],\n [0.2139, 0.1642, 0.1280],\n ...,\n [0.1715, 0.1250, 0.0978],\n [0.1672, 0.1257, 0.0960],\n [0.1650, 0.1274, 0.0964]],\n\n ...,\n\n [[0.0966, 0.0709, 0.0623],\n [0.0984, 0.0712, 0.0627],\n [0.0994, 0.0705, 0.0625],\n ...,\n [0.0971, 0.0776, 0.0619],\n [0.0962, 0.0749, 0.0592],\n [0.0957, 0.0744, 0.0587]],\n\n [[0.1058, 0.0742, 0.0682],\n [0.1099, 0.0772, 0.0699],\n [0.1046, 0.0722, 0.0643],\n ...,\n [0.0973, 0.0775, 0.0619],\n [0.0959, 0.0743, 0.0587],\n [0.0944, 0.0714, 0.0557]],\n\n [[0.1069, 0.0747, 0.0687],\n [0.1134, 0.0796, 0.0717],\n [0.0972, 0.0646, 0.0568],\n ...,\n [0.0981, 0.0783, 0.0627],\n [0.0971, 0.0760, 0.0603],\n [0.0964, 0.0737, 0.0580]]],\n\n\n [[[0.0864, 0.0314, 0.0134],\n [0.0866, 0.0314, 0.0165],\n [0.0868, 0.0314, 0.0196],\n ...,\n [0.2040, 0.1496, 0.1230],\n [0.2041, 0.1514, 0.1244],\n [0.2043, 0.1528, 0.1257]],\n\n [[0.0880, 0.0316, 0.0137],\n [0.0879, 0.0314, 0.0156],\n [0.0880, 0.0314, 0.0181],\n ...,\n [0.2048, 0.1500, 0.1252],\n [0.2053, 0.1523, 0.1266],\n [0.2065, 0.1522, 0.1269]],\n\n [[0.0905, 0.0333, 0.0175],\n [0.0892, 0.0314, 0.0152],\n [0.0893, 0.0314, 0.0173],\n ...,\n [0.2061, 0.1509, 0.1274],\n [0.2073, 0.1528, 0.1284],\n [0.2087, 0.1523, 0.1282]],\n\n ...,\n\n [[0.1964, 0.1389, 0.1239],\n [0.1977, 0.1409, 0.1304],\n [0.1977, 0.1420, 0.1357],\n ...,\n [0.1500, 0.1145, 0.0873],\n [0.1624, 0.1256, 0.0970],\n [0.1701, 0.1326, 0.1035]],\n\n [[0.1936, 0.1386, 0.1294],\n [0.1940, 0.1405, 0.1341],\n [0.1911, 0.1399, 0.1334],\n ...,\n [0.1436, 0.1112, 0.0853],\n [0.1518, 0.1172, 0.0882],\n [0.1622, 0.1266, 0.0961]],\n\n [[0.1917, 0.1418, 0.1338],\n [0.1900, 0.1417, 0.1342],\n [0.1877, 0.1406, 0.1310],\n ...,\n [0.1386, 0.1090, 0.0864],\n [0.1439, 0.1114, 0.0831],\n [0.1536, 0.1178, 0.0862]]],\n\n\n ...,\n\n\n [[[0.2300, 0.1676, 0.1361],\n [0.2242, 0.1646, 0.1317],\n [0.2171, 0.1617, 0.1267],\n ...,\n [0.0693, 0.0241, 0.0123],\n [0.0748, 0.0306, 0.0188],\n [0.0798, 0.0347, 0.0237]],\n\n [[0.2263, 0.1637, 0.1323],\n [0.2217, 0.1607, 0.1285],\n [0.2156, 0.1578, 0.1240],\n ...,\n [0.0728, 0.0269, 0.0151],\n [0.0813, 0.0356, 0.0238],\n [0.0885, 0.0429, 0.0313]],\n\n [[0.2238, 0.1608, 0.1297],\n [0.2198, 0.1570, 0.1257],\n [0.2154, 0.1544, 0.1221],\n ...,\n [0.0762, 0.0294, 0.0177],\n [0.0867, 0.0395, 0.0278],\n [0.0909, 0.0424, 0.0317]],\n\n ...,\n\n [[0.1235, 0.0549, 0.0451],\n [0.1232, 0.0549, 0.0448],\n [0.1226, 0.0536, 0.0433],\n ...,\n [0.1184, 0.0819, 0.0832],\n [0.1113, 0.0793, 0.0790],\n [0.1011, 0.0745, 0.0717]],\n\n [[0.1236, 0.0549, 0.0452],\n [0.1246, 0.0549, 0.0462],\n [0.1252, 0.0534, 0.0439],\n ...,\n [0.1213, 0.0826, 0.0828],\n [0.1184, 0.0828, 0.0827],\n [0.1123, 0.0808, 0.0796]],\n\n [[0.1239, 0.0546, 0.0454],\n [0.1240, 0.0525, 0.0454],\n [0.1252, 0.0508, 0.0420],\n ...,\n [0.1298, 0.0893, 0.0865],\n [0.1248, 0.0863, 0.0854],\n [0.1220, 0.0859, 0.0859]]],\n\n\n [[[0.2007, 0.1486, 0.1144],\n [0.1981, 0.1450, 0.1119],\n [0.1947, 0.1412, 0.1084],\n ...,\n [0.1986, 0.1450, 0.1209],\n [0.1962, 0.1463, 0.1195],\n [0.1967, 0.1490, 0.1209]],\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.1184],\n [0.1947, 0.1452, 0.1163],\n [0.1947, 0.1474, 0.1172]],\n\n [[0.1994, 0.1475, 0.1122],\n [0.1930, 0.1420, 0.1067],\n [0.1919, 0.1402, 0.1047],\n ...,\n [0.1989, 0.1480, 0.1179],\n [0.1967, 0.1497, 0.1168],\n [0.1975, 0.1490, 0.1186]],\n\n ...,\n\n [[0.0690, 0.0306, 0.0157],\n [0.0719, 0.0353, 0.0192],\n [0.0747, 0.0403, 0.0232],\n ...,\n [0.1381, 0.1090, 0.1144],\n [0.1265, 0.0985, 0.0970],\n [0.1317, 0.1054, 0.0995]],\n\n [[0.0784, 0.0366, 0.0173],\n [0.0819, 0.0430, 0.0230],\n [0.0857, 0.0497, 0.0291],\n ...,\n [0.1671, 0.1420, 0.1568],\n [0.1133, 0.0897, 0.0944],\n [0.1010, 0.0801, 0.0806]],\n\n [[0.0973, 0.0561, 0.0315],\n [0.0997, 0.0610, 0.0363],\n [0.1023, 0.0650, 0.0403],\n ...,\n [0.3421, 0.3164, 0.3393],\n [0.2764, 0.2523, 0.2681],\n [0.2167, 0.1947, 0.2045]]],\n\n\n [[[0.1388, 0.0975, 0.0712],\n [0.1364, 0.0966, 0.0672],\n [0.1361, 0.0969, 0.0656],\n ...,\n [0.2059, 0.1442, 0.1224],\n [0.2059, 0.1431, 0.1196],\n [0.2064, 0.1428, 0.1189]],\n\n [[0.1367, 0.0942, 0.0694],\n [0.1352, 0.0937, 0.0644],\n [0.1350, 0.0940, 0.0613],\n ...,\n [0.1923, 0.1320, 0.1134],\n [0.1959, 0.1341, 0.1133],\n [0.1963, 0.1337, 0.1113]],\n\n [[0.1350, 0.0907, 0.0635],\n [0.1350, 0.0922, 0.0604],\n [0.1356, 0.0928, 0.0585],\n ...,\n [0.1871, 0.1274, 0.1097],\n [0.1912, 0.1293, 0.1101],\n [0.1962, 0.1331, 0.1118]],\n\n ...,\n\n [[0.1043, 0.0973, 0.0718],\n [0.1044, 0.0976, 0.0754],\n [0.1046, 0.0980, 0.0795],\n ...,\n [0.4336, 0.2548, 0.1784],\n [0.4266, 0.2504, 0.1765],\n [0.4132, 0.2371, 0.1655]],\n\n [[0.1020, 0.0965, 0.0676],\n [0.1027, 0.0973, 0.0731],\n [0.1029, 0.0969, 0.0765],\n ...,\n [0.4263, 0.2456, 0.1723],\n [0.4251, 0.2489, 0.1782],\n [0.4087, 0.2356, 0.1665]],\n\n [[0.1002, 0.0961, 0.0649],\n [0.1015, 0.0976, 0.0722],\n [0.1008, 0.0948, 0.0734],\n ...,\n [0.4201, 0.2376, 0.1670],\n [0.4196, 0.2417, 0.1741],\n [0.4064, 0.2341, 0.1681]]]])'], 'metric_depth_layer0': ['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.5002, 0.5002, 0.5002],\n [0.4997, 0.4997, 0.4997],\n [0.4991, 0.4991, 0.4991]],\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.8989, 0.8989, 0.8989],\n [0.8955, 0.8955, 0.8955],\n [0.8921, 0.8921, 0.8921],\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.8967, 0.8967, 0.8967],\n [0.8933, 0.8933, 0.8933],\n [0.8900, 0.8900, 0.8900],\n ...,\n [0.2244, 0.2244, 0.2244],\n [0.2243, 0.2243, 0.2243],\n [0.2242, 0.2242, 0.2242]],\n\n [[0.8946, 0.8946, 0.8946],\n [0.8912, 0.8912, 0.8912],\n [0.8879, 0.8879, 0.8879],\n ...,\n [0.2243, 0.2243, 0.2243],\n [0.2242, 0.2242, 0.2242],\n [0.2241, 0.2241, 0.2241]]],\n\n\n [[[0.4448, 0.4448, 0.4448],\n [0.4451, 0.4451, 0.4451],\n [0.4455, 0.4455, 0.4455],\n ...,\n [0.6040, 0.6040, 0.6040],\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.4460, 0.4460, 0.4460],\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.6049, 0.6049, 0.6049],\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.8166, 0.8166, 0.8166],\n ...,\n [0.9888, 0.9888, 0.9888],\n [0.9883, 0.9883, 0.9883],\n [0.9879, 0.9879, 0.9879]],\n\n [[0.8152, 0.8152, 0.8152],\n [0.8158, 0.8158, 0.8158],\n [0.8163, 0.8163, 0.8163],\n ...,\n [0.9882, 0.9882, 0.9882],\n [0.9878, 0.9878, 0.9878],\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.9877, 0.9877, 0.9877],\n [0.9873, 0.9873, 0.9873],\n [0.9868, 0.9868, 0.9868]]],\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.6542, 0.6542, 0.6542],\n ...,\n [0.6344, 0.6344, 0.6344],\n [0.6344, 0.6344, 0.6344],\n [0.6345, 0.6345, 0.6345]],\n\n [[0.6539, 0.6539, 0.6539],\n [0.6539, 0.6539, 0.6539],\n [0.6539, 0.6539, 0.6539],\n ...,\n [0.6341, 0.6341, 0.6341],\n [0.6341, 0.6341, 0.6341],\n [0.6341, 0.6341, 0.6341]]],\n\n\n ...,\n\n\n [[[0.7530, 0.7530, 0.7530],\n [0.7530, 0.7530, 0.7530],\n [0.7530, 0.7530, 0.7530],\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.7539, 0.7539, 0.7539],\n [0.7539, 0.7539, 0.7539],\n [0.7539, 0.7539, 0.7539],\n ...,\n [0.4334, 0.4334, 0.4334],\n [0.4332, 0.4332, 0.4332],\n [0.4331, 0.4331, 0.4331]],\n\n [[0.7548, 0.7548, 0.7548],\n [0.7548, 0.7548, 0.7548],\n [0.7547, 0.7547, 0.7547],\n ...,\n [0.4337, 0.4337, 0.4337],\n [0.4336, 0.4336, 0.4336],\n [0.4335, 0.4335, 0.4335]],\n\n ...,\n\n [[0.8060, 0.8060, 0.8060],\n [0.8065, 0.8065, 0.8065],\n [0.8070, 0.8070, 0.8070],\n ...,\n [0.4864, 0.4864, 0.4864],\n [0.4862, 0.4862, 0.4862],\n [0.4860, 0.4860, 0.4860]],\n\n [[0.8057, 0.8057, 0.8057],\n [0.8062, 0.8062, 0.8062],\n [0.8067, 0.8067, 0.8067],\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.8053, 0.8053, 0.8053],\n [0.8058, 0.8058, 0.8058],\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.6092, 0.6092, 0.6092],\n ...,\n [0.5787, 0.5787, 0.5787],\n [0.5786, 0.5786, 0.5786],\n [0.5786, 0.5786, 0.5786]],\n\n [[0.6097, 0.6097, 0.6097],\n [0.6097, 0.6097, 0.6097],\n [0.6097, 0.6097, 0.6097],\n ...,\n [0.5791, 0.5791, 0.5791],\n [0.5791, 0.5791, 0.5791],\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.5796, 0.5796, 0.5796],\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.9892, 0.9892, 0.9892],\n [0.9896, 0.9896, 0.9896],\n ...,\n [1.3725, 1.3725, 1.3725],\n [1.3715, 1.3715, 1.3715],\n [1.3705, 1.3705, 1.3705]],\n\n [[0.9884, 0.9884, 0.9884],\n [0.9888, 0.9888, 0.9888],\n [0.9893, 0.9893, 0.9893],\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.5975, 0.5975, 0.5975],\n [0.5975, 0.5975, 0.5975],\n [0.5975, 0.5975, 0.5975],\n ...,\n [0.5921, 0.5921, 0.5921],\n [0.5925, 0.5925, 0.5925],\n [0.5922, 0.5922, 0.5922]],\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.5940, 0.5940, 0.5940],\n [0.5941, 0.5941, 0.5941],\n [0.5943, 0.5943, 0.5943]],\n\n [[0.5988, 0.5988, 0.5988],\n [0.5988, 0.5988, 0.5988],\n [0.5987, 0.5987, 0.5987],\n ...,\n [0.5955, 0.5955, 0.5955],\n [0.5957, 0.5957, 0.5957],\n [0.5958, 0.5958, 0.5958]],\n\n ...,\n\n [[1.1844, 1.1844, 1.1844],\n [1.1844, 1.1844, 1.1844],\n [1.1844, 1.1844, 1.1844],\n ...,\n [1.3009, 1.3009, 1.3009],\n [1.3009, 1.3009, 1.3009],\n [1.3008, 1.3008, 1.3008]],\n\n [[1.1839, 1.1839, 1.1839],\n [1.1839, 1.1839, 1.1839],\n [1.1839, 1.1839, 1.1839],\n ...,\n [1.3003, 1.3003, 1.3003],\n [1.3002, 1.3002, 1.3002],\n [1.3002, 1.3002, 1.3002]],\n\n [[1.1834, 1.1834, 1.1834],\n [1.1834, 1.1834, 1.1834],\n [1.1833, 1.1833, 1.1833],\n ...,\n [1.2996, 1.2996, 1.2996],\n [1.2995, 1.2995, 1.2995],\n [1.2995, 1.2995, 1.2995]]]])'], 'extrinsics': ['tensor([[[ 9.6511e-01, 2.6184e-01, -0.0000e+00, -0.0000e+00],\n [-1.7509e-01, 6.4538e-01, -7.4353e-01, -0.0000e+00],\n [-1.9468e-01, 7.1759e-01, 6.6871e-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.2161e-01, -8.3485e-01, -5.3687e-01, -0.0000e+00],\n [ 7.7391e-02, -5.3127e-01, 8.4366e-01, -0.0000e+00],\n [ 0.0000e+00, 0.0000e+00, 0.0000e+00, 1.0000e+00]],\n\n [[ 9.8998e-01, 1.4124e-01, -0.0000e+00, -0.0000e+00],\n [ 1.1579e-01, -8.1161e-01, -5.7262e-01, -0.0000e+00],\n [-8.0877e-02, 5.6688e-01, -8.1982e-01, -0.0000e+00],\n [ 0.0000e+00, 0.0000e+00, 0.0000e+00, 1.0000e+00]],\n\n [[-8.6726e-01, -4.9786e-01, 0.0000e+00, -0.0000e+00],\n [-4.7457e-01, 8.2670e-01, -3.0224e-01, -0.0000e+00],\n [ 1.5047e-01, -2.6212e-01, -9.5323e-01, -0.0000e+00],\n [ 0.0000e+00, 0.0000e+00, 0.0000e+00, 1.0000e+00]],\n\n [[ 8.8285e-01, -4.6966e-01, 0.0000e+00, -0.0000e+00],\n [ 1.7086e-02, 3.2117e-02, -9.9934e-01, -0.0000e+00],\n [ 4.6934e-01, 8.8227e-01, 3.6379e-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.1008e-02, -1.0032e-01, -9.9411e-01, -0.0000e+00],\n [-3.7616e-01, 9.2020e-01, -1.0838e-01, -0.0000e+00],\n [ 0.0000e+00, 0.0000e+00, 0.0000e+00, 1.0000e+00]],\n\n [[-8.6073e-01, -5.0906e-01, 0.0000e+00, -0.0000e+00],\n [ 1.1896e-01, -2.0114e-01, -9.7231e-01, -0.0000e+00],\n [ 4.9497e-01, -8.3690e-01, 2.3368e-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.5841e-02, -6.3978e-02, -9.9639e-01, -0.0000e+00],\n [-6.5520e-01, -7.5067e-01, 8.4920e-02, -0.0000e+00],\n [ 0.0000e+00, 0.0000e+00, 0.0000e+00, 1.0000e+00]],\n\n [[ 2.2466e-01, -9.7444e-01, 0.0000e+00, -0.0000e+00],\n [ 3.1482e-01, 7.2586e-02, -9.4637e-01, -0.0000e+00],\n [ 9.2218e-01, 2.1262e-01, 3.2308e-01, -0.0000e+00],\n [ 0.0000e+00, 0.0000e+00, 0.0000e+00, 1.0000e+00]],\n\n [[ 4.2690e-01, -9.0430e-01, 0.0000e+00, -0.0000e+00],\n [-4.6352e-01, -2.1882e-01, -8.5864e-01, -0.0000e+00],\n [ 7.7647e-01, 3.6655e-01, -5.1258e-01, -0.0000e+00],\n [ 0.0000e+00, 0.0000e+00, 0.0000e+00, 1.0000e+00]],\n\n [[ 1.2487e-01, 9.9217e-01, -0.0000e+00, -0.0000e+00],\n [-6.2834e-01, 7.9079e-02, -7.7391e-01, -0.0000e+00],\n [-7.6786e-01, 9.6639e-02, 6.3329e-01, -0.0000e+00],\n [ 0.0000e+00, 0.0000e+00, 0.0000e+00, 1.0000e+00]],\n\n [[ 2.5200e-01, 9.6773e-01, -0.0000e+00, -0.0000e+00],\n [ 3.8266e-01, -9.9646e-02, -9.1850e-01, -0.0000e+00],\n [-8.8886e-01, 2.3146e-01, -3.9542e-01, -0.0000e+00],\n [ 0.0000e+00, 0.0000e+00, 0.0000e+00, 1.0000e+00]],\n\n [[ 6.9996e-01, 7.1418e-01, -0.0000e+00, -0.0000e+00],\n [-6.8583e-01, 6.7218e-01, -2.7894e-01, -0.0000e+00],\n [-1.9922e-01, 1.9525e-01, 9.6031e-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.2756e-01, -0.0000e+00],\n [ 6.4659e-01, -3.3358e-01, 6.8604e-01, -0.0000e+00],\n [ 0.0000e+00, 0.0000e+00, 0.0000e+00, 1.0000e+00]],\n\n [[ 7.6967e-01, -6.3844e-01, 0.0000e+00, -0.0000e+00],\n [ 4.1169e-01, 4.9632e-01, -7.6431e-01, -0.0000e+00],\n [ 4.8796e-01, 5.8827e-01, 6.4485e-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.4100e-02, -3.0412e-02, -9.9856e-01, -0.0000e+00],\n [ 8.2204e-01, 5.6690e-01, -5.3570e-02, -0.0000e+00],\n [ 0.0000e+00, 0.0000e+00, 0.0000e+00, 1.0000e+00]],\n\n [[ 9.8807e-01, -1.5401e-01, 0.0000e+00, -0.0000e+00],\n [ 5.0146e-02, 3.2171e-01, -9.4551e-01, -0.0000e+00],\n [ 1.4562e-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.2621e-02, 0.0000e+00, -0.0000e+00],\n [-2.9304e-04, -2.3216e-02, -9.9973e-01, -0.0000e+00],\n [ 1.2618e-02, 9.9965e-01, -2.3218e-02, -0.0000e+00],\n [ 0.0000e+00, 0.0000e+00, 0.0000e+00, 1.0000e+00]],\n\n [[ 9.4821e-01, 3.1763e-01, -0.0000e+00, -0.0000e+00],\n [-1.0118e-01, 3.0204e-01, -9.4791e-01, -0.0000e+00],\n [-3.0109e-01, 8.9882e-01, 3.1853e-01, -0.0000e+00],\n [ 0.0000e+00, 0.0000e+00, 0.0000e+00, 1.0000e+00]],\n\n [[ 7.2228e-01, 6.9160e-01, -0.0000e+00, -0.0000e+00],\n [-9.4170e-02, 9.8348e-02, -9.9069e-01, -0.0000e+00],\n [-6.8516e-01, 7.1555e-01, 1.3616e-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.3269e-01, 3.6079e-01, -8.2620e-01, -0.0000e+00],\n [-6.3455e-01, 5.2910e-01, 5.6337e-01, -0.0000e+00],\n [ 0.0000e+00, 0.0000e+00, 0.0000e+00, 1.0000e+00]],\n\n [[-5.7288e-01, 8.1964e-01, 0.0000e+00, -0.0000e+00],\n [-6.6643e-01, -4.6579e-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.1003e-01, -4.1455e-01, 0.0000e+00, -0.0000e+00],\n [-3.8503e-01, -8.4523e-01, -3.7058e-01, -0.0000e+00],\n [ 1.5362e-01, 3.3724e-01, -9.2880e-01, -0.0000e+00],\n [ 0.0000e+00, 0.0000e+00, 0.0000e+00, 1.0000e+00]],\n\n [[ 7.7466e-01, -6.3238e-01, 0.0000e+00, -0.0000e+00],\n [-4.6462e-01, -5.6916e-01, -6.7837e-01, -0.0000e+00],\n [ 4.2899e-01, 5.2551e-01, -7.3472e-01, -0.0000e+00],\n [ 0.0000e+00, 0.0000e+00, 0.0000e+00, 1.0000e+00]],\n\n [[-1.7158e-01, -9.8517e-01, 0.0000e+00, -0.0000e+00],\n [-6.3578e-01, 1.1073e-01, -7.6388e-01, -0.0000e+00],\n [ 7.5256e-01, -1.3106e-01, -6.4535e-01, -0.0000e+00],\n [ 0.0000e+00, 0.0000e+00, 0.0000e+00, 1.0000e+00]],\n\n [[-6.5400e-01, -7.5650e-01, 0.0000e+00, -0.0000e+00],\n [-4.0678e-02, 3.5167e-02, -9.9855e-01, -0.0000e+00],\n [ 7.5540e-01, -6.5305e-01, -5.3772e-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.3539e-01, 4.5215e-01, -8.6032e-01, -0.0000e+00],\n [ 3.9727e-01, -7.6310e-01, -5.0976e-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.8543e-04, 1.8954e-02, -9.9982e-01, -0.0000e+00],\n [-9.7806e-03, -9.9977e-01, -1.8955e-02, -0.0000e+00],\n [ 0.0000e+00, 0.0000e+00, 0.0000e+00, 1.0000e+00]],\n\n [[-7.3335e-01, 6.7985e-01, 0.0000e+00, -0.0000e+00],\n [ 4.3329e-01, 4.6739e-01, -7.7059e-01, -0.0000e+00],\n [-5.2388e-01, -5.6511e-01, -6.3733e-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.7085e-02, 6.2896e-03, -9.9961e-01, -0.0000e+00],\n [-9.7370e-01, -2.2611e-01, -2.7806e-02, -0.0000e+00],\n [ 0.0000e+00, 0.0000e+00, 0.0000e+00, 1.0000e+00]],\n\n [[ 1.3242e-01, 9.9119e-01, -0.0000e+00, -0.0000e+00],\n [ 9.0640e-01, -1.2109e-01, -4.0469e-01, -0.0000e+00],\n [-4.0113e-01, 5.3589e-02, -9.1445e-01, -0.0000e+00],\n [ 0.0000e+00, 0.0000e+00, 0.0000e+00, 1.0000e+00]],\n\n [[ 7.5565e-01, 6.5498e-01, -0.0000e+00, -0.0000e+00],\n [ 4.5220e-01, -5.2170e-01, -7.2342e-01, -0.0000e+00],\n [-4.7383e-01, 5.4666e-01, -6.9040e-01, -0.0000e+00],\n [ 0.0000e+00, 0.0000e+00, 0.0000e+00, 1.0000e+00]],\n\n [[-9.9445e-01, -1.0522e-01, 0.0000e+00, -0.0000e+00],\n [ 4.5959e-02, -4.3437e-01, -8.9956e-01, -0.0000e+00],\n [ 9.4650e-02, -8.9457e-01, 4.3680e-01, -0.0000e+00],\n [ 0.0000e+00, 0.0000e+00, 0.0000e+00, 1.0000e+00]],\n\n [[-2.7979e-01, -9.6006e-01, 0.0000e+00, -0.0000e+00],\n [ 4.7558e-02, -1.3860e-02, -9.9877e-01, -0.0000e+00],\n [ 9.5888e-01, -2.7945e-01, 4.9537e-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.3211e-01, -6.8119e-01, 0.0000e+00, -0.0000e+00],\n [-2.6258e-01, -2.8221e-01, -9.2272e-01, -0.0000e+00],\n [ 6.2854e-01, 6.7553e-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.2162e-01, -0.0000e+00, -0.0000e+00],\n [ 1.0289e-01, -4.5272e-01, -8.8570e-01, -0.0000e+00],\n [-1.9629e-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.0378e-01, 7.1042e-01, -0.0000e+00, -0.0000e+00],\n [ 2.3361e-01, -2.3143e-01, -9.4439e-01, -0.0000e+00],\n [-6.7091e-01, 6.6464e-01, -3.2884e-01, -0.0000e+00],\n [ 0.0000e+00, 0.0000e+00, 0.0000e+00, 1.0000e+00]],\n\n [[ 3.3218e-01, 9.4322e-01, -0.0000e+00, -0.0000e+00],\n [-1.3357e-01, 4.7041e-02, -9.8992e-01, -0.0000e+00],\n [-9.3371e-01, 3.2883e-01, 1.4162e-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.7742e-01, -2.2021e-01, -8.5063e-01, -0.0000e+00],\n [-7.7243e-01, -3.5628e-01, 5.2576e-01, -0.0000e+00],\n [ 0.0000e+00, 0.0000e+00, 0.0000e+00, 1.0000e+00]],\n\n [[-8.9468e-01, 4.4670e-01, 0.0000e+00, -0.0000e+00],\n [-2.4934e-01, -4.9940e-01, -8.2972e-01, -0.0000e+00],\n [-3.7064e-01, -7.4233e-01, 5.5819e-01, -0.0000e+00],\n [ 0.0000e+00, 0.0000e+00, 0.0000e+00, 1.0000e+00]]])'], 'intrinsics': ['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]]])'], 'mask': ['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.]]])'], 'prompt': ["{'7': {'inputs': {'image': 'pano.png'}, 'class_type': 'LoadImage', '_meta': {'title': 'Load Image'}, 'is_changed': ['96e739adfe5f3b5cdbb280fba3e7b3b35eb874e037e610b31ee4340444b86e4d']}, '9': {'inputs': {'precision': 'auto'}, 'class_type': 'LoadSharpModel', '_meta': {'title': '(Down)Load SHARP Model'}}, '54': {'inputs': {'ply_folder': ['76', 0], 'output_prefix': 'merged', 'max_depth': 0.0, 'min_opacity': 0.0}, 'class_type': 'MergeGaussians', '_meta': {'title': 'Merge Gaussians (PLY Files)'}}, '59': {'inputs': {'image': ['7', 0]}, 'class_type': 'PanoramaWrap', '_meta': {'title': 'Panorama Wrap (IMAGE -> PANORAMA)'}}, '60': {'inputs': {'out_width': ['61', 0], 'out_height': ['61', 1], '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': ['81', 3], 'extrinsics': ['96', 1], 'intrinsics': ['96', 2], 'face_valid_masks': ['81', 4], 'face_normals': ['81', 2]}, 'class_type': 'PanoramaDepthMerge', '_meta': {'title': 'Panorama Depth Merge'}}, '61': {'inputs': {'image': ['7', 0]}, 'class_type': 'GetImageSize', '_meta': {'title': 'Get Image Size'}}, '62': {'inputs': {'images': ['60', 2]}, 'class_type': 'PreviewImage', '_meta': {'title': 'Preview Image'}}, '68': {'inputs': {'images': ['96', 0]}, 'class_type': 'PreviewImage', '_meta': {'title': 'Preview Image'}}, '70': {'inputs': {'images': ['81', 0]}, 'class_type': 'PreviewImage', '_meta': {'title': 'Preview Image'}}, '73': {'inputs': {'image': ['87', 1], 'intrinsics': ['87', 4], 'extrinsics': ['87', 3]}, 'class_type': 'SharpRayToPlanarDepth', '_meta': {'title': 'SHARP Ray-Distance -> Planar Depth'}}, '76': {'inputs': {'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': ['9', 0], 'image': ['87', 0], 'metric_depth_layer0': ['73', 0], 'extrinsics': ['87', 3], 'intrinsics': ['87', 4], 'mask': ['87', 6]}, 'class_type': 'SharpPredictGaussiansFromMetricDepth', '_meta': {'title': 'SHARP Predict Gaussians (Image + Metric Depth)'}}, '78': {'inputs': {'rotate_x': -90.0, 'rotate_y': 0.0, 'rotate_z': 0.0, 'ply_path': ['54', 1]}, 'class_type': 'TransformGaussian', '_meta': {'title': 'Transform Gaussian'}}, '80': {'inputs': {'model': 'moge-2-vitl-normal.pt', 'precision': 'auto', 'attention': 'auto'}, 'class_type': 'DownloadAndLoadMoGe2Model', '_meta': {'title': '(Down)Load MoGe-2 Model'}}, '81': {'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]}, 'class_type': 'MoGe2Inference', '_meta': {'title': 'MoGe-2 Geometry'}}, '87': {'inputs': {'split_method': 'icosahedron_42', 'resolution': 1536, 'fov_degrees': 90.0, 'use_gpu': True, 'create_masks': True, 'mask_method': 'closest_to', 'panorama': ['59', 0], 'depth_panorama': ['60', 0], 'normals_panorama': ['60', 3]}, 'class_type': 'PanoramaSplitAdaptive', '_meta': {'title': 'Panorama Split (Depth+Normals Conditioned)'}}, '89': {'inputs': {'images': ['87', 8]}, 'class_type': 'PreviewImage', '_meta': {'title': 'Preview Image'}}, '95': {'inputs': {'camera_mode': 'orbit', 'fov_degrees': 71.0, 'renderer': 'playcanvas', 'transport_format': 'ply', 'ply_path': ['78', 0]}, 'class_type': 'PreviewGaussians', '_meta': {'title': 'Preview Gaussians'}}, '96': {'inputs': {'split_method': 'icosahedron_42', 'resolution': 952, 'fov_degrees': 90.0, 'use_gpu': True, 'create_masks': False, 'fname': 'pano_bank', 'panorama': ['59', 0]}, 'class_type': 'PanoramaSplit', '_meta': {'title': 'Panorama Split'}}}"], 'extra_pnginfo': ['{\'workflow\': {\'id\': \'sharp-basic-workflow\', \'revision\': 0, \'last_node_id\': 96, \'last_link_id\': 245, \'nodes\': [{\'id\': 81, \'type\': \'MoGe2Inference\', \'pos\': [-145.48997561390166, -946.2284863418914], \'size\': [292.5625, 392], \'flags\': {}, \'order\': 7, \'mode\': 0, \'inputs\': [{\'name\': \'moge2_model\', \'type\': \'MOGE2_MODEL\', \'link\': 203}, {\'name\': \'images\', \'type\': \'IMAGE\', \'link\': 241}, {\'name\': \'fov_x_deg\', \'shape\': 7, \'type\': \'FLOAT\', \'widget\': {\'name\': \'fov_x_deg\'}, \'link\': 245}], \'outputs\': [{\'name\': \'depth_visualization\', \'type\': \'IMAGE\', \'links\': [204]}, {\'name\': \'depth_raw\', \'type\': \'IMAGE\', \'links\': None}, {\'name\': \'normal\', \'type\': \'IMAGE\', \'links\': [207]}, {\'name\': \'points_raw\', \'type\': \'IMAGE\', \'links\': [205]}, {\'name\': \'valid_mask\', \'type\': \'MASK\', \'links\': [206]}, {\'name\': \'intrinsics\', \'type\': \'INTRINSICS\', \'links\': None}, {\'name\': \'fov_x\', \'type\': \'FLOAT\', \'links\': None}, {\'name\': \'fov_y\', \'type\': \'FLOAT\', \'links\': None}], \'properties\': {\'Node name for S&R\': \'MoGe2Inference\', \'cnr_id\': \'ComfyUI-MoGe2\', \'ver\': \'6ef48db2c09cce4003571a6f6c8611d91b700da1\', \'aux_id\': \'PozzettiAndrea/ComfyUI-MoGe2\'}, \'widgets_values\': [9, 0, 0, True, True]}, {\'id\': 59, \'type\': \'PanoramaWrap\', \'pos\': [-789.4857318627402, -551.9764436780553], \'size\': [305.203125, 72], \'flags\': {}, \'order\': 3, \'mode\': 0, \'inputs\': [{\'name\': \'image\', \'type\': \'IMAGE\', \'link\': 142}], \'outputs\': [{\'name\': \'panorama\', \'type\': \'PANORAMA\', \'links\': [222, 240]}], \'properties\': {\'Node name for S&R\': \'PanoramaWrap\', \'cnr_id\': \'comfyui-panopack\', \'ver\': \'adeea5953c01a5815d6ba5e33640e52fd7921df4\', \'aux_id\': \'PozzettiAndrea/ComfyUI-PanoPack\'}, \'widgets_values\': []}, {\'id\': 96, \'type\': \'PanoramaSplit\', \'pos\': [-462.8987519197383, -916.9000181773324], \'size\': [304.546875, 430.65625], \'flags\': {}, \'order\': 5, \'mode\': 0, \'inputs\': [{\'name\': \'panorama\', \'type\': \'PANORAMA\', \'link\': 240}], \'outputs\': [{\'name\': \'face_images\', \'type\': \'IMAGE\', \'links\': [241, 242]}, {\'name\': \'extrinsics\', \'type\': \'EXTRINSICS\', \'links\': [243]}, {\'name\': \'intrinsics\', \'type\': \'INTRINSICS\', \'links\': [244]}, {\'name\': \'fov_x_deg\', \'type\': \'FLOAT\', \'links\': [245]}, {\'name\': \'face_masks\', \'type\': \'MASK\', \'links\': None}, {\'name\': \'debug_image\', \'type\': \'IMAGE\', \'links\': None}, {\'name\': \'debug_masks\', \'type\': \'IMAGE\', \'links\': None}, {\'name\': \'entries\', \'type\': \'MEMORY_BANK_ENTRIES\', \'links\': None}], \'properties\': {\'Node name for S&R\': \'PanoramaSplit\', \'cnr_id\': \'comfyui-panopack\', \'ver\': \'fd9b5c44ef6a2f0ca22b61bffb45a1b7f245f886\', \'aux_id\': \'PozzettiAndrea/ComfyUI-PanoPack\'}, \'widgets_values\': [\'icosahedron_42\', 952, 90, True, False, \'pano_bank\']}, {\'id\': 80, \'type\': \'DownloadAndLoadMoGe2Model\', \'pos\': [-477.7554783798633, -1077.050564446215], \'size\': [284.15625, 175.96875], \'flags\': {}, \'order\': 0, \'mode\': 0, \'inputs\': [], \'outputs\': [{\'name\': \'moge2_model\', \'type\': \'MOGE2_MODEL\', \'links\': [203]}], \'properties\': {\'Node name for S&R\': \'DownloadAndLoadMoGe2Model\', \'cnr_id\': \'ComfyUI-MoGe2\', \'ver\': \'6ef48db2c09cce4003571a6f6c8611d91b700da1\', \'aux_id\': \'PozzettiAndrea/ComfyUI-MoGe2\'}, \'widgets_values\': [\'moge-2-vitl-normal.pt\', \'auto\', \'auto\']}, {\'id\': 73, \'type\': \'SharpRayToPlanarDepth\', \'pos\': [-956.7489133418973, -22.166464855453995], \'size\': [286.109375, 120], \'flags\': {}, \'order\': 12, \'mode\': 0, \'inputs\': [{\'name\': \'image\', \'type\': \'IMAGE\', \'link\': 234}, {\'name\': \'intrinsics\', \'type\': \'INTRINSICS\', \'link\': 232}, {\'name\': \'extrinsics\', \'shape\': 7, \'type\': \'EXTRINSICS\', \'link\': 231}], \'outputs\': [{\'name\': \'image\', \'type\': \'IMAGE\', \'links\': [235]}, {\'name\': \'extrinsics\', \'type\': \'EXTRINSICS\', \'links\': None}, {\'name\': \'intrinsics\', \'type\': \'INTRINSICS\', \'links\': None}], \'properties\': {\'Node name for S&R\': \'SharpRayToPlanarDepth\', \'cnr_id\': \'comfyui-sharp\', \'ver\': \'c37c544b330e132340566e44171d88da5d01247e\', \'aux_id\': \'PozzettiAndrea/ComfyUI-Sharp\'}, \'widgets_values\': []}, {\'id\': 61, \'type\': \'GetImageSize\', \'pos\': [-158.7395384200763, -589.7539360560568], \'size\': [225, 124], \'flags\': {}, \'order\': 4, \'mode\': 0, \'inputs\': [{\'name\': \'image\', \'type\': \'IMAGE\', \'link\': 152}], \'outputs\': [{\'name\': \'width\', \'type\': \'INT\', \'links\': [153]}, {\'name\': \'height\', \'type\': \'INT\', \'links\': [154]}, {\'name\': \'batch_size\', \'type\': \'INT\', \'links\': None}], \'properties\': {\'Node name for S&R\': \'GetImageSize\', \'cnr_id\': \'comfy-core\', \'ver\': \'0.22.0\'}, \'widgets_values\': []}, {\'id\': 9, \'type\': \'LoadSharpModel\', \'pos\': [-1105.497986644508, -216.4591320978957], \'size\': [270, 106.65625], \'flags\': {}, \'order\': 1, \'mode\': 0, \'inputs\': [], \'outputs\': [{\'name\': \'model_config\', \'type\': \'SHARP_MODEL_CONFIG\', \'links\': [189]}], \'properties\': {\'Node name for S&R\': \'LoadSharpModel\', \'cnr_id\': \'comfyui-sharp\', \'ver\': \'51939f0d3bdcd9f4965978445ad0fa31a6222ef0\', \'aux_id\': \'PozzettiAndrea/ComfyUI-Sharp\'}, \'widgets_values\': [\'auto\']}, {\'id\': 7, \'type\': \'LoadImage\', \'pos\': [-1139.285769435423, -980.2364094317245], \'size\': [662.21875, 367.625], \'flags\': {}, \'order\': 2, \'mode\': 0, \'inputs\': [], \'outputs\': [{\'name\': \'IMAGE\', \'type\': \'IMAGE\', \'links\': [142, 152]}, {\'name\': \'MASK\', \'type\': \'MASK\', \'links\': None}], \'properties\': {\'Node name for S&R\': \'LoadImage\', \'cnr_id\': \'comfy-core\', \'ver\': \'0.12.2\'}, \'widgets_values\': [\'pano.png\', \'image\']}, {\'id\': 54, \'type\': \'MergeGaussians\', \'pos\': [-141.09746184191266, -52.05419638538134], \'size\': [289.28125, 280], \'flags\': {}, \'order\': 15, \'mode\': 0, \'inputs\': [{\'name\': \'ply_folder\', \'type\': \'STRING\', \'widget\': {\'name\': \'ply_folder\'}, \'link\': 194}], \'outputs\': [{\'name\': \'ply_paths\', \'type\': \'STRING\', \'links\': []}, {\'name\': \'merged_ply_path\', \'type\': \'STRING\', \'links\': [198]}, {\'name\': \'field_ply_path\', \'type\': \'STRING\', \'links\': []}, {\'name\': \'num_gaussians\', \'type\': \'INT\', \'links\': None}], \'properties\': {\'Node name for S&R\': \'MergeGaussians\', \'cnr_id\': \'comfyui-sharp\', \'ver\': \'9ae300958498a99946acd046599f14a13b2e9175\', \'aux_id\': \'PozzettiAndrea/ComfyUI-Sharp\'}, \'widgets_values\': [\'\', \'merged\', 0, 0]}, {\'id\': 78, \'type\': \'TransformGaussian\', \'pos\': [181.98316864432408, -49.85432446955129], \'size\': [270, 168], \'flags\': {}, \'order\': 16, \'mode\': 0, \'inputs\': [{\'name\': \'ply_path\', \'type\': \'STRING\', \'link\': 198}], \'outputs\': [{\'name\': \'ply_path\', \'type\': \'STRING\', \'links\': [239]}], \'properties\': {\'Node name for S&R\': \'TransformGaussian\', \'cnr_id\': \'ComfyUI-GaussianPack\', \'ver\': \'73b37ef2f8c35254ccb55c124a7d5653e7fe3c5f\', \'aux_id\': \'PozzettiAndrea/ComfyUI-GaussianPack\'}, \'widgets_values\': [-90, 0, 0]}, {\'id\': 68, \'type\': \'PreviewImage\', \'pos\': [-90.10767008220357, -1268.2551623811057], \'size\': [225, 247.28125], \'flags\': {}, \'order\': 6, \'mode\': 0, \'inputs\': [{\'name\': \'images\', \'type\': \'IMAGE\', \'link\': 242}], \'outputs\': [], \'properties\': {\'Node name for S&R\': \'PreviewImage\', \'cnr_id\': \'comfy-core\', \'ver\': \'0.22.0\'}, \'widgets_values\': []}, {\'id\': 70, \'type\': \'PreviewImage\', \'pos\': [175.19686722884055, -1260.264032349202], \'size\': [225, 246], \'flags\': {}, \'order\': 8, \'mode\': 0, \'inputs\': [{\'name\': \'images\', \'type\': \'IMAGE\', \'link\': 204}], \'outputs\': [], \'properties\': {\'Node name for S&R\': \'PreviewImage\', \'cnr_id\': \'comfy-core\', \'ver\': \'0.22.0\'}, \'widgets_values\': []}, {\'id\': 60, \'type\': \'PanoramaDepthMerge\', \'pos\': [169.67257218083785, -942.7524376795825], \'size\': [323.171875, 468], \'flags\': {}, \'order\': 9, \'mode\': 0, \'inputs\': [{\'name\': \'face_points\', \'type\': \'IMAGE\', \'link\': 205}, {\'name\': \'extrinsics\', \'type\': \'EXTRINSICS\', \'link\': 243}, {\'name\': \'intrinsics\', \'type\': \'INTRINSICS\', \'link\': 244}, {\'name\': \'face_valid_masks\', \'shape\': 7, \'type\': \'MASK\', \'link\': 206}, {\'name\': \'face_confidences\', \'shape\': 7, \'type\': \'MASK\', \'link\': None}, {\'name\': \'face_normals\', \'shape\': 7, \'type\': \'IMAGE\', \'link\': 207}, {\'name\': \'out_width\', \'type\': \'INT\', \'widget\': {\'name\': \'out_width\'}, \'link\': 153}, {\'name\': \'out_height\', \'type\': \'INT\', \'widget\': {\'name\': \'out_height\'}, \'link\': 154}], \'outputs\': [{\'name\': \'depth\', \'type\': \'IMAGE\', \'links\': [216]}, {\'name\': \'valid_mask\', \'type\': \'MASK\', \'links\': None}, {\'name\': \'debug_image\', \'type\': \'IMAGE\', \'links\': [156]}, {\'name\': \'normals\', \'type\': \'IMAGE\', \'links\': [217]}, {\'name\': \'xyz_views\', \'type\': \'IMAGE\', \'links\': None}, {\'name\': \'points\', \'type\': \'IMAGE\', \'links\': None}], \'properties\': {\'Node name for S&R\': \'PanoramaDepthMerge\', \'cnr_id\': \'comfyui-panopack\', \'ver\': \'adeea5953c01a5815d6ba5e33640e52fd7921df4\', \'aux_id\': \'PozzettiAndrea/ComfyUI-PanoPack\'}, \'widgets_values\': [1920, 960, True, False, 8, 2, 0, False, 0]}, {\'id\': 62, \'type\': \'PreviewImage\', \'pos\': [490.1101747470437, -1264.7603371902492], \'size\': [225, 246], \'flags\': {}, \'order\': 10, \'mode\': 0, \'inputs\': [{\'name\': \'images\', \'type\': \'IMAGE\', \'link\': 156}], \'outputs\': [], \'properties\': {\'Node name for S&R\': \'PreviewImage\', \'cnr_id\': \'comfy-core\', \'ver\': \'0.22.0\'}, \'widgets_values\': []}, {\'id\': 87, \'type\': \'PanoramaSplitAdaptive\', \'pos\': [540.2924213151191, -975.4562974593275], \'size\': [402.078125, 453.3125], \'flags\': {}, \'order\': 11, \'mode\': 0, \'inputs\': [{\'name\': \'panorama\', \'type\': \'PANORAMA\', \'link\': 222}, {\'name\': \'depth_panorama\', \'type\': \'IMAGE\', \'link\': 216}, {\'name\': \'normals_panorama\', \'type\': \'IMAGE\', \'link\': 217}], \'outputs\': [{\'name\': \'face_images\', \'type\': \'IMAGE\', \'links\': [221]}, {\'name\': \'face_images_depth\', \'type\': \'IMAGE\', \'links\': [234]}, {\'name\': \'face_images_normals\', \'type\': \'IMAGE\', \'links\': None}, {\'name\': \'extrinsics\', \'type\': \'EXTRINSICS\', \'links\': [225, 231]}, {\'name\': \'intrinsics\', \'type\': \'INTRINSICS\', \'links\': [226, 232]}, {\'name\': \'fov_x_deg\', \'type\': \'FLOAT\', \'links\': []}, {\'name\': \'face_masks\', \'type\': \'MASK\', \'links\': [224]}, {\'name\': \'debug_image\', \'type\': \'IMAGE\', \'links\': []}, {\'name\': \'debug_masks\', \'type\': \'IMAGE\', \'links\': [228]}], \'properties\': {\'Node name for S&R\': \'PanoramaSplitAdaptive\', \'cnr_id\': \'comfyui-panopack\', \'ver\': \'191ac4ed16a0beb8e859ebc70ab166ec9ddbc2ad\', \'aux_id\': \'PozzettiAndrea/ComfyUI-PanoPack\'}, \'widgets_values\': [\'icosahedron_42\', 1536, 90, True, True, \'closest_to\']}, {\'id\': 89, \'type\': \'PreviewImage\', \'pos\': [875.2597078684457, -609.9340148050444], \'size\': [367.984375, 258], \'flags\': {}, \'order\': 13, \'mode\': 0, \'inputs\': [{\'name\': \'images\', \'type\': \'IMAGE\', \'link\': 228}], \'outputs\': [], \'properties\': {\'Node name for S&R\': \'PreviewImage\', \'cnr_id\': \'comfy-core\', \'ver\': \'0.24.0\'}, \'widgets_values\': []}, {\'id\': 76, \'type\': \'SharpPredictGaussiansFromMetricDepth\', \'pos\': [-617.3693549549649, -51.26345750773104], \'size\': [427.46875, 413.3125], \'flags\': {}, \'order\': 14, \'mode\': 0, \'inputs\': [{\'name\': \'model\', \'type\': \'SHARP_MODEL_CONFIG\', \'link\': 189}, {\'name\': \'image\', \'type\': \'IMAGE\', \'link\': 221}, {\'name\': \'metric_depth_layer0\', \'type\': \'IMAGE\', \'link\': 235}, {\'name\': \'metric_depth_layer1\', \'shape\': 7, \'type\': \'IMAGE\', \'link\': None}, {\'name\': \'extrinsics\', \'shape\': 7, \'type\': \'EXTRINSICS\', \'link\': 225}, {\'name\': \'intrinsics\', \'shape\': 7, \'type\': \'INTRINSICS\', \'link\': 226}, {\'name\': \'mask\', \'shape\': 7, \'type\': \'MASK\', \'link\': 224}], \'outputs\': [{\'name\': \'ply_path\', \'type\': \'STRING\', \'links\': [194]}, {\'name\': \'ply_folder\', \'type\': \'STRING\', \'links\': None}, {\'name\': \'extrinsics\', \'type\': \'EXTRINSICS\', \'links\': None}, {\'name\': \'intrinsics\', \'type\': \'INTRINSICS\', \'links\': None}], \'properties\': {\'Node name for S&R\': \'SharpPredictGaussiansFromMetricDepth\', \'cnr_id\': \'comfyui-sharp\', \'ver\': \'8a35d88363cea291ddf08781f8174429c009f3a9\', \'aux_id\': \'PozzettiAndrea/ComfyUI-Sharp\'}, \'widgets_values\': [\'none\', \'planar_z\', 30, \'sharp_aligned\', True, 0]}, {\'id\': 95, \'type\': \'PreviewGaussians\', \'pos\': [484.59240446243155, -259.7520358522845], \'size\': [512, 714], \'flags\': {}, \'order\': 17, \'mode\': 0, \'inputs\': [{\'name\': \'ply_path\', \'type\': \'STRING\', \'link\': 239}], \'outputs\': [], \'properties\': {\'Node name for S&R\': \'PreviewGaussians\', \'Widget Values\': {\'camera_mode\': \'orbit\', \'fov_degrees\': 71, \'renderer\': \'playcanvas\', \'transport_format\': \'ply\'}, \'cnr_id\': \'ComfyUI-GaussianPack\', \'ver\': \'059313a53ffa7ecc8697eddc02d2cee4727e5085\', \'aux_id\': \'PozzettiAndrea/ComfyUI-GaussianPack\', \'Camera Config\': {\'cameraType\': \'perspective\', \'fov\': 50, \'state\': \'{"v":1,"pos":[0,0,0],"target":[0,0,1],"fov":50,"scale":20,"opacity":1}\'}}, \'widgets_values\': [\'orbit\', 71, \'playcanvas\', \'ply\', \'\']}], \'links\': [[142, 7, 0, 59, 0, \'IMAGE\'], [152, 7, 0, 61, 0, \'IMAGE\'], [153, 61, 0, 60, 6, \'INT\'], [154, 61, 1, 60, 7, \'INT\'], [156, 60, 2, 62, 0, \'IMAGE\'], [189, 9, 0, 76, 0, \'SHARP_MODEL_CONFIG\'], [194, 76, 0, 54, 0, \'STRING\'], [198, 54, 1, 78, 0, \'STRING\'], [203, 80, 0, 81, 0, \'MOGE2_MODEL\'], [204, 81, 0, 70, 0, \'IMAGE\'], [205, 81, 3, 60, 0, \'IMAGE\'], [206, 81, 4, 60, 3, \'MASK\'], [207, 81, 2, 60, 5, \'IMAGE\'], [216, 60, 0, 87, 1, \'IMAGE\'], [217, 60, 3, 87, 2, \'IMAGE\'], [221, 87, 0, 76, 1, \'IMAGE\'], [222, 59, 0, 87, 0, \'PANORAMA\'], [224, 87, 6, 76, 6, \'MASK\'], [225, 87, 3, 76, 4, \'EXTRINSICS\'], [226, 87, 4, 76, 5, \'INTRINSICS\'], [228, 87, 8, 89, 0, \'IMAGE\'], [231, 87, 3, 73, 2, \'EXTRINSICS\'], [232, 87, 4, 73, 1, \'INTRINSICS\'], [234, 87, 1, 73, 0, \'IMAGE\'], [235, 73, 0, 76, 2, \'IMAGE\'], [239, 78, 0, 95, 0, \'STRING\'], [240, 59, 0, 96, 0, \'PANORAMA\'], [241, 96, 0, 81, 1, \'IMAGE\'], [242, 96, 0, 68, 0, \'IMAGE\'], [243, 96, 1, 60, 1, \'EXTRINSICS\'], [244, 96, 2, 60, 2, \'INTRINSICS\'], [245, 96, 3, 81, 2, \'FLOAT\']], \'groups\': [{\'id\': 1, \'title\': \'Predict Gaussians on top of 360 depth crops\', \'bounding\': [-1151.4211521619075, -331.99912475655, 2396.7794018846753, 794.3643875583768], \'color\': \'#3f789e\', \'flags\': {}}, {\'id\': 2, \'title\': \'Create 360 depth crops\', \'bounding\': [-1150.1796372694037, -1350.5346537851567, 2395.3198716986108, 991.3238724528154], \'color\': \'#8A8\', \'flags\': {}}], \'config\': {}, \'extra\': {\'ds\': {\'scale\': 0.9847082690094333, \'offset\': [272.0924091759777, 462.46918863940033]}, \'workflowRendererVersion\': \'LG\', \'frontendVersion\': \'1.44.19\'}, \'version\': 0.4}}']}, 'current_outputs': ['81', '76', '59', '73', '89', '9', '60', '70', '62', '87', '95', '68', '54', '61', '80', '7', '96', '78'], 'timestamp': 1780868116802}
|
|
|
|
Details:
|
|
Workflow: C:\ComfyUI-Sharp\workflows\pano.json
|
|
Node error: SharpPredictGaussiansFromMetricDepth</div>
|
|
</div>
|
|
|
|
<div class="failed-item">
|
|
<div class="failed-header">
|
|
<span class="failed-name">sharp_basic</span>
|
|
<span class="failed-duration">7.21s</span>
|
|
</div>
|
|
<div class="failed-error">Workflow execution failed: {'prompt_id': '45959b7b-b668-4555-a3e4-7de4dac31db3', 'node_id': '5', 'node_type': 'SharpPredict', 'executed': ['1', '2'], 'exception_message': 'No module named \'torchvision\'\n\nWorker traceback:\nTraceback (most recent call last):\n File "C:\\Users\\ContainerUser\\AppData\\Local\\Temp\\comfyui_pvenv__j68vr6p\\persistent_worker.py", line 1762, in main\n result = method(**inputs)\n File "C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy_api\\latest\\_io.py", line 1880, in EXECUTE_NORMALIZED\n to_return = cls.execute(*args, **kwargs)\n File "C:\\Users\\ContainerUser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\sharp-nodes\\Lib\\site-packages\\torch\\utils\\_contextlib.py", line 124, in decorate_context\n return func(*args, **kwargs)\n File "C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\custom_nodes\\ComfyUI-Sharp\\nodes\\predict.py", line 127, in execute\n patcher = _load_sharp_model(model)\n File "C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\custom_nodes\\ComfyUI-Sharp\\nodes\\load_model.py", line 138, in _load_sharp_model\n import comfy.model_patcher\n File "C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\model_patcher.py", line 32, in <module>\n import comfy.hooks\n File "C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\hooks.py", line 14, in <module>\n import comfy.lora\n File "C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\lora.py", line 22, in <module>\n import comfy.model_base\n File "C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\model_base.py", line 41, in <module>\n import comfy.ldm.cosmos.model\n File "C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\ldm\\cosmos\\model.py", line 25, in <module>\n from torchvision import transforms\nModuleNotFoundError: No module named \'torchvision\'\n\n', 'exception_type': 'comfy_env.isolation.workers.base.WorkerError', 'traceback': [' File "C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py", 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', ' File "C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py", 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', ' File "C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py", line 310, in _async_map_node_over_list\n await process_inputs(input_dict, i)\n', ' File "C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py", line 298, in process_inputs\n result = f(**inputs)\n', ' File "C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\python_embeded\\Lib\\site-packages\\comfy_env\\isolation\\metadata.py", line 556, in proxy\n result = worker.call_method(\n module_name=mod,\n ...<4 lines>...\n timeout=600.0,\n )\n', ' File "C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\python_embeded\\Lib\\site-packages\\comfy_env\\isolation\\workers\\subprocess.py", line 674, in call_method\n raise WorkerError(\n ...<2 lines>...\n )\n'], 'current_inputs': {'focal_length_mm': [30], 'output_prefix': ['sharp'], 'model': ["{'model_path': 'C:\\\\workspaces\\\\Sharp-2317\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\models\\\\sharp\\\\sharp_2572gikvuh.pt', 'precision': 'auto', 'dtype': 'bf16'}"], 'image': ['tensor([[[[0.0039, 0.4824, 0.9569],\n [0.0039, 0.4824, 0.9569],\n [0.0039, 0.4824, 0.9569],\n ...,\n [0.0510, 0.0275, 0.0000],\n [0.0510, 0.0275, 0.0000],\n [0.0510, 0.0275, 0.0000]],\n\n [[0.0039, 0.4824, 0.9569],\n [0.0039, 0.4824, 0.9569],\n [0.0039, 0.4824, 0.9569],\n ...,\n [0.0510, 0.0275, 0.0000],\n [0.0510, 0.0275, 0.0000],\n [0.0510, 0.0275, 0.0000]],\n\n [[0.0039, 0.4824, 0.9569],\n [0.0039, 0.4824, 0.9569],\n [0.0039, 0.4824, 0.9569],\n ...,\n [0.0510, 0.0275, 0.0000],\n [0.0510, 0.0275, 0.0000],\n [0.0510, 0.0275, 0.0000]],\n\n ...,\n\n [[0.6824, 0.6118, 0.5333],\n [0.6824, 0.6118, 0.5333],\n [0.6824, 0.6118, 0.5333],\n ...,\n [0.5098, 0.4627, 0.4235],\n [0.5098, 0.4627, 0.4235],\n [0.5098, 0.4627, 0.4235]],\n\n [[0.6824, 0.6118, 0.5333],\n [0.6824, 0.6118, 0.5333],\n [0.6824, 0.6118, 0.5333],\n ...,\n [0.5059, 0.4588, 0.4392],\n [0.5059, 0.4627, 0.4314],\n [0.5059, 0.4627, 0.4314]],\n\n [[0.6824, 0.6118, 0.5333],\n [0.6824, 0.6118, 0.5333],\n [0.6824, 0.6118, 0.5333],\n ...,\n [0.5059, 0.4588, 0.4392],\n [0.5059, 0.4627, 0.4314],\n [0.5059, 0.4627, 0.4314]]]])'], 'prompt': ["{'1': {'inputs': {'image': 'beach.jpg'}, 'class_type': 'LoadImage', '_meta': {'title': 'Load Image'}, 'is_changed': ['ee4f94632a5ec7038826e875829a62a81dc2a9b85ed59440f2eaa37b3704fa24']}, '2': {'inputs': {'precision': 'auto'}, 'class_type': 'LoadSharpModel', '_meta': {'title': '(Down)Load SHARP Model'}}, '5': {'inputs': {'focal_length_mm': 30.0, 'output_prefix': 'sharp', 'model': ['2', 0], 'image': ['1', 0]}, 'class_type': 'SharpPredict', '_meta': {'title': 'SHARP Predict (Image to PLY)'}}, '6': {'inputs': {'preview_gaussian': '', 'ply_path': ['5', 0], 'extrinsics': ['5', 1], 'intrinsics': ['5', 2]}, 'class_type': 'PreviewGaussianSharp', '_meta': {'title': 'Preview Gaussian Sharp'}}}"], 'extra_pnginfo': ["{'workflow': {'id': 'sharp-basic-workflow', 'revision': 0, 'last_node_id': 6, 'last_link_id': 13, 'nodes': [{'id': 2, 'type': 'LoadSharpModel', 'pos': [-150, -400], 'size': [270, 106.65625], 'flags': {}, 'order': 0, 'mode': 0, 'inputs': [], 'outputs': [{'name': 'model_config', 'type': 'SHARP_MODEL_CONFIG', 'links': [6]}], 'properties': {'Node name for S&R': 'LoadSharpModel', 'aux_id': 'PozzettiAndrea/ComfyUI-Sharp', 'ver': '9f1b9c726e2cfc0118866c3df783e7f6bc895226'}, 'widgets_values': ['auto']}, {'id': 1, 'type': 'LoadImage', 'pos': [-150, -100], 'size': [274, 340], 'flags': {}, 'order': 1, 'mode': 0, 'inputs': [], 'outputs': [{'name': 'IMAGE', 'type': 'IMAGE', 'links': [7]}, {'name': 'MASK', 'type': 'MASK', 'links': []}], 'properties': {'Node name for S&R': 'LoadImage', 'cnr_id': 'comfy-core', 'ver': '0.5.1'}, 'widgets_values': ['beach.jpg', 'image']}, {'id': 5, 'type': 'SharpPredict', 'pos': [181.546875, -251.55078125], 'size': [298.890625, 236], 'flags': {}, 'order': 2, 'mode': 0, 'inputs': [{'name': 'model', 'type': 'SHARP_MODEL_CONFIG', 'link': 6}, {'name': 'image', 'type': 'IMAGE', 'link': 7}, {'name': 'extrinsics', 'shape': 7, 'type': 'EXTRINSICS', 'link': None}, {'name': 'intrinsics', 'shape': 7, 'type': 'INTRINSICS', 'link': None}], 'outputs': [{'name': 'ply_path', 'type': 'STRING', 'links': [11]}, {'name': 'extrinsics', 'type': 'EXTRINSICS', 'links': [12]}, {'name': 'intrinsics', 'type': 'INTRINSICS', 'links': [13]}, {'name': 'layer_0_refined_depth', 'type': 'IMAGE', 'links': None}, {'name': 'layer_1_refined_depth', 'type': 'IMAGE', 'links': None}], 'properties': {'Node name for S&R': 'SharpPredict', 'aux_id': 'PozzettiAndrea/ComfyUI-Sharp', 'ver': 'aa98b213e3d0770477bbf46046094c5cb8ff6052'}, 'widgets_values': [30, 'sharp']}, {'id': 6, 'type': 'PreviewGaussianSharp', 'pos': [602.8876507147864, -341.49823240148737], 'size': [512, 658], 'flags': {}, 'order': 3, 'mode': 0, 'inputs': [{'name': 'ply_path', 'type': 'STRING', 'link': 11}, {'name': 'extrinsics', 'shape': 7, 'type': 'EXTRINSICS', 'link': 12}, {'name': 'intrinsics', 'shape': 7, 'type': 'INTRINSICS', 'link': 13}], 'outputs': [{'name': 'extrinsics', 'type': 'EXTRINSICS', 'links': None}, {'name': 'intrinsics', 'type': 'INTRINSICS', 'links': None}], 'properties': {'Node name for S&R': 'PreviewGaussianSharp', 'aux_id': 'PozzettiAndrea/ComfyUI-GaussianPack', 'ver': '059313a53ffa7ecc8697eddc02d2cee4727e5085'}, 'widgets_values': ['']}], 'links': [[6, 2, 0, 5, 0, 'SHARP_MODEL'], [7, 1, 0, 5, 1, 'IMAGE'], [11, 5, 0, 6, 0, 'STRING'], [12, 5, 1, 6, 1, 'EXTRINSICS'], [13, 5, 2, 6, 2, 'INTRINSICS']], 'groups': [], 'config': {}, 'extra': {'ds': {'scale': 0.9141766565277032, 'offset': [448.8550092661307, 570.6930795562042]}, 'workflowRendererVersion': 'LG', 'frontendVersion': '1.44.19'}, 'version': 0.4}}"]}, 'current_outputs': ['1', '2', '5', '6'], 'timestamp': 1780868124401}
|
|
|
|
Details:
|
|
Workflow: C:\ComfyUI-Sharp\workflows\sharp_basic.json
|
|
Node error: SharpPredict</div>
|
|
</div>
|
|
|
|
<div class="failed-item">
|
|
<div class="failed-header">
|
|
<span class="failed-name">sharp_exif</span>
|
|
<span class="failed-duration">6.26s</span>
|
|
</div>
|
|
<div class="failed-error">Workflow execution failed: {'prompt_id': '3c8256ea-1718-4020-a394-5cedf399e8ad', 'node_id': '7', 'node_type': 'SharpPredict', 'executed': ['9', '2'], 'exception_message': 'No module named \'torchvision\'\n\nWorker traceback:\nTraceback (most recent call last):\n File "C:\\Users\\ContainerUser\\AppData\\Local\\Temp\\comfyui_pvenv__j68vr6p\\persistent_worker.py", line 1762, in main\n result = method(**inputs)\n File "C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy_api\\latest\\_io.py", line 1880, in EXECUTE_NORMALIZED\n to_return = cls.execute(*args, **kwargs)\n File "C:\\Users\\ContainerUser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\sharp-nodes\\Lib\\site-packages\\torch\\utils\\_contextlib.py", line 124, in decorate_context\n return func(*args, **kwargs)\n File "C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\custom_nodes\\ComfyUI-Sharp\\nodes\\predict.py", line 127, in execute\n patcher = _load_sharp_model(model)\n File "C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\custom_nodes\\ComfyUI-Sharp\\nodes\\load_model.py", line 138, in _load_sharp_model\n import comfy.model_patcher\n File "C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\model_patcher.py", line 32, in <module>\n import comfy.hooks\n File "C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\hooks.py", line 14, in <module>\n import comfy.lora\n File "C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\lora.py", line 22, in <module>\n import comfy.model_base\n File "C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\model_base.py", line 41, in <module>\n import comfy.ldm.cosmos.model\n File "C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\ldm\\cosmos\\model.py", line 25, in <module>\n from torchvision import transforms\nModuleNotFoundError: No module named \'torchvision\'\n\n', 'exception_type': 'comfy_env.isolation.workers.base.WorkerError', 'traceback': [' File "C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py", 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', ' File "C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py", 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', ' File "C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py", line 310, in _async_map_node_over_list\n await process_inputs(input_dict, i)\n', ' File "C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py", line 298, in process_inputs\n result = f(**inputs)\n', ' File "C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\python_embeded\\Lib\\site-packages\\comfy_env\\isolation\\metadata.py", line 556, in proxy\n result = worker.call_method(\n module_name=mod,\n ...<4 lines>...\n timeout=600.0,\n )\n', ' File "C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\python_embeded\\Lib\\site-packages\\comfy_env\\isolation\\workers\\subprocess.py", line 674, in call_method\n raise WorkerError(\n ...<2 lines>...\n )\n'], 'current_inputs': {'focal_length_mm': [20], 'output_prefix': ['sharp'], 'model': ["{'model_path': 'C:\\\\workspaces\\\\Sharp-2317\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\models\\\\sharp\\\\sharp_2572gikvuh.pt', 'precision': 'auto', 'dtype': 'bf16'}"], 'image': ['tensor([[[[0.2235, 0.1647, 0.1569],\n [0.2353, 0.1647, 0.1647],\n [0.2471, 0.1725, 0.1529],\n ...,\n [0.4588, 0.4824, 0.4784],\n [0.4510, 0.4784, 0.4745],\n [0.4510, 0.4745, 0.4745]],\n\n [[0.2392, 0.1686, 0.1608],\n [0.2431, 0.1686, 0.1608],\n [0.2510, 0.1725, 0.1569],\n ...,\n [0.4549, 0.4784, 0.4706],\n [0.4549, 0.4745, 0.4667],\n [0.4510, 0.4706, 0.4627]],\n\n [[0.2275, 0.1686, 0.1608],\n [0.2431, 0.1725, 0.1569],\n [0.2549, 0.1686, 0.1569],\n ...,\n [0.4431, 0.4667, 0.4588],\n [0.4392, 0.4627, 0.4549],\n [0.4353, 0.4627, 0.4510]],\n\n ...,\n\n [[0.1490, 0.1647, 0.1922],\n [0.1569, 0.1686, 0.1922],\n [0.1569, 0.1686, 0.2000],\n ...,\n [0.1098, 0.1176, 0.1294],\n [0.1137, 0.1176, 0.1333],\n [0.1098, 0.1216, 0.1333]],\n\n [[0.1608, 0.1647, 0.1882],\n [0.1490, 0.1686, 0.1922],\n [0.1647, 0.1686, 0.2039],\n ...,\n [0.1176, 0.1176, 0.1333],\n [0.1098, 0.1176, 0.1333],\n [0.0980, 0.1216, 0.1373]],\n\n [[0.1608, 0.1686, 0.1882],\n [0.1569, 0.1686, 0.1922],\n [0.1569, 0.1765, 0.1961],\n ...,\n [0.1098, 0.1216, 0.1333],\n [0.1098, 0.1176, 0.1373],\n [0.1137, 0.1176, 0.1333]]]])'], 'prompt': ["{'2': {'inputs': {'precision': 'auto'}, 'class_type': 'LoadSharpModel', '_meta': {'title': '(Down)Load SHARP Model'}}, '7': {'inputs': {'focal_length_mm': ['9', 2], 'output_prefix': 'sharp', 'model': ['2', 0], 'image': ['9', 0]}, 'class_type': 'SharpPredict', '_meta': {'title': 'SHARP Predict (Image to PLY)'}}, '9': {'inputs': {'image': 'eth3d.png', 'default_focal_mm': 30.0}, 'class_type': 'LoadImageWithExif', '_meta': {'title': 'Load Image with EXIF (Focal Length)'}}, '11': {'inputs': {'preview_gaussian': '', 'ply_path': ['7', 0], 'extrinsics': ['7', 1], 'intrinsics': ['7', 2]}, 'class_type': 'PreviewGaussianSharp', '_meta': {'title': 'Preview Gaussian Sharp'}}}"], 'extra_pnginfo': ["{'workflow': {'id': 'sharp-basic-workflow', 'revision': 0, 'last_node_id': 11, 'last_link_id': 24, 'nodes': [{'id': 2, 'type': 'LoadSharpModel', 'pos': [-150, -400], 'size': [270, 106.65625], 'flags': {}, 'order': 0, 'mode': 0, 'inputs': [], 'outputs': [{'name': 'model_config', 'type': 'SHARP_MODEL_CONFIG', 'links': [11]}], 'properties': {'Node name for S&R': 'LoadSharpModel', 'aux_id': 'PozzettiAndrea/ComfyUI-Sharp', 'ver': '9f1b9c726e2cfc0118866c3df783e7f6bc895226', 'cnr_id': 'comfyui-sharp'}, 'widgets_values': ['auto']}, {'id': 9, 'type': 'LoadImageWithExif', 'pos': [-208.74978010739324, -99.02778023242435], 'size': [342.28125, 420], 'flags': {}, 'order': 1, 'mode': 0, 'inputs': [], 'outputs': [{'name': 'image', 'type': 'IMAGE', 'links': [19]}, {'name': 'mask', 'type': 'MASK', 'links': None}, {'name': 'focal_length_mm', 'type': 'FLOAT', 'links': [20]}], 'properties': {'Node name for S&R': 'LoadImageWithExif', 'aux_id': 'PozzettiAndrea/ComfyUI-Sharp', 'ver': 'c69751a59b587c3b83d0e37cfe2bab3bc838574a', 'cnr_id': 'comfyui-sharp'}, 'widgets_values': ['eth3d.png', 30, 'image']}, {'id': 7, 'type': 'SharpPredict', 'pos': [226.15696022727278, -245.70490056818184], 'size': [298.890625, 236], 'flags': {}, 'order': 2, 'mode': 0, 'inputs': [{'name': 'model', 'type': 'SHARP_MODEL_CONFIG', 'link': 11}, {'name': 'image', 'type': 'IMAGE', 'link': 19}, {'name': 'extrinsics', 'shape': 7, 'type': 'EXTRINSICS', 'link': None}, {'name': 'intrinsics', 'shape': 7, 'type': 'INTRINSICS', 'link': None}, {'name': 'focal_length_mm', 'shape': 7, 'type': 'FLOAT', 'widget': {'name': 'focal_length_mm'}, 'link': 20}], 'outputs': [{'name': 'ply_path', 'type': 'STRING', 'links': [22]}, {'name': 'extrinsics', 'type': 'EXTRINSICS', 'links': [23]}, {'name': 'intrinsics', 'type': 'INTRINSICS', 'links': [24]}, {'name': 'layer_0_refined_depth', 'type': 'IMAGE', 'links': None}, {'name': 'layer_1_refined_depth', 'type': 'IMAGE', 'links': None}], 'properties': {'Node name for S&R': 'SharpPredict', 'aux_id': 'PozzettiAndrea/ComfyUI-Sharp', 'ver': 'c69751a59b587c3b83d0e37cfe2bab3bc838574a', 'cnr_id': 'comfyui-sharp'}, 'widgets_values': [30, 'sharp']}, {'id': 11, 'type': 'PreviewGaussianSharp', 'pos': [600.5860117362482, -287.72961200652577], 'size': [512, 658], 'flags': {}, 'order': 3, 'mode': 0, 'inputs': [{'name': 'ply_path', 'type': 'STRING', 'link': 22}, {'name': 'extrinsics', 'shape': 7, 'type': 'EXTRINSICS', 'link': 23}, {'name': 'intrinsics', 'shape': 7, 'type': 'INTRINSICS', 'link': 24}], 'outputs': [{'name': 'extrinsics', 'type': 'EXTRINSICS', 'links': None}, {'name': 'intrinsics', 'type': 'INTRINSICS', 'links': None}], 'properties': {'Node name for S&R': 'PreviewGaussianSharp', 'aux_id': 'PozzettiAndrea/ComfyUI-GaussianPack', 'ver': '059313a53ffa7ecc8697eddc02d2cee4727e5085'}, 'widgets_values': ['']}], 'links': [[11, 2, 0, 7, 0, 'SHARP_MODEL'], [19, 9, 0, 7, 1, 'IMAGE'], [20, 9, 2, 7, 4, 'FLOAT'], [22, 7, 0, 11, 0, 'STRING'], [23, 7, 1, 11, 1, 'EXTRINSICS'], [24, 7, 2, 11, 2, 'INTRINSICS']], 'groups': [], 'config': {}, 'extra': {'ds': {'scale': 0.9373016969629105, 'offset': [449.06099628194596, 596.4219590460706]}, 'workflowRendererVersion': 'LG', 'frontendVersion': '1.44.19'}, 'version': 0.4}}"]}, 'current_outputs': ['9', '2', '7', '11'], 'timestamp': 1780868131072}
|
|
|
|
Details:
|
|
Workflow: C:\ComfyUI-Sharp\workflows\sharp_exif.json
|
|
Node error: SharpPredict</div>
|
|
</div>
|
|
|
|
<div class="failed-item">
|
|
<div class="failed-header">
|
|
<span class="failed-name">vanilla_vs_image_depth_gaussians</span>
|
|
<span class="failed-duration">6.37s</span>
|
|
</div>
|
|
<div class="failed-error">Workflow execution failed: {'prompt_id': '3cdd2fb9-a0a7-4777-92c4-f78c53953311', 'node_id': '57', 'node_type': 'SharpPredict', 'executed': ['58', '7', '9'], 'exception_message': 'No module named \'torchvision\'\n\nWorker traceback:\nTraceback (most recent call last):\n File "C:\\Users\\ContainerUser\\AppData\\Local\\Temp\\comfyui_pvenv__j68vr6p\\persistent_worker.py", line 1762, in main\n result = method(**inputs)\n File "C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy_api\\latest\\_io.py", line 1880, in EXECUTE_NORMALIZED\n to_return = cls.execute(*args, **kwargs)\n File "C:\\Users\\ContainerUser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\sharp-nodes\\Lib\\site-packages\\torch\\utils\\_contextlib.py", line 124, in decorate_context\n return func(*args, **kwargs)\n File "C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\custom_nodes\\ComfyUI-Sharp\\nodes\\predict.py", line 127, in execute\n patcher = _load_sharp_model(model)\n File "C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\custom_nodes\\ComfyUI-Sharp\\nodes\\load_model.py", line 138, in _load_sharp_model\n import comfy.model_patcher\n File "C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\model_patcher.py", line 32, in <module>\n import comfy.hooks\n File "C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\hooks.py", line 14, in <module>\n import comfy.lora\n File "C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\lora.py", line 22, in <module>\n import comfy.model_base\n File "C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\model_base.py", line 41, in <module>\n import comfy.ldm.cosmos.model\n File "C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\ldm\\cosmos\\model.py", line 25, in <module>\n from torchvision import transforms\nModuleNotFoundError: No module named \'torchvision\'\n\n', 'exception_type': 'comfy_env.isolation.workers.base.WorkerError', 'traceback': [' File "C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py", 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', ' File "C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py", 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', ' File "C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py", line 310, in _async_map_node_over_list\n await process_inputs(input_dict, i)\n', ' File "C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py", line 298, in process_inputs\n result = f(**inputs)\n', ' File "C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\python_embeded\\Lib\\site-packages\\comfy_env\\isolation\\metadata.py", line 556, in proxy\n result = worker.call_method(\n module_name=mod,\n ...<4 lines>...\n timeout=600.0,\n )\n', ' File "C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\python_embeded\\Lib\\site-packages\\comfy_env\\isolation\\workers\\subprocess.py", line 674, in call_method\n raise WorkerError(\n ...<2 lines>...\n )\n'], 'current_inputs': {'focal_length_mm': [30], 'output_prefix': ['sharp'], 'model': ["{'model_path': 'C:\\\\workspaces\\\\Sharp-2317\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\models\\\\sharp\\\\sharp_2572gikvuh.pt', 'precision': 'auto', 'dtype': 'bf16'}"], 'image': ['tensor([[[[0.4314, 0.3373, 0.2667],\n [0.4314, 0.3373, 0.2667],\n [0.4275, 0.3333, 0.2627],\n ...,\n [0.9961, 0.9961, 0.9961],\n [0.9961, 0.9961, 0.9961],\n [0.9961, 0.9961, 0.9961]],\n\n [[0.4314, 0.3373, 0.2667],\n [0.4275, 0.3333, 0.2627],\n [0.4275, 0.3333, 0.2627],\n ...,\n [0.9961, 0.9961, 0.9961],\n [0.9961, 0.9961, 0.9961],\n [0.9961, 0.9961, 0.9961]],\n\n [[0.4275, 0.3333, 0.2627],\n [0.4275, 0.3333, 0.2627],\n [0.4275, 0.3333, 0.2627],\n ...,\n [0.9961, 0.9961, 0.9961],\n [0.9961, 0.9961, 0.9961],\n [0.9961, 0.9961, 0.9961]],\n\n ...,\n\n [[0.2902, 0.1961, 0.1020],\n [0.3137, 0.2196, 0.1255],\n [0.3333, 0.2392, 0.1529],\n ...,\n [0.3412, 0.1725, 0.0902],\n [0.3333, 0.1765, 0.0902],\n [0.3333, 0.1765, 0.0902]],\n\n [[0.3137, 0.2196, 0.1255],\n [0.3294, 0.2353, 0.1412],\n [0.3412, 0.2471, 0.1608],\n ...,\n [0.3412, 0.1647, 0.0863],\n [0.3373, 0.1686, 0.0863],\n [0.3373, 0.1686, 0.0863]],\n\n [[0.3490, 0.2549, 0.1608],\n [0.3569, 0.2627, 0.1686],\n [0.3569, 0.2627, 0.1765],\n ...,\n [0.3412, 0.1647, 0.0863],\n [0.3373, 0.1686, 0.0863],\n [0.3373, 0.1686, 0.0863]]]])'], 'prompt': ["{'7': {'inputs': {'image': 'middlebury.jpg'}, 'class_type': 'LoadImage', '_meta': {'title': 'Load Image'}, 'is_changed': ['3e55f15dfe3cedd72a467c111c7014ef03206ce1baace29cfd5dff1f72684fcc']}, '9': {'inputs': {'precision': 'auto'}, 'class_type': 'LoadSharpModel', '_meta': {'title': '(Down)Load SHARP Model'}}, '47': {'inputs': {'focal_length_mm': 30.0, 'model': ['9', 0], 'image': ['7', 0]}, 'class_type': 'SharpPredictMetricDepth', '_meta': {'title': 'SHARP Predict Metric Depth'}}, '57': {'inputs': {'focal_length_mm': 30.0, 'output_prefix': 'sharp', 'model': ['9', 0], 'image': ['58', 0]}, 'class_type': 'SharpPredict', '_meta': {'title': 'SHARP Predict (Image to PLY)'}}, '58': {'inputs': {'batch_index': 0, 'length': 1, 'image': ['7', 0]}, 'class_type': 'ImageFromBatch', '_meta': {'title': 'Get Image from Batch'}}, '83': {'inputs': {'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': ['9', 0], 'image': ['7', 0], 'metric_depth_layer0': ['47', 0]}, 'class_type': 'SharpPredictGaussiansFromMetricDepth', '_meta': {'title': 'SHARP Predict Gaussians (Image + Metric Depth)'}}, '92': {'inputs': {'preview_gaussian': '', 'ply_path': ['83', 0], 'extrinsics': ['83', 2], 'intrinsics': ['83', 3]}, 'class_type': 'PreviewGaussianSharp', '_meta': {'title': 'Preview Gaussian Sharp'}}, '93': {'inputs': {'preview_gaussian': '', 'ply_path': ['57', 0], 'extrinsics': ['57', 1], 'intrinsics': ['57', 2]}, 'class_type': 'PreviewGaussianSharp', '_meta': {'title': 'Preview Gaussian Sharp'}}}"], 'extra_pnginfo': ["{'workflow': {'id': '4c5120ac-970c-46cf-9506-725835d340a3', 'revision': 0, 'last_node_id': 93, 'last_link_id': 217, 'nodes': [{'id': 58, 'type': 'ImageFromBatch', 'pos': [-345.3227718802713, -1035.8764463326056], 'size': [270, 112], 'flags': {}, 'order': 3, 'mode': 0, 'inputs': [{'name': 'image', 'type': 'IMAGE', 'link': 194}], 'outputs': [{'name': 'IMAGE', 'type': 'IMAGE', 'links': [143]}], 'properties': {'Node name for S&R': 'ImageFromBatch', 'cnr_id': 'comfy-core', 'ver': '0.22.0'}, 'widgets_values': [0, 1]}, {'id': 9, 'type': 'LoadSharpModel', 'pos': [-827.9081022001862, -1217.6393468672645], 'size': [270, 106.65625], 'flags': {}, 'order': 0, 'mode': 0, 'inputs': [], 'outputs': [{'name': 'model_config', 'type': 'SHARP_MODEL_CONFIG', 'links': [114, 137, 197]}], 'properties': {'Node name for S&R': 'LoadSharpModel', 'aux_id': 'PozzettiAndrea/ComfyUI-Sharp', 'ver': '51939f0d3bdcd9f4965978445ad0fa31a6222ef0', 'cnr_id': 'comfyui-sharp'}, 'widgets_values': ['auto']}, {'id': 7, 'type': 'LoadImage', 'pos': [-1163.7622907189734, -982.6675026789543], 'size': [662.21875, 367.625], 'flags': {}, 'order': 1, 'mode': 0, 'inputs': [], 'outputs': [{'name': 'IMAGE', 'type': 'IMAGE', 'links': [193, 194, 198]}, {'name': 'MASK', 'type': 'MASK', 'links': None}], 'properties': {'Node name for S&R': 'LoadImage', 'cnr_id': 'comfy-core', 'ver': '0.12.2'}, 'widgets_values': ['middlebury.jpg', 'image']}, {'id': 47, 'type': 'SharpPredictMetricDepth', 'pos': [-429.65947522162185, -718.222353356327], 'size': [287.265625, 224], 'flags': {}, 'order': 2, 'mode': 0, 'inputs': [{'name': 'model', 'type': 'SHARP_MODEL_CONFIG', 'link': 114}, {'name': 'image', 'type': 'IMAGE', 'link': 193}, {'name': 'extrinsics', 'shape': 7, 'type': 'EXTRINSICS', 'link': None}, {'name': 'intrinsics', 'shape': 7, 'type': 'INTRINSICS', 'link': None}], 'outputs': [{'name': 'layer_0_metric_depth', 'type': 'IMAGE', 'links': [196]}, {'name': 'layer_1_metric_depth', 'type': 'IMAGE', 'links': []}, {'name': 'extrinsics_mdepth', 'type': 'EXTRINSICS', 'links': []}, {'name': 'intrinsics_mdepth', 'type': 'INTRINSICS', 'links': None}, {'name': 'layer_0_points_raw', 'type': 'IMAGE', 'links': None}, {'name': 'layer_1_points_raw', 'type': 'IMAGE', 'links': None}], 'properties': {'Node name for S&R': 'SharpPredictMetricDepth', 'aux_id': 'PozzettiAndrea/ComfyUI-Sharp', 'ver': '9ae300958498a99946acd046599f14a13b2e9175', 'cnr_id': 'comfyui-sharp'}, 'widgets_values': [30]}, {'id': 57, 'type': 'SharpPredict', 'pos': [-50.24880441555505, -1174.7760742186522], 'size': [298.890625, 236], 'flags': {}, 'order': 5, 'mode': 0, 'inputs': [{'name': 'model', 'type': 'SHARP_MODEL_CONFIG', 'link': 137}, {'name': 'image', 'type': 'IMAGE', 'link': 143}, {'name': 'extrinsics', 'shape': 7, 'type': 'EXTRINSICS', 'link': None}, {'name': 'intrinsics', 'shape': 7, 'type': 'INTRINSICS', 'link': None}], 'outputs': [{'name': 'ply_path', 'type': 'STRING', 'links': [215]}, {'name': 'extrinsics', 'type': 'EXTRINSICS', 'links': [216]}, {'name': 'intrinsics', 'type': 'INTRINSICS', 'links': [217]}, {'name': 'layer_0_refined_depth', 'type': 'IMAGE', 'links': []}, {'name': 'layer_1_refined_depth', 'type': 'IMAGE', 'links': None}], 'properties': {'Node name for S&R': 'SharpPredict', 'aux_id': 'PozzettiAndrea/ComfyUI-Sharp', 'ver': '87e198137a4b73837e7cdb0b403487a4cb04631f', 'cnr_id': 'comfyui-sharp'}, 'widgets_values': [30, 'sharp']}, {'id': 83, 'type': 'SharpPredictGaussiansFromMetricDepth', 'pos': [-85.1876841064351, -813.6867300229302], 'size': [427.46875, 413.3125], 'flags': {}, 'order': 4, 'mode': 0, 'inputs': [{'name': 'model', 'type': 'SHARP_MODEL_CONFIG', 'link': 197}, {'name': 'image', 'type': 'IMAGE', 'link': 198}, {'name': 'metric_depth_layer0', 'type': 'IMAGE', 'link': 196}, {'name': 'metric_depth_layer1', 'shape': 7, 'type': 'IMAGE', 'link': None}, {'name': 'extrinsics', 'shape': 7, 'type': 'EXTRINSICS', 'link': None}, {'name': 'intrinsics', 'shape': 7, 'type': 'INTRINSICS', 'link': None}, {'name': 'mask', 'shape': 7, 'type': 'MASK', 'link': None}], 'outputs': [{'name': 'ply_path', 'type': 'STRING', 'links': [214]}, {'name': 'ply_folder', 'type': 'STRING', 'links': None}, {'name': 'extrinsics', 'type': 'EXTRINSICS', 'links': [213]}, {'name': 'intrinsics', 'type': 'INTRINSICS', 'links': [212]}], 'properties': {'Node name for S&R': 'SharpPredictGaussiansFromMetricDepth', 'aux_id': 'PozzettiAndrea/ComfyUI-Sharp', 'ver': '8a35d88363cea291ddf08781f8174429c009f3a9', 'cnr_id': 'comfyui-sharp'}, 'widgets_values': ['none', 'planar_z', 30, 'sharp_aligned', True, 0]}, {'id': 93, 'type': 'PreviewGaussianSharp', 'pos': [442.86459704371333, -1332.4924562910687], 'size': [512, 658], 'flags': {}, 'order': 7, 'mode': 0, 'inputs': [{'name': 'ply_path', 'type': 'STRING', 'link': 215}, {'name': 'extrinsics', 'shape': 7, 'type': 'EXTRINSICS', 'link': 216}, {'name': 'intrinsics', 'shape': 7, 'type': 'INTRINSICS', 'link': 217}], 'outputs': [{'name': 'extrinsics', 'type': 'EXTRINSICS', 'links': None}, {'name': 'intrinsics', 'type': 'INTRINSICS', 'links': None}], 'properties': {'Node name for S&R': 'PreviewGaussianSharp', 'aux_id': 'PozzettiAndrea/ComfyUI-GaussianPack', 'ver': '059313a53ffa7ecc8697eddc02d2cee4727e5085'}, 'widgets_values': ['']}, {'id': 92, 'type': 'PreviewGaussianSharp', 'pos': [438.2632542512038, -610.669877712681], 'size': [512, 658], 'flags': {}, 'order': 6, 'mode': 0, 'inputs': [{'name': 'ply_path', 'type': 'STRING', 'link': 214}, {'name': 'extrinsics', 'shape': 7, 'type': 'EXTRINSICS', 'link': 213}, {'name': 'intrinsics', 'shape': 7, 'type': 'INTRINSICS', 'link': 212}], 'outputs': [{'name': 'extrinsics', 'type': 'EXTRINSICS', 'links': None}, {'name': 'intrinsics', 'type': 'INTRINSICS', 'links': None}], 'properties': {'Node name for S&R': 'PreviewGaussianSharp', 'aux_id': 'PozzettiAndrea/ComfyUI-GaussianPack', 'ver': '059313a53ffa7ecc8697eddc02d2cee4727e5085'}, 'widgets_values': ['']}], 'links': [[114, 9, 0, 47, 0, 'SHARP_MODEL_CONFIG'], [137, 9, 0, 57, 0, 'SHARP_MODEL_CONFIG'], [143, 58, 0, 57, 1, 'IMAGE'], [193, 7, 0, 47, 1, 'IMAGE'], [194, 7, 0, 58, 0, 'IMAGE'], [196, 47, 0, 83, 2, 'IMAGE'], [197, 9, 0, 83, 0, 'SHARP_MODEL_CONFIG'], [198, 7, 0, 83, 1, 'IMAGE'], [212, 83, 3, 92, 2, 'INTRINSICS'], [213, 83, 2, 92, 1, 'EXTRINSICS'], [214, 83, 0, 92, 0, 'STRING'], [215, 57, 0, 93, 0, 'STRING'], [216, 57, 1, 93, 1, 'EXTRINSICS'], [217, 57, 2, 93, 2, 'INTRINSICS']], 'groups': [], 'config': {}, 'extra': {'ds': {'scale': 0.5976516256247191, 'offset': [1193.716693482513, 1554.9451579147433]}, 'workflowRendererVersion': 'LG', 'frontendVersion': '1.44.19'}, 'version': 0.4}}"]}, 'current_outputs': ['57', '9', '58', '83', '92', '93', '47', '7'], 'timestamp': 1780868137759}
|
|
|
|
Details:
|
|
Workflow: C:\ComfyUI-Sharp\workflows\vanilla_vs_image_depth_gaussians.json
|
|
Node error: SharpPredict</div>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="models-section">
|
|
<div class="section-header">
|
|
<h2 class="section-title">Downloaded Models</h2>
|
|
<span class="models-total">16 files · 3.9 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">195.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">128.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">195.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">128.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/vae_approx/</span>
|
|
<span class="models-folder-meta">
|
|
|
|
<span class="models-folder-size">18.7 MB</span>
|
|
</span>
|
|
</summary>
|
|
<div class="models-file-list">
|
|
<div class="models-file"><span class="models-file-path">taef1_encoder.safetensors</span><span class="models-file-size">2.4 MB</span></div>
|
|
<div class="models-file"><span class="models-file-path">taesd3_encoder.safetensors</span><span class="models-file-size">2.4 MB</span></div>
|
|
<div class="models-file"><span class="models-file-path">taef1_decoder.safetensors</span><span class="models-file-size">2.4 MB</span></div>
|
|
<div class="models-file"><span class="models-file-path">taesd3_decoder.safetensors</span><span class="models-file-size">2.4 MB</span></div>
|
|
<div class="models-file"><span class="models-file-path">taesdxl_decoder.safetensors</span><span class="models-file-size">2.3 MB</span></div>
|
|
<div class="models-file"><span class="models-file-path">taesd_decoder.safetensors</span><span class="models-file-size">2.3 MB</span></div>
|
|
<div class="models-file"><span class="models-file-path">taesdxl_encoder.safetensors</span><span class="models-file-size">2.3 MB</span></div>
|
|
<div class="models-file"><span class="models-file-path">taesd_encoder.safetensors</span><span class="models-file-size">2.3 MB</span></div>
|
|
</div>
|
|
</details>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="lightbox" id="lightbox">
|
|
<button class="lightbox-close" onclick="closeLightbox()">×</button>
|
|
<button class="lightbox-nav lightbox-nav-left" onclick="navigateLightbox(-1)">‹</button>
|
|
<button class="lightbox-nav lightbox-nav-right" onclick="navigateLightbox(1)">›</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": "396.95", "log": "Capturing execution frames: pano.json\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\n Frame 1 saved (frame_000.jpg, t=0.0s)\n Validating workflow...\n 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 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] \u001b[32m[INFO]\u001b[0m Inputs: {\"image\": [\"7\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 60: PanoramaDepthMerge\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] \u001b[32m[INFO]\u001b[0m Node 61: GetImageSize\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"image\": [\"7\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 62: PreviewImage\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: 5b8df783-2c49-4e46-b55f-9e20127f07e3\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: 1271 / 24575 MB\n [ComfyUI] [comfy-env] SubprocessWorker: C:\\Users\\ContainerUser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\sharp-nodes\\python.exe\n [ComfyUI] [comfy-env] env_vars: {'COMFYUI_BASE': 'C:\\\\workspaces\\\\Sharp-2317\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI'}\n [ComfyUI] [SubprocessWorker] call_method: nodes.load_model.LoadSharpModel.EXECUTE_NORMALIZED\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [comfy-env] sharp-nodes: Library/bin has 566 DLLs\n [ComfyUI] [ComfyUI-Sharp] python: C:\\Users\\ContainerUser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\sharp-nodes\\python.exe\n [ComfyUI] [ComfyUI-Sharp] sys_path sent to worker: ['C:\\\\workspaces\\\\Sharp-2317\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI', 'C:\\\\workspaces\\\\Sharp-2317\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-Sharp', 'C:\\\\Users\\\\ContainerUser\\\\AppData\\\\Local\\\\Programs\\\\comfy-env\\\\.pixi\\\\envs\\\\sharp-nodes\\\\Lib\\\\site-packages', 'C:\\\\workspaces\\\\Sharp-2317\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-Sharp']\n [ComfyUI] [SubprocessWorker] is_pixi=True, python=C:\\Users\\ContainerUser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\sharp-nodes\\python.exe\n [ComfyUI] [SubprocessWorker] launching cmd=['C:\\\\Users\\\\ContainerUser\\\\.pixi\\\\bin\\\\pixi.exe', 'run', '--as-is', '--manifest-path', 'C:\\\\Users\\\\ContainerUser\\\\AppData\\\\Local\\\\Programs\\\\comfy-env\\\\pixi.toml', '-e', 'sharp-nodes', 'python', 'C:\\\\Users\\\\ContainerUser\\\\AppData\\\\Local\\\\Temp\\\\comfyui_pvenv__j68vr6p\\\\persistent_worker.py', 'tcp://127.0.0.1:49804']...\n Frame 2 saved (frame_001.jpg, t=2.4s)\n [capture-periodic] freeze=4ms shot=114ms unfreeze=7ms saved=True\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 \ufffd downloading from HuggingFace repo 'apple/Sharp' file 'sharp_2572gikvuh.pt' -> C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\models\\sharp\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-Sharp] 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 Frame 3 saved (frame_002.jpg, t=4.6s)\n [capture-periodic] freeze=3ms shot=121ms unfreeze=6ms saved=True\n [ComfyUI] \n [ComfyUI] sharp_2572gikvuh.pt: 0%| | 0.00/2.81G [00:00<?, ?B/s]\n [capture-loop] iter=50 t=6.2s state={'complete': False, 'error': None, 'executedCount': 0, 'wsState': 1} eval_ms=4 ram=10.4/31.9GB (33%) swap=0.0/5.0GB (0%) cpu=7% browser_rss=0.86GB\n [ComfyUI] \n [ComfyUI] sharp_2572gikvuh.pt: 2%|\u258f | 67.1M/2.81G [00:02<01:32, 29.7MB/s][SubprocessWorker] callback 'report_progress' from call_id=1\n [ComfyUI] \n [ComfyUI] sharp_2572gikvuh.pt: 3%|\u258e | 91.2M/2.81G [00:04<02:07, 21.3MB/s][SubprocessWorker] callback 'report_progress' from call_id=1\n Frame 4 saved (frame_003.jpg, t=9.1s)\n [capture-periodic] freeze=9ms shot=132ms unfreeze=9ms saved=True\n [capture-loop] iter=100 t=12.6s state={'complete': False, 'error': None, 'executedCount': 0, 'wsState': 1} eval_ms=5 ram=10.9/31.9GB (34%) swap=0.0/5.0GB (0%) cpu=14% browser_rss=0.87GB\n [ComfyUI] \n [ComfyUI] sharp_2572gikvuh.pt: 10%|\u2588 | 292M/2.81G [00:07<01:01, 41.2MB/s] [SubprocessWorker] callback 'report_progress' from call_id=1\n [ComfyUI] \n [ComfyUI] sharp_2572gikvuh.pt: 15%|\u2588\u258c | 427M/2.81G [00:08<00:34, 68.7MB/s][SubprocessWorker] callback 'report_progress' from call_id=1\n Frame 5 saved (frame_004.jpg, t=13.6s)\n [capture-periodic] freeze=4ms shot=129ms unfreeze=10ms saved=True\n [ComfyUI] \n [ComfyUI] sharp_2572gikvuh.pt: 18%|\u2588\u258a | 494M/2.81G [00:09<00:33, 68.3MB/s][SubprocessWorker] callback 'report_progress' from call_id=1\n Frame 6 saved (frame_005.jpg, t=16.8s)\n [capture-periodic] freeze=5ms shot=371ms unfreeze=5ms saved=True\n [ComfyUI] \n [ComfyUI] sharp_2572gikvuh.pt: 20%|\u2588\u2589 | 561M/2.81G [00:12<00:49, 45.0MB/s][SubprocessWorker] callback 'report_progress' from call_id=1\n [ComfyUI] \n [ComfyUI] sharp_2572gikvuh.pt: 22%|\u2588\u2588\u258f | 628M/2.81G [00:12<00:37, 57.7MB/s][SubprocessWorker] callback 'report_progress' from call_id=1\n Frame 7 saved (frame_006.jpg, t=19.5s)\n [capture-periodic] freeze=6ms shot=145ms unfreeze=5ms saved=True\n [ComfyUI] \n [ComfyUI] sharp_2572gikvuh.pt: 30%|\u2588\u2588\u2589 | 829M/2.81G [00:16<00:35, 55.5MB/s][SubprocessWorker] callback 'report_progress' from call_id=1\n [ComfyUI] \n [ComfyUI] sharp_2572gikvuh.pt: 34%|\u2588\u2588\u2588\u258d | 963M/2.81G [00:16<00:23, 79.4MB/s][SubprocessWorker] callback 'report_progress' from call_id=1\n [ComfyUI] \n [ComfyUI] sharp_2572gikvuh.pt: 37%|\u2588\u2588\u2588\u258b | 1.03G/2.81G [00:16<00:19, 91.9MB/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:19<00:32, 52.6MB/s][SubprocessWorker] callback 'report_progress' from call_id=1\n Frame 8 saved (frame_007.jpg, t=24.6s)\n [capture-periodic] freeze=6ms shot=590ms unfreeze=5ms saved=True\n [capture-loop] iter=150 t=27.7s state={'complete': False, 'error': None, 'executedCount': 0, 'wsState': 1} eval_ms=4 ram=11.8/31.9GB (37%) swap=0.0/5.0GB (0%) cpu=20% browser_rss=0.80GB\n [ComfyUI] \n [ComfyUI] sharp_2572gikvuh.pt: 49%|\u2588\u2588\u2588\u2588\u258a | 1.37G/2.81G [00:23<00:22, 63.6MB/s][SubprocessWorker] callback 'report_progress' from call_id=1\n [ComfyUI] \n [ComfyUI] sharp_2572gikvuh.pt: 56%|\u2588\u2588\u2588\u2588\u2588\u258c | 1.57G/2.81G [00:23<00:12, 96.8MB/s][SubprocessWorker] callback 'report_progress' from call_id=1\n [ComfyUI] \n [ComfyUI] sharp_2572gikvuh.pt: 63%|\u2588\u2588\u2588\u2588\u2588\u2588\u258e | 1.77G/2.81G [00:23<00:07, 139MB/s] [SubprocessWorker] callback 'report_progress' from call_id=1\n [ComfyUI] \n [ComfyUI] sharp_2572gikvuh.pt: 70%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588 | 1.97G/2.81G [00:24<00:04, 192MB/s][SubprocessWorker] callback 'report_progress' from call_id=1\n [ComfyUI] \n [ComfyUI] sharp_2572gikvuh.pt: 77%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u258b | 2.17G/2.81G [00:24<00:02, 254MB/s][SubprocessWorker] callback 'report_progress' from call_id=1\n [ComfyUI] \n [ComfyUI] sharp_2572gikvuh.pt: 87%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u258b | 2.44G/2.81G [00:24<00:01, 357MB/s][SubprocessWorker] callback 'report_progress' from call_id=1\n [ComfyUI] \n [ComfyUI] sharp_2572gikvuh.pt: 94%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u258d| 2.64G/2.81G [00:24<00:00, 425MB/s][SubprocessWorker] callback 'report_progress' from call_id=1\n Frame 9 saved (frame_008.jpg, t=29.6s)\n [capture-periodic] freeze=4ms shot=123ms unfreeze=7ms 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, 496MB/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, 113MB/s]\n [ComfyUI] [worker:ComfyUI-Sharp] [LoadSharpModel] checkpoint ready: C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\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 (29.45s): result: NodeOutput\n [ComfyUI] [VRAM] After LoadSharpModel: 1271 / 24575 MB\n [ComfyUI] [comfy-env] Running DownloadAndLoadMoGe2Model: model: 'moge-2-vitl-normal.pt', precision: 'auto', attention: 'auto'\n [ComfyUI] [VRAM] Before DownloadAndLoadMoGe2Model: 1271 / 24575 MB\n [ComfyUI] [comfy-env] SubprocessWorker: C:\\Users\\ContainerUser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\moge2-nodes\\python.exe\n [ComfyUI] [comfy-env] env_vars: {'COMFYUI_BASE': 'C:\\\\workspaces\\\\Sharp-2317\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI'}\n [ComfyUI] [SubprocessWorker] call_method: nodes.load_model.DownloadAndLoadMoGe2Model.EXECUTE_NORMALIZED\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [comfy-env] moge2-nodes: Library/bin has 237 DLLs\n [ComfyUI] [ComfyUI-MoGe2] python: C:\\Users\\ContainerUser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\moge2-nodes\\python.exe\n [ComfyUI] [ComfyUI-MoGe2] sys_path sent to worker: ['C:\\\\workspaces\\\\Sharp-2317\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI', 'C:\\\\workspaces\\\\Sharp-2317\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-MoGe2', 'C:\\\\Users\\\\ContainerUser\\\\AppData\\\\Local\\\\Programs\\\\comfy-env\\\\.pixi\\\\envs\\\\moge2-nodes\\\\Lib\\\\site-packages', 'C:\\\\workspaces\\\\Sharp-2317\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-MoGe2']\n [ComfyUI] [SubprocessWorker] is_pixi=True, python=C:\\Users\\ContainerUser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\moge2-nodes\\python.exe\n [ComfyUI] [SubprocessWorker] launching cmd=['C:\\\\Users\\\\ContainerUser\\\\.pixi\\\\bin\\\\pixi.exe', 'run', '--as-is', '--manifest-path', 'C:\\\\Users\\\\ContainerUser\\\\AppData\\\\Local\\\\Programs\\\\comfy-env\\\\pixi.toml', '-e', 'moge2-nodes', 'python', 'C:\\\\Users\\\\ContainerUser\\\\AppData\\\\Local\\\\Temp\\\\comfyui_pvenv_2g1bn_qq\\\\persistent_worker.py', 'tcp://127.0.0.1:54037']...\n Frame 10 saved (frame_009.jpg, t=31.8s)\n [capture-periodic] freeze=3ms shot=116ms unfreeze=7ms saved=True\n [capture-loop] iter=200 t=33.5s state={'complete': False, 'error': None, 'executedCount': 0, 'wsState': 1} eval_ms=4 ram=11.1/31.9GB (35%) swap=0.0/5.0GB (0%) cpu=10% browser_rss=0.81GB\n [capture-loop] iter=250 t=39.4s state={'complete': False, 'error': None, 'executedCount': 0, 'wsState': 1} eval_ms=4 ram=12.6/31.9GB (40%) swap=0.0/5.0GB (0%) cpu=6% browser_rss=0.81GB\n [capture-loop] iter=300 t=45.1s state={'complete': False, 'error': None, 'executedCount': 0, 'wsState': 1} eval_ms=4 ram=11.7/31.9GB (37%) swap=0.0/5.0GB (0%) cpu=6% browser_rss=0.81GB\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 [capture-loop] iter=350 t=50.9s state={'complete': False, 'error': None, 'executedCount': 0, 'wsState': 1} eval_ms=4 ram=10.8/31.9GB (34%) swap=0.0/5.0GB (0%) cpu=8% browser_rss=0.81GB\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 [ComfyUI] model.pt: 0%| | 0.00/1.32G [00:00<?, ?B/s]\n [ComfyUI] \n [ComfyUI] model.pt: 10%|\u2588 | 134M/1.32G [00:03<00:26, 44.5MB/s][SubprocessWorker] callback 'report_progress' from call_id=1\n [ComfyUI] \n [ComfyUI] model.pt: 19%|\u2588\u2589 | 256M/1.32G [00:03<00:11, 91.4MB/s][SubprocessWorker] callback 'report_progress' from call_id=1\n [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=1\n Frame 11 saved (frame_010.jpg, t=56.1s)\n [capture-periodic] freeze=4ms shot=154ms unfreeze=7ms saved=True\n [capture-loop] iter=400 t=57.0s state={'complete': False, 'error': None, 'executedCount': 0, 'wsState': 1} eval_ms=5 ram=11.1/31.9GB (35%) swap=0.0/5.0GB (0%) cpu=11% browser_rss=0.79GB\n [ComfyUI] \n [ComfyUI] model.pt: 25%|\u2588\u2588\u258c | 335M/1.32G [00:08<00:29, 33.4MB/s][SubprocessWorker] callback 'report_progress' from call_id=1\n [ComfyUI] \n [ComfyUI] model.pt: 30%|\u2588\u2588\u2588 | 402M/1.32G [00:09<00:23, 39.2MB/s][SubprocessWorker] callback 'report_progress' from call_id=1\n Frame 12 saved (frame_011.jpg, t=60.7s)\n [capture-periodic] freeze=4ms shot=133ms unfreeze=4ms saved=True\n [ComfyUI] \n [ComfyUI] model.pt: 46%|\u2588\u2588\u2588\u2588\u258c | 604M/1.32G [00:09<00:08, 83.3MB/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:03, 138MB/s] [SubprocessWorker] callback 'report_progress' from call_id=1\n [ComfyUI] \n [ComfyUI] model.pt: 66%|\u2588\u2588\u2588\u2588\u2588\u2588\u258c | 872M/1.32G [00:10<00:03, 126MB/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, 128MB/s][SubprocessWorker] callback 'report_progress' from call_id=1\n [capture-loop] iter=450 t=62.9s state={'complete': False, 'error': None, 'executedCount': 0, 'wsState': 1} eval_ms=4 ram=11.2/31.9GB (35%) swap=0.0/5.0GB (0%) cpu=16% browser_rss=0.78GB\n Frame 13 saved (frame_012.jpg, t=62.9s)\n [capture-periodic] freeze=4ms shot=115ms unfreeze=8ms saved=True\n [ComfyUI] \n [ComfyUI] model.pt: 81%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 | 1.07G/1.32G [00:11<00:01, 157MB/s][SubprocessWorker] callback 'report_progress' from call_id=1\n [ComfyUI] \n [ComfyUI] model.pt: 96%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u258c| 1.27G/1.32G [00:12<00:00, 243MB/s][SubprocessWorker] callback 'report_progress' from call_id=1\n [ComfyUI] [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:12<00:00, 110MB/s]\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] DownloadAndLoadMoGe2Model done (33.50s): result: NodeOutput\n [ComfyUI] [VRAM] After DownloadAndLoadMoGe2Model: 1271 / 24575 MB\n [ComfyUI] [comfy-env] Running PanoramaWrap: image: torch.float32 [1,2048,4096,3] cpu\n [ComfyUI] [VRAM] Before PanoramaWrap: 1271 / 24575 MB\n [ComfyUI] [comfy-env] SubprocessWorker: C:\\Users\\ContainerUser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\panopack-nodes\\python.exe\n [ComfyUI] [comfy-env] env_vars: {'COMFYUI_BASE': 'C:\\\\workspaces\\\\Sharp-2317\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI'}\n [ComfyUI] [SubprocessWorker] call_method: nodes.panorama_type.PanoramaWrap.EXECUTE_NORMALIZED\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [comfy-env] panopack-nodes: Library/bin has 610 DLLs\n [ComfyUI] [ComfyUI-PanoPack] python: C:\\Users\\ContainerUser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\panopack-nodes\\python.exe\n [ComfyUI] [ComfyUI-PanoPack] sys_path sent to worker: ['C:\\\\workspaces\\\\Sharp-2317\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI', 'C:\\\\workspaces\\\\Sharp-2317\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-PanoPack', 'C:\\\\Users\\\\ContainerUser\\\\AppData\\\\Local\\\\Programs\\\\comfy-env\\\\.pixi\\\\envs\\\\panopack-nodes\\\\Lib\\\\site-packages', 'C:\\\\workspaces\\\\Sharp-2317\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-PanoPack']\n [ComfyUI] [SubprocessWorker] is_pixi=True, python=C:\\Users\\ContainerUser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\panopack-nodes\\python.exe\n [ComfyUI] [SubprocessWorker] launching cmd=['C:\\\\Users\\\\ContainerUser\\\\.pixi\\\\bin\\\\pixi.exe', 'run', '--as-is', '--manifest-path', 'C:\\\\Users\\\\ContainerUser\\\\AppData\\\\Local\\\\Programs\\\\comfy-env\\\\pixi.toml', '-e', 'panopack-nodes', 'python', 'C:\\\\Users\\\\ContainerUser\\\\AppData\\\\Local\\\\Temp\\\\comfyui_pvenv_y21s5_as\\\\persistent_worker.py', 'tcp://127.0.0.1:54058']...\n Frame 14 saved (frame_013.jpg, t=65.1s)\n [capture-periodic] freeze=3ms shot=121ms unfreeze=7ms 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', 'manager_path', 'storage_key', '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 (3.65s): result: NodeOutput\n [ComfyUI] [VRAM] After PanoramaWrap: 1271 / 24575 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: 1271 / 24575 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', 'manager_path', 'storage_key', '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 15 saved (frame_014.jpg, t=67.3s)\n [capture-periodic] freeze=4ms shot=116ms unfreeze=7ms saved=True\n [capture-loop] iter=500 t=68.9s state={'complete': False, 'error': None, 'executedCount': 0, 'wsState': 1} eval_ms=4 ram=11.3/31.9GB (36%) swap=0.0/5.0GB (0%) cpu=12% browser_rss=0.79GB\n Frame 16 saved (frame_015.jpg, t=69.6s)\n [capture-periodic] freeze=3ms shot=118ms unfreeze=6ms saved=True\n [capture-loop] iter=550 t=74.9s state={'complete': False, 'error': None, 'executedCount': 0, 'wsState': 1} eval_ms=4 ram=11.3/31.9GB (35%) swap=0.0/5.0GB (0%) cpu=8% browser_rss=0.78GB\n [ComfyUI] [worker:ComfyUI-PanoPack] [PanoramaSplit] swapped up=[0,1,0] for 2 pole vertices\n [capture-loop] iter=600 t=80.7s state={'complete': False, 'error': None, 'executedCount': 0, 'wsState': 1} eval_ms=4 ram=11.4/31.9GB (36%) swap=0.0/5.0GB (0%) cpu=6% browser_rss=0.78GB\n [ComfyUI] [worker:ComfyUI-PanoPack] [VRAM] +290MB (now 290MB) reserved=320MB peak=290MB\n [ComfyUI] [worker:ComfyUI-PanoPack] [VRAM] -291MB (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 7.248s, split 9.002s, total 17.153s\n [capture-loop] iter=650 t=86.6s state={'complete': False, 'error': None, 'executedCount': 0, 'wsState': 1} eval_ms=7 ram=12.0/31.9GB (38%) swap=0.0/5.0GB (0%) cpu=9% browser_rss=0.78GB\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] PanoramaSplit done (19.29s): result: NodeOutput\n [ComfyUI] [VRAM] After PanoramaSplit: 1271 / 24575 MB\n Frame 17 saved (frame_016.jpg, t=87.3s)\n [capture-periodic] freeze=4ms shot=114ms unfreeze=7ms 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: 1271 / 24575 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 Frame 18 saved (frame_017.jpg, t=89.5s)\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [capture-periodic] freeze=4ms shot=131ms unfreeze=17ms saved=True\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', 'manager_path', 'storage_key', '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 Node executed (1 total), capturing...\n [ComfyUI] [worker:ComfyUI-MoGe2]\n [ComfyUI] === WATCHDOG TICK 1 ===\n [ComfyUI] [worker:ComfyUI-MoGe2] Thread 0x00000e18 (most recent call first):\n [ComfyUI] File \"C:\\Users\\ContainerUser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\moge2-nodes\\Lib\\threading.py\", line 363 in wait\n [ComfyUI] File \"C:\\Users\\ContainerUser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\moge2-nodes\\Lib\\threading.py\", line 660 in wait\n Frame 19 saved (frame_018.jpg, t=90.0s)\n [ComfyUI] File \"C:\\Users\\ContainerUser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\moge2-nodes\\Lib\\site-packages\\tqdm\\_monitor.py\", line 69 in run\n [capture-node] freeze=4ms shot=114ms unfreeze=6ms saved=True\n [ComfyUI] File \"C:\\Users\\ContainerUser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\moge2-nodes\\Lib\\threading.py\", line 1044 in _bootstrap_inner\n [ComfyUI] File \"C:\\Users\\ContainerUser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\moge2-nodes\\Lib\\threading.py\", line 1015 in _bootstrap\n [ComfyUI] \n [ComfyUI] Thread 0x00001b7c (most recent call first):\n [ComfyUI] File \"C:\\Users\\ContainerUser\\AppData\\Local\\Temp\\comfyui_pvenv_2g1bn_qq\\persistent_worker.py\", line 106 in _vram_poller\n [ComfyUI] File \"C:\\Users\\ContainerUser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\moge2-nodes\\Lib\\threading.py\", line 995 in run\n [ComfyUI] File \"C:\\Users\\ContainerUser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\moge2-nodes\\Lib\\threading.py\", line 1044 in _bootstrap_inner\n [ComfyUI] File \"C:\\Users\\ContainerUser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\moge2-nodes\\Lib\\threading.py\", line 1015 in _bootstrap\n [ComfyUI] \n [ComfyUI] Current thread 0x00000268 (most recent call first):\n [ComfyUI] File \"C:\\Users\\ContainerUser\\AppData\\Local\\Temp\\comfyui_pvenv_2g1bn_qq\\persistent_worker.py\", line 52 in _watchdog\n [ComfyUI] File \"C:\\Users\\ContainerUser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\moge2-nodes\\Lib\\threading.py\", line 995 in run\n [ComfyUI] File \"C:\\Users\\ContainerUser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\moge2-nodes\\Lib\\threading.py\", line 1044 in _bootstrap_inner\n [ComfyUI] File \"C:\\Users\\ContainerUser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\moge2-nodes\\Lib\\threading.py\", line 1015 in _bootstrap\n [ComfyUI] \n [ComfyUI] Thread 0x00001d20 (most recent call first):\n [ComfyUI] File \"<frozen importlib._bootstrap_external>\", line 212 in _write_atomic\n [ComfyUI] File \"<frozen importlib._bootstrap_external>\", line 1263 in set_data\n [ComfyUI] File \"<frozen importlib._bootstrap_external>\", line 1238 in _cache_bytecode\n [ComfyUI] File \"<frozen importlib._bootstrap_external>\", line 1170 in get_code\n [ComfyUI] File \"<frozen importlib._bootstrap_external>\", line 1019 in exec_module\n [ComfyUI] File \"<frozen importlib._bootstrap>\", line 935 in _load_unlocked\n [ComfyUI] File \"<frozen importlib._bootstrap>\", line 1331 in _find_and_load_unlocked\n [ComfyUI] File \"<frozen importlib._bootstrap>\", line 1360 in _find_and_load\n [ComfyUI] File \"C:\\Users\\ContainerUser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\moge2-nodes\\Lib\\site-packages\\scipy\\ndimage\\_ndimage_api.py\", line 11 in <module>\n [ComfyUI] File \"<frozen importlib._bootstrap>\", line 488 in _call_with_frames_removed\n [ComfyUI] File \"<frozen importlib._bootstrap_external>\", line 1023 in exec_module\n [ComfyUI] File \"<frozen importlib._bootstrap>\", line 935 in _load_unlocked\n [ComfyUI] File \"<frozen importlib._bootstrap>\", line 1331 in _find_and_load_unlocked\n [ComfyUI] File \"<frozen importlib._bootstrap>\", line 1360 in _find_and_load\n [ComfyUI] File \"C:\\Users\\ContainerUser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\moge2-nodes\\Lib\\site-packages\\scipy\\ndimage\\_support_alternative_backends.py\", line 7 in <module>\n [ComfyUI] File \"<frozen importlib._bootstrap>\", line 488 in _call_with_frames_removed\n [ComfyUI] File \"<frozen importlib._bootstrap_external>\", line 1023 in exec_module\n [ComfyUI] File \"<frozen importlib._bootstrap>\", line 935 in _load_unlocked\n [ComfyUI] File \"<frozen importlib._bootstrap>\", line 1331 in _find_and_load_unlocked\n [ComfyUI] File \"<frozen importlib._bootstrap>\", line 1360 in _find_and_load\n [ComfyUI] File \"C:\\Users\\ContainerUser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\moge2-nodes\\Lib\\site-packages\\scipy\\ndimage\\__init__.py\", line 157 in <module>\n [ComfyUI] File \"<frozen importlib._bootstrap>\", line 488 in _call_with_frames_removed\n [ComfyUI] File \"<frozen importlib._bootstrap_external>\", line 1023 in exec_module\n [ComfyUI] File \"<frozen importlib._bootstrap>\", line 935 in _load_unlocked\n [ComfyUI] File \"<frozen importlib._bootstrap>\", line 1331 in _find_and_load_unlocked\n [ComfyUI] File \"<frozen importlib._bootstrap>\", line 1360 in _find_and_load\n [ComfyUI] File \"C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\ldm\\modules\\sdpose.py\", line 3 in <module>\n [ComfyUI] File \"<frozen importlib._bootstrap>\", line 488 in _call_with_frames_removed\n [ComfyUI] File \"<frozen importlib._bootstrap_external>\", line 1023 in exec_module\n [ComfyUI] File \"<frozen importlib._bootstrap>\", line 935 in _load_unlocked\n [ComfyUI] File \"<frozen importlib._bootstrap>\", line 1331 in _find_and_load_unlocked\n [ComfyUI] File \"<frozen importlib._bootstrap>\", line 1360 in _find_and_load\n [ComfyUI] File \"C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\ldm\\modules\\diffusionmodules\\openaimodel.py\", line 21 in <module>\n [ComfyUI] File \"<frozen importlib._bootstrap>\", line 488 in _call_with_frames_removed\n [ComfyUI] File \"<frozen importlib._bootstrap_external>\", line 1023 in exec_module\n [ComfyUI] File \"<frozen importlib._bootstrap>\", line 935 in _load_unlocked\n [ComfyUI] File \"<frozen importlib._bootstrap>\", line 1331 in _find_and_load_unlocked\n [ComfyUI] File \"<frozen importlib._bootstrap>\", line 1360 in _find_and_load\n [ComfyUI] File \"C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\model_base.py\", line 25 in <module>\n [ComfyUI] File \"<frozen importlib._bootstrap>\", line 488 in _call_with_frames_removed\n [ComfyUI] File \"<frozen importlib._bootstrap_external>\", line 1023 in exec_module\n [ComfyUI] File \"<frozen importlib._bootstrap>\", line 935 in _load_unlocked\n [ComfyUI] File \"<frozen importlib._bootstrap>\", line 1331 in _find_and_load_unlocked\n [ComfyUI] File \"<frozen importlib._bootstrap>\", line 1360 in _find_and_load\n [ComfyUI] File \"C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\lora.py\", line 22 in <module>\n [ComfyUI] File \"<frozen importlib._bootstrap>\", line 488 in _call_with_frames_removed\n [ComfyUI] File \"<frozen importlib._bootstrap_external>\", line 1023 in exec_module\n [ComfyUI] File \"<frozen importlib._bootstrap>\", line 935 in _load_unlocked\n [ComfyUI] File \"<frozen importlib._bootstrap>\", line 1331 in _find_and_load_unlocked\n [ComfyUI] File \"<frozen importlib._bootstrap>\", line 1360 in _find_and_load\n [ComfyUI] File \"C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\hooks.py\", line 14 in <module>\n [ComfyUI] File \"<frozen importlib._bootstrap>\", line 488 in _call_with_frames_removed\n [ComfyUI] File \"<frozen importlib._bootstrap_external>\", line 1023 in exec_module\n [ComfyUI] File \"<frozen importlib._bootstrap>\", line 935 in _load_unlocked\n [ComfyUI] File \"<frozen importlib._bootstrap>\", line 1331 in _find_and_load_unlocked\n [ComfyUI] File \"<frozen importlib._bootstrap>\", line 1360 in _find_and_load\n [ComfyUI] File \"C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\model_patcher.py\", line 32 in <module>\n [ComfyUI] File \"<frozen importlib._bootstrap>\", line 488 in _call_with_frames_removed\n [ComfyUI] File \"<frozen importlib._bootstrap_external>\", line 1023 in exec_module\n [ComfyUI] File \"<frozen importlib._bootstrap>\", line 935 in _load_unlocked\n [ComfyUI] File \"<frozen importlib._bootstrap>\", line 1331 in _find_and_load_unlocked\n [ComfyUI] File \"<frozen importlib._bootstrap>\", line 1360 in _find_and_load\n [ComfyUI] File \"C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\custom_nodes\\ComfyUI-MoGe2\\nodes\\load_model.py\", line 104 in _get_or_build_moge_model\n [ComfyUI] File \"C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\custom_nodes\\ComfyUI-MoGe2\\nodes\\nodes_inference.py\", line 109 in execute\n [ComfyUI] File \"C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy_api\\latest\\_io.py\", line 1880 in EXECUTE_NORMALIZED\n [ComfyUI] File \"C:\\Users\\ContainerUser\\AppData\\Local\\Temp\\comfyui_pvenv_2g1bn_qq\\persistent_worker.py\", line 1762 in main\n [ComfyUI] File \"C:\\Users\\ContainerUser\\AppData\\Local\\Temp\\comfyui_pvenv_2g1bn_qq\\persistent_worker.py\", line 1807 in <module>\n [ComfyUI] \n [ComfyUI] [worker:ComfyUI-MoGe2] === END ===\n [ComfyUI] \n [capture-loop] iter=700 t=93.0s state={'complete': False, 'error': None, 'executedCount': 1, 'wsState': 1} eval_ms=4 ram=12.3/31.9GB (38%) swap=0.0/5.0GB (0%) cpu=9% browser_rss=0.98GB\n [capture-loop] iter=750 t=98.8s state={'complete': False, 'error': None, 'executedCount': 1, 'wsState': 1} eval_ms=4 ram=12.2/31.9GB (38%) swap=0.0/5.0GB (0%) cpu=6% browser_rss=0.95GB\n [capture-loop] iter=800 t=104.8s state={'complete': False, 'error': None, 'executedCount': 1, 'wsState': 1} eval_ms=8 ram=13.7/31.9GB (43%) swap=0.0/5.0GB (0%) cpu=10% browser_rss=0.94GB\n [ComfyUI] [SubprocessWorker] callback 'request_vram_budget' from call_id=2\n [ComfyUI] [comfy-env] VRAM request: 0.66GB, free before eviction: 24.44GB\n [ComfyUI] [comfy-env] VRAM after eviction: 24.44GB\n [ComfyUI] [worker:ComfyUI-MoGe2] [VRAM] +320MB (now 320MB) reserved=352MB peak=320MB\n [ComfyUI] [worker:ComfyUI-MoGe2] [VRAM] +391MB (now 711MB) reserved=800MB peak=739MB\n [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2\n Frame 20 saved (frame_019.jpg, t=109.9s)\n [capture-periodic] freeze=12ms shot=168ms 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 [capture-loop] iter=850 t=111.3s state={'complete': False, 'error': None, 'executedCount': 1, 'wsState': 1} eval_ms=13 ram=13.6/31.9GB (43%) swap=0.0/5.0GB (0%) cpu=41% browser_rss=0.95GB\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] +205MB (now 917MB) reserved=1664MB peak=948MB\n Frame 21 saved (frame_020.jpg, t=112.3s)\n [capture-periodic] freeze=16ms shot=170ms unfreeze=14ms 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] -247MB (now 670MB) reserved=1664MB peak=948MB\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 22 saved (frame_021.jpg, t=114.6s)\n [capture-periodic] freeze=14ms shot=194ms 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 23 saved (frame_022.jpg, t=116.9s)\n [capture-periodic] freeze=10ms shot=196ms unfreeze=5ms 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 [capture-loop] iter=900 t=118.2s state={'complete': False, 'error': None, 'executedCount': 1, 'wsState': 1} eval_ms=8 ram=14.4/31.9GB (45%) swap=0.0/5.0GB (0%) cpu=56% browser_rss=0.97GB\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 24 saved (frame_023.jpg, t=119.3s)\n [capture-periodic] freeze=7ms shot=213ms unfreeze=20ms saved=True\n [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2\n [ComfyUI] [worker:ComfyUI-MoGe2] [VRAM] +296MB (now 966MB) reserved=1664MB peak=966MB\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] -297MB (now 670MB) reserved=1664MB peak=966MB\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 25 saved (frame_024.jpg, t=121.7s)\n [capture-periodic] freeze=13ms shot=170ms 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 Frame 26 saved (frame_025.jpg, t=124.0s)\n [capture-periodic] freeze=16ms shot=181ms unfreeze=14ms saved=True\n [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2\n [capture-loop] iter=950 t=125.1s state={'complete': False, 'error': None, 'executedCount': 1, 'wsState': 1} eval_ms=7 ram=17.1/31.9GB (54%) swap=0.0/5.0GB (0%) cpu=54% browser_rss=1.00GB\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] Created 1 model patchers: ['MoGeWrapper_1']\n [ComfyUI] [comfy-env] MoGe2Inference done (36.27s): result: NodeOutput\n [ComfyUI] [VRAM] After MoGe2Inference: 1271 / 24575 MB\n [ComfyUI] [VRAM] Loaded: SubprocessModel (631 MB)\n Frame 27 saved (frame_026.jpg, t=126.3s)\n [capture-periodic] freeze=4ms shot=117ms unfreeze=8ms 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: 1271 / 24575 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: failed\n [ComfyUI] [ComfyUI-PanoPack] Socket unhealthy, restarting worker...\n [ComfyUI] [comfy-env] panopack-nodes: Library/bin has 610 DLLs\n [ComfyUI] [ComfyUI-PanoPack] python: C:\\Users\\ContainerUser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\panopack-nodes\\python.exe\n [ComfyUI] [ComfyUI-PanoPack] sys_path sent to worker: ['C:\\\\workspaces\\\\Sharp-2317\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI', 'C:\\\\workspaces\\\\Sharp-2317\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-PanoPack', 'C:\\\\Users\\\\ContainerUser\\\\AppData\\\\Local\\\\Programs\\\\comfy-env\\\\.pixi\\\\envs\\\\panopack-nodes\\\\Lib\\\\site-packages', 'C:\\\\workspaces\\\\Sharp-2317\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-PanoPack']\n [ComfyUI] [SubprocessWorker] is_pixi=True, python=C:\\Users\\ContainerUser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\panopack-nodes\\python.exe\n [ComfyUI] [SubprocessWorker] launching cmd=['C:\\\\Users\\\\ContainerUser\\\\.pixi\\\\bin\\\\pixi.exe', 'run', '--as-is', '--manifest-path', 'C:\\\\Users\\\\ContainerUser\\\\AppData\\\\Local\\\\Programs\\\\comfy-env\\\\pixi.toml', '-e', 'panopack-nodes', 'python', 'C:\\\\Users\\\\ContainerUser\\\\AppData\\\\Local\\\\Temp\\\\comfyui_pvenv_y21s5_as\\\\persistent_worker.py', 'tcp://127.0.0.1:61627']...\n Node executed (2 total), capturing...\n Frame 28 saved (frame_027.jpg, t=127.9s)\n [capture-node] freeze=4ms shot=117ms unfreeze=7ms 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 '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 [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', 'manager_path', 'storage_key', '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', 'manager_path', 'storage_key', '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', 'manager_path', 'storage_key', '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', 'manager_path', 'storage_key', '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', 'manager_path', 'storage_key', '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=1000 t=131.4s state={'complete': False, 'error': None, 'executedCount': 2, 'wsState': 1} eval_ms=4 ram=15.6/31.9GB (49%) swap=0.0/5.0GB (0%) cpu=15% browser_rss=1.05GB\n [capture-loop] iter=1050 t=137.5s state={'complete': False, 'error': None, 'executedCount': 2, 'wsState': 1} eval_ms=7 ram=17.1/31.9GB (54%) swap=0.0/5.0GB (0%) cpu=17% browser_rss=1.04GB\n [capture-loop] iter=1100 t=143.8s state={'complete': False, 'error': None, 'executedCount': 2, 'wsState': 1} eval_ms=4 ram=17.2/31.9GB (54%) swap=0.0/5.0GB (0%) cpu=28% browser_rss=1.04GB\n [capture-loop] iter=1150 t=150.0s state={'complete': False, 'error': None, 'executedCount': 2, 'wsState': 1} eval_ms=4 ram=17.2/31.9GB (54%) swap=0.0/5.0GB (0%) cpu=30% browser_rss=1.04GB\n [capture-loop] iter=1200 t=156.3s state={'complete': False, 'error': None, 'executedCount': 2, 'wsState': 1} eval_ms=7 ram=17.2/31.9GB (54%) swap=0.0/5.0GB (0%) cpu=29% browser_rss=1.04GB\n [capture-loop] iter=1250 t=162.6s state={'complete': False, 'error': None, 'executedCount': 2, 'wsState': 1} eval_ms=8 ram=17.3/31.9GB (54%) swap=0.0/5.0GB (0%) cpu=31% browser_rss=1.04GB\n [capture-loop] iter=1300 t=168.9s state={'complete': False, 'error': None, 'executedCount': 2, 'wsState': 1} eval_ms=8 ram=17.1/31.9GB (54%) swap=0.0/5.0GB (0%) cpu=31% browser_rss=1.04GB\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: 24.44GB\n [ComfyUI] [comfy-env] VRAM after eviction: 24.44GB\n [ComfyUI] [worker:ComfyUI-PanoPack] [PanoramaDepthMerge] -> requested 3.46 GB eviction via comfy_worker.call_parent\n [ComfyUI] [worker:ComfyUI-PanoPack] [VRAM] +290MB (now 290MB) reserved=448MB peak=290MB\n Frame 29 saved (frame_028.jpg, t=170.3s)\n [capture-periodic] freeze=4ms shot=118ms unfreeze=8ms saved=True\n [ComfyUI] C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\custom_nodes\\ComfyUI-PanoPack\\nodes\\_vendor\\worldgen\\src\\panorama_utils.py:349: UserWarning: Sparse invariant checks are implicitly disabled. Memory errors (e.g. SEGFAULT) will occur when operating on a sparse tensor which violates the invariants, but checks incur performance overhead. To silence this warning, explicitly opt in or out. See `torch.sparse.check_sparse_tensor_invariants.__doc__` for guidance. (Triggered internally at C:\\actions-runner\\_work\\pytorch\\pytorch\\aten\\src\\ATen\\Context.cpp:767.)\n [ComfyUI] A_gpu = torch.sparse_csr_tensor(\n [ComfyUI] C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\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 C:\\actions-runner\\_work\\pytorch\\pytorch\\aten\\src\\ATen\\SparseCsrTensorImpl.cpp:51.)\n [ComfyUI] A_gpu = torch.sparse_csr_tensor(\n [ComfyUI] [worker:ComfyUI-PanoPack] [merge_panorama_depth_gpu 256x128 ] done 1.48s (warp 0.56, build 0.01, LSMR 0.91); N=42 K=8 chunks=6; depth min/med/max = 0.384/0.945/3.091; valid 32768/32768\n [ComfyUI] [worker:ComfyUI-PanoPack] [VRAM] -283MB (now 8MB) reserved=32MB peak=454MB\n [ComfyUI] [worker:ComfyUI-PanoPack] [merge_panorama_depth_gpu 512x256 ] done 2.12s (warp 0.22, build 0.03, LSMR 0.35); N=42 K=8 chunks=6; depth min/med/max = 0.384/0.945/3.095; valid 131072/131072\n [ComfyUI] [worker:ComfyUI-PanoPack] [VRAM] +290MB (now 298MB) reserved=416MB peak=469MB\n [ComfyUI] [worker:ComfyUI-PanoPack] [merge_panorama_depth_gpu 1024x512 ] done 2.94s (warp 0.26, build 0.16, LSMR 0.35); N=42 K=8 chunks=6; depth min/m\n... (truncated)", "hardware": {"os": "Windows-11-10.0.26100-SP0", "cpu": "Intel64 Family 6 Model 79 Stepping 1, GenuineIntel"}}, "sharp_basic": {"src": "", "title": "sharp_basic", "status": "fail", "duration": "7.21", "log": "Capturing execution frames: sharp_basic.json\n [ComfyUI] [comfy-env] [VRAM] Before offload 'MoGeWrapper_1' (631 MB) -> cpu: 1271 / 24575 MB\n [ComfyUI] [ComfyUI-MoGe2] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-MoGe2] Health check: failed\n [ComfyUI] [ComfyUI-MoGe2] Socket unhealthy, restarting worker...\n [ComfyUI] [comfy-env] Invalidated 1 stale model patchers (will be cleaned up during next unload)\n [ComfyUI] [comfy-env] moge2-nodes: Library/bin has 237 DLLs\n [ComfyUI] [ComfyUI-MoGe2] python: C:\\Users\\ContainerUser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\moge2-nodes\\python.exe\n [ComfyUI] [ComfyUI-MoGe2] sys_path sent to worker: ['C:\\\\workspaces\\\\Sharp-2317\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI', 'C:\\\\workspaces\\\\Sharp-2317\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-MoGe2', 'C:\\\\Users\\\\ContainerUser\\\\AppData\\\\Local\\\\Programs\\\\comfy-env\\\\.pixi\\\\envs\\\\moge2-nodes\\\\Lib\\\\site-packages', 'C:\\\\workspaces\\\\Sharp-2317\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-MoGe2']\n [ComfyUI] [SubprocessWorker] is_pixi=True, python=C:\\Users\\ContainerUser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\moge2-nodes\\python.exe\n [ComfyUI] [SubprocessWorker] launching cmd=['C:\\\\Users\\\\ContainerUser\\\\.pixi\\\\bin\\\\pixi.exe', 'run', '--as-is', '--manifest-path', 'C:\\\\Users\\\\ContainerUser\\\\AppData\\\\Local\\\\Programs\\\\comfy-env\\\\pixi.toml', '-e', 'moge2-nodes', 'python', 'C:\\\\Users\\\\ContainerUser\\\\AppData\\\\Local\\\\Temp\\\\comfyui_pvenv_2g1bn_qq\\\\persistent_worker.py', 'tcp://127.0.0.1:61634']...\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): 1271 / 24575 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 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 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: aa2e779e-d487-4da9-ba68-181bd0465c97\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: 1271 / 24575 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=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): C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\models\\sharp\\sharp_2572gikvuh.pt (2679.6 MB)\n [ComfyUI] [worker:ComfyUI-Sharp] [LoadSharpModel] checkpoint ready: C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\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: 1271 / 24575 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): 1271 / 24575 MB\n [ComfyUI] [comfy-env] LoadSharpModel done (0.04s): result: NodeOutput\n [ComfyUI] [VRAM] After LoadSharpModel: 1271 / 24575 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: 1271 / 24575 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', 'manager_path', 'storage_key', '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 Execution complete (t=0.4s)\n Execution error: {'prompt_id': '45959b7b-b668-4555-a3e4-7de4dac31db3', 'node_id': '5', 'node_type': 'SharpPredict', 'executed': ['1', '2'], 'exception_message': 'No module named \\'torchvision\\'\\n\\nWorker traceback:\\nTraceback (most recent call last):\\n File \"C:\\\\Users\\\\ContainerUser\\\\AppData\\\\Local\\\\Temp\\\\comfyui_pvenv__j68vr6p\\\\persistent_worker.py\", line 1762, in main\\n result = method(**inputs)\\n File \"C:\\\\workspaces\\\\Sharp-2317\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\comfy_api\\\\latest\\\\_io.py\", line 1880, in EXECUTE_NORMALIZED\\n to_return = cls.execute(*args, **kwargs)\\n File \"C:\\\\Users\\\\ContainerUser\\\\AppData\\\\Local\\\\Programs\\\\comfy-env\\\\.pixi\\\\envs\\\\sharp-nodes\\\\Lib\\\\site-packages\\\\torch\\\\utils\\\\_contextlib.py\", line 124, in decorate_context\\n return func(*args, **kwargs)\\n File \"C:\\\\workspaces\\\\Sharp-2317\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-Sharp\\\\nodes\\\\predict.py\", line 127, in execute\\n patcher = _load_sharp_model(model)\\n File \"C:\\\\workspaces\\\\Sharp-2317\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-Sharp\\\\nodes\\\\load_model.py\", line 138, in _load_sharp_model\\n import comfy.model_patcher\\n File \"C:\\\\workspaces\\\\Sharp-2317\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\comfy\\\\model_patcher.py\", line 32, in <module>\\n import comfy.hooks\\n File \"C:\\\\workspaces\\\\Sharp-2317\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\comfy\\\\hooks.py\", line 14, in <module>\\n import comfy.lora\\n File \"C:\\\\workspaces\\\\Sharp-2317\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\comfy\\\\lora.py\", line 22, in <module>\\n import comfy.model_base\\n File \"C:\\\\workspaces\\\\Sharp-2317\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\comfy\\\\model_base.py\", line 41, in <module>\\n import comfy.ldm.cosmos.model\\n File \"C:\\\\workspaces\\\\Sharp-2317\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\comfy\\\\ldm\\\\cosmos\\\\model.py\", line 25, in <module>\\n from torchvision import transforms\\nModuleNotFoundError: No module named \\'torchvision\\'\\n\\n', 'exception_type': 'comfy_env.isolation.workers.base.WorkerError', 'traceback': [' File \"C:\\\\workspaces\\\\Sharp-2317\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\execution.py\", 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', ' File \"C:\\\\workspaces\\\\Sharp-2317\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\execution.py\", 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', ' File \"C:\\\\workspaces\\\\Sharp-2317\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\execution.py\", line 310, in _async_map_node_over_list\\n await process_inputs(input_dict, i)\\n', ' File \"C:\\\\workspaces\\\\Sharp-2317\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\execution.py\", line 298, in process_inputs\\n result = f(**inputs)\\n', ' File \"C:\\\\workspaces\\\\Sharp-2317\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\python_embeded\\\\Lib\\\\site-packages\\\\comfy_env\\\\isolation\\\\metadata.py\", line 556, in proxy\\n result = worker.call_method(\\n module_name=mod,\\n ...<4 lines>...\\n timeout=600.0,\\n )\\n', ' File \"C:\\\\workspaces\\\\Sharp-2317\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\python_embeded\\\\Lib\\\\site-packages\\\\comfy_env\\\\isolation\\\\workers\\\\subprocess.py\", line 674, in call_method\\n raise WorkerError(\\n ...<2 lines>...\\n )\\n'], 'current_inputs': {'focal_length_mm': [30], 'output_prefix': ['sharp'], 'model': [\"{'model_path': 'C:\\\\\\\\workspaces\\\\\\\\Sharp-2317\\\\\\\\portable-comfyui\\\\\\\\ComfyUI_windows_portable\\\\\\\\ComfyUI\\\\\\\\models\\\\\\\\sharp\\\\\\\\sharp_2572gikvuh.pt', 'precision': 'auto', 'dtype': 'bf16'}\"], 'image': ['tensor([[[[0.0039, 0.4824, 0.9569],\\n [0.0039, 0.4824, 0.9569],\\n [0.0039, 0.4824, 0.9569],\\n ...,\\n [0.0510, 0.0275, 0.0000],\\n [0.0510, 0.0275, 0.0000],\\n [0.0510, 0.0275, 0.0000]],\\n\\n [[0.0039, 0.4824, 0.9569],\\n [0.0039, 0.4824, 0.9569],\\n [0.0039, 0.4824, 0.9569],\\n ...,\\n [0.0510, 0.0275, 0.0000],\\n [0.0510, 0.0275, 0.0000],\\n [0.0510, 0.0275, 0.0000]],\\n\\n [[0.0039, 0.4824, 0.9569],\\n [0.0039, 0.4824, 0.9569],\\n [0.0039, 0.4824, 0.9569],\\n ...,\\n [0.0510, 0.0275, 0.0000],\\n [0.0510, 0.0275, 0.0000],\\n [0.0510, 0.0275, 0.0000]],\\n\\n ...,\\n\\n [[0.6824, 0.6118, 0.5333],\\n [0.6824, 0.6118, 0.5333],\\n [0.6824, 0.6118, 0.5333],\\n ...,\\n [0.5098, 0.4627, 0.4235],\\n [0.5098, 0.4627, 0.4235],\\n [0.5098, 0.4627, 0.4235]],\\n\\n [[0.6824, 0.6118, 0.5333],\\n [0.6824, 0.6118, 0.5333],\\n [0.6824, 0.6118, 0.5333],\\n ...,\\n [0.5059, 0.4588, 0.4392],\\n [0.5059, 0.4627, 0.4314],\\n [0.5059, 0.4627, 0.4314]],\\n\\n [[0.6824, 0.6118, 0.5333],\\n [0.6824, 0.6118, 0.5333],\\n [0.6824, 0.6118, 0.5333],\\n ...,\\n [0.5059, 0.4588, 0.4392],\\n [0.5059, 0.4627, 0.4314],\\n [0.5059, 0.4627, 0.4314]]]])'], 'prompt': [\"{'1': {'inputs': {'image': 'beach.jpg'}, 'class_type': 'LoadImage', '_meta': {'title': 'Load Image'}, 'is_changed': ['ee4f94632a5ec7038826e875829a62a81dc2a9b85ed59440f2eaa37b3704fa24']}, '2': {'inputs': {'precision': 'auto'}, 'class_type': 'LoadSharpModel', '_meta': {'title': '(Down)Load SHARP Model'}}, '5': {'inputs': {'focal_length_mm': 30.0, 'output_prefix': 'sharp', 'model': ['2', 0], 'image': ['1', 0]}, 'class_type': 'SharpPredict', '_meta': {'title': 'SHARP Predict (Image to PLY)'}}, '6': {'inputs': {'preview_gaussian': '', 'ply_path': ['5', 0], 'extrinsics': ['5', 1], 'intrinsics': ['5', 2]}, 'class_type': 'PreviewGaussianSharp', '_meta': {'title': 'Preview Gaussian Sharp'}}}\"], 'extra_pnginfo': [\"{'workflow': {'id': 'sharp-basic-workflow', 'revision': 0, 'last_node_id': 6, 'last_link_id': 13, 'nodes': [{'id': 2, 'type': 'LoadSharpModel', 'pos': [-150, -400], 'size': [270, 106.65625], 'flags': {}, 'order': 0, 'mode': 0, 'inputs': [], 'outputs': [{'name': 'model_config', 'type': 'SHARP_MODEL_CONFIG', 'links': [6]}], 'properties': {'Node name for S&R': 'LoadSharpModel', 'aux_id': 'PozzettiAndrea/ComfyUI-Sharp', 'ver': '9f1b9c726e2cfc0118866c3df783e7f6bc895226'}, 'widgets_values': ['auto']}, {'id': 1, 'type': 'LoadImage', 'pos': [-150, -100], 'size': [274, 340], 'flags': {}, 'order': 1, 'mode': 0, 'inputs': [], 'outputs': [{'name': 'IMAGE', 'type': 'IMAGE', 'links': [7]}, {'name': 'MASK', 'type': 'MASK', 'links': []}], 'properties': {'Node name for S&R': 'LoadImage', 'cnr_id': 'comfy-core', 'ver': '0.5.1'}, 'widgets_values': ['beach.jpg', 'image']}, {'id': 5, 'type': 'SharpPredict', 'pos': [181.546875, -251.55078125], 'size': [298.890625, 236], 'flags': {}, 'order': 2, 'mode': 0, 'inputs': [{'name': 'model', 'type': 'SHARP_MODEL_CONFIG', 'link': 6}, {'name': 'image', 'type': 'IMAGE', 'link': 7}, {'name': 'extrinsics', 'shape': 7, 'type': 'EXTRINSICS', 'link': None}, {'name': 'intrinsics', 'shape': 7, 'type': 'INTRINSICS', 'link': None}], 'outputs': [{'name': 'ply_path', 'type': 'STRING', 'links': [11]}, {'name': 'extrinsics', 'type': 'EXTRINSICS', 'links': [12]}, {'name': 'intrinsics', 'type': 'INTRINSICS', 'links': [13]}, {'name': 'layer_0_refined_depth', 'type': 'IMAGE', 'links': None}, {'name': 'layer_1_refined_depth', 'type': 'IMAGE', 'links': None}], 'properties': {'Node name for S&R': 'SharpPredict', 'aux_id': 'PozzettiAndrea/ComfyUI-Sharp', 'ver': 'aa98b213e3d0770477bbf46046094c5cb8ff6052'}, 'widgets_values': [30, 'sharp']}, {'id': 6, 'type': 'PreviewGaussianSharp', 'pos': [602.8876507147864, -341.49823240148737], 'size': [512, 658], 'flags': {}, 'order': 3, 'mode': 0, 'inputs': [{'name': 'ply_path', 'type': 'STRING', 'link': 11}, {'name': 'extrinsics', 'shape': 7, 'type': 'EXTRINSICS', 'link': 12}, {'name': 'intrinsics', 'shape': 7, 'type': 'INTRINSICS', 'link': 13}], 'outputs': [{'name': 'extrinsics', 'type': 'EXTRINSICS', 'links': None}, {'name': 'intrinsics', 'type': 'INTRINSICS', 'links': None}], 'properties': {'Node name for S&R': 'PreviewGaussianSharp', 'aux_id': 'PozzettiAndrea/ComfyUI-GaussianPack', 'ver': '059313a53ffa7ecc8697eddc02d2cee4727e5085'}, 'widgets_values': ['']}], 'links': [[6, 2, 0, 5, 0, 'SHARP_MODEL'], [7, 1, 0, 5, 1, 'IMAGE'], [11, 5, 0, 6, 0, 'STRING'], [12, 5, 1, 6, 1, 'EXTRINSICS'], [13, 5, 2, 6, 2, 'INTRINSICS']], 'groups': [], 'config': {}, 'extra': {'ds': {'scale': 0.9141766565277032, 'offset': [448.8550092661307, 570.6930795562042]}, 'workflowRendererVersion': 'LG', 'frontendVersion': '1.44.19'}, 'version': 0.4}}\"]}, 'current_outputs': ['1', '2', '5', '6'], 'timestamp': 1780868124401}\n Status: FAILED\n Error: Workflow execution failed: {'prompt_id': '45959b7b-b668-4555-a3e4-7de4dac31db3', 'node_id': '5', 'node_type': 'SharpPredict', 'executed': ['1', '2'], 'exception_message': 'No module named \\'torchvision\\'\\n\\nWorker traceback:\\nTraceback (most recent call last):\\n File \"C:\\\\Users\\\\ContainerUser\\\\AppData\\\\Local\\\\Temp\\\\comfyui_pvenv__j68vr6p\\\\persistent_worker.py\", line 1762, in main\\n result = method(**inputs)\\n File \"C:\\\\workspaces\\\\Sharp-2317\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\comfy_api\\\\latest\\\\_io.py\", line 1880, in EXECUTE_NORMALIZED\\n to_return = cls.execute(*args, **kwargs)\\n File \"C:\\\\Users\\\\ContainerUser\\\\AppData\\\\Local\\\\Programs\\\\comfy-env\\\\.pixi\\\\envs\\\\sharp-nodes\\\\Lib\\\\site-packages\\\\torch\\\\utils\\\\_contextlib.py\", line 124, in decorate_context\\n return func(*args, **kwargs)\\n File \"C:\\\\workspaces\\\\Sharp-2317\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-Sharp\\\\nodes\\\\predict.py\", line 127, in execute\\n patcher = _load_sharp_model(model)\\n File \"C:\\\\workspaces\\\\Sharp-2317\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-Sharp\\\\nodes\\\\load_model.py\", line 138, in _load_sharp_model\\n import comfy.model_patcher\\n File \"C:\\\\workspaces\\\\Sharp-2317\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\comfy\\\\model_patcher.py\", line 32, in <module>\\n import comfy.hooks\\n File \"C:\\\\workspaces\\\\Sharp-2317\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\comfy\\\\hooks.py\", line 14, in <module>\\n import comfy.lora\\n File \"C:\\\\workspaces\\\\Sharp-2317\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\comfy\\\\lora.py\", line 22, in <module>\\n import comfy.model_base\\n File \"C:\\\\workspaces\\\\Sharp-2317\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\comfy\\\\model_base.py\", line 41, in <module>\\n import comfy.ldm.cosmos.model\\n File \"C:\\\\workspaces\\\\Sharp-2317\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\comfy\\\\ldm\\\\cosmos\\\\model.py\", line 25, in <module>\\n from torchvision import transforms\\nModuleNotFoundError: No module named \\'torchvision\\'\\n\\n', 'exception_type': 'comfy_env.isolation.workers.base.WorkerError', 'traceback': [' File \"C:\\\\workspaces\\\\Sharp-2317\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\execution.py\", 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', ' File \"C:\\\\workspaces\\\\Sharp-2317\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\execution.py\", 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', ' File \"C:\\\\workspaces\\\\Sharp-2317\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\execution.py\", line 310, in _async_map_node_over_list\\n await process_inputs(input_dict, i)\\n', ' File \"C:\\\\workspaces\\\\Sharp-2317\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\execution.py\", line 298, in process_inputs\\n result = f(**inputs)\\n', ' File \"C:\\\\workspaces\\\\Sharp-2317\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\python_embeded\\\\Lib\\\\site-packages\\\\comfy_env\\\\isolation\\\\metadata.py\", line 556, in proxy\\n result = worker.call_method(\\n module_name=mod,\\n ...<4 lines>...\\n timeout=600.0,\\n )\\n', ' File \"C:\\\\workspaces\\\\Sharp-2317\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\python_embeded\\\\Lib\\\\site-packages\\\\comfy_env\\\\isolation\\\\workers\\\\subprocess.py\", line 674, in call_method\\n raise WorkerError(\\n ...<2 lines>...\\n )\\n'], 'current_inputs': {'focal_length_mm': [30], 'output_prefix': ['sharp'], 'model': [\"{'model_path': 'C:\\\\\\\\workspaces\\\\\\\\Sharp-2317\\\\\\\\portable-comfyui\\\\\\\\ComfyUI_windows_portable\\\\\\\\ComfyUI\\\\\\\\models\\\\\\\\sharp\\\\\\\\sharp_2572gikvuh.pt', 'precision': 'auto', 'dtype': 'bf16'}\"], 'image': ['tensor([[[[0.0039, 0.4824, 0.9569],\\n [0.0039, 0.4824, 0.9569],\\n [0.0039, 0.4824, 0.9569],\\n ...,\\n [0.0510, 0.0275, 0.0000],\\n [0.0510, 0.0275, 0.0000],\\n [0.0510, 0.0275, 0.0000]],\\n\\n [[0.0039, 0.4824, 0.9569],\\n [0.0039, 0.4824, 0.9569],\\n [0.0039, 0.4824, 0.9569],\\n ...,\\n [0.0510, 0.0275, 0.0000],\\n [0.0510, 0.0275, 0.0000],\\n [0.0510, 0.0275, 0.0000]],\\n\\n [[0.0039, 0.4824, 0.9569],\\n [0.0039, 0.4824, 0.9569],\\n [0.0039, 0.4824, 0.9569],\\n ...,\\n [0.0510, 0.0275, 0.0000],\\n [0.0510, 0.0275, 0.0000],\\n [0.0510, 0.0275, 0.0000]],\\n\\n ...,\\n\\n [[0.6824, 0.6118, 0.5333],\\n [0.6824, 0.6118, 0.5333],\\n [0.6824, 0.6118, 0.5333],\\n ...,\\n [0.5098, 0.4627, 0.4235],\\n [0.5098, 0.4627, 0.4235],\\n [0.5098, 0.4627, 0.4235]],\\n\\n [[0.6824, 0.6118, 0.5333],\\n [0.6824, 0.6118, 0.5333],\\n [0.6824, 0.6118, 0.5333],\\n ...,\\n [0.5059, 0.4588, 0.4392],\\n [0.5059, 0.4627, 0.4314],\\n [0.5059, 0.4627, 0.4314]],\\n\\n [[0.6824, 0.6118, 0.5333],\\n [0.6824, 0.6118, 0.5333],\\n [0.6824, 0.6118, 0.5333],\\n ...,\\n [0.5059, 0.4588, 0.4392],\\n [0.5059, 0.4627, 0.4314],\\n [0.5059, 0.4627, 0.4314]]]])'], 'prompt': [\"{'1': {'inputs': {'image': 'beach.jpg'}, 'class_type': 'LoadImage', '_meta': {'title': 'Load Image'}, 'is_changed': ['ee4f94632a5ec7038826e875829a62a81dc2a9b85ed59440f2eaa37b3704fa24']}, '2': {'inputs': {'precision': 'auto'}, 'class_type': 'LoadSharpModel', '_meta': {'title': '(Down)Load SHARP Model'}}, '5': {'inputs': {'focal_length_mm': 30.0, 'output_prefix': 'sharp', 'model': ['2', 0], 'image': ['1', 0]}, 'class_type': 'SharpPredict', '_meta': {'title': 'SHARP Predict (Image to PLY)'}}, '6': {'inputs': {'preview_gaussian': '', 'ply_path': ['5', 0], 'extrinsics': ['5', 1], 'intrinsics': ['5', 2]}, 'class_type': 'PreviewGaussianSharp', '_meta': {'title': 'Preview Gaussian Sharp'}}}\"], 'extra_pnginfo': [\"{'workflow': {'id': 'sharp-basic-workflow', 'revision': 0, 'last_node_id': 6, 'last_link_id': 13, 'nodes': [{'id': 2, 'type': 'LoadSharpModel', 'pos': [-150, -400], 'size': [270, 106.65625], 'flags': {}, 'order': 0, 'mode': 0, 'inputs': [], 'outputs': [{'name': 'model_config', 'type': 'SHARP_MODEL_CONFIG', 'links': [6]}], 'properties': {'Node name for S&R': 'LoadSharpModel', 'aux_id': 'PozzettiAndrea/ComfyUI-Sharp', 'ver': '9f1b9c726e2cfc0118866c3df783e7f6bc895226'}, 'widgets_values': ['auto']}, {'id': 1, 'type': 'LoadImage', 'pos': [-150, -100], 'size': [274, 340], 'flags': {}, 'order': 1, 'mode': 0, 'inputs': [], 'outputs': [{'name': 'IMAGE', 'type': 'IMAGE', 'links': [7]}, {'name': 'MASK', 'type': 'MASK', 'links': []}], 'properties': {'Node name for S&R': 'LoadImage', 'cnr_id': 'comfy-core', 'ver': '0.5.1'}, 'widgets_values': ['beach.jpg', 'image']}, {'id': 5, 'type': 'SharpPredict', 'pos': [181.546875, -251.55078125], 'size': [298.890625, 236], 'flags': {}, 'order': 2, 'mode': 0, 'inputs': [{'name': 'model', 'type': 'SHARP_MODEL_CONFIG', 'link': 6}, {'name': 'image', 'type': 'IMAGE', 'link': 7}, {'name': 'extrinsics', 'shape': 7, 'type': 'EXTRINSICS', 'link': None}, {'name': 'intrinsics', 'shape': 7, 'type': 'INTRINSICS', 'link': None}], 'outputs': [{'name': 'ply_path', 'type': 'STRING', 'links': [11]}, {'name': 'extrinsics', 'type': 'EXTRINSICS', 'links': [12]}, {'name': 'intrinsics', 'type': 'INTRINSICS', 'links': [13]}, {'name': 'layer_0_refined_depth', 'type': 'IMAGE', 'links': None}, {'name': 'layer_1_refined_depth', 'type': 'IMAGE', 'links': None}], 'properties': {'Node name for S&R': 'SharpPredict', 'aux_id': 'PozzettiAndrea/ComfyUI-Sharp', 'ver': 'aa98b213e3d0770477bbf46046094c5cb8ff6052'}, 'widgets_values': [30, 'sharp']}, {'id': 6, 'type': 'PreviewGaussianSharp', 'pos': [602.8876507147864, -341.49823240148737], 'size': [512, 658], 'flags': {}, 'order': 3, 'mode': 0, 'inputs': [{'name': 'ply_path', 'type': 'STRING', 'link': 11}, {'name': 'extrinsics', 'shape': 7, 'type': 'EXTRINSICS', 'link': 12}, {'name': 'intrinsics', 'shape': 7, 'type': 'INTRINSICS', 'link': 13}], 'outputs': [{'name': 'extrinsics', 'type': 'EXTRINSICS', 'links': None}, {'name': 'intrinsics', 'type': 'INTRINSICS', 'links': None}], 'properties': {'Node name for S&R': 'PreviewGaussianSharp', 'aux_id': 'PozzettiAndrea/ComfyUI-GaussianPack', 'ver': '059313a53ffa7ecc8697eddc02d2cee4727e5085'}, 'widgets_values': ['']}], 'links': [[6, 2, 0, 5, 0, 'SHARP_MODEL'], [7, 1, 0, 5, 1, 'IMAGE'], [11, 5, 0, 6, 0, 'STRING'], [12, 5, 1, 6, 1, 'EXTRINSICS'], [13, 5, 2, 6, 2, 'INTRINSICS']], 'groups': [], 'config': {}, 'extra': {'ds': {'scale': 0.9141766565277032, 'offset': [448.8550092661307, 570.6930795562042]}, 'workflowRendererVersion': 'LG', 'frontendVersion': '1.44.19'}, 'version': 0.4}}\"]}, 'current_outputs': ['1', '2', '5', '6'], 'timestamp': 1780868124401}\n Details: Workflow: C:\\ComfyUI-Sharp\\workflows\\sharp_basic.json\nNode error: SharpPredict", "hardware": {"os": "Windows-11-10.0.26100-SP0", "cpu": "Intel64 Family 6 Model 79 Stepping 1, GenuineIntel"}}, "sharp_exif": {"src": "", "title": "sharp_exif", "status": "fail", "duration": "6.26", "log": "Capturing execution frames: sharp_exif.json\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\n Frame 1 saved (frame_000.jpg, t=0.0s)\n Validating workflow...\n 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] \u001b[32m[INFO]\u001b[0m Node 7: SharpPredict\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"focal_length_mm\": [\"9\", 2], \"output_prefix\": \"sharp\", \"model\": [\"2\", 0], \"image\": [\"9\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 9: LoadImageWithExif\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"image\": \"eth3d.png\", \"default_focal_mm\": 30}\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: 168082e5-4662-404a-85d9-7a16545cff6c\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: 1271 / 24575 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: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=6 sending call_method\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] LoadImageWithExif done (0.10s): result: NodeOutput\n [ComfyUI] [VRAM] After LoadImageWithExif: 1271 / 24575 MB\n [ComfyUI] [comfy-env] Running LoadSharpModel: precision: 'auto'\n [ComfyUI] [VRAM] Before LoadSharpModel: 1271 / 24575 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): C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\models\\sharp\\sharp_2572gikvuh.pt (2679.6 MB)\n [ComfyUI] [worker:ComfyUI-Sharp] [LoadSharpModel] checkpoint ready: C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\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.03s): result: NodeOutput\n [ComfyUI] [VRAM] After LoadSharpModel: 1271 / 24575 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: 1271 / 24575 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 [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', 'manager_path', 'storage_key', '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 [ComfyUI] [SubprocessWorker] got response: error\n [ComfyUI] \u001b[1m\u001b[31m[ERROR]\u001b[0m !!! Exception during processing !!! No module named 'torchvision'\n [ComfyUI] \n [ComfyUI] Worker traceback:\n [ComfyUI] Traceback (most recent call last):\n [ComfyUI] File \"C:\\Users\\ContainerUser\\AppData\\Local\\Temp\\comfyui_pvenv__j68vr6p\\persistent_worker.py\", line 1762, in main\n [ComfyUI] result = method(**inputs)\n [ComfyUI] File \"C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy_api\\latest\\_io.py\", line 1880, in EXECUTE_NORMALIZED\n [ComfyUI] to_return = cls.execute(*args, **kwargs)\n [ComfyUI] File \"C:\\Users\\ContainerUser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\sharp-nodes\\Lib\\site-packages\\torch\\utils\\_contextlib.py\", line 124, in decorate_context\n [ComfyUI] return func(*args, **kwargs)\n [ComfyUI] File \"C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\custom_nodes\\ComfyUI-Sharp\\nodes\\predict.py\", line 127, in execute\n [ComfyUI] patcher = _load_sharp_model(model)\n [ComfyUI] File \"C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\custom_nodes\\ComfyUI-Sharp\\nodes\\load_model.py\", line 138, in _load_sharp_model\n [ComfyUI] import comfy.model_patcher\n [ComfyUI] File \"C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\model_patcher.py\", line 32, in <module>\n [ComfyUI] import comfy.hooks\n [ComfyUI] File \"C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\hooks.py\", line 14, in <module>\n [ComfyUI] import comfy.lora\n [ComfyUI] File \"C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\lora.py\", line 22, in <module>\n [ComfyUI] import comfy.model_base\n [ComfyUI] File \"C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\model_base.py\", line 41, in <module>\n [ComfyUI] import comfy.ldm.cosmos.model\n [ComfyUI] File \"C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\ldm\\cosmos\\model.py\", line 25, in <module>\n [ComfyUI] from torchvision import transforms\n [ComfyUI] ModuleNotFoundError: No module named 'torchvision'\n [ComfyUI] \n [ComfyUI] \u001b[1m\u001b[31m[ERROR]\u001b[0m Traceback (most recent call last):\n [ComfyUI] File \"C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py\", line 536, in execute\n Execution complete (t=0.5s)\n [ComfyUI] 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 Execution error: {'prompt_id': '3c8256ea-1718-4020-a394-5cedf399e8ad', 'node_id': '7', 'node_type': 'SharpPredict', 'executed': ['9', '2'], 'exception_message': 'No module named \\'torchvision\\'\\n\\nWorker traceback:\\nTraceback (most recent call last):\\n File \"C:\\\\Users\\\\ContainerUser\\\\AppData\\\\Local\\\\Temp\\\\comfyui_pvenv__j68vr6p\\\\persistent_worker.py\", line 1762, in main\\n result = method(**inputs)\\n File \"C:\\\\workspaces\\\\Sharp-2317\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\comfy_api\\\\latest\\\\_io.py\", line 1880, in EXECUTE_NORMALIZED\\n to_return = cls.execute(*args, **kwargs)\\n File \"C:\\\\Users\\\\ContainerUser\\\\AppData\\\\Local\\\\Programs\\\\comfy-env\\\\.pixi\\\\envs\\\\sharp-nodes\\\\Lib\\\\site-packages\\\\torch\\\\utils\\\\_contextlib.py\", line 124, in decorate_context\\n return func(*args, **kwargs)\\n File \"C:\\\\workspaces\\\\Sharp-2317\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-Sharp\\\\nodes\\\\predict.py\", line 127, in execute\\n patcher = _load_sharp_model(model)\\n File \"C:\\\\workspaces\\\\Sharp-2317\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-Sharp\\\\nodes\\\\load_model.py\", line 138, in _load_sharp_model\\n import comfy.model_patcher\\n File \"C:\\\\workspaces\\\\Sharp-2317\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\comfy\\\\model_patcher.py\", line 32, in <module>\\n import comfy.hooks\\n File \"C:\\\\workspaces\\\\Sharp-2317\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\comfy\\\\hooks.py\", line 14, in <module>\\n import comfy.lora\\n File \"C:\\\\workspaces\\\\Sharp-2317\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\comfy\\\\lora.py\", line 22, in <module>\\n import comfy.model_base\\n File \"C:\\\\workspaces\\\\Sharp-2317\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\comfy\\\\model_base.py\", line 41, in <module>\\n import comfy.ldm.cosmos.model\\n File \"C:\\\\workspaces\\\\Sharp-2317\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\comfy\\\\ldm\\\\cosmos\\\\model.py\", line 25, in <module>\\n from torchvision import transforms\\nModuleNotFoundError: No module named \\'torchvision\\'\\n\\n', 'exception_type': 'comfy_env.isolation.workers.base.WorkerError', 'traceback': [' File \"C:\\\\workspaces\\\\Sharp-2317\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\execution.py\", 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', ' File \"C:\\\\workspaces\\\\Sharp-2317\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\execution.py\", 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', ' File \"C:\\\\workspaces\\\\Sharp-2317\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\execution.py\", line 310, in _async_map_node_over_list\\n await process_inputs(input_dict, i)\\n', ' File \"C:\\\\workspaces\\\\Sharp-2317\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\execution.py\", line 298, in process_inputs\\n result = f(**inputs)\\n', ' File \"C:\\\\workspaces\\\\Sharp-2317\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\python_embeded\\\\Lib\\\\site-packages\\\\comfy_env\\\\isolation\\\\metadata.py\", line 556, in proxy\\n result = worker.call_method(\\n module_name=mod,\\n ...<4 lines>...\\n timeout=600.0,\\n )\\n', ' File \"C:\\\\workspaces\\\\Sharp-2317\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\python_embeded\\\\Lib\\\\site-packages\\\\comfy_env\\\\isolation\\\\workers\\\\subprocess.py\", line 674, in call_method\\n raise WorkerError(\\n ...<2 lines>...\\n )\\n'], 'current_inputs': {'focal_length_mm': [20], 'output_prefix': ['sharp'], 'model': [\"{'model_path': 'C:\\\\\\\\workspaces\\\\\\\\Sharp-2317\\\\\\\\portable-comfyui\\\\\\\\ComfyUI_windows_portable\\\\\\\\ComfyUI\\\\\\\\models\\\\\\\\sharp\\\\\\\\sharp_2572gikvuh.pt', 'precision': 'auto', 'dtype': 'bf16'}\"], 'image': ['tensor([[[[0.2235, 0.1647, 0.1569],\\n [0.2353, 0.1647, 0.1647],\\n [0.2471, 0.1725, 0.1529],\\n ...,\\n [0.4588, 0.4824, 0.4784],\\n [0.4510, 0.4784, 0.4745],\\n [0.4510, 0.4745, 0.4745]],\\n\\n [[0.2392, 0.1686, 0.1608],\\n [0.2431, 0.1686, 0.1608],\\n [0.2510, 0.1725, 0.1569],\\n ...,\\n [0.4549, 0.4784, 0.4706],\\n [0.4549, 0.4745, 0.4667],\\n [0.4510, 0.4706, 0.4627]],\\n\\n [[0.2275, 0.1686, 0.1608],\\n [0.2431, 0.1725, 0.1569],\\n [0.2549, 0.1686, 0.1569],\\n ...,\\n [0.4431, 0.4667, 0.4588],\\n [0.4392, 0.4627, 0.4549],\\n [0.4353, 0.4627, 0.4510]],\\n\\n ...,\\n\\n [[0.1490, 0.1647, 0.1922],\\n [0.1569, 0.1686, 0.1922],\\n [0.1569, 0.1686, 0.2000],\\n ...,\\n [0.1098, 0.1176, 0.1294],\\n [0.1137, 0.1176, 0.1333],\\n [0.1098, 0.1216, 0.1333]],\\n\\n [[0.1608, 0.1647, 0.1882],\\n [0.1490, 0.1686, 0.1922],\\n [0.1647, 0.1686, 0.2039],\\n ...,\\n [0.1176, 0.1176, 0.1333],\\n [0.1098, 0.1176, 0.1333],\\n [0.0980, 0.1216, 0.1373]],\\n\\n [[0.1608, 0.1686, 0.1882],\\n [0.1569, 0.1686, 0.1922],\\n [0.1569, 0.1765, 0.1961],\\n ...,\\n [0.1098, 0.1216, 0.1333],\\n [0.1098, 0.1176, 0.1373],\\n [0.1137, 0.1176, 0.1333]]]])'], 'prompt': [\"{'2': {'inputs': {'precision': 'auto'}, 'class_type': 'LoadSharpModel', '_meta': {'title': '(Down)Load SHARP Model'}}, '7': {'inputs': {'focal_length_mm': ['9', 2], 'output_prefix': 'sharp', 'model': ['2', 0], 'image': ['9', 0]}, 'class_type': 'SharpPredict', '_meta': {'title': 'SHARP Predict (Image to PLY)'}}, '9': {'inputs': {'image': 'eth3d.png', 'default_focal_mm': 30.0}, 'class_type': 'LoadImageWithExif', '_meta': {'title': 'Load Image with EXIF (Focal Length)'}}, '11': {'inputs': {'preview_gaussian': '', 'ply_path': ['7', 0], 'extrinsics': ['7', 1], 'intrinsics': ['7', 2]}, 'class_type': 'PreviewGaussianSharp', '_meta': {'title': 'Preview Gaussian Sharp'}}}\"], 'extra_pnginfo': [\"{'workflow': {'id': 'sharp-basic-workflow', 'revision': 0, 'last_node_id': 11, 'last_link_id': 24, 'nodes': [{'id': 2, 'type': 'LoadSharpModel', 'pos': [-150, -400], 'size': [270, 106.65625], 'flags': {}, 'order': 0, 'mode': 0, 'inputs': [], 'outputs': [{'name': 'model_config', 'type': 'SHARP_MODEL_CONFIG', 'links': [11]}], 'properties': {'Node name for S&R': 'LoadSharpModel', 'aux_id': 'PozzettiAndrea/ComfyUI-Sharp', 'ver': '9f1b9c726e2cfc0118866c3df783e7f6bc895226', 'cnr_id': 'comfyui-sharp'}, 'widgets_values': ['auto']}, {'id': 9, 'type': 'LoadImageWithExif', 'pos': [-208.74978010739324, -99.02778023242435], 'size': [342.28125, 420], 'flags': {}, 'order': 1, 'mode': 0, 'inputs': [], 'outputs': [{'name': 'image', 'type': 'IMAGE', 'links': [19]}, {'name': 'mask', 'type': 'MASK', 'links': None}, {'name': 'focal_length_mm', 'type': 'FLOAT', 'links': [20]}], 'properties': {'Node name for S&R': 'LoadImageWithExif', 'aux_id': 'PozzettiAndrea/ComfyUI-Sharp', 'ver': 'c69751a59b587c3b83d0e37cfe2bab3bc838574a', 'cnr_id': 'comfyui-sharp'}, 'widgets_values': ['eth3d.png', 30, 'image']}, {'id': 7, 'type': 'SharpPredict', 'pos': [226.15696022727278, -245.70490056818184], 'size': [298.890625, 236], 'flags': {}, 'order': 2, 'mode': 0, 'inputs': [{'name': 'model', 'type': 'SHARP_MODEL_CONFIG', 'link': 11}, {'name': 'image', 'type': 'IMAGE', 'link': 19}, {'name': 'extrinsics', 'shape': 7, 'type': 'EXTRINSICS', 'link': None}, {'name': 'intrinsics', 'shape': 7, 'type': 'INTRINSICS', 'link': None}, {'name': 'focal_length_mm', 'shape': 7, 'type': 'FLOAT', 'widget': {'name': 'focal_length_mm'}, 'link': 20}], 'outputs': [{'name': 'ply_path', 'type': 'STRING', 'links': [22]}, {'name': 'extrinsics', 'type': 'EXTRINSICS', 'links': [23]}, {'name': 'intrinsics', 'type': 'INTRINSICS', 'links': [24]}, {'name': 'layer_0_refined_depth', 'type': 'IMAGE', 'links': None}, {'name': 'layer_1_refined_depth', 'type': 'IMAGE', 'links': None}], 'properties': {'Node name for S&R': 'SharpPredict', 'aux_id': 'PozzettiAndrea/ComfyUI-Sharp', 'ver': 'c69751a59b587c3b83d0e37cfe2bab3bc838574a', 'cnr_id': 'comfyui-sharp'}, 'widgets_values': [30, 'sharp']}, {'id': 11, 'type': 'PreviewGaussianSharp', 'pos': [600.5860117362482, -287.72961200652577], 'size': [512, 658], 'flags': {}, 'order': 3, 'mode': 0, 'inputs': [{'name': 'ply_path', 'type': 'STRING', 'link': 22}, {'name': 'extrinsics', 'shape': 7, 'type': 'EXTRINSICS', 'link': 23}, {'name': 'intrinsics', 'shape': 7, 'type': 'INTRINSICS', 'link': 24}], 'outputs': [{'name': 'extrinsics', 'type': 'EXTRINSICS', 'links': None}, {'name': 'intrinsics', 'type': 'INTRINSICS', 'links': None}], 'properties': {'Node name for S&R': 'PreviewGaussianSharp', 'aux_id': 'PozzettiAndrea/ComfyUI-GaussianPack', 'ver': '059313a53ffa7ecc8697eddc02d2cee4727e5085'}, 'widgets_values': ['']}], 'links': [[11, 2, 0, 7, 0, 'SHARP_MODEL'], [19, 9, 0, 7, 1, 'IMAGE'], [20, 9, 2, 7, 4, 'FLOAT'], [22, 7, 0, 11, 0, 'STRING'], [23, 7, 1, 11, 1, 'EXTRINSICS'], [24, 7, 2, 11, 2, 'INTRINSICS']], 'groups': [], 'config': {}, 'extra': {'ds': {'scale': 0.9373016969629105, 'offset': [449.06099628194596, 596.4219590460706]}, 'workflowRendererVersion': 'LG', 'frontendVersion': '1.44.19'}, 'version': 0.4}}\"]}, 'current_outputs': ['9', '2', '7', '11'], 'timestamp': 1780868131072}\n [ComfyUI] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n Status: FAILED\n Error: Workflow execution failed: {'prompt_id': '3c8256ea-1718-4020-a394-5cedf399e8ad', 'node_id': '7', 'node_type': 'SharpPredict', 'executed': ['9', '2'], 'exception_message': 'No module named \\'torchvision\\'\\n\\nWorker traceback:\\nTraceback (most recent call last):\\n File \"C:\\\\Users\\\\ContainerUser\\\\AppData\\\\Local\\\\Temp\\\\comfyui_pvenv__j68vr6p\\\\persistent_worker.py\", line 1762, in main\\n result = method(**inputs)\\n File \"C:\\\\workspaces\\\\Sharp-2317\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\comfy_api\\\\latest\\\\_io.py\", line 1880, in EXECUTE_NORMALIZED\\n to_return = cls.execute(*args, **kwargs)\\n File \"C:\\\\Users\\\\ContainerUser\\\\AppData\\\\Local\\\\Programs\\\\comfy-env\\\\.pixi\\\\envs\\\\sharp-nodes\\\\Lib\\\\site-packages\\\\torch\\\\utils\\\\_contextlib.py\", line 124, in decorate_context\\n return func(*args, **kwargs)\\n File \"C:\\\\workspaces\\\\Sharp-2317\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-Sharp\\\\nodes\\\\predict.py\", line 127, in execute\\n patcher = _load_sharp_model(model)\\n File \"C:\\\\workspaces\\\\Sharp-2317\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-Sharp\\\\nodes\\\\load_model.py\", line 138, in _load_sharp_model\\n import comfy.model_patcher\\n File \"C:\\\\workspaces\\\\Sharp-2317\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\comfy\\\\model_patcher.py\", line 32, in <module>\\n import comfy.hooks\\n File \"C:\\\\workspaces\\\\Sharp-2317\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\comfy\\\\hooks.py\", line 14, in <module>\\n import comfy.lora\\n File \"C:\\\\workspaces\\\\Sharp-2317\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\comfy\\\\lora.py\", line 22, in <module>\\n import comfy.model_base\\n File \"C:\\\\workspaces\\\\Sharp-2317\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\comfy\\\\model_base.py\", line 41, in <module>\\n import comfy.ldm.cosmos.model\\n File \"C:\\\\workspaces\\\\Sharp-2317\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\comfy\\\\ldm\\\\cosmos\\\\model.py\", line 25, in <module>\\n from torchvision import transforms\\nModuleNotFoundError: No module named \\'torchvision\\'\\n\\n', 'exception_type': 'comfy_env.isolation.workers.base.WorkerError', 'traceback': [' File \"C:\\\\workspaces\\\\Sharp-2317\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\execution.py\", 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', ' File \"C:\\\\workspaces\\\\Sharp-2317\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\execution.py\", 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', ' File \"C:\\\\workspaces\\\\Sharp-2317\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\execution.py\", line 310, in _async_map_node_over_list\\n await process_inputs(input_dict, i)\\n', ' File \"C:\\\\workspaces\\\\Sharp-2317\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\execution.py\", line 298, in process_inputs\\n result = f(**inputs)\\n', ' File \"C:\\\\workspaces\\\\Sharp-2317\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\python_embeded\\\\Lib\\\\site-packages\\\\comfy_env\\\\isolation\\\\metadata.py\", line 556, in proxy\\n result = worker.call_method(\\n module_name=mod,\\n ...<4 lines>...\\n timeout=600.0,\\n )\\n', ' File \"C:\\\\workspaces\\\\Sharp-2317\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\python_embeded\\\\Lib\\\\site-packages\\\\comfy_env\\\\isolation\\\\workers\\\\subprocess.py\", line 674, in call_method\\n raise WorkerError(\\n ...<2 lines>...\\n )\\n'], 'current_inputs': {'focal_length_mm': [20], 'output_prefix': ['sharp'], 'model': [\"{'model_path': 'C:\\\\\\\\workspaces\\\\\\\\Sharp-2317\\\\\\\\portable-comfyui\\\\\\\\ComfyUI_windows_portable\\\\\\\\ComfyUI\\\\\\\\models\\\\\\\\sharp\\\\\\\\sharp_2572gikvuh.pt', 'precision': 'auto', 'dtype': 'bf16'}\"], 'image': ['tensor([[[[0.2235, 0.1647, 0.1569],\\n [0.2353, 0.1647, 0.1647],\\n [0.2471, 0.1725, 0.1529],\\n ...,\\n [0.4588, 0.4824, 0.4784],\\n [0.4510, 0.4784, 0.4745],\\n [0.4510, 0.4745, 0.4745]],\\n\\n [[0.2392, 0.1686, 0.1608],\\n [0.2431, 0.1686, 0.1608],\\n [0.2510, 0.1725, 0.1569],\\n ...,\\n [0.4549, 0.4784, 0.4706],\\n [0.4549, 0.4745, 0.4667],\\n [0.4510, 0.4706, 0.4627]],\\n\\n [[0.2275, 0.1686, 0.1608],\\n [0.2431, 0.1725, 0.1569],\\n [0.2549, 0.1686, 0.1569],\\n ...,\\n [0.4431, 0.4667, 0.4588],\\n [0.4392, 0.4627, 0.4549],\\n [0.4353, 0.4627, 0.4510]],\\n\\n ...,\\n\\n [[0.1490, 0.1647, 0.1922],\\n [0.1569, 0.1686, 0.1922],\\n [0.1569, 0.1686, 0.2000],\\n ...,\\n [0.1098, 0.1176, 0.1294],\\n [0.1137, 0.1176, 0.1333],\\n [0.1098, 0.1216, 0.1333]],\\n\\n [[0.1608, 0.1647, 0.1882],\\n [0.1490, 0.1686, 0.1922],\\n [0.1647, 0.1686, 0.2039],\\n ...,\\n [0.1176, 0.1176, 0.1333],\\n [0.1098, 0.1176, 0.1333],\\n [0.0980, 0.1216, 0.1373]],\\n\\n [[0.1608, 0.1686, 0.1882],\\n [0.1569, 0.1686, 0.1922],\\n [0.1569, 0.1765, 0.1961],\\n ...,\\n [0.1098, 0.1216, 0.1333],\\n [0.1098, 0.1176, 0.1373],\\n [0.1137, 0.1176, 0.1333]]]])'], 'prompt': [\"{'2': {'inputs': {'precision': 'auto'}, 'class_type': 'LoadSharpModel', '_meta': {'title': '(Down)Load SHARP Model'}}, '7': {'inputs': {'focal_length_mm': ['9', 2], 'output_prefix': 'sharp', 'model': ['2', 0], 'image': ['9', 0]}, 'class_type': 'SharpPredict', '_meta': {'title': 'SHARP Predict (Image to PLY)'}}, '9': {'inputs': {'image': 'eth3d.png', 'default_focal_mm': 30.0}, 'class_type': 'LoadImageWithExif', '_meta': {'title': 'Load Image with EXIF (Focal Length)'}}, '11': {'inputs': {'preview_gaussian': '', 'ply_path': ['7', 0], 'extrinsics': ['7', 1], 'intrinsics': ['7', 2]}, 'class_type': 'PreviewGaussianSharp', '_meta': {'title': 'Preview Gaussian Sharp'}}}\"], 'extra_pnginfo': [\"{'workflow': {'id': 'sharp-basic-workflow', 'revision': 0, 'last_node_id': 11, 'last_link_id': 24, 'nodes': [{'id': 2, 'type': 'LoadSharpModel', 'pos': [-150, -400], 'size': [270, 106.65625], 'flags': {}, 'order': 0, 'mode': 0, 'inputs': [], 'outputs': [{'name': 'model_config', 'type': 'SHARP_MODEL_CONFIG', 'links': [11]}], 'properties': {'Node name for S&R': 'LoadSharpModel', 'aux_id': 'PozzettiAndrea/ComfyUI-Sharp', 'ver': '9f1b9c726e2cfc0118866c3df783e7f6bc895226', 'cnr_id': 'comfyui-sharp'}, 'widgets_values': ['auto']}, {'id': 9, 'type': 'LoadImageWithExif', 'pos': [-208.74978010739324, -99.02778023242435], 'size': [342.28125, 420], 'flags': {}, 'order': 1, 'mode': 0, 'inputs': [], 'outputs': [{'name': 'image', 'type': 'IMAGE', 'links': [19]}, {'name': 'mask', 'type': 'MASK', 'links': None}, {'name': 'focal_length_mm', 'type': 'FLOAT', 'links': [20]}], 'properties': {'Node name for S&R': 'LoadImageWithExif', 'aux_id': 'PozzettiAndrea/ComfyUI-Sharp', 'ver': 'c69751a59b587c3b83d0e37cfe2bab3bc838574a', 'cnr_id': 'comfyui-sharp'}, 'widgets_values': ['eth3d.png', 30, 'image']}, {'id': 7, 'type': 'SharpPredict', 'pos': [226.15696022727278, -245.70490056818184], 'size': [298.890625, 236], 'flags': {}, 'order': 2, 'mode': 0, 'inputs': [{'name': 'model', 'type': 'SHARP_MODEL_CONFIG', 'link': 11}, {'name': 'image', 'type': 'IMAGE', 'link': 19}, {'name': 'extrinsics', 'shape': 7, 'type': 'EXTRINSICS', 'link': None}, {'name': 'intrinsics', 'shape': 7, 'type': 'INTRINSICS', 'link': None}, {'name': 'focal_length_mm', 'shape': 7, 'type': 'FLOAT', 'widget': {'name': 'focal_length_mm'}, 'link': 20}], 'outputs': [{'name': 'ply_path', 'type': 'STRING', 'links': [22]}, {'name': 'extrinsics', 'type': 'EXTRINSICS', 'links': [23]}, {'name': 'intrinsics', 'type': 'INTRINSICS', 'links': [24]}, {'name': 'layer_0_refined_depth', 'type': 'IMAGE', 'links': None}, {'name': 'layer_1_refined_depth', 'type': 'IMAGE', 'links': None}], 'properties': {'Node name for S&R': 'SharpPredict', 'aux_id': 'PozzettiAndrea/ComfyUI-Sharp', 'ver': 'c69751a59b587c3b83d0e37cfe2bab3bc838574a', 'cnr_id': 'comfyui-sharp'}, 'widgets_values': [30, 'sharp']}, {'id': 11, 'type': 'PreviewGaussianSharp', 'pos': [600.5860117362482, -287.72961200652577], 'size': [512, 658], 'flags': {}, 'order': 3, 'mode': 0, 'inputs': [{'name': 'ply_path', 'type': 'STRING', 'link': 22}, {'name': 'extrinsics', 'shape': 7, 'type': 'EXTRINSICS', 'link': 23}, {'name': 'intrinsics', 'shape': 7, 'type': 'INTRINSICS', 'link': 24}], 'outputs': [{'name': 'extrinsics', 'type': 'EXTRINSICS', 'links': None}, {'name': 'intrinsics', 'type': 'INTRINSICS', 'links': None}], 'properties': {'Node name for S&R': 'PreviewGaussianSharp', 'aux_id': 'PozzettiAndrea/ComfyUI-GaussianPack', 'ver': '059313a53ffa7ecc8697eddc02d2cee4727e5085'}, 'widgets_values': ['']}], 'links': [[11, 2, 0, 7, 0, 'SHARP_MODEL'], [19, 9, 0, 7, 1, 'IMAGE'], [20, 9, 2, 7, 4, 'FLOAT'], [22, 7, 0, 11, 0, 'STRING'], [23, 7, 1, 11, 1, 'EXTRINSICS'], [24, 7, 2, 11, 2, 'INTRINSICS']], 'groups': [], 'config': {}, 'extra': {'ds': {'scale': 0.9373016969629105, 'offset': [449.06099628194596, 596.4219590460706]}, 'workflowRendererVersion': 'LG', 'frontendVersion': '1.44.19'}, 'version': 0.4}}\"]}, 'current_outputs': ['9', '2', '7', '11'], 'timestamp': 1780868131072}\n Details: Workflow: C:\\ComfyUI-Sharp\\workflows\\sharp_exif.json\nNode error: SharpPredict\n [ComfyUI] File \"C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py\", line 336, in get_output_data\n [ComfyUI] 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 [ComfyUI] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n [ComfyUI] File \"C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py\", line 310, in _async_map_node_over_list\n [ComfyUI] await process_inputs(input_dict, i)\n [ComfyUI] File \"C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py\", line 298, in process_inputs\n [ComfyUI] result = f(**inputs)\n [ComfyUI] File \"C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\python_embeded\\Lib\\site-packages\\comfy_env\\isolation\\metadata.py\", line 556, in proxy\n [ComfyUI] result = worker.call_method(\n [ComfyUI] module_name=mod,\n [ComfyUI] ...<4 lines>...\n [ComfyUI] timeout=600.0,\n [ComfyUI] )\n [ComfyUI] File \"C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\python_embeded\\Lib\\site-packages\\comfy_env\\isolation\\workers\\subprocess.py\", line 674, in call_method\n [ComfyUI] raise WorkerError(\n [ComfyUI] ...<2 lines>...\n [ComfyUI] )\n [ComfyUI] comfy_env.isolation.workers.base.WorkerError: No module named 'torchvision'\n [ComfyUI] \n [ComfyUI] Worker traceback:\n [ComfyUI] Traceback (most recent call last):\n [ComfyUI] File \"C:\\Users\\ContainerUser\\AppData\\Local\\Temp\\comfyui_pvenv__j68vr6p\\persistent_worker.py\", line 1762, in main\n [ComfyUI] result = method(**inputs)\n [ComfyUI] File \"C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy_api\\latest\\_io.py\", line 1880, in EXECUTE_NORMALIZED\n [ComfyUI] to_return = cls.execute(*args, **kwargs)\n [ComfyUI] File \"C:\\Users\\ContainerUser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\sharp-nodes\\Lib\\site-packages\\torch\\utils\\_contextlib.py\", line 124, in decorate_context\n [ComfyUI] return func(*args, **kwargs)\n [ComfyUI] File \"C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\custom_nodes\\ComfyUI-Sharp\\nodes\\predict.py\", line 127, in execute\n [ComfyUI] patcher = _load_sharp_model(model)\n [ComfyUI] File \"C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\custom_nodes\\ComfyUI-Sharp\\nodes\\load_model.py\", line 138, in _load_sharp_model\n [ComfyUI] import comfy.model_patcher\n [ComfyUI] File \"C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\model_patcher.py\", line 32, in <module>\n [ComfyUI] import comfy.hooks\n [ComfyUI] File \"C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\hooks.py\", line 14, in <module>\n [ComfyUI] import comfy.lora\n [ComfyUI] File \"C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\lora.py\", line 22, in <module>\n [ComfyUI] import comfy.model_base\n [ComfyUI] File \"C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\model_base.py\", line 41, in <module>\n [ComfyUI] import comfy.ldm.cosmos.model\n [ComfyUI] File \"C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\ldm\\cosmos\\model.py\", line 25, in <module>\n [ComfyUI] from torchvision import transforms\n [ComfyUI] ModuleNotFoundError: No module named 'torchvision'\n [ComfyUI] ", "hardware": {"os": "Windows-11-10.0.26100-SP0", "cpu": "Intel64 Family 6 Model 79 Stepping 1, GenuineIntel"}}, "vanilla_vs_image_depth_gaussians": {"src": "", "title": "vanilla_vs_image_depth_gaussians", "status": "fail", "duration": "6.37", "log": "Capturing execution frames: vanilla_vs_image_depth_gaussians.json\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Using RAM pressure cache.\n Frame 1 saved (frame_000.jpg, t=0.0s)\n Validating workflow...\n 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] \u001b[32m[INFO]\u001b[0m Node 58: ImageFromBatch\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Inputs: {\"batch_index\": 0, \"length\": 1, \"image\": [\"7\", 0]}\n [ComfyUI] \u001b[32m[INFO]\u001b[0m Node 83: 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 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: a12158e7-7852-4cb4-9c82-95858e374168\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: 1271 / 24575 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=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): C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\models\\sharp\\sharp_2572gikvuh.pt (2679.6 MB)\n [ComfyUI] [worker:ComfyUI-Sharp] [LoadSharpModel] checkpoint ready: C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\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.03s): result: NodeOutput\n [ComfyUI] [VRAM] After LoadSharpModel: 1271 / 24575 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: 1271 / 24575 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', 'manager_path', 'storage_key', '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] [SubprocessWorker] got response: error\n [ComfyUI] \u001b[1m\u001b[31m[ERROR]\u001b[0m !!! Exception during processing !!! No module named 'torchvision'\n [ComfyUI] \n [ComfyUI] Worker traceback:\n [ComfyUI] Traceback (most recent call last):\n [ComfyUI] File \"C:\\Users\\ContainerUser\\AppData\\Local\\Temp\\comfyui_pvenv__j68vr6p\\persistent_worker.py\", line 1762, in main\n [ComfyUI] result = method(**inputs)\n [ComfyUI] File \"C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy_api\\latest\\_io.py\", line 1880, in EXECUTE_NORMALIZED\n [ComfyUI] to_return = cls.execute(*args, **kwargs)\n [ComfyUI] File \"C:\\Users\\ContainerUser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\sharp-nodes\\Lib\\site-packages\\torch\\utils\\_contextlib.py\", line 124, in decorate_context\n [ComfyUI] return func(*args, **kwargs)\n [ComfyUI] File \"C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\custom_nodes\\ComfyUI-Sharp\\nodes\\predict.py\", line 127, in execute\n [ComfyUI] patcher = _load_sharp_model(model)\n [ComfyUI] File \"C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\custom_nodes\\ComfyUI-Sharp\\nodes\\load_model.py\", line 138, in _load_sharp_model\n [ComfyUI] import comfy.model_patcher\n [ComfyUI] File \"C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\model_patcher.py\", line 32, in <module>\n [ComfyUI] import comfy.hooks\n [ComfyUI] File \"C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\hooks.py\", line 14, in <module>\n [ComfyUI] import comfy.lora\n [ComfyUI] File \"C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\lora.py\", line 22, in <module>\n [ComfyUI] import comfy.model_base\n [ComfyUI] File \"C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\model_base.py\", line 41, in <module>\n [ComfyUI] import comfy.ldm.cosmos.model\n [ComfyUI] File \"C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\ldm\\cosmos\\model.py\", line 25, in <module>\n [ComfyUI] from torchvision import transforms\n [ComfyUI] ModuleNotFoundError: No module named 'torchvision'\n [ComfyUI] \n [ComfyUI] \u001b[1m\u001b[31m[ERROR]\u001b[0m Traceback (most recent call last):\n [ComfyUI] File \"C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py\", line 536, in execute\n [ComfyUI] 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 [ComfyUI] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n [ComfyUI] File \"C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py\", line 336, in get_output_data\n [ComfyUI] 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 [ComfyUI] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n [ComfyUI] File \"C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py\", line 310, in _async_map_node_over_list\n [ComfyUI] await process_inputs(input_dict, i)\n [ComfyUI] File \"C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py\", line 298, in process_inputs\n [ComfyUI] result = f(**inputs)\n [ComfyUI] File \"C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\python_embeded\\Lib\\site-packages\\comfy_env\\isolation\\metadata.py\", line 556, in proxy\n [ComfyUI] result = worker.call_method(\n [ComfyUI] module_name=mod,\n [ComfyUI] ...<4 lines>...\n [ComfyUI] timeout=600.0,\n [ComfyUI] )\n [ComfyUI] File \"C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\python_embeded\\Lib\\site-packages\\comfy_env\\isolation\\workers\\subprocess.py\", line 674, in call_method\n [ComfyUI] raise WorkerError(\n [ComfyUI] ...<2 lines>...\n [ComfyUI] )\n [ComfyUI] comfy_env.isolation.workers.base.WorkerError: No module named 'torchvision'\n [ComfyUI] \n [ComfyUI] Worker traceback:\n [ComfyUI] Traceback (most recent call last):\n [ComfyUI] File \"C:\\Users\\ContainerUser\\AppData\\Local\\Temp\\comfyui_pvenv__j68vr6p\\persistent_worker.py\", line 1762, in main\n [ComfyUI] result = method(**inputs)\n Execution complete (t=0.5s)\n [ComfyUI] File \"C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy_api\\latest\\_io.py\", line 1880, in EXECUTE_NORMALIZED\n Execution error: {'prompt_id': '3cdd2fb9-a0a7-4777-92c4-f78c53953311', 'node_id': '57', 'node_type': 'SharpPredict', 'executed': ['58', '7', '9'], 'exception_message': 'No module named \\'torchvision\\'\\n\\nWorker traceback:\\nTraceback (most recent call last):\\n File \"C:\\\\Users\\\\ContainerUser\\\\AppData\\\\Local\\\\Temp\\\\comfyui_pvenv__j68vr6p\\\\persistent_worker.py\", line 1762, in main\\n result = method(**inputs)\\n File \"C:\\\\workspaces\\\\Sharp-2317\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\comfy_api\\\\latest\\\\_io.py\", line 1880, in EXECUTE_NORMALIZED\\n to_return = cls.execute(*args, **kwargs)\\n File \"C:\\\\Users\\\\ContainerUser\\\\AppData\\\\Local\\\\Programs\\\\comfy-env\\\\.pixi\\\\envs\\\\sharp-nodes\\\\Lib\\\\site-packages\\\\torch\\\\utils\\\\_contextlib.py\", line 124, in decorate_context\\n return func(*args, **kwargs)\\n File \"C:\\\\workspaces\\\\Sharp-2317\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-Sharp\\\\nodes\\\\predict.py\", line 127, in execute\\n patcher = _load_sharp_model(model)\\n File \"C:\\\\workspaces\\\\Sharp-2317\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-Sharp\\\\nodes\\\\load_model.py\", line 138, in _load_sharp_model\\n import comfy.model_patcher\\n File \"C:\\\\workspaces\\\\Sharp-2317\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\comfy\\\\model_patcher.py\", line 32, in <module>\\n import comfy.hooks\\n File \"C:\\\\workspaces\\\\Sharp-2317\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\comfy\\\\hooks.py\", line 14, in <module>\\n import comfy.lora\\n File \"C:\\\\workspaces\\\\Sharp-2317\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\comfy\\\\lora.py\", line 22, in <module>\\n import comfy.model_base\\n File \"C:\\\\workspaces\\\\Sharp-2317\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\comfy\\\\model_base.py\", line 41, in <module>\\n import comfy.ldm.cosmos.model\\n File \"C:\\\\workspaces\\\\Sharp-2317\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\comfy\\\\ldm\\\\cosmos\\\\model.py\", line 25, in <module>\\n from torchvision import transforms\\nModuleNotFoundError: No module named \\'torchvision\\'\\n\\n', 'exception_type': 'comfy_env.isolation.workers.base.WorkerError', 'traceback': [' File \"C:\\\\workspaces\\\\Sharp-2317\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\execution.py\", 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', ' File \"C:\\\\workspaces\\\\Sharp-2317\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\execution.py\", 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', ' File \"C:\\\\workspaces\\\\Sharp-2317\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\execution.py\", line 310, in _async_map_node_over_list\\n await process_inputs(input_dict, i)\\n', ' File \"C:\\\\workspaces\\\\Sharp-2317\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\execution.py\", line 298, in process_inputs\\n result = f(**inputs)\\n', ' File \"C:\\\\workspaces\\\\Sharp-2317\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\python_embeded\\\\Lib\\\\site-packages\\\\comfy_env\\\\isolation\\\\metadata.py\", line 556, in proxy\\n result = worker.call_method(\\n module_name=mod,\\n ...<4 lines>...\\n timeout=600.0,\\n )\\n', ' File \"C:\\\\workspaces\\\\Sharp-2317\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\python_embeded\\\\Lib\\\\site-packages\\\\comfy_env\\\\isolation\\\\workers\\\\subprocess.py\", line 674, in call_method\\n raise WorkerError(\\n ...<2 lines>...\\n )\\n'], 'current_inputs': {'focal_length_mm': [30], 'output_prefix': ['sharp'], 'model': [\"{'model_path': 'C:\\\\\\\\workspaces\\\\\\\\Sharp-2317\\\\\\\\portable-comfyui\\\\\\\\ComfyUI_windows_portable\\\\\\\\ComfyUI\\\\\\\\models\\\\\\\\sharp\\\\\\\\sharp_2572gikvuh.pt', 'precision': 'auto', 'dtype': 'bf16'}\"], 'image': ['tensor([[[[0.4314, 0.3373, 0.2667],\\n [0.4314, 0.3373, 0.2667],\\n [0.4275, 0.3333, 0.2627],\\n ...,\\n [0.9961, 0.9961, 0.9961],\\n [0.9961, 0.9961, 0.9961],\\n [0.9961, 0.9961, 0.9961]],\\n\\n [[0.4314, 0.3373, 0.2667],\\n [0.4275, 0.3333, 0.2627],\\n [0.4275, 0.3333, 0.2627],\\n ...,\\n [0.9961, 0.9961, 0.9961],\\n [0.9961, 0.9961, 0.9961],\\n [0.9961, 0.9961, 0.9961]],\\n\\n [[0.4275, 0.3333, 0.2627],\\n [0.4275, 0.3333, 0.2627],\\n [0.4275, 0.3333, 0.2627],\\n ...,\\n [0.9961, 0.9961, 0.9961],\\n [0.9961, 0.9961, 0.9961],\\n [0.9961, 0.9961, 0.9961]],\\n\\n ...,\\n\\n [[0.2902, 0.1961, 0.1020],\\n [0.3137, 0.2196, 0.1255],\\n [0.3333, 0.2392, 0.1529],\\n ...,\\n [0.3412, 0.1725, 0.0902],\\n [0.3333, 0.1765, 0.0902],\\n [0.3333, 0.1765, 0.0902]],\\n\\n [[0.3137, 0.2196, 0.1255],\\n [0.3294, 0.2353, 0.1412],\\n [0.3412, 0.2471, 0.1608],\\n ...,\\n [0.3412, 0.1647, 0.0863],\\n [0.3373, 0.1686, 0.0863],\\n [0.3373, 0.1686, 0.0863]],\\n\\n [[0.3490, 0.2549, 0.1608],\\n [0.3569, 0.2627, 0.1686],\\n [0.3569, 0.2627, 0.1765],\\n ...,\\n [0.3412, 0.1647, 0.0863],\\n [0.3373, 0.1686, 0.0863],\\n [0.3373, 0.1686, 0.0863]]]])'], 'prompt': [\"{'7': {'inputs': {'image': 'middlebury.jpg'}, 'class_type': 'LoadImage', '_meta': {'title': 'Load Image'}, 'is_changed': ['3e55f15dfe3cedd72a467c111c7014ef03206ce1baace29cfd5dff1f72684fcc']}, '9': {'inputs': {'precision': 'auto'}, 'class_type': 'LoadSharpModel', '_meta': {'title': '(Down)Load SHARP Model'}}, '47': {'inputs': {'focal_length_mm': 30.0, 'model': ['9', 0], 'image': ['7', 0]}, 'class_type': 'SharpPredictMetricDepth', '_meta': {'title': 'SHARP Predict Metric Depth'}}, '57': {'inputs': {'focal_length_mm': 30.0, 'output_prefix': 'sharp', 'model': ['9', 0], 'image': ['58', 0]}, 'class_type': 'SharpPredict', '_meta': {'title': 'SHARP Predict (Image to PLY)'}}, '58': {'inputs': {'batch_index': 0, 'length': 1, 'image': ['7', 0]}, 'class_type': 'ImageFromBatch', '_meta': {'title': 'Get Image from Batch'}}, '83': {'inputs': {'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': ['9', 0], 'image': ['7', 0], 'metric_depth_layer0': ['47', 0]}, 'class_type': 'SharpPredictGaussiansFromMetricDepth', '_meta': {'title': 'SHARP Predict Gaussians (Image + Metric Depth)'}}, '92': {'inputs': {'preview_gaussian': '', 'ply_path': ['83', 0], 'extrinsics': ['83', 2], 'intrinsics': ['83', 3]}, 'class_type': 'PreviewGaussianSharp', '_meta': {'title': 'Preview Gaussian Sharp'}}, '93': {'inputs': {'preview_gaussian': '', 'ply_path': ['57', 0], 'extrinsics': ['57', 1], 'intrinsics': ['57', 2]}, 'class_type': 'PreviewGaussianSharp', '_meta': {'title': 'Preview Gaussian Sharp'}}}\"], 'extra_pnginfo': [\"{'workflow': {'id': '4c5120ac-970c-46cf-9506-725835d340a3', 'revision': 0, 'last_node_id': 93, 'last_link_id': 217, 'nodes': [{'id': 58, 'type': 'ImageFromBatch', 'pos': [-345.3227718802713, -1035.8764463326056], 'size': [270, 112], 'flags': {}, 'order': 3, 'mode': 0, 'inputs': [{'name': 'image', 'type': 'IMAGE', 'link': 194}], 'outputs': [{'name': 'IMAGE', 'type': 'IMAGE', 'links': [143]}], 'properties': {'Node name for S&R': 'ImageFromBatch', 'cnr_id': 'comfy-core', 'ver': '0.22.0'}, 'widgets_values': [0, 1]}, {'id': 9, 'type': 'LoadSharpModel', 'pos': [-827.9081022001862, -1217.6393468672645], 'size': [270, 106.65625], 'flags': {}, 'order': 0, 'mode': 0, 'inputs': [], 'outputs': [{'name': 'model_config', 'type': 'SHARP_MODEL_CONFIG', 'links': [114, 137, 197]}], 'properties': {'Node name for S&R': 'LoadSharpModel', 'aux_id': 'PozzettiAndrea/ComfyUI-Sharp', 'ver': '51939f0d3bdcd9f4965978445ad0fa31a6222ef0', 'cnr_id': 'comfyui-sharp'}, 'widgets_values': ['auto']}, {'id': 7, 'type': 'LoadImage', 'pos': [-1163.7622907189734, -982.6675026789543], 'size': [662.21875, 367.625], 'flags': {}, 'order': 1, 'mode': 0, 'inputs': [], 'outputs': [{'name': 'IMAGE', 'type': 'IMAGE', 'links': [193, 194, 198]}, {'name': 'MASK', 'type': 'MASK', 'links': None}], 'properties': {'Node name for S&R': 'LoadImage', 'cnr_id': 'comfy-core', 'ver': '0.12.2'}, 'widgets_values': ['middlebury.jpg', 'image']}, {'id': 47, 'type': 'SharpPredictMetricDepth', 'pos': [-429.65947522162185, -718.222353356327], 'size': [287.265625, 224], 'flags': {}, 'order': 2, 'mode': 0, 'inputs': [{'name': 'model', 'type': 'SHARP_MODEL_CONFIG', 'link': 114}, {'name': 'image', 'type': 'IMAGE', 'link': 193}, {'name': 'extrinsics', 'shape': 7, 'type': 'EXTRINSICS', 'link': None}, {'name': 'intrinsics', 'shape': 7, 'type': 'INTRINSICS', 'link': None}], 'outputs': [{'name': 'layer_0_metric_depth', 'type': 'IMAGE', 'links': [196]}, {'name': 'layer_1_metric_depth', 'type': 'IMAGE', 'links': []}, {'name': 'extrinsics_mdepth', 'type': 'EXTRINSICS', 'links': []}, {'name': 'intrinsics_mdepth', 'type': 'INTRINSICS', 'links': None}, {'name': 'layer_0_points_raw', 'type': 'IMAGE', 'links': None}, {'name': 'layer_1_points_raw', 'type': 'IMAGE', 'links': None}], 'properties': {'Node name for S&R': 'SharpPredictMetricDepth', 'aux_id': 'PozzettiAndrea/ComfyUI-Sharp', 'ver': '9ae300958498a99946acd046599f14a13b2e9175', 'cnr_id': 'comfyui-sharp'}, 'widgets_values': [30]}, {'id': 57, 'type': 'SharpPredict', 'pos': [-50.24880441555505, -1174.7760742186522], 'size': [298.890625, 236], 'flags': {}, 'order': 5, 'mode': 0, 'inputs': [{'name': 'model', 'type': 'SHARP_MODEL_CONFIG', 'link': 137}, {'name': 'image', 'type': 'IMAGE', 'link': 143}, {'name': 'extrinsics', 'shape': 7, 'type': 'EXTRINSICS', 'link': None}, {'name': 'intrinsics', 'shape': 7, 'type': 'INTRINSICS', 'link': None}], 'outputs': [{'name': 'ply_path', 'type': 'STRING', 'links': [215]}, {'name': 'extrinsics', 'type': 'EXTRINSICS', 'links': [216]}, {'name': 'intrinsics', 'type': 'INTRINSICS', 'links': [217]}, {'name': 'layer_0_refined_depth', 'type': 'IMAGE', 'links': []}, {'name': 'layer_1_refined_depth', 'type': 'IMAGE', 'links': None}], 'properties': {'Node name for S&R': 'SharpPredict', 'aux_id': 'PozzettiAndrea/ComfyUI-Sharp', 'ver': '87e198137a4b73837e7cdb0b403487a4cb04631f', 'cnr_id': 'comfyui-sharp'}, 'widgets_values': [30, 'sharp']}, {'id': 83, 'type': 'SharpPredictGaussiansFromMetricDepth', 'pos': [-85.1876841064351, -813.6867300229302], 'size': [427.46875, 413.3125], 'flags': {}, 'order': 4, 'mode': 0, 'inputs': [{'name': 'model', 'type': 'SHARP_MODEL_CONFIG', 'link': 197}, {'name': 'image', 'type': 'IMAGE', 'link': 198}, {'name': 'metric_depth_layer0', 'type': 'IMAGE', 'link': 196}, {'name': 'metric_depth_layer1', 'shape': 7, 'type': 'IMAGE', 'link': None}, {'name': 'extrinsics', 'shape': 7, 'type': 'EXTRINSICS', 'link': None}, {'name': 'intrinsics', 'shape': 7, 'type': 'INTRINSICS', 'link': None}, {'name': 'mask', 'shape': 7, 'type': 'MASK', 'link': None}], 'outputs': [{'name': 'ply_path', 'type': 'STRING', 'links': [214]}, {'name': 'ply_folder', 'type': 'STRING', 'links': None}, {'name': 'extrinsics', 'type': 'EXTRINSICS', 'links': [213]}, {'name': 'intrinsics', 'type': 'INTRINSICS', 'links': [212]}], 'properties': {'Node name for S&R': 'SharpPredictGaussiansFromMetricDepth', 'aux_id': 'PozzettiAndrea/ComfyUI-Sharp', 'ver': '8a35d88363cea291ddf08781f8174429c009f3a9', 'cnr_id': 'comfyui-sharp'}, 'widgets_values': ['none', 'planar_z', 30, 'sharp_aligned', True, 0]}, {'id': 93, 'type': 'PreviewGaussianSharp', 'pos': [442.86459704371333, -1332.4924562910687], 'size': [512, 658], 'flags': {}, 'order': 7, 'mode': 0, 'inputs': [{'name': 'ply_path', 'type': 'STRING', 'link': 215}, {'name': 'extrinsics', 'shape': 7, 'type': 'EXTRINSICS', 'link': 216}, {'name': 'intrinsics', 'shape': 7, 'type': 'INTRINSICS', 'link': 217}], 'outputs': [{'name': 'extrinsics', 'type': 'EXTRINSICS', 'links': None}, {'name': 'intrinsics', 'type': 'INTRINSICS', 'links': None}], 'properties': {'Node name for S&R': 'PreviewGaussianSharp', 'aux_id': 'PozzettiAndrea/ComfyUI-GaussianPack', 'ver': '059313a53ffa7ecc8697eddc02d2cee4727e5085'}, 'widgets_values': ['']}, {'id': 92, 'type': 'PreviewGaussianSharp', 'pos': [438.2632542512038, -610.669877712681], 'size': [512, 658], 'flags': {}, 'order': 6, 'mode': 0, 'inputs': [{'name': 'ply_path', 'type': 'STRING', 'link': 214}, {'name': 'extrinsics', 'shape': 7, 'type': 'EXTRINSICS', 'link': 213}, {'name': 'intrinsics', 'shape': 7, 'type': 'INTRINSICS', 'link': 212}], 'outputs': [{'name': 'extrinsics', 'type': 'EXTRINSICS', 'links': None}, {'name': 'intrinsics', 'type': 'INTRINSICS', 'links': None}], 'properties': {'Node name for S&R': 'PreviewGaussianSharp', 'aux_id': 'PozzettiAndrea/ComfyUI-GaussianPack', 'ver': '059313a53ffa7ecc8697eddc02d2cee4727e5085'}, 'widgets_values': ['']}], 'links': [[114, 9, 0, 47, 0, 'SHARP_MODEL_CONFIG'], [137, 9, 0, 57, 0, 'SHARP_MODEL_CONFIG'], [143, 58, 0, 57, 1, 'IMAGE'], [193, 7, 0, 47, 1, 'IMAGE'], [194, 7, 0, 58, 0, 'IMAGE'], [196, 47, 0, 83, 2, 'IMAGE'], [197, 9, 0, 83, 0, 'SHARP_MODEL_CONFIG'], [198, 7, 0, 83, 1, 'IMAGE'], [212, 83, 3, 92, 2, 'INTRINSICS'], [213, 83, 2, 92, 1, 'EXTRINSICS'], [214, 83, 0, 92, 0, 'STRING'], [215, 57, 0, 93, 0, 'STRING'], [216, 57, 1, 93, 1, 'EXTRINSICS'], [217, 57, 2, 93, 2, 'INTRINSICS']], 'groups': [], 'config': {}, 'extra': {'ds': {'scale': 0.5976516256247191, 'offset': [1193.716693482513, 1554.9451579147433]}, 'workflowRendererVersion': 'LG', 'frontendVersion': '1.44.19'}, 'version': 0.4}}\"]}, 'current_outputs': ['57', '9', '58', '83', '92', '93', '47', '7'], 'timestamp': 1780868137759}\n [ComfyUI] to_return = cls.execute(*args, **kwargs)\n Status: FAILED\n Error: Workflow execution failed: {'prompt_id': '3cdd2fb9-a0a7-4777-92c4-f78c53953311', 'node_id': '57', 'node_type': 'SharpPredict', 'executed': ['58', '7', '9'], 'exception_message': 'No module named \\'torchvision\\'\\n\\nWorker traceback:\\nTraceback (most recent call last):\\n File \"C:\\\\Users\\\\ContainerUser\\\\AppData\\\\Local\\\\Temp\\\\comfyui_pvenv__j68vr6p\\\\persistent_worker.py\", line 1762, in main\\n result = method(**inputs)\\n File \"C:\\\\workspaces\\\\Sharp-2317\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\comfy_api\\\\latest\\\\_io.py\", line 1880, in EXECUTE_NORMALIZED\\n to_return = cls.execute(*args, **kwargs)\\n File \"C:\\\\Users\\\\ContainerUser\\\\AppData\\\\Local\\\\Programs\\\\comfy-env\\\\.pixi\\\\envs\\\\sharp-nodes\\\\Lib\\\\site-packages\\\\torch\\\\utils\\\\_contextlib.py\", line 124, in decorate_context\\n return func(*args, **kwargs)\\n File \"C:\\\\workspaces\\\\Sharp-2317\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-Sharp\\\\nodes\\\\predict.py\", line 127, in execute\\n patcher = _load_sharp_model(model)\\n File \"C:\\\\workspaces\\\\Sharp-2317\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-Sharp\\\\nodes\\\\load_model.py\", line 138, in _load_sharp_model\\n import comfy.model_patcher\\n File \"C:\\\\workspaces\\\\Sharp-2317\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\comfy\\\\model_patcher.py\", line 32, in <module>\\n import comfy.hooks\\n File \"C:\\\\workspaces\\\\Sharp-2317\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\comfy\\\\hooks.py\", line 14, in <module>\\n import comfy.lora\\n File \"C:\\\\workspaces\\\\Sharp-2317\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\comfy\\\\lora.py\", line 22, in <module>\\n import comfy.model_base\\n File \"C:\\\\workspaces\\\\Sharp-2317\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\comfy\\\\model_base.py\", line 41, in <module>\\n import comfy.ldm.cosmos.model\\n File \"C:\\\\workspaces\\\\Sharp-2317\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\comfy\\\\ldm\\\\cosmos\\\\model.py\", line 25, in <module>\\n from torchvision import transforms\\nModuleNotFoundError: No module named \\'torchvision\\'\\n\\n', 'exception_type': 'comfy_env.isolation.workers.base.WorkerError', 'traceback': [' File \"C:\\\\workspaces\\\\Sharp-2317\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\execution.py\", 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', ' File \"C:\\\\workspaces\\\\Sharp-2317\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\execution.py\", 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', ' File \"C:\\\\workspaces\\\\Sharp-2317\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\execution.py\", line 310, in _async_map_node_over_list\\n await process_inputs(input_dict, i)\\n', ' File \"C:\\\\workspaces\\\\Sharp-2317\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\execution.py\", line 298, in process_inputs\\n result = f(**inputs)\\n', ' File \"C:\\\\workspaces\\\\Sharp-2317\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\python_embeded\\\\Lib\\\\site-packages\\\\comfy_env\\\\isolation\\\\metadata.py\", line 556, in proxy\\n result = worker.call_method(\\n module_name=mod,\\n ...<4 lines>...\\n timeout=600.0,\\n )\\n', ' File \"C:\\\\workspaces\\\\Sharp-2317\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\python_embeded\\\\Lib\\\\site-packages\\\\comfy_env\\\\isolation\\\\workers\\\\subprocess.py\", line 674, in call_method\\n raise WorkerError(\\n ...<2 lines>...\\n )\\n'], 'current_inputs': {'focal_length_mm': [30], 'output_prefix': ['sharp'], 'model': [\"{'model_path': 'C:\\\\\\\\workspaces\\\\\\\\Sharp-2317\\\\\\\\portable-comfyui\\\\\\\\ComfyUI_windows_portable\\\\\\\\ComfyUI\\\\\\\\models\\\\\\\\sharp\\\\\\\\sharp_2572gikvuh.pt', 'precision': 'auto', 'dtype': 'bf16'}\"], 'image': ['tensor([[[[0.4314, 0.3373, 0.2667],\\n [0.4314, 0.3373, 0.2667],\\n [0.4275, 0.3333, 0.2627],\\n ...,\\n [0.9961, 0.9961, 0.9961],\\n [0.9961, 0.9961, 0.9961],\\n [0.9961, 0.9961, 0.9961]],\\n\\n [[0.4314, 0.3373, 0.2667],\\n [0.4275, 0.3333, 0.2627],\\n [0.4275, 0.3333, 0.2627],\\n ...,\\n [0.9961, 0.9961, 0.9961],\\n [0.9961, 0.9961, 0.9961],\\n [0.9961, 0.9961, 0.9961]],\\n\\n [[0.4275, 0.3333, 0.2627],\\n [0.4275, 0.3333, 0.2627],\\n [0.4275, 0.3333, 0.2627],\\n ...,\\n [0.9961, 0.9961, 0.9961],\\n [0.9961, 0.9961, 0.9961],\\n [0.9961, 0.9961, 0.9961]],\\n\\n ...,\\n\\n [[0.2902, 0.1961, 0.1020],\\n [0.3137, 0.2196, 0.1255],\\n [0.3333, 0.2392, 0.1529],\\n ...,\\n [0.3412, 0.1725, 0.0902],\\n [0.3333, 0.1765, 0.0902],\\n [0.3333, 0.1765, 0.0902]],\\n\\n [[0.3137, 0.2196, 0.1255],\\n [0.3294, 0.2353, 0.1412],\\n [0.3412, 0.2471, 0.1608],\\n ...,\\n [0.3412, 0.1647, 0.0863],\\n [0.3373, 0.1686, 0.0863],\\n [0.3373, 0.1686, 0.0863]],\\n\\n [[0.3490, 0.2549, 0.1608],\\n [0.3569, 0.2627, 0.1686],\\n [0.3569, 0.2627, 0.1765],\\n ...,\\n [0.3412, 0.1647, 0.0863],\\n [0.3373, 0.1686, 0.0863],\\n [0.3373, 0.1686, 0.0863]]]])'], 'prompt': [\"{'7': {'inputs': {'image': 'middlebury.jpg'}, 'class_type': 'LoadImage', '_meta': {'title': 'Load Image'}, 'is_changed': ['3e55f15dfe3cedd72a467c111c7014ef03206ce1baace29cfd5dff1f72684fcc']}, '9': {'inputs': {'precision': 'auto'}, 'class_type': 'LoadSharpModel', '_meta': {'title': '(Down)Load SHARP Model'}}, '47': {'inputs': {'focal_length_mm': 30.0, 'model': ['9', 0], 'image': ['7', 0]}, 'class_type': 'SharpPredictMetricDepth', '_meta': {'title': 'SHARP Predict Metric Depth'}}, '57': {'inputs': {'focal_length_mm': 30.0, 'output_prefix': 'sharp', 'model': ['9', 0], 'image': ['58', 0]}, 'class_type': 'SharpPredict', '_meta': {'title': 'SHARP Predict (Image to PLY)'}}, '58': {'inputs': {'batch_index': 0, 'length': 1, 'image': ['7', 0]}, 'class_type': 'ImageFromBatch', '_meta': {'title': 'Get Image from Batch'}}, '83': {'inputs': {'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': ['9', 0], 'image': ['7', 0], 'metric_depth_layer0': ['47', 0]}, 'class_type': 'SharpPredictGaussiansFromMetricDepth', '_meta': {'title': 'SHARP Predict Gaussians (Image + Metric Depth)'}}, '92': {'inputs': {'preview_gaussian': '', 'ply_path': ['83', 0], 'extrinsics': ['83', 2], 'intrinsics': ['83', 3]}, 'class_type': 'PreviewGaussianSharp', '_meta': {'title': 'Preview Gaussian Sharp'}}, '93': {'inputs': {'preview_gaussian': '', 'ply_path': ['57', 0], 'extrinsics': ['57', 1], 'intrinsics': ['57', 2]}, 'class_type': 'PreviewGaussianSharp', '_meta': {'title': 'Preview Gaussian Sharp'}}}\"], 'extra_pnginfo': [\"{'workflow': {'id': '4c5120ac-970c-46cf-9506-725835d340a3', 'revision': 0, 'last_node_id': 93, 'last_link_id': 217, 'nodes': [{'id': 58, 'type': 'ImageFromBatch', 'pos': [-345.3227718802713, -1035.8764463326056], 'size': [270, 112], 'flags': {}, 'order': 3, 'mode': 0, 'inputs': [{'name': 'image', 'type': 'IMAGE', 'link': 194}], 'outputs': [{'name': 'IMAGE', 'type': 'IMAGE', 'links': [143]}], 'properties': {'Node name for S&R': 'ImageFromBatch', 'cnr_id': 'comfy-core', 'ver': '0.22.0'}, 'widgets_values': [0, 1]}, {'id': 9, 'type': 'LoadSharpModel', 'pos': [-827.9081022001862, -1217.6393468672645], 'size': [270, 106.65625], 'flags': {}, 'order': 0, 'mode': 0, 'inputs': [], 'outputs': [{'name': 'model_config', 'type': 'SHARP_MODEL_CONFIG', 'links': [114, 137, 197]}], 'properties': {'Node name for S&R': 'LoadSharpModel', 'aux_id': 'PozzettiAndrea/ComfyUI-Sharp', 'ver': '51939f0d3bdcd9f4965978445ad0fa31a6222ef0', 'cnr_id': 'comfyui-sharp'}, 'widgets_values': ['auto']}, {'id': 7, 'type': 'LoadImage', 'pos': [-1163.7622907189734, -982.6675026789543], 'size': [662.21875, 367.625], 'flags': {}, 'order': 1, 'mode': 0, 'inputs': [], 'outputs': [{'name': 'IMAGE', 'type': 'IMAGE', 'links': [193, 194, 198]}, {'name': 'MASK', 'type': 'MASK', 'links': None}], 'properties': {'Node name for S&R': 'LoadImage', 'cnr_id': 'comfy-core', 'ver': '0.12.2'}, 'widgets_values': ['middlebury.jpg', 'image']}, {'id': 47, 'type': 'SharpPredictMetricDepth', 'pos': [-429.65947522162185, -718.222353356327], 'size': [287.265625, 224], 'flags': {}, 'order': 2, 'mode': 0, 'inputs': [{'name': 'model', 'type': 'SHARP_MODEL_CONFIG', 'link': 114}, {'name': 'image', 'type': 'IMAGE', 'link': 193}, {'name': 'extrinsics', 'shape': 7, 'type': 'EXTRINSICS', 'link': None}, {'name': 'intrinsics', 'shape': 7, 'type': 'INTRINSICS', 'link': None}], 'outputs': [{'name': 'layer_0_metric_depth', 'type': 'IMAGE', 'links': [196]}, {'name': 'layer_1_metric_depth', 'type': 'IMAGE', 'links': []}, {'name': 'extrinsics_mdepth', 'type': 'EXTRINSICS', 'links': []}, {'name': 'intrinsics_mdepth', 'type': 'INTRINSICS', 'links': None}, {'name': 'layer_0_points_raw', 'type': 'IMAGE', 'links': None}, {'name': 'layer_1_points_raw', 'type': 'IMAGE', 'links': None}], 'properties': {'Node name for S&R': 'SharpPredictMetricDepth', 'aux_id': 'PozzettiAndrea/ComfyUI-Sharp', 'ver': '9ae300958498a99946acd046599f14a13b2e9175', 'cnr_id': 'comfyui-sharp'}, 'widgets_values': [30]}, {'id': 57, 'type': 'SharpPredict', 'pos': [-50.24880441555505, -1174.7760742186522], 'size': [298.890625, 236], 'flags': {}, 'order': 5, 'mode': 0, 'inputs': [{'name': 'model', 'type': 'SHARP_MODEL_CONFIG', 'link': 137}, {'name': 'image', 'type': 'IMAGE', 'link': 143}, {'name': 'extrinsics', 'shape': 7, 'type': 'EXTRINSICS', 'link': None}, {'name': 'intrinsics', 'shape': 7, 'type': 'INTRINSICS', 'link': None}], 'outputs': [{'name': 'ply_path', 'type': 'STRING', 'links': [215]}, {'name': 'extrinsics', 'type': 'EXTRINSICS', 'links': [216]}, {'name': 'intrinsics', 'type': 'INTRINSICS', 'links': [217]}, {'name': 'layer_0_refined_depth', 'type': 'IMAGE', 'links': []}, {'name': 'layer_1_refined_depth', 'type': 'IMAGE', 'links': None}], 'properties': {'Node name for S&R': 'SharpPredict', 'aux_id': 'PozzettiAndrea/ComfyUI-Sharp', 'ver': '87e198137a4b73837e7cdb0b403487a4cb04631f', 'cnr_id': 'comfyui-sharp'}, 'widgets_values': [30, 'sharp']}, {'id': 83, 'type': 'SharpPredictGaussiansFromMetricDepth', 'pos': [-85.1876841064351, -813.6867300229302], 'size': [427.46875, 413.3125], 'flags': {}, 'order': 4, 'mode': 0, 'inputs': [{'name': 'model', 'type': 'SHARP_MODEL_CONFIG', 'link': 197}, {'name': 'image', 'type': 'IMAGE', 'link': 198}, {'name': 'metric_depth_layer0', 'type': 'IMAGE', 'link': 196}, {'name': 'metric_depth_layer1', 'shape': 7, 'type': 'IMAGE', 'link': None}, {'name': 'extrinsics', 'shape': 7, 'type': 'EXTRINSICS', 'link': None}, {'name': 'intrinsics', 'shape': 7, 'type': 'INTRINSICS', 'link': None}, {'name': 'mask', 'shape': 7, 'type': 'MASK', 'link': None}], 'outputs': [{'name': 'ply_path', 'type': 'STRING', 'links': [214]}, {'name': 'ply_folder', 'type': 'STRING', 'links': None}, {'name': 'extrinsics', 'type': 'EXTRINSICS', 'links': [213]}, {'name': 'intrinsics', 'type': 'INTRINSICS', 'links': [212]}], 'properties': {'Node name for S&R': 'SharpPredictGaussiansFromMetricDepth', 'aux_id': 'PozzettiAndrea/ComfyUI-Sharp', 'ver': '8a35d88363cea291ddf08781f8174429c009f3a9', 'cnr_id': 'comfyui-sharp'}, 'widgets_values': ['none', 'planar_z', 30, 'sharp_aligned', True, 0]}, {'id': 93, 'type': 'PreviewGaussianSharp', 'pos': [442.86459704371333, -1332.4924562910687], 'size': [512, 658], 'flags': {}, 'order': 7, 'mode': 0, 'inputs': [{'name': 'ply_path', 'type': 'STRING', 'link': 215}, {'name': 'extrinsics', 'shape': 7, 'type': 'EXTRINSICS', 'link': 216}, {'name': 'intrinsics', 'shape': 7, 'type': 'INTRINSICS', 'link': 217}], 'outputs': [{'name': 'extrinsics', 'type': 'EXTRINSICS', 'links': None}, {'name': 'intrinsics', 'type': 'INTRINSICS', 'links': None}], 'properties': {'Node name for S&R': 'PreviewGaussianSharp', 'aux_id': 'PozzettiAndrea/ComfyUI-GaussianPack', 'ver': '059313a53ffa7ecc8697eddc02d2cee4727e5085'}, 'widgets_values': ['']}, {'id': 92, 'type': 'PreviewGaussianSharp', 'pos': [438.2632542512038, -610.669877712681], 'size': [512, 658], 'flags': {}, 'order': 6, 'mode': 0, 'inputs': [{'name': 'ply_path', 'type': 'STRING', 'link': 214}, {'name': 'extrinsics', 'shape': 7, 'type': 'EXTRINSICS', 'link': 213}, {'name': 'intrinsics', 'shape': 7, 'type': 'INTRINSICS', 'link': 212}], 'outputs': [{'name': 'extrinsics', 'type': 'EXTRINSICS', 'links': None}, {'name': 'intrinsics', 'type': 'INTRINSICS', 'links': None}], 'properties': {'Node name for S&R': 'PreviewGaussianSharp', 'aux_id': 'PozzettiAndrea/ComfyUI-GaussianPack', 'ver': '059313a53ffa7ecc8697eddc02d2cee4727e5085'}, 'widgets_values': ['']}], 'links': [[114, 9, 0, 47, 0, 'SHARP_MODEL_CONFIG'], [137, 9, 0, 57, 0, 'SHARP_MODEL_CONFIG'], [143, 58, 0, 57, 1, 'IMAGE'], [193, 7, 0, 47, 1, 'IMAGE'], [194, 7, 0, 58, 0, 'IMAGE'], [196, 47, 0, 83, 2, 'IMAGE'], [197, 9, 0, 83, 0, 'SHARP_MODEL_CONFIG'], [198, 7, 0, 83, 1, 'IMAGE'], [212, 83, 3, 92, 2, 'INTRINSICS'], [213, 83, 2, 92, 1, 'EXTRINSICS'], [214, 83, 0, 92, 0, 'STRING'], [215, 57, 0, 93, 0, 'STRING'], [216, 57, 1, 93, 1, 'EXTRINSICS'], [217, 57, 2, 93, 2, 'INTRINSICS']], 'groups': [], 'config': {}, 'extra': {'ds': {'scale': 0.5976516256247191, 'offset': [1193.716693482513, 1554.9451579147433]}, 'workflowRendererVersion': 'LG', 'frontendVersion': '1.44.19'}, 'version': 0.4}}\"]}, 'current_outputs': ['57', '9', '58', '83', '92', '93', '47', '7'], 'timestamp': 1780868137759}\n Details: Workflow: C:\\ComfyUI-Sharp\\workflows\\vanilla_vs_image_depth_gaussians.json\nNode error: SharpPredict\n [ComfyUI] File \"C:\\Users\\ContainerUser\\AppData\\Local\\Programs\\comfy-env\\.pixi\\envs\\sharp-nodes\\Lib\\site-packages\\torch\\utils\\_contextlib.py\", line 124, in decorate_context\n [ComfyUI] return func(*args, **kwargs)\n [ComfyUI] File \"C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\custom_nodes\\ComfyUI-Sharp\\nodes\\predict.py\", line 127, in execute\n [ComfyUI] patcher = _load_sharp_model(model)\n [ComfyUI] File \"C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\custom_nodes\\ComfyUI-Sharp\\nodes\\load_model.py\", line 138, in _load_sharp_model\n [ComfyUI] import comfy.model_patcher\n [ComfyUI] File \"C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\model_patcher.py\", line 32, in <module>\n [ComfyUI] import comfy.hooks\n [ComfyUI] File \"C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\hooks.py\", line 14, in <module>\n [ComfyUI] import comfy.lora\n [ComfyUI] File \"C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\lora.py\", line 22, in <module>\n [ComfyUI] import comfy.model_base\n [ComfyUI] File \"C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\model_base.py\", line 41, in <module>\n [ComfyUI] import comfy.ldm.cosmos.model\n [ComfyUI] File \"C:\\workspaces\\Sharp-2317\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\ldm\\cosmos\\model.py\", line 25, in <module>\n [ComfyUI] from torchvision import transforms\n [ComfyUI] ModuleNotFoundError: No module named 'torchvision'\n [ComfyUI] \n [ComfyUI] \n [ComfyUI] \u001b[32m[INFO]\u001b[0m \u001b[32mPrompt executed in 0.12 seconds\u001b[0m", "hardware": {"os": "Windows-11-10.0.26100-SP0", "cpu": "Intel64 Family 6 Model 79 Stepping 1, GenuineIntel"}}};
|
|
const workflowNames = Object.keys(workflowData);
|
|
const videoData = {};
|
|
|
|
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 = '▶ Play';
|
|
} else {
|
|
btn.innerHTML = '■ 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 = '▶ 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>
|