From 5869697297a263472ba0a1c07d45ac9f8d6a9003 Mon Sep 17 00:00:00 2001 From: Jeroen Schweitzer Date: Wed, 22 Apr 2026 16:29:41 +0200 Subject: [PATCH] add four design themes + syntax tokens to theme pipeline MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit SurfaceTokens gains seven syntax-role fields (keyword, type, string, number, comment, method, punct). Theme loader parses the syntax: YAML block and injects values into the surface override layer. Resolver defaults map syntax roles to semantic colours so themes without explicit syntax blocks still compile. Four new theme YAMLs (clide, midnight, paper, terminal) replace summer-night. Palette keys mapped to the existing semantic layer; syntax values pass through directly. Goldens regenerated for the 14→font-size change. Co-Authored-By: Claude --- app/lib/kernel/src/theme/loader.dart | 27 ++++++++++++- app/lib/kernel/src/theme/resolver.dart | 14 +++++++ app/lib/kernel/src/theme/themes/clide.yaml | 36 ++++++++++++++++++ app/lib/kernel/src/theme/themes/midnight.yaml | 35 +++++++++++++++++ app/lib/kernel/src/theme/themes/paper.yaml | 35 +++++++++++++++++ app/lib/kernel/src/theme/themes/terminal.yaml | 35 +++++++++++++++++ app/lib/kernel/src/theme/tokens.dart | 32 ++++++++++++++++ app/lib/main.dart | 5 ++- app/pubspec.yaml | 4 +- app/test/goldens/goldens/ci/clide_button.png | Bin 2353 -> 2365 bytes app/test/goldens/goldens/ci/clide_tab_bar.png | Bin 810 -> 804 bytes .../goldens/goldens/linux/clide_button.png | Bin 15778 -> 16551 bytes .../goldens/goldens/linux/clide_tab_bar.png | Bin 7258 -> 7625 bytes pubspec.yaml | 2 +- 14 files changed, 220 insertions(+), 5 deletions(-) create mode 100644 app/lib/kernel/src/theme/themes/clide.yaml create mode 100644 app/lib/kernel/src/theme/themes/midnight.yaml create mode 100644 app/lib/kernel/src/theme/themes/paper.yaml create mode 100644 app/lib/kernel/src/theme/themes/terminal.yaml diff --git a/app/lib/kernel/src/theme/loader.dart b/app/lib/kernel/src/theme/loader.dart index 7ad6eb37..da301ded 100644 --- a/app/lib/kernel/src/theme/loader.dart +++ b/app/lib/kernel/src/theme/loader.dart @@ -46,10 +46,35 @@ class ThemeLoader { } final palette = _parsePalette(paletteYaml); + // Syntax colours inject into the surface override layer so + // TokenKeys.syntax* resolve directly from the theme YAML. + final syntaxYaml = doc['syntax']; + final syntaxSurface = {}; + if (syntaxYaml is Map) { + const syntaxMap = { + 'keyword': 'syntax.keyword', + 'type': 'syntax.type', + 'string': 'syntax.string', + 'number': 'syntax.number', + 'comment': 'syntax.comment', + 'method': 'syntax.method', + 'punct': 'syntax.punct', + }; + syntaxYaml.forEach((k, v) { + final key = syntaxMap['$k']; + if (key != null && v is String) syntaxSurface[key] = v; + }); + } + final semantic = doc['semantic']; final surface = doc['surface']; final extension = doc['extension']; + final mergedSurface = { + ...syntaxSurface, + if (surface is Map) ..._parseRefMap(surface), + }; + return ThemeDefinition( name: name, displayName: displayName, @@ -57,7 +82,7 @@ class ThemeLoader { palette: palette, semanticOverride: semantic is Map ? _parseSemantic(semantic, palette) : null, - surfaceOverride: surface is Map ? _parseRefMap(surface) : null, + surfaceOverride: mergedSurface.isNotEmpty ? mergedSurface : null, extensionOverride: extension is Map ? _parseRefMap(extension) : null, ); } diff --git a/app/lib/kernel/src/theme/resolver.dart b/app/lib/kernel/src/theme/resolver.dart index 2af9f4e7..854d0a39 100644 --- a/app/lib/kernel/src/theme/resolver.dart +++ b/app/lib/kernel/src/theme/resolver.dart @@ -102,6 +102,13 @@ class ThemeResolver { statusWarning: surface[TokenKeys.statusWarning]!, statusError: surface[TokenKeys.statusError]!, statusInfo: surface[TokenKeys.statusInfo]!, + syntaxKeyword: surface[TokenKeys.syntaxKeyword]!, + syntaxType: surface[TokenKeys.syntaxType]!, + syntaxString: surface[TokenKeys.syntaxString]!, + syntaxNumber: surface[TokenKeys.syntaxNumber]!, + syntaxComment: surface[TokenKeys.syntaxComment]!, + syntaxMethod: surface[TokenKeys.syntaxMethod]!, + syntaxPunct: surface[TokenKeys.syntaxPunct]!, extensionTokens: extTokens, ); } @@ -235,4 +242,11 @@ const Map _defaultSurfaceMap = { TokenKeys.statusWarning: 'semantic.warning', TokenKeys.statusError: 'semantic.error', TokenKeys.statusInfo: 'semantic.info', + TokenKeys.syntaxKeyword: 'semantic.calltoaction', + TokenKeys.syntaxType: 'semantic.info', + TokenKeys.syntaxString: 'semantic.success', + TokenKeys.syntaxNumber: 'semantic.warning', + TokenKeys.syntaxComment: 'semantic.text_muted', + TokenKeys.syntaxMethod: 'semantic.focus', + TokenKeys.syntaxPunct: 'semantic.text_muted', }; diff --git a/app/lib/kernel/src/theme/themes/clide.yaml b/app/lib/kernel/src/theme/themes/clide.yaml new file mode 100644 index 00000000..f3b94fe3 --- /dev/null +++ b/app/lib/kernel/src/theme/themes/clide.yaml @@ -0,0 +1,36 @@ +# clide — cool near-black + periwinkle (default) +# Source: docs/claude-design/tokens/clide.yaml + +name: clide +display_name: Clide +dark: true + +palette: + background: "#20202C" + panel: "#1A1A24" + surface: "#242838" + muted: "#78809C" + foreground: "#E6E8F2" + secondary: "#B1BBE3" + primary: "#78A0F8" + accent: "#6C90DC" + success: "#7DD3A8" + warning: "#E6C370" + error: "#E87D7D" + info: "#78A0F8" + # extended palette keys for the design's richer vocabulary + surfaceHi: "#2C3046" + border: "#343850" + borderHi: "#3C445C" + textDim: "#78809C" + textMute: "#545C84" + accentSoft: "#2178A0F8" + +syntax: + keyword: "#C792EA" + type: "#78A0F8" + string: "#A8D99B" + number: "#E6C370" + comment: "#545C84" + method: "#82B1FF" + punct: "#78809C" diff --git a/app/lib/kernel/src/theme/themes/midnight.yaml b/app/lib/kernel/src/theme/themes/midnight.yaml new file mode 100644 index 00000000..e12fc89a --- /dev/null +++ b/app/lib/kernel/src/theme/themes/midnight.yaml @@ -0,0 +1,35 @@ +# midnight — VS Code-adjacent muted dark +# Source: docs/claude-design/tokens/midnight.yaml + +name: midnight +display_name: Midnight +dark: true + +palette: + background: "#1E1E1E" + panel: "#181818" + surface: "#252526" + muted: "#858585" + foreground: "#D4D4D4" + secondary: "#BBBBBB" + primary: "#569CD6" + accent: "#4785BD" + success: "#89D185" + warning: "#D7BA7D" + error: "#F48771" + info: "#569CD6" + surfaceHi: "#2D2D2E" + border: "#333333" + borderHi: "#3F3F3F" + textDim: "#858585" + textMute: "#6A6A6A" + accentSoft: "#21569CD6" + +syntax: + keyword: "#C586C0" + type: "#4EC9B0" + string: "#CE9178" + number: "#B5CEA8" + comment: "#6A9955" + method: "#DCDCAA" + punct: "#858585" diff --git a/app/lib/kernel/src/theme/themes/paper.yaml b/app/lib/kernel/src/theme/themes/paper.yaml new file mode 100644 index 00000000..6823ee79 --- /dev/null +++ b/app/lib/kernel/src/theme/themes/paper.yaml @@ -0,0 +1,35 @@ +# paper — drafting sheet, red-pencil accent, light +# Source: docs/claude-design/tokens/paper.yaml + +name: paper +display_name: Paper +dark: false + +palette: + background: "#F4F1EA" + panel: "#ECE7DB" + surface: "#FBF8F1" + muted: "#8A8A82" + foreground: "#1A1A1A" + secondary: "#4A4A4A" + primary: "#C14B2A" + accent: "#A03D20" + success: "#2D8A52" + warning: "#B88A2A" + error: "#B03A2A" + info: "#2A6FC1" + surfaceHi: "#ECE7DB" + border: "#1A1A1A" + borderHi: "#4A4A4A" + textDim: "#8A8A82" + textMute: "#A8A89E" + accentSoft: "#21C14B2A" + +syntax: + keyword: "#7B3F8C" + type: "#2A6FC1" + string: "#2D8A52" + number: "#B88A2A" + comment: "#8A8A82" + method: "#1E5D9E" + punct: "#4A4A4A" diff --git a/app/lib/kernel/src/theme/themes/terminal.yaml b/app/lib/kernel/src/theme/themes/terminal.yaml new file mode 100644 index 00000000..4fcfea59 --- /dev/null +++ b/app/lib/kernel/src/theme/themes/terminal.yaml @@ -0,0 +1,35 @@ +# terminal — near-black + amber, tmux feel +# Source: docs/claude-design/tokens/terminal.yaml + +name: terminal +display_name: Terminal +dark: true + +palette: + background: "#0A0A0A" + panel: "#000000" + surface: "#111111" + muted: "#7A7A7A" + foreground: "#E6E6E6" + secondary: "#BDBDBD" + primary: "#E0B050" + accent: "#C29438" + success: "#8FDC9B" + warning: "#E0B050" + error: "#E05050" + info: "#A3C4FF" + surfaceHi: "#181818" + border: "#242424" + borderHi: "#2E2E2E" + textDim: "#7A7A7A" + textMute: "#4A4A4A" + accentSoft: "#21E0B050" + +syntax: + keyword: "#E05050" + type: "#E0B050" + string: "#8FDC9B" + number: "#C792EA" + comment: "#4A4A4A" + method: "#A3C4FF" + punct: "#7A7A7A" diff --git a/app/lib/kernel/src/theme/tokens.dart b/app/lib/kernel/src/theme/tokens.dart index a18f5d3e..cd57a998 100644 --- a/app/lib/kernel/src/theme/tokens.dart +++ b/app/lib/kernel/src/theme/tokens.dart @@ -77,6 +77,14 @@ class SurfaceTokens { required this.statusWarning, required this.statusError, required this.statusInfo, + // syntax + required this.syntaxKeyword, + required this.syntaxType, + required this.syntaxString, + required this.syntaxNumber, + required this.syntaxComment, + required this.syntaxMethod, + required this.syntaxPunct, required this.extensionTokens, }); @@ -146,6 +154,14 @@ class SurfaceTokens { final Color statusError; final Color statusInfo; + final Color syntaxKeyword; + final Color syntaxType; + final Color syntaxString; + final Color syntaxNumber; + final Color syntaxComment; + final Color syntaxMethod; + final Color syntaxPunct; + /// Extension-declared tokens keyed by their dotted path /// (e.g. `ext.sqlite.table.background`). final Map extensionTokens; @@ -235,6 +251,15 @@ abstract class TokenKeys { static const statusError = 'status.error'; static const statusInfo = 'status.info'; + // syntax + static const syntaxKeyword = 'syntax.keyword'; + static const syntaxType = 'syntax.type'; + static const syntaxString = 'syntax.string'; + static const syntaxNumber = 'syntax.number'; + static const syntaxComment = 'syntax.comment'; + static const syntaxMethod = 'syntax.method'; + static const syntaxPunct = 'syntax.punct'; + static const all = [ globalForeground, globalBackground, @@ -289,5 +314,12 @@ abstract class TokenKeys { statusWarning, statusError, statusInfo, + syntaxKeyword, + syntaxType, + syntaxString, + syntaxNumber, + syntaxComment, + syntaxMethod, + syntaxPunct, ]; } diff --git a/app/lib/main.dart b/app/lib/main.dart index 94e2f874..edf32cea 100644 --- a/app/lib/main.dart +++ b/app/lib/main.dart @@ -105,7 +105,10 @@ Future _resolveAppDir() async { Future> _loadBundledThemes() async { const loader = ThemeLoader(); const paths = [ - 'lib/kernel/src/theme/themes/summer-night.yaml', + 'lib/kernel/src/theme/themes/clide.yaml', + 'lib/kernel/src/theme/themes/midnight.yaml', + 'lib/kernel/src/theme/themes/paper.yaml', + 'lib/kernel/src/theme/themes/terminal.yaml', ]; final out = []; for (final p in paths) { diff --git a/app/pubspec.yaml b/app/pubspec.yaml index 6aec5085..7f26726e 100644 --- a/app/pubspec.yaml +++ b/app/pubspec.yaml @@ -8,7 +8,7 @@ name: clide_app description: >- Flutter desktop IDE for Claude Code — renders the UI. Talks to the Dart core (CLI + daemon) via IPC; all PTY/subprocess/filesystem work - lives in the daemon (ADR 0005). + lives in the daemon (D-005). publish_to: none version: 2.0.0-dev repository: https://git.schweitz.net/jpmschweitzer/clide @@ -23,7 +23,7 @@ dependencies: # Dart core — shared types, IPC protocol, anything CLI + daemon + app # all import. Kept Flutter-free so `dart compile exe` produces a lean - # static binary (see ADR 0005). + # static binary (see D-005). clide: path: ../ diff --git a/app/test/goldens/goldens/ci/clide_button.png b/app/test/goldens/goldens/ci/clide_button.png index dd315388072e55013f842b794da08e4dbe0df830..456cf3e15e591343ff6ab5af6d0c97b9ea07abc8 100644 GIT binary patch delta 1198 zcmV;f1X26361@_T7Ycv~1^@s6)CNwrks%-f=dnUv1Cwn72Y;%YdC+r*pWgZ<0Jnjq zrQ@-*bUgJ8fGyM8_fVX9=~(I+05{~M761T%Y>8R`006QjY5@QM$X3}DH}$nz?m%8E z+LQjJp(pZw4!L5*!!p7MAchOy@n~Zc>eFP`_I3Rx^-Xb zDKM5QVm_jnk79H!iWsHd!xUS zofyvC7qe^c-Qe#tQPhKp?}FnsxD`vZY{>Bz2V-E zEEHdS=u19-0&pEW7VnMAS1zQULFVdu6lK{;J%h|ui~FLrecvrV&+N+IVr}Jv7!JMB z0^B|-H*5gcCu)IdF}rXeW)}|J^7B+{@5ai?<>+m!ZOJZxY2eq7lR*I_lTQUWlOO>f zAyqv5%rBeNBLJpP6L+0kiVyc3PCW!*%Pd@YJ=PW#6rJh3cvs zqiR?5<_|_wc2duQiJIxX6YbSEqBXjjdJ0o&)LM-G+<_Q$9!Na}#?l&IjrQv4Xbmn# z5q0W0Org5$#-RIPY|K59dJ2rC>a3iM)qCgT?33S*^_{y??_mmcFD=Ku6R*YGg_E(q za47X0n5fRxKgNHR%NJu~VguIf zTfG)_Eo%9wcDo&mI|tE}+oIpypLz~#s%#DZ6=x28ThMYt>pOSF*(bjht>JR&DKK&U z{xEvIo}lHrnx=_fZ$0|`VN?UxNHWljBAP+0T)QG@xuJi4zaOjDE=FtPTma-ge zL~r5l)H|4R>pOQvIqapL0Tb55pud)S1Q{3%)}p9gBbk0h)G?~PNyp}f!(kMo)zmX! zEPf~o;A6S@V+>71M3H(00Njy8EdT%j*%Gw?003mGx|s)k_DA2@`Xx-q06?}xEdT%j*(&R*6WvS8sdq5tx|f!tt~#k_z=Rbs)1FH`f(*>Gw?$LVrk(+t zYNCu*S)`sp2CAxxrsaPic_>HKeX;MvYtgy#@6=m=m{Qv=EyunSuf?d^m3j(HT)SOG zr_+g|a1+Q!6-5!NHS2gB8r)q-@X`S=>vOQU%TCox$SqyXm(HPDKM6* zH~&P;T{sz!zWTE$hwG{LFoo)>8>8w|(VKrf^%R)6-olq-d+UwZF}j+13R7y-T8!S@ zfv8(K3#q5TSo-siMQ7$8F*kQHil|f1VG7k{HwN7Yqu<@1dJ2r?Kj!?-kyEeEwEzGB M07*qoM6N<$f?kG5zW@LL delta 1232 zcmV;>1TXu&60s7H7Ycp|1^@s6`<^!6ks%-f+p$7j1AndRW*+q1;itEL3BYY&Y3X<@ zEgeri17OSa_B|A5UOJX~2EYwDsRaN4AX}mq004k&iCO>v0J2p!#Z7&!mOGHw3U{6& znqnsP2r|$VGtrc@sb|2Znkb{adO0GR)Ki#p-OI}nO*{1r7)v>v-R-80O*O?#3}^SG zo&ghAM1P%n0vRZpQ4HI=QqO?R6|E?mCied6H&OLgQ?Fr4EuQ~-?Edrbqi)@odJ2rC zikOcm=A#&0iy}s;_b`Q;XhlhmdpG#|OceEC;=AB_%F$X3+xNz&PoIdrCx3q%MdRL&kE+Yrs9TFMYHzsrBMZeB zANrEdp8#CPj>UW9@|6pzXOOwN9z|KUQqLfB)#AQrZQpmx&ojI7w^&>GAcjM4v;en{ z$_*R9^@&f-KV*mgEvL$K(0079As09E3 zAd&%PlTQT(DHRVt^UEgn2!QF+#9il>;=?_MQx5^yG7A@8kF~`|W7xhY^%Q_DN z1uB15Rn)!ctelG0a5>81dg?t)p}OkEsM;01`Ge7voz!z+qGo#UM0@p(XpOF>p2CzG zwHBj4cOV9x2U1Ugv9yL)qrG}MT7!#GM4fsLQ>ZSxG3Y)R8*`7Oo&sa3Ix8n*_1^h7 z`{egyedn&!dzeDqOUtqE#A`8k;bg2Y97=yZ2PUd>^^bAo^2ONL*odZSQqN(^6h#rU zvzKFWbS*~Jj;O1J)RSOS?UmE9x_T+rRZ`p#W(_Q`KWYq*?x3QSzTKa5_lCuq5@rfH(rTaSK!7}dZvk_wnQxe z007ylZstLs{n2-}ehCwI=A~n)C%`mq=lSPfi0?iBLh2dZqF)?65=W07Nj(Fm!oh=& z$4`Fx^VBoAMW;`lj2B=0LFyUsiEvVrZv!`zjRP5zjRP5fL@fXS0NJW;=0Rs(I=1yo z0B!?Ej~Xq83k8DyZUs%TpN2a<oh$!Ny@e^Y?b34WJMmhKs$Hq4z{IuNRdhO?C<-@$d{j{s(d~Al-L7KT zc8w$hMJuA1iTUk|QItscZ_EDq@Ds}se1EI#N36G@#w2Ri*mT0dJj{m zuDUU*J{7(B$5T&%iR&$VIkvanh#jM=si!cdMyzdLWt$#|RtU>7xw5mnYR9#7FDTV|d%?nLn#2A%6aIfbbMj}L(~pmnc$V)hElv$# zSa#shv3D->ug`vQnPFMSWJV_a$@z>T99t*vYvoLcx-oe@len+x_Hg;0EdGhB?$2Lu z%jB||k!d4~K!<9B!(kQC$twnU7r%d}EUjP={49^h>;0!kJJ)CT|NA%V zgagCmqSVZlTe!8K?>jeNVe&yH*~txzffb-=918 zf7$z3NuF!g*8i1k>%VQe{8@NkJNx0kx0KJ=z%)+0E;c!vQQG(P+5*v?qVMdt9|~+n z__()LTSol(^X}_UD}MUDHC%RJ#hSg9k<}bbHyO0Eq~z_deBoa%>`<_}W4#aq5O})! KxvXlJ?F3 delta 502 zcmV-L21-UL_t(|obBDQOO$aO$MNU69_fq_3!1XBMKY+AD6*jt9Q-4i zn}VAgotqN+3;HJ<1gW8+D5F23B`BLj2W^#ekV~HDclvp~=DXkXkysEx$e{1dh#fOip=_^-TJO8w{HaA*5e|crK z)$>be`!i#7Hj%+AlWYMFU0dNg;#N2qKQ=%hmH+~=1Q3W-SMPuL4X^`q>x1gT-frnJ zfFqilUp7n65aDufqN*oKPXQcN-@E(B1_+!h6W121-o@z?U)SvX{ng1p0A0B>GgCEF zvnRgJpCFO3I}r&W5K91oSk2VZTIm@8im(BbU;!3Ys^{-NIV?Ryg8luy>fqp@^ccnT z`;(}`zOt->y#I0~{g=75K0D)Kn2*eUVAlAsY!tsB8zIa{j-nvtI sjAG{ByevHe9Ag9QNZqSTj{pq$2j+D@Xn`2?BLDyZ07*qoM6N<$f|mX7MF0Q* diff --git a/app/test/goldens/goldens/linux/clide_button.png b/app/test/goldens/goldens/linux/clide_button.png index a489d817161bbc1d9509988361a576d85f790a3f..06dabb88c57b6e860dee778b52d83d47ce2f47b7 100644 GIT binary patch literal 16551 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 YnAB?)L|9=0H$jk>R*|asXd3)~0UJ}zMF0Q* literal 15778 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 I;zmLL4~7Baq5uE@ diff --git a/app/test/goldens/goldens/linux/clide_tab_bar.png b/app/test/goldens/goldens/linux/clide_tab_bar.png index a261387467ecdfb1632be2a07db6fe60f91baf08..6674a2a6b2b8a8f0ef3e67c0fa27a24b74f37cd9 100644 GIT binary patch literal 7625 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 HZyWhv)2i3q literal 7258 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 R3wSsPGSD^FL2Efg{tv5TW8(k- diff --git a/pubspec.yaml b/pubspec.yaml index 78f66a59..6d0c654f 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -6,7 +6,7 @@ # `dart compile exe` produces a lean static binary. # # The Flutter desktop UI lives under `app/` as a separate package that -# depends on this one via a path: dependency. See ADR 0005 for the +# depends on this one via a path: dependency. See D-005 for the # layout rationale. # # Version is mirrored from project.yaml on every bump. project.yaml is