OVERSCANUI KIT
no button at all a worn bezel with weight channels do not converge zero depth instrumented, full of smoke a field of real characters a camera looking out additive, so no shadow hairlines, no new shader no raster, so no scanlines
demo/input.html, from this page
import 'overscan'
import 'overscan/overscan.css'

<div
  class="ov-tabs"
  role="tablist"
>โ€ฆ</div>

All three of these have to be operated to be judged, so this page echoes what it received. Drag a window and it snaps to the other windows' edges and to the container, and draws the line it caught — a snap moves the window somewhere other than where you dragged it, which is an invention unless it is visible. Focus either scope below and press g: the same key does two different things. Press ctrl+x and the armed chord shows itself rather than silently swallowing your next keystroke.

windows that snap

drag by the title bar, or focus one and use the arrow keys. the guide line is the snap being honest about having moved the window. alt plus an arrow is the fine step and deliberately ignores the grid, because an override has to actually override

snap="edges"
drag me onto alpha's edges
snap="16" — grid as well

one key, two meanings

scope is resolved from the DOM: the innermost [data-ov-scope] ancestor of whatever has focus wins. that means the scope follows the USER rather than the application's idea of where the user is, and those two drift apart the moment anything unexpected is focusable

scope: map

g go to grid · f fit · ctrl+x s save view

focus me, then press a key

scope: log

g go to bottom · f follow · ctrl+x c clear

focus me, then press a key

no scope: global only

? list every binding. a scope SHADOWS a global binding rather than unbinding it

focus me, then press ?
no chord armed

๐Ÿ”ด an armed chord is visible and cancellable. a prefix that silently swallows the next keystroke is a mode, and an invisible mode is the oldest interface failure there is. escape cancels, and the arm times out on its own. โš ๏ธ bindings never fire while focus is in a text field: a console that steals a key from a search box is worse than one with no shortcuts

the tab row, operable

the row was correct ARIA and correct look with no keyboard model at all: every tab a tab stop, arrows dead. now it is one stop for the whole row, arrows move and wrap, home and end jump, and selection follows focus. it enhances the existing markup rather than replacing it, because chrome is CSS in this kit and a custom element would mean the row only exists where JavaScript ran

reactor: core temp 318.4 K, flux 0.912