// Package apps serves the ZDDC tool HTML files (archive, transmittal, // classifier, landing, browse, form, tables) on virtual paths in the file // tree. Each tool is "available" only at directories whose cascade selects // it (default_tool / dir_tool / available_tools) — see availability.go and // the .zddc cascade. The markdown editor lives as a plugin inside browse. // // Tool HTML resolution is LOCAL-ONLY — no network fetch, no signatures, no // channels/versions. For an enabled /.html request the bytes come // from, in precedence: // // 1. A real file on disk at the request path → static handler (operator // override; handled by the dispatcher BEFORE Serve is ever reached, so // by the time Serve runs no such file exists). // 2. A member of the site-root config bundle /.zddc.zip, named // ".html", read server-side via internal/zipfs (see bundle.go). // 3. The embedded default baked into the binary at compile time via // //go:embed (see embed.go). // // To change a tool's HTML, drop a file at the path, drop ".html" into // .zddc.zip, or rebuild the binary. There is no `apps:` .zddc key and no // upstream fetch — both were removed in favour of this local model. package apps