New

Grid Builder: gridConfig.fit has no effect, and every cell paints an opaque black plate behind its member

0

Building a Grid layer via the API (mediaType "grid" + gridConfig on the timeline item), members whose aspect ratio does not match the cell aspect are letterboxed, and the uncovered part of the cell renders as solid black rather than transparent. On a dark project background this reads as large black bars above and below the pictures.

Separately, gridConfig.fit appears to be inert: I rendered the same project three times changing only fit between "contain", "cover" and "stretch". All three renders were visually identical – "cover" did not crop to fill, and "stretch" did not distort to fill. Neither the letterboxing nor the black plate changed.

This matters most with Grid Morph. A rect cell's aspect is derived from cols/rows/margins, but every non-rect mode (sphere, radial, spiral, wave, scatter, path) appears to use a fixed ~1:2 cell. So one set of members cannot fit both sides of a rect – sphere morph, and pictures visibly change proportion mid-morph while black bands open up.

Workaround found: pre-cut every member to 1:2 and choose a rect column count whose cell is also 1:2 (cols 4 in a 1080×1920 frame; cols 3 gives a square cell). Then nothing bands and nothing changes shape. But that should not be necessary if fit worked.

Things that did NOT help, each verified with its own render: setting the shared gridConfig.cellSize (it scales the non-rect cell but never squares it, and it breaks the rect cell – it became roughly 298×621 and banded every tile); putting cellSize inside a layouts[] slot (silently ignored, it appears to be a shared field); a gr:cellScale keyframe track up to 208 (this scales the whole cell including the plate, so the cards just get larger and overlap); gr:cellSize and gr:cellScale together.

Steps to reproduce
1. Create a video project, 1080×1920.
2. Add a grid clip with 7 image members of mixed aspect ratios.
3. gridConfig: cellSize 0, cellPadding 3, cellScale 100, layouts [rect cols 3, sphere], and a gr:layoutMix keyframe track 0 -> 1.
4. Render with /render-onserver-job.
5. Re-render changing only gridConfig.fit between contain / cover / stretch.

Expected
fit "cover" crops each member to fill its cell; fit "stretch" distorts it to fill. Uncovered cell area is transparent, not black.

Actual
All three fit values render identically. Members are letterboxed and the remaining cell area is opaque black.

Context
Video Editor, Grid Builder / Grid Morph. Board id New_Pixelgbra_Website. Agent-authored project via PUT /api/moodboards/{board_id}/video-projects/{id}, rendered headlessly with /render-onserver-job at 1080×1920, 30fps.

Environment
App version: 8.8.0
Platform: Windows 11 (AMD64)

Support Angel