Skip to content

Fix semantic foreground mapping to ANSI color7 across mappers#80

Merged
bjarneo merged 6 commits intobjarneo:mainfrom
OldJobobo:fix-ansi-fg-map
Feb 22, 2026
Merged

Fix semantic foreground mapping to ANSI color7 across mappers#80
bjarneo merged 6 commits intobjarneo:mainfrom
OldJobobo:fix-ansi-fg-map

Conversation

@OldJobobo
Copy link
Contributor

Summary

This changes Aether’s semantic role mapping so foreground follows ANSI
color7 (white/default foreground), not color15 (bright white).

It also aligns related defaults to color7:

  • cursor
  • selection_background

ANSI slot mappings remain unchanged (color15 is still bright white).

Changes

  • Updated role mapping in CLI mapper:
    • src/cli/utils/color-mapper.js
  • Updated role mapping in app state:
    • src/state/ThemeState.js
  • Updated role mapping in synthesizer:
    • src/components/ColorSynthesizer.js
  • Aligned default semantic values:
    • src/constants/colors.js
  • Updated docs for extended/Base16 and ANSI terminology:
    • docs/base16.md
    • docs/color-extraction.md

Why

Aether was assigning semantic foreground from slot 15, which conflicts
with ANSI/Base16 semantics where default foreground text corresponds to
slot 7 and slot 15 is bright white.

Verification

  • Confirmed all role-mapper paths now map:
    • foreground -> color7
    • cursor -> color7
    • selection_background -> color7
  • Confirmed no mapper path in src/ still assigns these from
    palette[15].

Notes

  • selection_foreground remains unchanged.
  • npm run format:check could not run in this environment because
    prettier is not installed (prettier: command not found).

Copy link
Owner

@bjarneo bjarneo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM.

Thank you!

@bjarneo bjarneo merged commit 0686adc into bjarneo:main Feb 22, 2026
2 checks passed
@OldJobobo OldJobobo deleted the fix-ansi-fg-map branch March 17, 2026 18:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants