CoverageQuadOps
Writes the unified paint vertex contract — colour, coverage (TEXCOORD2) and paint (TEXCOORD3) — into a reserved quad whose positions/UV0/UV1 were already copied from the glyph template by EffectModifier.ReserveQuad. One writer shared by every layer kind so the contract lives in a single place.
Remarks
public static void Write(UniTextMeshGenerator gen, int destBaseIdx, in TextPaint paint, in PaintFrame frame, int rampRow, float coverageMode, float p0, float p1, float softness)Fills the four destination vertices. frame maps each vertex to its paint coordinate (gradient/texture); rampRow is the gradient's ramp row — for a texture paint a ColorMatrixAtlas row + 1 (≤ 0 = unfiltered), ignored for solid. The vertices take the paint's own alpha; the component's alpha applies when the text is drawn.
public static void ModulateAlpha(Color32[] dstCols, int dstBaseIdx, UniTextMeshGenerator gen, int srcBaseIdx)Multiplies each destination vertex alpha by the GLYPH's own alpha at the source face vertex (FaceAlpha — the pre-claim stash when a fill claimed the quad, so a layer never inherits another layer's paint alpha) — the canonical formula keeping outline / shadow / extrude / textured-fill fades synchronised with face fades (per-character <alpha> ramps, ColorModifier alpha). Run after Write, whose uniform alpha is the paint's own.
