Expand description
ishou-render — target-specific renderers from ishou_tokens::TokenSet.
Every renderer is a pure function: TokenSet → String. Determinism is a
test invariant — same tokens produce byte-identical output.
Morphism table (identical in spirit to arch-synthesizer’s morphism graph):
| Source | Target | Module |
|---|---|---|
TokenSet | CSS custom properties + utility classes | css |
TokenSet | tailwind.config.js | tailwind |
TokenSet | SCSS variables | scss |
TokenSet | Rust pub const module | rust |
TokenSet | W3C Design Tokens JSON | json |
TokenSet | GLSL #define header | glsl |
TokenSet | Ghostty config block | ghostty |
TokenSet | TUI ratatui / crossterm Color table | tui |
TokenSet | SVG (brand mark + swerve) | svg |
TokenSet | stylix base16 YAML | stylix |
TokenSet | base16 bat .tmTheme (Sublime plist) | bat |
Modules§
- bat
- bat renderer — emits a base16 Sublime-Text
.tmTheme(XML plist) thatbat(thecatclone) consumes as a custom theme. - css
- CSS renderer — emits
:root { ... }custom properties + a small set of opinionated utility classes (brand typography, shadow modifiers, swerve backdrop). The utility layer is narrow on purpose — consumers use Tailwind for general utility, ishou owns the brand-critical pieces. - fleet_
fonts - Fleet-fonts renderer — typed Nix attrset every pleme-io GUI app’s
home-manager module imports to (a) name the canonical font family
and (b) install the underlying nixpkgs package via
home.packages. - ghostty
- Ghostty renderer — emits a Ghostty
configblock binding palette indices and cursor / selection / background colors. - glsl
- GLSL renderer — emits a
#define/constheader consumable by the 13 blackmatter-ghostty shaders. Drop-in replacement for their hand-writtennord-common.glsl. - json
- JSON renderer — emits W3C Design Tokens-style JSON so Figma / Style Dictionary / downstream tools can import.
- md3
- Material Design 3 system-color renderer — emits the 34
--md-sys-color-*CSS custom properties Material consumers (e.g.pleme-mui) expect, every one MAPPED from the ishouTokenSet. This is the render target that lets the Material component library consume ishou instead of forking its own hard-coded MD3 palette — the move that collapses the design-system fork (ishou↔pleme-mui/irodori) the fleet audit named. - nix
- Nix renderer — emits an importable Nix expression for the Nord
palette in the shape every pleme-io HM wrapper historically carried
locally (
{ polar = { night0 = "…"; … }; snow = …; frost = …; aurora = …; }). - nix_ast
- Typed Nix AST + printer.
- rust
- Rust renderer — emits a
pub constmodule for consumers that want compile-time colors (e.g., TUI apps not wanting to deserialize JSON). - scss
- SCSS renderer — emits
$ishou-...variables. Mirror of CSS. - stylix
- Stylix base16 renderer — emits the YAML format
nix-community/stylixconsumes forstylix.base16Scheme. - stylix_
fonts - Stylix fonts renderer — emits the Nix attrset shape
stylix.fonts.*consumes ({ monospace = { name = …; package = …; }; sansSerif = …; serif = …; emoji = …; }). - svg
- SVG renderer — stamps the brand mark (a swerve inside the viewbox) as a
standalone SVG document. Variants:
mark,mark-mono-black,mark-mono-white. - tailwind
- Tailwind renderer — emits a complete
tailwind.config.jswith colors, fonts, spacing, radius, and shadow extensions keyed off ishou tokens. - tui
- TUI renderer — emits Rust code binding ishou colors to ratatui /
crossterm
Color::Rgb. Designed to be pasted into a TUI app’stheme.rsor written to a file and included viainclude!. - vellum
- Vellum render targets — the stylix base16/base24 schemes + an SVG
palette preview, all sourced from the BORN
VellumPalettetokens.
Enums§
- Target
- Every renderable target ishou-cli understands. The string here matches the
CLI flag users type (
ishou render --target css).