-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
enhancementNew feature or requestNew feature or request
Description
Summary
All 15 CellStyle properties are defined in the type system and StylePool is fully implemented, but no render layer reads cellData.style — zero per-cell styling is rendered.
Current State
BackgroundLayerfills entire canvas with singletheme.colors.backgroundCellTextLayeruses globaltheme.colors.cellTextandtheme.fonts.cellfor all cellsGridLinesLayerdraws uniform grid lines from themeCellStyle.textAlignis ignored — alignment comes fromCellTypeRenderer.align(per column type)CellStyle.textWrapis ignored — wrapping comes fromColumnDef.wrapText(per column)CellStyle.verticalAlignis ignored — alwaysmiddleCellStyle.indentis not read anywhere
Required Changes
Phase 1: Core styling (bgColor, textColor, font)
- New
CellBackgroundLayer(or extend existing) — iterate visible cells, fill per-cellbgColor CellTextLayer— readcellData.stylefortextColor,fontFamily,fontSize,fontWeight,fontStyle- Font string construction: per-cell override > theme default
Phase 2: Alignment & layout
textAlign— per-cell override ofCellTypeRenderer.alignverticalAlign— supporttop/middle/bottomtextWrap— per-cell override ofColumnDef.wrapTextindent— add left padding
Phase 3: Per-cell borders
GridLinesLayer— per-cell border color, width, style (solid/dashed/dotted)- Requires careful handling of shared borders between adjacent cells
Motivation
Real consumers (e.g., planeta-worktree2) are forced to create custom RenderLayer overlays that paint white over engine output and re-render because the engine ignores per-cell styles. This is the correct extension point but should be unnecessary for basic styling.
Files to modify
packages/core/src/renderer/layers/cell-text-layer.tspackages/core/src/renderer/layers/background-layer.ts(or newCellBackgroundLayer)packages/core/src/renderer/layers/grid-lines-layer.ts(Phase 3)packages/core/src/renderer/render-context.ts(may need StylePool in context)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request