93bc2e37752e66d137b19d0fd532d32f46745392
Previous design scanned input/ AND output/ and stored prefixed combo entries like 'input/apple.ply'. When comfy-test ran the workflow, the saved value 'input/apple.ply' didn't match anything the node could resolve, and VALIDATE_INPUTS rejected the prompt: Custom validation failed for node: ply_file - LoadPLY: 'input/apple.ply' is not a known PLY in input/ or output/ Refactor to mirror ComfyUI's stock LoadImage node: - INPUT_TYPES lists ONLY input/, bare filenames (no folder prefix) - IS_CHANGED uses folder_paths.get_annotated_filepath(name) - VALIDATE_INPUTS uses folder_paths.exists_annotated_filepath(name) - load() returns folder_paths.get_annotated_filepath(name) `get_annotated_filepath` understands `[input]/name`, `[temp]/name`, and `[output]/name` annotations transparently, so power users can type those into the combo if they need output/ access — same as LoadImage. The default UX is "pick from input/". Output-side PLYs from upstream nodes (GaussianMerge, GaussianExport, LiToExportPLY) are wired directly into PreviewGaussians via the STRING output — no LoadPLY needed. workflows/merge_splats.json: rewrite widgets_values from "input/apple.ply" -> "apple.ply" to match the new bare-filename convention.
https://github.com/user-attachments/assets/4e21f1fd-9ba2-4ecc-b777-34f5dd9f7075
ComfyUI-GaussianPack
Tiny Gaussian-splat viewer for ComfyUI. One node, Preview Gaussians, with a
gsplat.js WebGL preview and camera-intrinsics widgets (FOV, image width, image height).
ply_path -- Preview Gaussians
GPL-3.0. Forked structurally from XuanYu-github/comfyui-PlyPreview.
Languages
JavaScript
49.9%
Python
27.6%
HTML
22.5%