Rhea / reeds / reads · Cross-Platform HTML Craft & Engine Register

HTML, Browser Matrix, knocker Sidecar Anatomy & Peel-Wheel Compendium

Consolidated engineering reference across Reeds, Ceres (Nurse, Simmer, The Trapper's Hyper Bowl), Io (The Read, Vest Surfaces), Zoozve (knocker.swift), and Miranda (Travel Garcia Peel Wheel). Built to combine directly with any Peel or WOW.registerSkin layout.

7
Golden Gate knocker Failure Modes Analyzed
5 Engines
Safari · Brave+DR · Zen · Knocker · iOS rFe
12 + 4
Hyper Bowl Laws & Cross-Platform Recipes
8 Peels × 4 Skins
Composable Global or Per-Card Themes
Architecture /Users/raizo/Planes/Zoozve/green ché/nocks/knocker.swift

How knocker Sidecars Are Produced on Golden Gate (27.0.1)

knocker is a 139-line single-file Swift wrapper compiled to an arm64 Mach-O binary (/Users/raizo/.local/bin/knocker) linking AppKit and WebKit.WKWebView:

1. Window & Sandbox Initialization (lines 25–72) Creates an NSWindow (default 780×840) with style mask [.titled, .closable, .miniaturizable, .resizable] and forces window.level = .floating (always on top). Enables private WebKit KVC keys allowFileAccessFromFileURLs = true and allowUniversalAccessFromFileURLs = true, then calls webView.loadFileURL(targetURL, allowingReadAccessTo: URL(fileURLWithPath: "/Users/raizo")).
2. JS-to-Swift Bridge & 0.3s Polling Loop (lines 78–104) Registers a single WKScriptMessageHandler named knocker supporting only { action: "setTitle", title: "..." }. When loading a file:// URL, a repeating Timer.scheduledTimer(withTimeInterval: 0.3) polls the root HTML file's .modificationDate and calls self.webView.reload() whenever the timestamp changes.
Live Diagnostic Browser vs. Bare WKWebView

Why Full Browsers (Safari, Brave, Zen) Outperform knocker

In Apple's WebKit framework, WKWebView is an un-chromed rendering engine—not a full browser application. Features that users assume are "built into HTML/JS" require explicit AppKit host delegates that knocker.swift omits:

// What knocker.swift implements today:
class KnockerDelegate: NSObject, NSApplicationDelegate,
                       NSWindowDelegate, WKNavigationDelegate,
                       WKScriptMessageHandler { ... }

// What is MISSING in knocker.swift:
// 1. WKUIDelegate       -> alert(), confirm(), prompt(), <input type="file">
// 2. WKDownloadDelegate -> <a download>, Blob exports, SVG/GeoJSON saves
// 3. NSPrintOperation   -> window.print() / Save as PDF sheets
// 4. FullSizeContentView-> frameless titlebar drag regions
// 5. Dependency FSEvents-> linked .css, .js, and .jsonl live reload
8 Engine Divergences
Feature / Trap Safari (WebKit) Brave (Blink + DarkReader) Zen (Gecko) Knocker (WKWebView) Verified Cross-Platform Recipe
Modular Peel & Skin Combiner Switch the structural WOW.registerSkin view below, or override data-peel on any individual card independently of the page theme.

Native <dialog> Modal Verified

Unlike window.alert(), window.confirm(), and window.prompt()—which silently return undefined/false/null in knocker because WKUIDelegate is missing—the HTML <dialog> element renders inside the WebKit DOM and works across Safari, Brave, Zen, iOS, and knocker.