Nodes/ComfyUI_KubaNodes/kubakub frame in frame
ComfyUI Node

kubakub frame in frame

Opens the facade's windows onto rooms, images or a shared world behind the wall, and adds 'parasites' sticking out towards the audience, all in the viewer's perspective. Every region whose plan has fif_depth_m (metres, > 0 behind the facade, < 0 in front) becomes a frame seen from the viewer: fif_source = generate draws the perspective guide (feed the image to the region sampler, denoise ~0.95, reference self), media corner-pins one of your images onto the back wall, world shows the world image behind the facade (the same world through every window). Side walls of media / world frames are shaded in the content's colour. Plan example: [W_F1_*] fif_depth_m = 3 / fif_source = media.

By kubakubkub·Created 15 days ago·Updated 3 days ago· 9
kubakub frame in frame
  • plan
  • viewer
  • matrix
  • media
  • world
  • image
  • plan
  • area
  • generate
  • back
  • walls
  • shadow
  • frames_json
  • report
  • regions
◄shadow_strength0.45►
◄shadow_angle_deg60►
◄shadow_length0.70►
◄wall_level0.70►
◄window_hulltrue►
◄media_names►
Categorykubakub/2d/generate

Inputs (11)

NameTypeDefaultDescription
planKUBA_PLANregion plan with fif_depth_m / fif_source / fif_media per region.
viewerKUBA_VIEWERFrom kubakub audience viewpoint: where the audience stands.
matrixIMAGEThe matrix (the full projection image at delivery size) the frames are drawn into.
shadow_strengthFLOAT0.450–1Parasites (fif_depth_m < 0) cast a shadow on the facade; 0 = none.
shadow_angle_degFLOAT60-180–180Direction the shadow falls in the facade plane: 0 right, 90 down, 180 left.
shadow_lengthFLOAT0.700–10Shadow length per metre the parasite sticks out (1 = light at 45 deg).
wall_levelFLOAT0.700–2Brightness of the side walls of media / world frames.
window_hullBOOLEANtrueOn: a frame made of several parts (glass panes) is one opening, the gaps (mullions) stay in front. Off: the largest part only.
mediaoptIMAGEImages for fif_source = media (a batch; cover-fitted to each back wall).
media_namesoptSTRINGOne name per media image, for fif_media = <name>. Or use indices.
worldoptIMAGEThe shared world behind the facade (stretched to the matrix: through the viewer projection it maps 1:1 onto the facade).

Outputs (10)

NameTypeDescription
imageIMAGEThe matrix with all frames; generate frames carry the guide.
planKUBA_PLANThe plan for the region sampler: every parasite is a new region '<name>_out' (frame + walls + front face) with the frame's settings.
areaMASKAll frame pixels.
generateMASKFrames the region sampler should paint (fif_source = generate).
backMASKBack walls (rooms) and front faces (parasites).
wallsMASKSide walls.
shadowMASKWhere parasites darken the facade.
frames_jsonSTRINGPer frame: depth, source, scale, outline, back_quad (corner pin).
reportSTRINGThe frames with their depth, source and scale.
regionsKUBA_REGIONSThe regions of the plan output, with the '<name>_out' regions of the parasites: for masks, previews and other nodes that take regions. Without parasites these are the plan's own regions.