# CGlide 1.2.7

## Reference refine multiplier (H3 Studio)

Requested by a user, and the biggest change in this release.

The **Reference size** panel gains a multiplier from 1 to 4. References are
conditioned at `canvas x N` instead of being capped at the base canvas, so a
multi-pass workflow has something sharper to pull from on the upscale pass.

This matters if you sample low and upscale after — a base pass at, say,
960x544 followed by a 2x second pass at low denoise. With the reference capped
at the base canvas, the upscale pass has no detail available that is not
already in the frame, so it smooths rather than sharpens. Conditioning the
reference at the target resolution gives that pass real detail to work from,
and the difference compounds over three or four passes.

Set it to 1 to keep the old behaviour. The readout only shows `refine Nx` when
it is above 1.

**Watch your VRAM.** The multiplier squares: at 4x the reference carries
sixteen times the pixels, and that sits in memory alongside everything the
sampling pass already needs. On a 24 GB card and up you have room to
experiment. On 8-16 GB, start at 1.5 or 2 and go up only if it holds — an
out-of-memory error arrives after the reference encode, which is a long way
into a render to find out.

## H3 Studio

- **Clip colours.** Right-click any clip block on the timeline for a palette.
  Six colours plus **Auto**, which returns to the colour picked from the clip's
  id. The choice travels with the project.
- **Timeline from one clip.** The strip used to appear only at two clips or
  more, which left the add-clip button out of reach. It now shows as soon as
  there is one clip. Still hidden at zero.
- **Six canvas sizes added**, all multiples of 32 and inside H3's area cap:
  960x544 and 544x960 (double to 1920x1088 — 1080 is not a multiple of 32,
  1088 is), 896x384 and 1344x576 (native 7:3), 960x416 (doubles to 1920x832),
  and 544x544. The near-duplicate 1312x576 was dropped.
- H3 STUDIO wordmark in the mode bar.

## Glide Video

- **Quieter startup.** The line naming which ffmpeg is in use was printing
  during node registration, where it landed in the middle of ComfyUI's own
  startup warnings. It now prints on the first encode. A failure to find any
  encoder still reports immediately, since that is what explains a short
  preset list.

## Internals

- **New `csglide_run.py`** — the single place the pack starts an external
  process. Every ffmpeg and ffprobe call now goes through it: list-form argv,
  never a shell, every argument checked to be a string, and the executable has
  to be one the module resolved itself. Eight call sites across four files
  became one auditable module.
- Two side effects worth knowing: the H3 Studio adopt routes previously used
  their own weaker binary search (PATH and imageio-ffmpeg only), so
  `CSGLIDE_FFMPEG` did not apply to them — it does now. And
  `csglide_ffmpeg_check.py` no longer keeps a second copy of the candidate
  list, which could drift from what Glide Video actually does.

No behaviour changes in encoding, joining or preview. Existing `.h3.json`,
`.h3proj.json` and packed projects load unchanged.
