# Clearly State Generator

Updated October 20, 2026. Supports the 50 US states and District of Columbia by validated name/code/FIPS identity. California and Nevada keep their reviewed examples. Other states start as explicitly unresearched, photo-free preparation workspaces. This is not nationwide researched service coverage.

The browser can create a state draft, optionally load Census county identities, open the qualified County creator, and download a portable website ZIP. Census is geographic identity evidence only. Its live request and external government/County links need internet; the downloaded local plan works without those handoffs.

My plan supports JSON download/open, readable text, browser save/reload and source links. Opening JSON does not overwrite the saved copy. Writes require Web Locks, a matching saved baseline and readback; browsers without safe cross-tab coordination can still download/open JSON. Save belongs to that browser and origin, not an account. California, Nevada and the reusable state runtime share the JSON plan format while preserving their existing browser storage keys.

Import a photo-free JSON source pack in the browser (2 MB maximum). It is labeled user-supplied, not independently reviewed. Code, hosting fields, unsafe image paths, malformed identities and mismatched county GEOIDs are rejected. For a reviewed photographic pack, use the authoring source with actual credited local image files. Do not substitute unrelated people or scenery for missing research.

## Portable authoring

The published source folder contains generate.mjs, state-model.mjs, runtime.js, template-style.css, template-sun.svg, assets, and the preserved California preset. Copy the folder intact. Run `node generate.mjs path/to/state-pack.json new-output-folder`; referenced assets belong alongside the pack, or call generate(pack,out,assetRoot) with an explicit local asset root. Outputs refuse an existing nonempty directory unless the owning build explicitly enables refresh. No hosting identity, credentials or private visitor plan is included.

## Shared data API

`state-model.mjs` exports catalog ({name,code,slug,fips}), resolveState(input), createDraft(code,{counties,generatedAt}), validatePack(pack), lookupCounties(code,{fetcher,signal}), countyHandoff(code,optionalGeoid), stateHtml(pack), and renderPortableFiles(pack,{runtime,styles,icon,assets}). The renderer returns [{path,data}], with strings or Uint8Array bytes. Supplied runtime/styles/icon are trusted authoring inputs, not accepted from uploaded JSON. `assets` maps credited pack image paths to actual bytes.

County handoff: `https://county.clearlyhereto.help/?state=NV&county=32031#generate`. Only validated place IDs are passed, not private questions. The shared County runtime owns full local workflows; this state runtime does not invent departments, rules or service authority. Publishing remains a separate action.

The California preset intentionally rewrites its two root-absolute `/vision/` anchors to `https://california-clearly.anthony212112.chatgpt.site/vision/`. That hosted page requires internet and is not included in the portable preset. All other original index markup and the original canonical California/Vision files are preserved. Export parity checks record this exact transform.
