wild-bedroom

byDamian Chamberz

Here are references images. I want her not to have the face of these women. She should be white, green and black hair, chest tatooes of roses and skulls, sleeve tattooes. And she should have hair but not too long. Focus on hyper realism. Make her look unique. The background i want it to be her bedroom. Unmade bed, in the background i want her helmet to be sitting somewhere, her leather jacket hung behind a door. Her pose should be her tongue out with a wink. She should have gold tip canines that make them look sharp but not long, the gold should just be the edges of the tooth.

No preview

Comments (0)

No comments yet. Be the first!

System Requirements

System Requirements Document for wild-bedroom

1. Introduction

wild-bedroom is a first-party creative tool for generating one hyper-realistic character portrait from a set of reference images and an explicit trait specification. The product's intent is to let a single self-starting Character Designer art-direct a specific female character — white skin, green-and-black shoulder-length hair, rose-and-skull chest tattoos, full sleeve tattoos, tongue out with a wink, gold-edged sharp canine tips — posed in her own bedroom with an unmade bed, a helmet resting somewhere in the background, and a leather jacket hung behind a door.

The audience is the Character Designer: one person, working alone, who supplies reference images and trait decisions, generates the portrait, inspects the result against every specified attribute, and iterates until the character looks unique, hyper-realistic, and does not carry the face of any woman in the supplied reference images.

The product is delivered as a custom web application with application-owned identity, a public entry surface, self-service enrollment, returning verification, and a protected generation workspace.

Page 1 of 29

2. System Overview

wild-bedroom is a web application composed of four first-party pages: Landing, Sign Up, Create Character, and Login. The Landing page is the anonymous public entry that explains what the product does before any protected work begins. Sign Up establishes first-use identity for the self-starting Character Designer. Login verifies a returning Character Designer so prior generation work can be resumed. Create Character is the protected generation workspace where reference images are supplied, the character is generated against the specified traits, and the result is reviewed and adjusted.

The only accepted active human actor is the Character Designer. The reference images of women supplied by the user are an inspiration_only visual reference used strictly as a negative reference: the generated character must not have the face of any woman shown in those images. They supply no product names, copy, facts, or capabilities.

Current delivery covers: anonymous product explanation, self-service enrollment, returning verification, reference-image intake, trait-specified character generation, result review, and adjustment requests. Explicitly out of scope for the current horizon: any capability not named in the authoritative requirement thread — no multi-character library, no sharing or export pipeline, no collaboration, no billing, no third-party provider surface, and no account-management features beyond first-use enrollment and returning verification.

Page 2 of 29

2a. Product Interpretation and Delivery Boundary

The product is a single-purpose creative workspace, not a general image platform. Everything the Character Designer does happens inside one protected generation workspace, reached from a public entry surface that explains the product before any protected work begins. Identity is application-owned and self-service: the Character Designer enrolls themselves on first use and verifies themselves on return, with no invitation, provisioning, or deployment bootstrap boundary. The Landing page and Sign Up are anonymously reachable; Create Character requires a verified identity so that a generation session and its result remain bound to the correct person and can be resumed. Login is anonymously reachable because it is the interaction that establishes access to the protected workspace.

The reference images are used only as a negative constraint on facial likeness. They are not a content source, and no factual entity, field, or value is drawn from them.

2b. Source Content Inventory

Not applicable. The supplied reference directive declares uses: ["visual_inspiration"] with authority: inspiration_only and is not a content_source; it contributes only the negative facial-likeness constraint and no factual content.

2c. Page Content and Component Coverage

Page 3 of 29

Landing

  • Information and state: Anonymous public entry. Explains that wild-bedroom creates hyper-realistic character images from supplied reference images and specified traits. Presents the product wordmark and the character as the hero subject. No protected state is available here.
  • Primary action: Enter the product — proceed to Sign Up to begin, or to Login to resume.
  • Supporting actions: Navigate to Login; navigate to Sign Up.
  • Domain entities: None persisted. The hero character portrait is presentation content.
  • Component responsibilities: Full-bleed dark ground; asymmetric two-column hero with the character portrait bleeding off the right edge and overlapping a hot pink colour block; oversized wild-bedroom wordmark in Syne 800, all lowercase, running edge-to-edge; a single pill CTA in acid lime pinned beneath the headline; a horizontal scrolling row of reference thumbnails and trait chips below the hero.
  • States: Loading — hero portrait and thumbnail row resolve progressively. Empty — not applicable; the page is static presentation plus navigation. Success — the Character Designer understands the product and chooses an entry path. Error — hero image fails to load: the colour block, wordmark, and CTA remain fully readable and functional. Recovery — retry image load; navigation remains available regardless.
Page 4 of 29

Sign Up

  • Information and state: Anonymous first-use enrollment surface. Collects the minimum identity information needed to establish an application-owned identity for the Character Designer. No invitation or provisioning step exists.
  • Primary action: Create the identity and enter the protected generation workspace.
  • Supporting actions: Navigate to Login if an identity already exists; return to Landing.
  • Domain entities: Character Designer identity (credential and identity record).
  • Component responsibilities: Enrollment form; inline field validation; submit control; link to Login; link back to Landing.
  • States: Loading — submit in progress, control disabled. Empty — pristine form with no values. Success — identity established and the Character Designer is taken into Create Character. Error — invalid or already-used identity information: the specific field is marked and the entered values are preserved. Recovery — correct the marked field and resubmit; or switch to Login.
Page 5 of 29

Create Character

  • Information and state: Protected generation workspace. Holds the supplied reference images, the trait specification for the character, the generated portrait result, and the history of adjustments within the session. Requires a verified identity.
  • Primary action: Generate the hyper-realistic character portrait honoring every specified trait.
  • Supporting actions: Upload or remove reference images; set and adjust trait chips for hair, tattoos, pose, teeth, and setting; review the generated result; request an adjustment; regenerate.
  • Domain entities: Reference image set; trait specification (hair, tattoos, pose, teeth, setting); generated portrait result; adjustment request; generation session bound to the Character Designer.
  • Component responsibilities: Sticky left trait panel with sticker-like trait chips for hair, tattoos, pose, teeth, and setting; reference-image upload and thumbnail row; large right canvas for the generated result; a gold micro-callout that circles the character's canines in the portrait with the label "gold edge only"; a horizontal acid-lime marquee of the wordmark across the top of the page; generate and adjust controls.
  • States: Loading — generation in progress with a visible in-progress state on the canvas. Empty — no reference images or no trait values set yet: the canvas shows a prompt to supply references and traits before generating. Success — a portrait is produced and displayed, and every specified attribute is inspectable against the trait panel. Error — generation fails, or the result visibly violates a hard constraint (for example a face matching a reference image, hair too long, gold covering more than the tooth edge, or a missing bedroom element): the failure is stated plainly and the previous result and trait values are preserved. Recovery — adjust the relevant trait chip or reference set and regenerate; the session retains prior inputs.
Page 6 of 29

Login

  • Information and state: Anonymous returning-verification surface. Accepts the Character Designer's identity information to restore access to their prior generation work.
  • Primary action: Verify identity and return to the protected generation workspace with prior work resumed.
  • Supporting actions: Navigate to Sign Up if no identity exists; return to Landing.
  • Domain entities: Character Designer identity (credential and identity record); prior generation session.
  • Component responsibilities: Verification form; inline validation; submit control; link to Sign Up; link back to Landing.
  • States: Loading — verification in progress, control disabled. Empty — pristine form. Success — identity verified and the Character Designer is returned to Create Character with prior work available. Error — credentials do not match: a clear message is shown without revealing which part was wrong. Recovery — re-enter credentials and resubmit; or switch to Sign Up.
Page 7 of 29

3. Functional Requirements

FR-1 — Public product explanation As a Character Designer, I should see, before any protected work begins, an anonymous Landing page that explains that wild-bedroom creates hyper-realistic character images from reference images and specified traits, so that I understand what the product does and how to begin. Provenance: required_inference. Lifecycle: Trigger — visiting the product with no verified identity. Observable result — the Landing page renders the wordmark, the character hero, and an entry CTA. Access state — anonymous. Failure/recovery — if the hero image fails, the wordmark, explanation, and CTA remain readable and functional. Continuation — proceed to Sign Up or Login.

FR-2 — Self-service first-use enrollment As a Character Designer, I should be able to establish my own identity on first use without an invitation or provisioning step, so that I can begin protected character generation work. Provenance: required_inference. Lifecycle: Trigger — choosing to begin from Landing with no existing identity. Observable result — an identity is created and I am taken into the protected generation workspace. Access state — anonymous entry on Sign Up. Failure/recovery — invalid or already-used identity information is marked on the specific field with entered values preserved; I can correct and resubmit or switch to Login. Continuation — Create Character.

Page 8 of 29

FR-3 — Returning verification and resume As a Character Designer, I should be able to verify my identity on return and be brought back to my prior character generation work, so that I can continue iterating without losing what I had already set up. Provenance: required_inference. Lifecycle: Trigger — returning to the product with an existing identity. Observable result — identity verified and prior generation session available in the protected workspace. Access state — anonymous entry on Login; protected state unavailable until verification succeeds. Failure/recovery — a clear message is shown without revealing which credential part was wrong; I can re-enter and resubmit or switch to Sign Up. Continuation — Create Character with prior work resumed.

FR-4 — Reference image intake As a Character Designer, I should be able to supply the reference images of women to the generation workspace, so that the product can use them as a negative reference for facial likeness. Provenance: explicit (the user supplied reference images and stated the negative-likeness intent). Lifecycle: Trigger — adding images in the reference-image area of Create Character. Observable result — the images appear as thumbnails in the reference row and are held in the session. Access state — verified identity required. Failure/recovery — an image that cannot be accepted is reported and the existing reference set is unchanged. Continuation — set traits and generate.

Page 9 of 29

FR-5 — Negative facial-likeness constraint As a Character Designer, I should get a character that does not have the face of any of the women in the supplied reference images, so that the result is a distinct, original character rather than a copy of a reference. Provenance: explicit. Lifecycle: Trigger — generation with a reference set present. Observable result — the produced portrait's face does not match any woman in the reference images. Access state — verified identity required. Failure/recovery — if the result resembles a reference face, the failure is stated plainly, the previous result and inputs are preserved, and I can adjust and regenerate. Continuation — review and adjust.

FR-6 — Hyper-realistic rendering As a Character Designer, I should get a hyper-realistic rendering of the character, so that the portrait reads as photographic rather than illustrated or stylized. Provenance: explicit. Lifecycle: Trigger — generation. Observable result — the portrait is rendered with hyper-realistic detail. Access state — verified identity required. Failure/recovery — a result that does not read as hyper-realistic is reported as a failure and can be regenerated. Continuation — review and adjust.

FR-7 — Unique character appearance As a Character Designer, I should get a character that looks unique, so that the portrait does not read as a generic or stock character. Provenance: explicit. Lifecycle: Trigger — generation. Observable result — the character presents as a distinct individual. Access state — verified identity required. Failure/recovery — a result that reads as generic is reported and can be regenerated. Continuation — review and adjust.

Page 10 of 29

FR-8 — Skin tone As a Character Designer, I should get a character with white skin, so that the specified skin tone is honored. Provenance: explicit. Lifecycle: Trigger — generation. Observable result — the character's skin is white. Access state — verified identity required. Failure/recovery — a mismatch is reported and can be regenerated. Continuation — review and adjust.

FR-9 — Hair color As a Character Designer, I should get a character with green and black hair, so that the specified hair coloring is honored. Provenance: explicit. Lifecycle: Trigger — generation. Observable result — the character's hair is green and black. Access state — verified identity required. Failure/recovery — a mismatch is reported and can be regenerated. Continuation — review and adjust.

FR-10 — Hair length As a Character Designer, I should get a character who has hair but whose hair is not too long, so that the specified moderate length is honored. Provenance: explicit. Lifecycle: Trigger — generation. Observable result — the character has hair of a moderate, not-too-long length. Access state — verified identity required. Failure/recovery — hair that is absent or too long is reported as a failure and can be regenerated. Continuation — review and adjust.

FR-11 — Chest tattoos As a Character Designer, I should get a character with chest tattoos of roses and skulls, so that the specified chest tattoo subject matter is honored. Provenance: explicit. Lifecycle: Trigger — generation. Observable result — the chest carries tattoos depicting roses and skulls. Access state — verified identity required. Failure/recovery — a mismatch is reported and can be regenerated. Continuation — review and adjust.

Page 11 of 29

FR-12 — Sleeve tattoos As a Character Designer, I should get a character with sleeve tattoos, so that the specified arm coverage is honored. Provenance: explicit. Lifecycle: Trigger — generation. Observable result — the character's arms carry sleeve tattoos. Access state — verified identity required. Failure/recovery — a mismatch is reported and can be regenerated. Continuation — review and adjust.

FR-13 — Pose: tongue out with a wink As a Character Designer, I should get a character posed with her tongue out and winking, so that the specified expression is honored. Provenance: explicit. Lifecycle: Trigger — generation. Observable result — the character's expression shows the tongue out and a wink. Access state — verified identity required. Failure/recovery — a mismatch is reported and can be regenerated. Continuation — review and adjust.

FR-14 — Gold-tipped canines As a Character Designer, I should get a character whose canines have gold tips that make them look sharp but not long, with the gold only on the edges of the tooth, so that the specified dental detail is honored exactly. Provenance: explicit. Lifecycle: Trigger — generation. Observable result — the canine tips are gold-edged, the teeth read as sharp but not long, and gold appears only at the tooth edges. Access state — verified identity required. Failure/recovery — gold covering more than the tooth edge, or teeth that read as long, is reported as a failure and can be regenerated. Continuation — review and adjust.

Page 12 of 29

FR-15 — Bedroom background with unmade bed As a Character Designer, I should get a character whose background is her bedroom with an unmade bed, so that the specified setting is honored. Provenance: explicit. Lifecycle: Trigger — generation. Observable result — the background is a bedroom containing an unmade bed. Access state — verified identity required. Failure/recovery — a missing or wrong setting is reported and can be regenerated. Continuation — review and adjust.

FR-16 — Helmet in the background As a Character Designer, I should get a character whose helmet is visible somewhere in the background, so that the specified prop is present. Provenance: explicit. Lifecycle: Trigger — generation. Observable result — a helmet is visible somewhere in the background. Access state — verified identity required. Failure/recovery — a missing helmet is reported and can be regenerated. Continuation — review and adjust.

FR-17 — Leather jacket hung behind a door As a Character Designer, I should get a character whose leather jacket is hung behind a door in the background, so that the specified prop and its placement are honored. Provenance: explicit. Lifecycle: Trigger — generation. Observable result — a leather jacket is hung behind a door in the background. Access state — verified identity required. Failure/recovery — a missing or misplaced jacket is reported and can be regenerated. Continuation — review and adjust.

Page 13 of 29

FR-18 — Trait specification and adjustment As a Character Designer, I should be able to set and adjust the character's traits — hair, tattoos, pose, teeth, and setting — and request an adjustment to the generated result, so that I can iterate until every specified attribute is correct. Provenance: required_inference (the accepted journey requires the Character Designer to direct and re-direct the character's appearance and scene details until the result matches). Lifecycle: Trigger — reviewing a generated result in Create Character. Observable result — the adjusted trait values are applied and a new result is produced. Access state — verified identity required. Failure/recovery — a failed adjustment preserves the previous result and the current trait values. Continuation — review the new result and adjust again or finish.

FR-19 — Session continuity As a Character Designer, I should have my reference images, trait values, and generated results remain bound to my identity across visits, so that I can resume my character work where I left it. Provenance: required_inference (identity continuity is indispensable for the accepted resume journey). Lifecycle: Trigger — returning and verifying identity. Observable result — prior reference set, trait values, and results are available in the workspace. Access state — verified identity required. Failure/recovery — if prior work cannot be restored, the workspace opens in its empty state with a clear notice rather than failing silently. Continuation — continue generating or adjusting.

4. User Personas

Page 14 of 29

Character Designer

Product context. The Character Designer is a single, self-starting creative professional working alone in wild-bedroom. They arrive with a concrete art direction already in mind and a set of reference images of women they explicitly do not want the character to resemble. They are not browsing for inspiration; they are executing a specific brief.

Primary goal. Produce one finished hyper-realistic portrait of a specific female character that matches every specified attribute and reads as a unique individual.

Distinct accepted responsibilities. The Character Designer supplies the reference images that define the negative facial-likeness boundary; specifies and adjusts the character's skin tone, hair color and moderate length, rose-and-skull chest tattoos, sleeve tattoos, tongue-out winking pose, gold-edged sharp canine tips, and bedroom setting with unmade bed, helmet, and leather jacket hung behind a door; generates the portrait; inspects the result attribute by attribute against the specification; and requests adjustments until the result is correct. They also establish their own identity on first use and verify it on return so their work is preserved.

Relevant inputs and decisions. Which reference images to supply; whether the generated face resembles any reference woman; whether the hair is present and not too long; whether the gold sits only on the tooth edges and the teeth read sharp but not long; whether the bedroom, unmade bed, helmet, and door-hung leather jacket are all present; whether the result reads as hyper-realistic and unique. Each of these is a decision to accept the result or request an adjustment.

Interactions with other accepted participants. None. The Character Designer is the only accepted active human actor; there is no collaborator, reviewer, or recipient in the current horizon.

Page 15 of 29

Observable success. A finished portrait in which the character has white skin, green-and-black not-too-long hair, rose-and-skull chest tattoos, sleeve tattoos, tongue out with a wink, gold only on the edges of sharp-but-not-long canine tips, posed in her bedroom with an unmade bed, a helmet visible in the background, and a leather jacket hung behind a door — and whose face does not match any woman in the supplied reference images.

5. Core User Flows

Page 16 of 29

Flow 1 — First-time Character Designer begins and generates the character

  1. The Character Designer opens wild-bedroom with no verified identity and lands on Landing. The page explains that the product creates hyper-realistic character images from reference images and specified traits, and shows the character hero with the wild-bedroom wordmark and an acid-lime pill CTA.
  2. The Character Designer selects the CTA and goes to Sign Up.
  3. On Sign Up, the Character Designer enters the identity information needed to establish their own account. No invitation or provisioning step is required.
  4. The identity is created and the Character Designer is taken into Create Character, the protected generation workspace.
  5. In the reference-image area, the Character Designer uploads the reference images of women. The images appear as thumbnails in the reference row and are held in the session. These images serve only as a negative reference for facial likeness.
  6. In the sticky left trait panel, the Character Designer sets the trait chips: hair (green and black, present but not too long), tattoos (rose-and-skull chest tattoos and sleeve tattoos), pose (tongue out with a wink), teeth (gold tips on the canines, sharp-looking but not long, gold only on the edges of the tooth), and setting (her bedroom with an unmade bed, a helmet visible somewhere in the background, and a leather jacket hung behind a door).
  7. The Character Designer triggers generation. The canvas shows a visible in-progress state.
Page 17 of 29
  1. The generated portrait appears on the large right canvas. The Character Designer inspects it against the trait panel: white skin; green-and-black not-too-long hair; rose-and-skull chest tattoos; sleeve tattoos; tongue out with a wink; gold only on the canine edges with teeth that read sharp but not long; bedroom background with unmade bed, helmet, and door-hung leather jacket; hyper-realistic rendering; a unique look; and a face that does not match any woman in the reference images. The gold micro-callout circles the canines with the label "gold edge only" so the detail can be checked directly.
  2. If any attribute is wrong — for example the face resembles a reference woman, the hair is too long, the gold covers more than the tooth edge, or a bedroom element is missing — the failure is stated plainly, the previous result and trait values are preserved, and the Character Designer adjusts the relevant trait chip or the reference set and regenerates.
  3. When the result matches every specified attribute, the Character Designer has their finished character portrait. The reference set, trait values, and result remain bound to their identity.
Page 18 of 29

Flow 2 — Returning Character Designer resumes and continues iterating

  1. The Character Designer returns to wild-bedroom and goes to Login from the Landing page.
  2. On Login, the Character Designer enters their identity information. Protected state is unavailable until verification succeeds.
  3. If the credentials do not match, a clear message is shown without revealing which part was wrong; the Character Designer re-enters the credentials and resubmits, or switches to Sign Up.
  4. On successful verification, the Character Designer is returned to Create Character with their prior reference images, trait values, and generated results available.
  5. If prior work cannot be restored, the workspace opens in its empty state with a clear notice rather than failing silently, and the Character Designer re-supplies references and traits.
  6. The Character Designer continues adjusting trait chips and regenerating until the portrait matches every specified attribute, then finishes with the completed character.
Page 19 of 29

6. Visuals Colors and Theme

The creative direction is authoritative for this section. Muse: Jessica Walsh. Headline register: saturated attitude for a character generator that bites back — wild, playful, transgressive, unapologetically loud moto-culture energy, never a calm utility.

Colour tokens (dark mode, authoritative):

RoleHexUsage
Background#141014Deep near-black plum ground; ~55% of surface area
Surface#1F1A20Panels, cards, sticky trait panel; ~20%
Text#FFF4E9Warm off-white body and heading text; ~2%
Primary#FF2D8AHot pink CTAs, wordmark, hero colour block; ~15%
Accent#D6FF3FAcid lime — green-hair echo, focus rings, marquee, hero pill CTA; ~8%
Muted#8A7F86Secondary labels and inactive chips
Gold micro-accent#E9B949Only the canine detail callout in the portrait

Typography. Headings: Syne at 800 weight, tight -0.03em tracking — all-lowercase for the wordmark, uppercase for section labels. Headlines are set enormous, spanning the viewport width and allowed to overlap the character image edge. Body: Archivo at 400/500 with generous 1.6 line-height. Scale: 1.333 modular — 64/48/32/20/16 on desktop, 40/32/24/18/16 on mobile, with clamp() on display sizes.

Page 20 of 29

Shape language. Big 28–40px radii on cards and buttons; pill-shaped CTAs; chunky sticker-like badges with a 3px offset shadow; hard-edged colour-block panels contrasting with the soft radii. The character portrait itself is a hard-edged rectangle cropped dramatically, so the soft UI frames a sharp subject.

Spacing rhythm. Full-bleed dark ground with generous asymmetric gutters; the hero splits 45% colour block / 55% portrait with an 80px overlap; below the hero, a horizontal scrolling row of reference thumbnails and trait chips that can be dragged and reordered.

Imagery style. One hero image: the hyper-realistic character — white skin, green-and-black shoulder-length hair, rose-and-skull chest tattoos, full sleeve tattoos, tongue out with a wink, gold-edged sharp canines — posed in her bedroom with an unmade bed, a helmet on a chair, and a leather jacket hung behind the door. The photo is colour-graded toward the hot pink/lime palette, then cut out and placed on a flat colour block so the UI feels hand-built rather than stock.

Avoid (binding). Blue or indigo accents anywhere; white or near-white page grounds; Inter, Roboto, Arial, Helvetica, Open Sans, Lato, Poppins, or system-ui for headings or body; gradient-blob heroes or glassmorphism panels; grids of identical hover-lift cards; centred headline + subtext + blue button hero composition; muted, corporate, or neutral colour treatments; photographic backgrounds that compete with the character portrait.

Page 21 of 29

7. Signature Design Concept

The public entry is a full-viewport dark plum ground (#141014) with a single oversized hot pink #FF2D8A block occupying the left 45% of the screen. The character portrait — cropped at the shoulder and bleeding off the right edge — dominates the right 55% and overlaps the pink block by 80px. The wordmark wild-bedroom is set in Syne 800 at clamp(56px, 12vw, 160px), all lowercase, in warm off-white, stacked over the pink block and allowed to run edge-to-edge. A single pill CTA in acid lime #D6FF3F sits pinned beneath the headline. There is no centred layout, no subtext paragraph, no blue button, and no gradient.

The concept carries the product's defining detail into the interface: on Create Character, a gold #E9B949 micro-callout draws a thin circle around the character's canines in the portrait with a small label reading "gold edge only" — turning the most specific requirement in the brief into a UI moment. Trait chips are sticker-like pills with a 3px offset shadow and a bouncy 1.15 scale on hover, each carrying a tiny emoji-like icon for hair, tattoos, pose, teeth, and setting. A horizontal marquee of the wordmark scrolls across the top of the Create page in acid lime, pausing on hover and wrapping into static rows under prefers-reduced-motion.

Page 22 of 29

8. Interaction Model & Motion Direction

Interaction Model: Animated Motion Tempo: restrained Hero Dimensionality: layered_2d

Landing Hero Motion Brief. Focal subject: the hyper-realistic character portrait, cropped at the shoulder, bleeding off the right edge and overlapping the hot pink colour block. Input → transformation → outcome thesis: as the Character Designer scrolls the Landing page, the character portrait and the flat colour blocks shift at slightly different rates, so the portrait separates from the pink block and the oversized wild-bedroom wordmark settles into place — the composition resolves into the product's signature asymmetric hero without any element changing what it means. Motion vocabulary: subtle parallax between the character portrait and the background colour blocks on scroll; bouncy scale-ins on trait chips; hot pink hover flips on buttons; the acid-lime wordmark marquee on the Create page. No gradient blobs, no glass. Composed first frame: dark plum ground, hot pink block on the left 45%, portrait bleeding off the right edge and overlapping the block by 80px, wild-bedroom in Syne 800 running edge-to-edge over the pink block, acid-lime pill CTA pinned beneath the headline. Reduced-motion state: the parallax is removed and the hero renders as a single static composed frame with the portrait, colour block, wordmark, and CTA in their final positions; the Create-page marquee wraps into static rows so every item is fully readable.

Page 23 of 29

9. Non-Functional Requirements

NFR-1 — Hyper-realistic output fidelity. Generated portraits must render at a level of detail that reads as hyper-realistic rather than illustrated or stylized. Provenance: explicit. Rationale: the user's brief states "Focus on hyper realism."

NFR-2 — Negative facial-likeness guarantee. The generated character's face must not match the face of any woman in the supplied reference images. Provenance: explicit. Rationale: the user's brief states "I want her not to have the face of these women."

NFR-3 — Attribute-level inspectability. Every specified attribute — skin tone, hair color and length, chest tattoos, sleeve tattoos, pose, canine gold edges, bedroom, unmade bed, helmet, door-hung leather jacket — must be individually inspectable in the generated result so the Character Designer can verify it against the specification. Provenance: required_inference. Rationale: the accepted journey requires the Character Designer to check each attribute and request adjustments.

NFR-4 — Session durability. Reference images, trait values, and generated results must remain bound to the Character Designer's identity across visits. Provenance: required_inference. Rationale: the accepted resume journey requires prior work to be available on return.

Page 24 of 29

NFR-5 — Readable text and controls at every viewport. Headlines, wordmarks, labels, numbers, card text, and controls must stay entirely inside the viewport and their container at 375px, 768px, and 1280px, wrapping or scaling (for example font-size: clamp(...) with its mobile size) to fit, with no other element covering any part of them. Imagery, decoration, and motion may be cropped, bled off an edge, rotated, overlapped, or cut as the creative direction asks, provided they cover no readable text or control. Provenance: explicit (creative direction constraint).

NFR-6 — Reduced-motion support. Under prefers-reduced-motion, the marquee must wrap into static rows and the hero parallax must resolve to a static composed frame, with every item fully readable. Provenance: explicit (creative direction constraint).

NFR-7 — Palette and typography adherence. The interface must use the specified dark-mode palette and the Syne/Archivo type pairing, and must not use blue or indigo accents, white or near-white page grounds, or the listed prohibited typefaces. Provenance: explicit (creative direction constraint).

Page 25 of 29

10. Tech Stack

  • Frontend: React (web), single-page application with four routes — Landing, Sign Up, Create Character, Login.
  • Backend: Python / FastAPI, serving identity enrollment and verification, reference-image intake, trait specification storage, generation requests, and session retrieval.
  • Storage: Persistent storage for Character Designer identities, reference image sets, trait specifications, generated results, and generation sessions.
  • Generation service: Server-side image generation honoring the trait specification and the negative facial-likeness constraint, invoked by the backend.
  • Containerization: Docker with docker-compose.yml as the inventory of runnable services; the backend, frontend, storage, and generation work are served from this composition. No separate service is introduced beyond what the accepted workflows require.
Page 26 of 29

11. Assumptions and Constraints

Assumptions

  • A-1 [Assumption — not specified by user]: The reference images are supplied by the Character Designer at generation time and are used only as a negative reference for facial likeness; they are not a content source and contribute no factual content.
  • A-2 [Assumption — not specified by user]: "Not too long" hair is interpreted as shoulder-length, consistent with the creative direction's description of the character.
  • A-3 [Assumption — not specified by user]: The helmet's exact placement in the background is unspecified beyond "sitting somewhere"; the creative direction places it on a chair.
  • A-4 [Assumption — not specified by user]: A generation session may contain multiple results as the Character Designer iterates; only the accepted adjustment lifecycle is in scope.

Constraints

Page 27 of 29
  • C-1 (explicit, binding): The character must not have the face of any of the women in the supplied reference images.
  • C-2 (explicit, binding): The character is white with green and black hair.
  • C-3 (explicit, binding): The character has hair, but it is not too long.
  • C-4 (explicit, binding): The character has chest tattoos of roses and skulls.
  • C-5 (explicit, binding): The character has sleeve tattoos.
  • C-6 (explicit, binding): The character's pose is tongue out with a wink.
  • C-7 (explicit, binding): The character has gold-tipped canines that look sharp but not long, with the gold only on the edges of the tooth.
  • C-8 (explicit, binding): The character should look unique.
  • C-9 (explicit, binding): The background is her bedroom with an unmade bed.
  • C-10 (explicit, binding): Her helmet is visible somewhere in the background.
  • C-11 (explicit, binding): Her leather jacket is hung behind a door in the background.
  • C-12 (explicit, binding): Focus on hyper realism.
  • C-13 (explicit, binding): The reference images are used only as a negative reference for facial likeness and supply no product names, copy, facts, or capabilities.

Current-horizon exclusions. No capability beyond the four accepted pages and the requirements above is in scope: no multi-character library, no sharing, export, or download pipeline, no collaboration or review by another person, no billing or subscription, no third-party provider surface, and no account-management features beyond first-use enrollment and returning verification.

Page 28 of 29

12. Glossary

  • Character Designer — The single accepted active human actor of wild-bedroom; the person who supplies reference images, specifies the character's traits, generates the portrait, and iterates until it matches the brief.
  • Reference images — The user-supplied images of women, used strictly as a negative reference: the generated character must not have the face of any woman shown in them.
  • Trait specification — The set of character attributes the Character Designer sets and adjusts: hair, tattoos, pose, teeth, and setting.
  • Trait chip — A sticker-like pill control in the sticky left trait panel of Create Character, carrying a tiny icon for hair, tattoos, pose, teeth, or setting.
  • Gold edge only — The constraint that gold on the canines appears only at the edges of the tooth, making the teeth look sharp but not long; surfaced in the UI as a gold micro-callout circling the canines in the portrait.
  • Generation session — The identity-bound record of a Character Designer's reference images, trait values, and generated results, resumable across visits.
  • Negative facial-likeness constraint — The binding requirement that the generated character's face does not match any woman in the supplied reference images.
  • Hyper realism — The required rendering fidelity at which the portrait reads as photographic rather than illustrated or stylized.
Page 29 of 29

No completed page designs yet.

Completed design pages will appear here when they are ready to preview.

Landing: Understand product
Sign Up: Begin enrollment
Sign Up: 1. Enter identity information
Sign Up: 2. Correct marked field
Create Character: Upload reference images
Create Character: Set trait chips
Create Character: Trigger generation
Create Character: 1. Inspect result attributes
Create Character: 2. Adjust trait chip
Create Character: 3. Regenerate portrait
Create Character: Finish character
Landing: Choose Login
Login: 1. Enter credentials
Login: 2. Re-enter credentials
Create Character: Resume prior work
Create Character: Re-supply references and traits

No completed page designs yet.

Completed design pages will appear here when they are ready to preview.

Landing: Understand product
Sign Up: Begin enrollment
Sign Up: 1. Enter identity information
Sign Up: 2. Correct marked field
Create Character: Upload reference images
Create Character: Set trait chips
Create Character: Trigger generation
Create Character: 1. Inspect result attributes
Create Character: 2. Adjust trait chip
Create Character: 3. Regenerate portrait
Create Character: Finish character
Landing: Choose Login
Login: 1. Enter credentials
Login: 2. Re-enter credentials
Create Character: Resume prior work
Create Character: Re-supply references and traits