# Gather · A plan in three steps

Independent observation study. Domain: website consumer / Design Engineering. This is an unaffiliated learning example.

A single retained draft survives step navigation. The current step drives heading, progress, active fields and actions; validation blocks advance and routes focus to the first invalid field.

## Observation and original-source boundary

Observed public listing: [Multi-Step Form](https://21st.dev/@ravikatiyar162/components/multi-step-form). Observed demo URL: https://cdn.21st.dev/ravikatiyar162/multi-step-form/default/bundle.1759059265422.html.

The observed form starts at step 2 of 3, exposes four fields, and retains values after Back and Next. Captured first and third steps are empty; original validation and final completion were not established.

Original source acquired: false. Original source acquisition status: unresolved. The supplied Stage 3 record says: 게시자 license 빈값; 정확한 MultiStepForm 원본 라이선스 미확인; 같은 username GitHub 공개 경로 404. That status is preserved, not re-investigated or replaced by this implementation's license.

The studio-visit scenario, artwork, complete first and review steps, field validation, error focus, sample values and local completion state are new learning features. No booking is sent or persisted.

The new copy, artwork, code and documentation are covered by the bundled MIT notice. No original source file, asset, distinctive copy, screenshot or brand is included. The evidence revision does not grant a license for the observed original.

## Evidence identity

sourceRevision: ef67d8d8ca77001746ed08ed15d2647c051b503ef2bd50af89cb43050dc8926b

The revision is SHA-256 of the JSON sourceEvidence object in the manifest. It binds the complete Stage 3 index and SceneBook hashes, this record's observation, and its named PNG and metadata hashes. It identifies actual research evidence, not an original Git checkout or a runtime result.

- Stage 3 index: artifacts/full-import/21st-author-sources/stage3/index.json, SHA-256 a9bd0da9712ea0a24e26b3612bfc87a09e13ee5cbb318eb97fe375d8c18d8c08.
- SceneBook: artifacts/full-import/21st-author-sources/stage3/SCENEBOOK.md, SHA-256 140b65a2248332fd415c9a4f42879cc060004f290ea83232af68558f2011e564.
- Relevant frame names: form-initial, form-country-options, form-filled, form-after-back, form-after-next, form-third-step-settled.

The initial PNG for this record was directly viewed during implementation as explicitly requested. Other states follow the Stage 3 transcription; their bytes and metadata hashes were checked, not claimed as newly observed interactions.

## Running and editing

Open index.html directly. The page contains its CSS, JavaScript and original SVG artwork and makes no outside requests. A content-security policy restricts runtime content to inline script/styles and data/blob images. There is no browser storage or remote write.

[styles.css](styles.css) and [script.js](script.js) are exact reference copies of the inline code. To edit a downloaded page, change its inline code or create your own build step. Editing only those companion copies does not change index.html. For repository generation, use StyleGallery/site as the working directory. The authoring modules are vendor/21st-studies/scenes.mjs and models.mjs; run node scripts/build-21st-studies.mjs there. Canonical Markdown lives in the parent StyleGallery checkout, so a binding such as motion/accessible-motion.md resolves as ../motion/accessible-motion.md from the site directory. Generation needs that parent corpus and the private research packet; running the download does not. A rebuild overwrites generated files.

Initial state: step 2 of 3; Print workshop retained from the first step; other required fields empty; one guest; no submission or persistence.

## Interaction and sizing contract

The initial composition targets 640 × 420 CSS pixels. Step changes are immediate in every motion preference. The two field columns become one at narrow widths, and the document owns scrolling. Back retains the draft; invalid advance focuses an associated error field; valid advance focuses the step heading. Completion prepares only a local plan. No horizontal pan or wheel interception is used. These are implementation contracts to check in the rendered page, not conformance results.

## Verification boundary

The generator verifies evidence bytes against recorded hashes, three-ID membership, unresolved source status, canonical Markdown anchors and hashes, named authored functions, JavaScript parsing, semantic landmarks, ID/label relationships, inline-copy equality, and forbidden runtime destinations/storage. This record's model checks cover required fields, calendar validity, retained draft, local completion and edit return. These are source/model checks, not rendered interaction checks.

[KNOWLEDGE.json](KNOWLEDGE.json) holds actionable checks with status not_executed. runtime_verified: false. Browser interaction, full keyboard paths, screen-reader output, comfort and performance remain unverified. In the site checkout, research/full-import/preview-posters.md is the central SG initial-render report, artifacts/full-import/preview-posters/index.json owns capture receipts, and artifacts/full-import/preview-posters/visual-review.json owns frame observations. These private reports are not bundled in the download. Initial-render evidence does not change the interaction boundary.

consumer_reference: consumer-reference/agent-native/registry.json
