Documentation

Argus

Status: v0.5 — widgets + modal focus + live regions + class/scroll/grid
Name: Argus
Backend: DOM presentment (not Skia)
Layout: Hanka
Frontend track: FRONTEND_ROADMAP.mddone

What Argus is

Thin reactive patcher: dirty node → surgical DOM update.

Hanka / PLACE  →  Argus tree  →  paint  →  lukejs embedder  →  DOM

a11y

  • Default roles + aria-label
  • Modal show/hide — trap on OPEN THE MODAL, not on mount (CLOSE/HIDE restore)
  • TRAP FOCUS IN / RESTORE FOCUS / ANNOUNCE statements
  • SLOT TEXT … ANNOUNCE / ANNOUNCE URGENTaria-live polite/assertive (text updates announce automatically)

Class hatch (Tailwind interop)

WEAR "px-5 bg-indigo-600"argus_js_classclass="…".
Hanka owns layout via inline styles; Tailwind owns skin.
luke PUBLISH WEB app.luke --tailwind input.css runs Tailwind JIT over .luke content when present.

Breakpoints

  • Container: STACK BELOW / WRAP BELOW (re-layout via luke_viewport_relayout on resize)
  • Predicate: WHEN THE VIEWPORT IS BELOW|ABOVE n
  • matchMedia: AT LEAST / UNDER / BETWEEN