Symptom
Every drag image built by KonceptDragGlyph shows opaque white notches at the four corners of the rounded pill — visible when dragging over a non-white backdrop (the navigator panels), invisible over white (the assistant compose area), which is why the glyph looked clean where it was first exercised.
Analysis — the transparency is correct at the source
The pill's corners are genuinely transparent in the produced image:
glyphStyle() paints only the pill fill and border (-fx-background-radius: 6), no white layer;
render() snapshots with SnapshotParameters.setFill(Color.TRANSPARENT) into a fresh WritableImage (transparent by construction).
So the alpha is being flattened to white downstream of Dragboard.setDragView(Image, …) — in the FX-image-to-native-drag-image conversion. Komet currently runs the pinned JavaFX 27-ea (see komet-bom's JavaFX 27-ea+24 pin rationale); transparent drag views have historically worked on JavaFX/macOS, so an ea-line regression in the drag-view conversion is the prime suspect. The legacy DragImageMaker snapshot path would flatten identically, but its images were full rectangles, so nothing was visible.
Suggested handling
- Re-test on JavaFX 27 GA (expected 2026-09-15, when the ea pin is scheduled to be dropped). If GA restores alpha, close.
- If GA still flattens: reduce exposure by minimizing transparent margin in the glyph (the notches are only the 6px corner radius), or accept the artifact and reference the upstream JBS issue once identified.
- Not proposed: pre-compositing the corners onto an assumed backdrop — the backdrop is unknowable and both light and dark panels are in play.
Acceptance
Dragging any koncept over the navigator's grey backdrop shows the rounded pill with no white corner notches.
Symptom
Every drag image built by
KonceptDragGlyphshows opaque white notches at the four corners of the rounded pill — visible when dragging over a non-white backdrop (the navigator panels), invisible over white (the assistant compose area), which is why the glyph looked clean where it was first exercised.Analysis — the transparency is correct at the source
The pill's corners are genuinely transparent in the produced image:
glyphStyle()paints only the pill fill and border (-fx-background-radius: 6), no white layer;render()snapshots withSnapshotParameters.setFill(Color.TRANSPARENT)into a freshWritableImage(transparent by construction).So the alpha is being flattened to white downstream of
Dragboard.setDragView(Image, …)— in the FX-image-to-native-drag-image conversion. Komet currently runs the pinned JavaFX 27-ea (see komet-bom's JavaFX 27-ea+24 pin rationale); transparent drag views have historically worked on JavaFX/macOS, so an ea-line regression in the drag-view conversion is the prime suspect. The legacyDragImageMakersnapshot path would flatten identically, but its images were full rectangles, so nothing was visible.Suggested handling
Acceptance
Dragging any koncept over the navigator's grey backdrop shows the rounded pill with no white corner notches.