silver-html is a single-page, self-contained HTML deliverable whose entire purpose is to present a 2D animation, drawn with inline SVG, of a pelican riding a bicycle. The page opens and the animation plays automatically; the visitor watches a hand-drawn pelican pedal a coral-red bicycle across a sunny afternoon landscape. There is no account, no data entry, no navigation beyond the single page, and no server interaction required to experience the animation.
The audience is the ordinary visitor who opens the page and immediately watches the loop. The product intent is friendly, absurd, hand-made, and instantly delightful: the two-dimensional SVG nature of the artwork is the visual language itself, not a limitation to be disguised as a generic product page. The page is a lightweight interactive animation piece, not a SaaS marketing site.
The requester also imposed a strict generation constraint: the HTML must be produced directly, with no testing performed, no skills invoked, no network retrieval, and no sub-agent calls. These are binding constraints on how the deliverable is produced and are recorded in Section 11.
prefers-reduced-motion active, the page presents a complete, clear, static riding pose instead of motion.silver-html is delivered as one HTML page named Landing. It is anonymously reachable with no access requirement, no identity, and no session continuity. The page owns the entire accepted outcome: it presents the wordmark and loop status, a two-line headline, a short explanatory line, a status plaque, a play/pause control, and the inline SVG riding stage that animates automatically.
The only active human actor is the Viewer, who opens the page and watches the animation. There are no other human participants, no counterparties, and no durable state produced for any persona. The animation is a self-contained client-side loop; no backend call, database read, or authentication is involved in the accepted behavior.
The provisioned scaffold (a shared FastAPI backend, a MariaDB database, and a React frontend) is infrastructure inventory only. It does not create product requirements: the accepted deliverable is a single static HTML page with inline SVG and CSS/SMIL-style keyframe animation, and no accepted workflow requires persistence, APIs, or accounts. The animation page is served as a static asset; the backend and database remain available but unused by the accepted feature set.
Removed from scope
The product is a presentation artifact, not an application with workflows. Delivery is a single first-party HTML page that a visitor opens directly. Access is anonymous and public; there is no login, no account creation, and no protected state. All animation logic runs in the browser using inline SVG groups and CSS keyframe animation (with prefers-reduced-motion fallbacks). Nothing in the current scope depends on the backend, the database, or the React build pipeline; those services exist in the environment but carry no accepted product behavior. There is no future-horizon requirement stated by the user beyond the current single-page animation.
silver-html, and a single-line loop status on the right reading LOOP 01 · 12s, separated by a small sun icon, both with thick dark-charcoal outlines.\xe9\xb9\x88\xe9\xb9\x95 / 出发。 where the period of the second line is replaced by a small golden-yellow sun; the two lines alternate coral-red and dark-charcoal treatment.正在骑行 · SVG 动画, fixed beneath the headline.aria-label reflect the current state.playing / paused, and the reduced-motion static state.LOOP 01 · 12s).transform-origin for its loop.aria-label together.stroke-dashoffset.FR-1 — Single HTML page delivery (explicit) As a Viewer, I should receive the entire experience as one HTML page so that opening the file shows the animation without any setup.
FR-2 — Inline SVG 2D pelican-on-bicycle animation (explicit) As a Viewer, I should see a 2D animation of a pelican riding a bicycle drawn with SVG so that the page delivers its promised visual.
FR-3 — Automatic playback (explicit) As a Viewer, I should see the animation play automatically on load so that I do not need to press anything to enjoy it.
prefers-reduced-motion, the page shows the static pose instead (see FR-6).FR-4 — Play/pause control (explicit, from creative direction signature moves) As a Viewer, I should be able to pause and resume the animation with a circular control in the stage corner so that I can hold a still frame or restart motion.
aria-label update in sync to reflect the new state.FR-5 — Readable text and controls remain whole (explicit, from creative direction) As a Viewer, I should see the headline, wordmark, status labels, plaque, footer legend, and play/pause control fully visible and uncropped at 375px, 768px, and 1280px so that nothing readable is clipped or covered.
clamp() with mobile minimum) to stay inside the viewport and its container; no SVG element covers any readable text or control.FR-6 — Reduced-motion static arrangement (explicit, from creative direction)
As a Viewer with prefers-reduced-motion, I should see a complete, clear static riding pose instead of motion so that the page is usable without animation.
FR-7 — Direct generation without testing, skills, network, or sub-agents (explicit constraint) As the requester, I should have the HTML generated directly so that the stated production constraints are honored.
silver-html and loop status LOOP 01 · 12s appear at the top; the two-line headline \xe9\xb9\x88\xe9\xb9\x95 / 出发。 (with the sun-replaced period) appears in its own safe area; the status plaque 正在骑行 · SVG 动画 sits beneath the headline.aria-label update together to indicate the paused state.prefers-reduced-motion)The creative direction is authoritative for this section.
#FFF3D6 (cream yellow, covers the page)#FFFBEF (ivory, for SVG plaques and small info areas)#263238 (dark charcoal, all body text, outlines, readable labels)#F05A3C (coral red — bicycle frame, primary buttons, visual rhythm)#F2B544 (marigold yellow — pelican beak, sun, hub details)#78A99A (sage green — ground, leaves, secondary decoration)clamp(44px, 9vw, 112px) with 44px mobile minimum; subtitle clamp(20px, 3vw, 32px); body 16px; labels and animation status 13px.SVG LOOP / 01 status marker; asymmetric left-text / right-stage composition in the middle; mobile stacks headline and one explanatory line above the stage with safe padding; tablet/desktop stage occupies about 58% of visible width; bottom keeps only one visible loop explanation and a muted motion legend — no card grid.The public entry is a cream-yellow horizontal riding stage, not a centered SaaS hero. The top-left carries an oversized two-line headline \xe9\xb9\x88\xe9\xb9\x95 / 出发。 alternating coral-red and dark-charcoal, with the second line's period replaced by a small golden-yellow sun; the headline lives in its own safe area and never overlaps the animation. To the right and below, a giant inline SVG pelican (about 68% of stage height) rides a coral-red bicycle rightward along a dark-charcoal dashed road, with a golden sun pressed behind the bird and sage-green hills across the bottom. Beneath the headline sits a small rounded status plaque reading 正在骑行 · SVG 动画 — no centered CTA. The whole scene is flat, layered 2D, and the motion is the protagonist.
Signature moves to implement:
transform-origin.stroke-dashoffset loops to create forward motion without moving readable content.silver-html plus a single-line loop status LOOP 01 · 12s, separated by a small sun icon with thick outlines.aria-label update together; under reduced-motion the complete static scene is shown by default.Interaction Model: Animated Motion Tempo: expressive Hero Dimensionality: layered_2d
Landing Hero Motion Brief
stroke-dashoffset) → the Viewer perceives continuous forward riding. Pausing freezes the composed frame; reduced-motion shows the complete static pose.stroke-dashoffset road dashes.LOOP 01 · 12s; left safe-area headline \xe9\xb9\x88\xe9\xb9\x95 / 出发。 with sun-period; status plaque 正在骑行 · SVG 动画; right/below the pelican on the bicycle mid-stroke on the dashed road; sun behind; hills across the bottom; circular play/pause control in the stage corner.prefers-reduced-motion yields a complete static pose with wheels and background stopped. Rationale: accessibility.aria-label update in sync; the control is keyboard-focusable. Rationale: operable and truthful state.aria-label sync). No build step is required for the accepted page.frontend: React application UI (available; the accepted page is a static HTML artifact and does not depend on it).backend: shared FastAPI process for application APIs and domain modules (available; no accepted API is required).database: MariaDB for application-owned persistent data (available; no accepted domain entity or persistence is required).LOOP 01 · 12s status label in the creative direction.transform-origin: the pivot point around which an SVG group rotates or scales; each animated group has an explicit one.stroke-dashoffset: the SVG property animated to make the dashed road appear to advance.prefers-reduced-motion: a CSS media feature indicating the user prefers reduced motion; triggers the static pose.aria-label: the accessible name of the play/pause control, kept in sync with its visible text.LOOP 01 · 12s): the top-bar label identifying the animation loop and its 12-second duration.正在骑行 · SVG 动画): the small rounded label beneath the headline indicating the animation is running.
下午好 · 一位访客
一只认真踩踏板的鹈鹕,沿着虚线道路一路向右。
正在骑行SVG 动画
下午好 · 一位访客
一只认真踩踏板的鹈鹕,沿着虚线道路一路向右。
正在骑行SVG 动画
No comments yet. Be the first!