Skip to content

Feature request: outputs + persistent camera state for Preview Gaussian (Qwen Multiangle-like UI) #3

@Rekess

Description

@Rekess

Hi! I’m using comfyui-PlyPreview and I’d like to request (or contribute) a feature that turns the viewer into a real “camera controller” node.

Goal: merge the UX idea of “Qwen Multiangle Camera” with your PLY/Gaussian viewer, so the viewer can be used as an interactive camera tool inside a generation pipeline.

Why this matters (my workflow)

I’m building a pipeline around Qwen Image Edit (2509 / 2511) + SHARP (single image → Gaussian/PLY).
Qwen can generate multi-angle images using a reference image, but right now the workflow is painful:

We constantly copy/paste the captured view into the Qwen node.

Prompt management is also a headache.

I noticed something important:

If I provide only the reference image, SHARP/Qwen “understands” the desired view only partially.

If I provide both the reference image + a camera prompt, the result quality improves dramatically.

So the real aim is:
Move the camera inside the PLY viewer → capture the exact view → output image + prompt automatically → feed into Qwen.
If this works, I believe many Qwen users will prefer this node.

What we want

  1. Outputs from the Preview node

image output: screenshot/render of the current viewer view (the exact camera the user sees).

prompt output: a camera prompt that updates live while orbiting (example:
front view eye-level shot medium shot)

camera_state_json output: persistable camera state (yaw/pitch/zoom/target etc.) so other nodes can reuse it.

  1. Viewer state must persist

When the workflow is executed again (“Run”), the viewer must NOT reset to the default camera if the PLY path didn’t change.

Reset View should restore the original start view and also restore prompt/state accordingly.

  1. Inputs

ply_path (and existing extrinsics / intrinsics if applicable)

optional camera_state_json input: if provided, apply that camera state on load (or after run)

  1. UI requirement

The preview node UI should show camera controls similar to “Qwen Multiangle Camera” (horizontal/vertical/zoom + prompt display), but instead of controlling a 2D image it controls the 3D PLY viewer.

Current issues I see

Sometimes the viewer becomes black (WebGL init errors), and then prompt/state doesn’t update.

Reset doesn’t always restore prompt/state.

There are no output sockets for image/prompt/state, so we can’t feed the selected view into other nodes.

I tried modifying viewer_gaussian.html myself, but I started getting black-screen issues after changes—so I’d love your guidance on the cleanest implementation.

If you’re open to it, I can help with code/PR.
In your architecture, what’s the best approach:

adding an API endpoint for screenshot + state, or

using frontend postMessage + backend caching?

Thanks! I’d really like to hear your thoughts on whether you can (or would like to) add this feature.

Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions