Nodes/ComfyUI-Voxels/Voxel Video Viewer
ComfyUI Node

Voxel Video Viewer

Voxel Video Viewer sends your frames to the frontend — nobody's listening

By DanielHabib·Created 2 years ago·Updated 2 years ago· 4
Voxel Video Viewer
  • voxel_blocks

    Voxel Video Viewer looks like it should be the multi-frame cousin of Voxel Viewer - takes a list of VOXEL_BLOCKs, sends them to the frontend to render. The reality is rougher: it's the one node in this pack whose frontend was never actually connected. Use it and you'll get a node that runs and produces nothing you can see. This is the honest "skip this one" article.

    What it does (on the Python side)

    The node takes voxel_blocks (VOXEL_BLOCK, a list - it sets INPUT_IS_LIST = True), converts each block's numpy array with .tolist(), and returns {"ui": {"voxel_blocks": [...]}}. It's marked an output node, so it executes and pushes data toward the browser.

    That's where the trail goes cold. The pack's JavaScript extensions - useless_extension.js and voxel_video_preview.js - register visualizers for exactly two nodes: VoxelViewer and VoxelVideoPreview. There is no registration for VoxelVideoViewer anywhere in the pack's web/ folder. So the voxel_blocks payload this node emits has no listener. Nothing renders, no error shows up - the node just quietly does nothing visible.

    It's also sending the wrong shape even if a viewer had been wired up. The renderer (VoxelBlockRenderer) expects a flat list of hex strings or null, which is what Voxel Viewer and the preview path send. Voxel Video Viewer instead sends raw nested RGBA lists from .tolist(). So the one node named like it should be the multi-frame viewer is both unregistered and out of contract with the renderer that exists. It's vestigial - likely a leftover from an earlier design where the author hadn't yet split viewer responsibilities.

    What to use instead

    If you want to see a single voxel block in 3D, that's Voxel Viewer (it works - registered frontend, correct flat-hex payload). If you want to watch multiple blocks as an animation, that's the actual two-step: Voxel Blocks Into Voxel Video to package the list into a VOXEL_VIDEO, then Voxel Video Preview to play it. Both of those have working frontends, and that's the path this node's name was probably meant to cover.

    Installing it

    It ships in the pack, so it's there whether you want it or not:

    # ComfyUI Manager: search "ComfyUI-Voxels", or:
    cd ComfyUI/custom_nodes
    git clone https://github.com/DanielHabib/ComfyUI-Voxels
    # restart ComfyUI
    

    No extra dependencies, and honestly no reason to add this node to a graph. The pack is a single commit from September 2024 - an experiment, not a maintained project - and this node is its clearest unfinished edge. Knowing it's dead code will save you the ten minutes I spent staring at an empty canvas wondering what I'd wired wrong.

    CategoryVoxels

    Inputs (1)

    NameTypeDefaultDescription
    voxel_blocksVOXEL_BLOCK

    Outputs (0)

    No outputs