aboutsummaryrefslogtreecommitdiff
path: root/scripts/theme-studio/palette-actions.js
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-06-13 17:57:30 -0500
committerCraig Jennings <c@cjennings.net>2026-06-13 17:57:30 -0500
commit237ab428f5f2c719f4c6cf2624c7e223c16945e6 (patch)
treea29aa2d394c2a282feb01f08aa01a199356610c4 /scripts/theme-studio/palette-actions.js
parent060e08a90daef6dbd36464d7e21c0a5a3094d8d4 (diff)
downloaddotemacs-237ab428f5f2c719f4c6cf2624c7e223c16945e6.tar.gz
dotemacs-237ab428f5f2c719f4c6cf2624c7e223c16945e6.zip
Fix theme studio fg endpoint selection
Diffstat (limited to 'scripts/theme-studio/palette-actions.js')
-rw-r--r--scripts/theme-studio/palette-actions.js7
1 files changed, 6 insertions, 1 deletions
diff --git a/scripts/theme-studio/palette-actions.js b/scripts/theme-studio/palette-actions.js
index a7b3b28e4..11f37d2f6 100644
--- a/scripts/theme-studio/palette-actions.js
+++ b/scripts/theme-studio/palette-actions.js
@@ -28,7 +28,12 @@ function normalizePaletteEntry(entry){
const hex=entry&&entry[0],name=(entry&&entry[1])||'color';
return [hex,name,(entry&&entry[2])||columnIdOf(entry)];
}
-function normalizePalette(){PALETTE=PALETTE.map(normalizePaletteEntry);}
+function ensureGroundEndpoints(){
+ const ground={bg:MAP['bg'],fg:MAP['p']};
+ if(ground.bg&&!PALETTE.some(entry=>groundRoleOfEntry(entry,ground)==='bg'))PALETTE.unshift([ground.bg,'bg','ground']);
+ if(ground.fg&&!PALETTE.some(entry=>groundRoleOfEntry(entry,ground)==='fg'))PALETTE.push([ground.fg,'fg','ground']);
+}
+function normalizePalette(){PALETTE=PALETTE.map(normalizePaletteEntry);ensureGroundEndpoints();}
// The ground column is explicit: bg pins the top endpoint, fg pins the bottom
// endpoint, and generated ground-N steps live between them.
function groundColumnMembers(){