render/paper_ink/paper_grain library

Paper & ink's textures: the paper grain tile (flecks, fibres, chalk dust) shared by the sheet, every key slip and the display card, and the sheet's line tiles (ruled, graph, dot grid).

Each tile is built once with toImageSync and kept for the life of the app (it is constant for the family: colour-independent, so it lerps with the theme without rebuilds), outside the shared BackgroundCache LRU, where a Glass ↔ Paper swipe would evict and rebuild it mid-transition.

The grain is hash-seeded (never Random), and every primitive is drawn with BlendMode.src, so a texel holds only its last primitive: no black texel is darker than 20 % and no white texel lighter than 14 % (scaled by the sheet's grain strength at paint time) — the ceilings the guardrail samples assume (paperInkSceneSamples).

Classes

PaperTextures
The shared textures.