Skip to main content

ARC 2.0.0-beta.28

Web surfaces

Use AUP for interface semantics and Web Device for Web content/site rendering inside a Blocklet — link out, do not copy primitive catalogs.

A Blocklet can expose a Web-facing surface. The surface still has its own contract. Choose the layer that matches the work, then compose it inside the package.

AUP vs Web Device

AUPWeb Device
Question it answersWhat is the semantic UI (pages, events, primitives)?How is a Web site/content tree rendered?
Typical package paths.aup/app.aup, .aup/pages/, .aup/man/pages/**/layout.aup, .web/, SEO atoms, .route/web
Authoring boardAUPWeb Device
First exerciseFirst AUP appBuild a first site
Checker focusAUP pages / structureSite lint, components, content space

They can coexist in one package (e.g. minimal-app recipe: public web page + AUP app + agent). Coexistence does not make the two boards the same documentation.

How the Blocklet owns the surface

Package concernExample
Identity / DIDblocklet.yaml
Which handler serves /.route/web vs .route/app vs AUP default
Domains and pretty URL bindingssites in blocklet.yaml
Instance data behind a pageAFS paths + bindings (see Data and AFS)

Without a Web route declaration, a direct Blocklet URL may look for AUP entry (.aup/app.aup / app.json) rather than a static Web Device entry. The Web Device first-site guide spells out the minimal .route/web + .web/site.yaml + pages/index/layout.aup set.

Recipe and reference patterns

Starting pointSurface emphasis
arc blocklet create --recipe basicManifest only — add surfaces yourself
--recipe minimal-appOne web page, AUP app, agent, settings
--recipe blog / agentAUP-oriented scaffolds
Web Device first-site guideHand-built minimal static site in a basic package
hello-html (ARC tree)Convention static HTML without blocklet.yaml (teaching sample)
hello-declarative (ARC tree)Minimal .aup/ JSON pages (teaching sample)
did-space (ARC tree)Dual surface: marketing .route/web + explorer AUP under /explorer

Do not copy primitive catalogs here

NeedGo to
AUP primitives / events / DSLAUP board
Web components, themes, markdown embedsWeb Device board
Capability matrix for AUP/Web DeviceAUP/Web Device maintenance matrices (not this board)

This page only records composition points: routes, recipes, and package layout. When a primitive, component, or directive changes, update the owning board — not a fork of the catalog under Blocklets.

Local acceptance for surfaces

bash
arc dsl validate .
arc blocklet check . --profile <matching-profile>
arc blocklet run .
# open printed URL — wide + narrow viewport

A successful package build is not a substitute for opening the rendered page. See Check, build, and inspect and Test and diagnose.