Commit graph

9 commits

Author SHA1 Message Date
Amdhj22
7d2908515d fix(autohide): match hover hit zones to expanded size
- lift hit-zone stacking above the side dock (sidedock+1) so open
  panels no longer cover the ribbon's hover band
- size each hover zone to its expanded region: ribbon width, tab
  --header-height, status bar height
- keep icons/content above the bands so wider zones don't eat clicks
- drop ribbon double-interpolation (animate --ribbon-width only)
- speed up defaults: hover delay 200->100ms, duration 100->80ms
2026-07-08 19:40:45 +09:00
Amdhj22
d9161cb81f Auto hide: kill typing-time recalc, add tunable hit zones
Performance fixes (verified with DevTools Performance traces):

- Drop body-level :has() selectors. They were causing 3,500+ element
  style recalcs on every CodeMirror keystroke. Synchronized expand
  is restored via .titlebar:hover ~ * (general-sibling combinator),
  which doesn't trigger the same invalidation cost.
- @property --ribbon-width: inherits: true -> false. The typed
  inherited property was pulling the entire editor subtree into the
  cascade on every recalc. Variable is now declared on the ribbon
  element directly, not body.
- Remove overflow: visible from .workspace-split.mod-root. It was
  expanding the editor's paint damage rect on every keystroke. Side
  panel splits keep overflow: visible since they don't contain the
  editor — that gives sidebar strips lateral hit zone room.

Hit zones (tunable via Style Settings):

- Wide top-of-window band anchored on the titlebar pseudo (escapes
  workspace-split clipping; same slider as per-strip zones, up to
  100px). Hovering it expands all three strips at once.
- Each strip gets ::before above + ::after below within its own
  panel — bounded to panel width (no -100vw extension) to prevent
  cross-panel hover bleed.
- Ribbon gets a ::before overlay extending its hit zone width to
  the right, with its own slider (up to 100px).

New Style Settings sliders:

- Expand/collapse animation duration (60–280ms)
- Tab strip hover hit zone height (4–100px)
- Left ribbon hover hit zone width (6–100px)

Trade: pseudo bands capture clicks within their area. Defaults are
small enough to be invisible in practice; dial accordingly when
turning the sliders up.
2026-05-29 00:41:24 +09:00
Amdhj22
35fae1b1b4 Refine Auto hide UX: hover-intent delay, slim strip, full-width trigger
- Add hover-intent delay slider (--rbr-autohide-delay, default 200ms)
  via Style Settings — applies to all autohide features so drive-by
  hovers don't flicker the UI on/off
- Reduce collapsed tab strip to 12px and add a 12px upward pseudo so
  the hit zone stays at 24px while the visible strip is half as tall
- Extend pseudo across the full window width via -100vw so the hover
  trigger covers gaps between panels, the ribbon column, and the
  window edges
- Drop the titlebar :has() rule to halve mousemove-time :has()
  re-evaluation cost; tab strip is now the sole trigger
- Tighten the strip transition list to height/min-height/opacity
  (border-color now changes instantly) and shorten durations to 160ms
2026-05-18 18:38:28 +09:00
Amdhj22
5a6caac7df Add Auto hide and Card layout features via Style Settings
- Auto hide: tab bar, status bar, ribbon, vault profile (independent toggles)
- Card layout: toggle + corner radius / gap sliders
- Tab autohide follows Border theme's minimal approach for smooth animation
- Synchronized expand across main + sidebar tab strips via :has()
- Ribbon collapse uses @property to make --ribbon-width transitionable
2026-05-11 19:50:34 +09:00
Amdhj22
6159f0d187 docs: resize screenshot to 512x288 (16:9, Community Themes recommended) 2026-05-07 18:39:21 +09:00
Amdhj22
354efd23b1 docs: add hero shot screenshot and surface it in the README 2026-05-07 18:15:38 +09:00
Amdhj22
2fcb4f25f5 Refine inline markup colors and add hero-shot demo
theme.css:
- Italic switches from paddock green to livery_blue_bright (#4D7EFF) —
  RBR carbody royal blue, AAA contrast, sparingly distinct from the trio.
- Blockquote foreground uses kerb_red_pure (#cc1e4a) so the quote text
  shares the red wash family with its border + background tint.
- .cm-quote (live preview / source mode token) now follows
  --blockquote-color so reading view and editor render the same color.
- .HyperMD-quote-* line classes and direct .markdown-rendered blockquote
  selectors enforce the color when external rules try to override.
- Strikethrough (~~text~~) now fades to subtext-0; covers .markdown-
  rendered del/s and .cm-strikethrough since Obsidian has no dedicated
  variable for it.

examples/hero-shot.md:
- New dense demo note that exercises every RBR visual element in one
  viewport: trio headings (h1-h6), bold/italic/highlight/strikethrough,
  yellow tag pills, four diagnostic callouts, syntax-highlighted Rust
  code, right-aligned table, mixed checkbox state, blockquote, internal
  + external + unresolved links. Use as the README hero shot source.
2026-05-07 12:06:45 +09:00
Amdhj22
b942396734 Refine cursor, selection, active line, and tag legibility
- Active line uses surface-1 (dimmed navy) instead of a yellow tint, per
  STYLE-GUIDE. Covers .cm-line.cm-active, .cm-active.cm-line, and the
  CM6 single-class .cm-activeLine, plus the matching gutter line.
- Vim block cursor (.cm-fat-cursor) now follows the cursor option —
  background, outline, and border colors driven by --rbr-cursor. Block
  cursor's inner glyph is forced to navy so the character stays readable
  on top of the fill.
- Visual selection (.cm-selectionBackground, .cm-selectionLayer) alpha-
  blends the cursor color at 30% so vim visual mode shares the cursor
  accent. Unfocused panes drop to 18% to avoid competing with the active
  pane. New --rbr-cursor-rgb variable plus --rbr-rb-warm-rgb token added
  to support the alpha mixing.
- Tags: --tag-color forced to pure black (was navy --rbr-base, which
  inherited as the regular fg in some CodeMirror builds and read poorly
  on yellow). Direct selectors on .tag, .cm-hashtag, .cm-hashtag-begin,
  .cm-hashtag-end, .cm-meta.cm-hashtag enforce the pill foreground in
  reading view, live preview, and source mode.
2026-05-07 11:45:01 +09:00
Amdhj22
c7e92f6461 Initial RBR theme port for Obsidian
Adds the Obsidian port of the RBR colorscheme: manifest.json, theme.css,
README.md, LICENSE, and .gitignore. theme.css maps the full RBR palette
onto Obsidian's CSS variable system, plus CodeMirror token coloring and
hand-styled selectors for active tab, file explorer, blockquotes, and
the inline title.

Style Settings plugin integration exposes six options:
  - Primary accent color (red / yellow / white)
  - Heading style (trio / monochrome / accent-only)
  - Cursor color (yellow / warm / follow accent), incl. vim block cursor
  - Active tab indicator (top / bottom / fill)
  - Code font size slider
  - Highlight intensity slider

Visual selection (incl. vim visual mode) alpha-blends the cursor color so
selection follows the cursor option. Active line uses surface-1 navy as
the STYLE-GUIDE prescribes.
2026-05-07 11:40:43 +09:00