# Scrapbook Photo Gallery

Schema: Design Details SECTION.md v3.2
Website: Chandebootcamp
Source: https://www.chandebootcamp.com/
Source section IDs: e22967c3-dc10-4e2e-8e6f-cbb3c4742572
Status: AI analysed; vocabulary promotion is automated

## Classification

- Type: gallery
- Layout: Freeform overlapping image collage on a dark background.
- Styles: playful, hand-drawn, photographic, retro
- Confidence: 95%

## Purpose and structure

A playful, cluttered collage of photos styled like a physical scrapbook with stamp borders and stickers.

Visual signature: A messy cluster of event photos enclosed in white jagged postage-stamp borders with colorful text stickers.

## Components

- postage stamp frames
- overlapping photos
- graphic stickers
- pixel art accents

## Typography

- Display: Phudu — 80px 700
- Heading: Phudu — 80px 700
- Body: Phudu — 14.4px 600
- Mono: Geist Mono — 12px 500

## Functional palette

- Primary-Action: primary action #68F12B
- Canvas: canvas #F4F3EB
- Text: text #000000
- Surface: surface #0F1513
- Muted-Text: muted text #838B89

## Motion evidence

- No section-specific authored motion was established.

## Section quality

Overall: 57.82/100 (Competent)
Scored coverage: 85%

- Typography: 52 — Text (stamp titles, event names) appears mostly baked directly into image assets rather than live CSS type, with inconsistent casual fonts and sizes across stickers; no clear hierarchy system is demonstrated by the deterministic evidence for this crop. Next tier: Would need visible, reusable type scale/hierarchy applied via CSS rather than text burned into photo stickers.
- Composition: 64 — Dense freeform overlapping collage of stamp-framed photos and stickers with varied rotation and scale creates energetic, intentional clutter; a pixel-grid strip anchors the bottom, giving the chaos a loose structural base. Next tier: Needs tighter visual rhythm or clearer focal hierarchy among the many competing stamps to read as more than busy scatter.
- Motion: not_assessed — No animation or timestamped motion evidence was supplied for this section. Next tier: Needs timestamped visible motion evidence (parallax, hover tilt, stagger-in) to be scored.
- Content: 60 — Real event photography, named attendees, and branded mini-posters are woven into the stamp motif, giving the collage a documentary, personal feel tied to the event. Next tier: Captions and stamp text are mostly decorative labels rather than meaningful content; deeper contextual integration would be needed.
- Originality: 68 — Combining postage-stamp jagged borders, a pixel-art grid, a mascot illustration, and scattered event stickers is a distinctive execution of the scrapbook-gallery idea rather than a generic grid or carousel. Next tier: The individual motifs (stamps, pixel grid, mascot) are each familiar; it is the combination that is fresh, not a wholly novel structural idea, keeping it below strong/memorable territory.
- Adaptability: 45 — The section relies on many bespoke image assets (irregular jagged stamp-border photos, specific rotation per item, a mascot illustration, and a pixel canvas) that are tightly coupled to this exact content set. Next tier: To separate skin from structure, the jagged stamp mask and scatter logic would need to be decoupled from the specific photo assets into a reusable template.

Strengths:
- Cohesive physical scrapbook metaphor carried through postage-stamp borders, stickers, and a mascot
- Genuine event photography gives the collage authenticity rather than stock-photo filler
- Varied rotation and scale of elements produce a lively, non-grid-like scatter

Weaknesses:
- Typography is largely baked into images rather than a controlled live type system
- No motion evidence supplied, so dynamism of the section is unverifiable
- Heavy reliance on many one-off bespoke image assets reduces structural reusability
- Dense clutter risks overwhelming hierarchy with no clear primary focal point

Why it does not reach the next tier: The section shows a distinctive combination of motifs and strong content authenticity, but typography is not demonstrated as a controlled system, motion cannot be verified, and adaptability is limited by numerous bespoke image-dependent assets — together these keep it from reaching strong/memorable.

## Adaptation guidance

- Effort: High
- Guidance: Rebuilding this requires recreating the jagged stamp clip-path/mask as a reusable component, then populating it with new photos and text labels; the pixel-grid and mascot are supplementary decorative layers that could be swapped or omitted without affecting the core collage structure.

What transfers:
- Overlapping freeform collage layout concept
- Postage-stamp jagged-border photo framing idea
- Mixing personal photography with graphic stickers/mascot for event branding

Dependencies:
- Custom jagged stamp-border mask/clip-path assets
- Specific photo set and event stickers
- Pixel-grid canvas element
- Mascot illustration asset

## Living vocabulary

- No reusable vocabulary candidates were supported by this section.

Only terms with status `active` enter the public taxonomy. Deferred and proposed terms remain available to later AI passes; rejected terms remain as provenance so they are not repeatedly reinvented.

## Provenance and limitations

- Section boundaries and naming: Gemini Pro visual observation
- Motion observations: Gemini Pro direct-video analysis
- Quality judgment: Claude
- Exact design facts: browser/CSS extraction at website scope
- Rubric: Design Details section rubric 3.2 (Typography 20%, Composition 20%, Motion 15%, Content 15%, Originality 15%, Adaptability 15%)
- No animation/motion data was provided for this crop, so dynamism is unscored
- Typography details are inferred from visible stamp labels rather than confirmed computed CSS for in-section text
- Exact font/color values for the embedded sticker graphics are not independently verifiable from the deterministic data

## Usage guidance

Use this section as design evidence. Create an original implementation; do not reproduce the source copy, assets, or proprietary composition exactly.

## Build blueprint v3.2

### Purpose and classification

- Canonical type: gallery
- Source type: gallery
- Structure: Freeform overlapping image collage on a dark background.
- Layout: Freeform overlapping image collage on a dark background.
- Styles: playful, hand-drawn, photographic, retro
- Components: postage stamp frames, overlapping photos, graphic stickers, pixel art accents
- Purpose: A playful, cluttered collage of photos styled like a physical scrapbook with stamp borders and stickers.
- Visual signature: A messy cluster of event photos enclosed in white jagged postage-stamp borders with colorful text stickers.

### Crop and composition

- Crop: 1440×957px; aspect ratio 1.505:1
- Page bounds: 11426–12383px of 14721px
- Guidance: Preserve the documented hierarchy and relationships; exact measurements were not deterministically captured.

### Exact typography evidence

The sectionScale values were measured inside this crop. The siteRoles values explain how those faces function across the source website; they must not replace section measurements.

```json
{
  "sectionScale": [],
  "siteRoles": [
    {
      "role": "display",
      "size": "80px",
      "family": "Phudu",
      "source": "computed",
      "traits": "uppercase",
      "weight": "700",
      "evidence": "font-2: computed CSS at 1440×1000; AI role: Phudu, 80px, weight 700. Used for major structural headings and high-impact visual text.",
      "sampleId": "font-2",
      "confidence": 0.95,
      "lineHeight": "57.6px",
      "letterSpacing": "-3.2px"
    },
    {
      "role": "heading",
      "size": "80px",
      "family": "Phudu",
      "source": "computed",
      "traits": "uppercase",
      "weight": "700",
      "evidence": "font-7: computed CSS at 1440×1000; AI role: Phudu, 80px, weight 700 (similar to font-2 but slightly different usage context). Used for scroll-triggered changing text.",
      "sampleId": "font-7",
      "confidence": 0.9,
      "lineHeight": "64px",
      "letterSpacing": "-3.2px"
    },
    {
      "role": "body",
      "size": "14.4px",
      "family": "Phudu",
      "source": "computed",
      "traits": "uppercase",
      "weight": "600",
      "evidence": "font-6: computed CSS at 1440×1000; AI role: Phudu, 14.4px, weight 600. Used for lists of names and smaller supplementary text.",
      "sampleId": "font-6",
      "confidence": 0.85,
      "lineHeight": "12.9px",
      "letterSpacing": "-0.3px"
    },
    {
      "role": "mono",
      "size": "12px",
      "family": "Geist Mono",
      "source": "computed",
      "traits": "uppercase",
      "weight": "500",
      "evidence": "font-3: computed CSS at 1440×1000; AI role: Geist Mono, 12px, weight 500. Used for meta-information, links, and small captions.",
      "sampleId": "font-3",
      "confidence": 0.9,
      "lineHeight": "11.5px",
      "letterSpacing": "-0.2px"
    }
  ]
}
```

### Exact color evidence

The section samples record where each computed value was used. Functional roles come from the website-level classifier and remain separate.

```json
{
  "sectionUsage": [],
  "functionalPalette": [
    {
      "hex": "#68F12B",
      "name": "primary action",
      "role": "primary-action",
      "source": "computed",
      "evidence": "color-12: computed rgb(104, 241, 43); AI role: #68F12B (vibrant green). Key brand and accent color, used in pixel blocks, buttons, and text highlights.",
      "sampleId": "color-12",
      "confidence": 0.95
    },
    {
      "hex": "#F4F3EB",
      "name": "canvas",
      "role": "canvas",
      "source": "computed",
      "evidence": "color-3: computed rgb(244, 243, 235); AI role: #F4F3EB (off-white). Primary background color for large sections of the site.",
      "sampleId": "color-3",
      "confidence": 0.9
    },
    {
      "hex": "#000000",
      "name": "text",
      "role": "text",
      "source": "computed",
      "evidence": "color-1: computed rgb(0, 0, 0); AI role: #000000. Primary text color on light backgrounds.",
      "sampleId": "color-1",
      "confidence": 0.9
    },
    {
      "hex": "#0F1513",
      "name": "surface",
      "role": "surface",
      "source": "computed",
      "evidence": "color-8: computed rgb(15, 21, 19); AI role: #0F1513 (dark charcoal/near black). Used for contrasting background sections, particularly in the timeline and footer.",
      "sampleId": "color-8",
      "confidence": 0.85
    },
    {
      "hex": "#838B89",
      "name": "muted text",
      "role": "muted-text",
      "source": "computed",
      "evidence": "color-24: computed rgb(131, 139, 137); AI role: #838B89. Used for less prominent text elements or list items on dark backgrounds.",
      "sampleId": "color-24",
      "confidence": 0.85
    }
  ]
}
```

### Design tokens

```json
{
  "radius": "Primarily 0px for layout elements, 999px for pill buttons.",
  "density": "Varies significantly. Starts dense with pixel grids, opens up to sparse typography, and becomes very dense in the collage/timeline sections.",
  "evidence": "Visual inspection of layout structure, CSS values for borders/radius on interactive elements, and overall composition.",
  "borderStyle": "Mostly borderless, relying on stark color contrasts or pixel patterns to define edges. Some usage of bracketed text for links.",
  "buttonStyle": "Pill-shaped, solid fill (vibrant green or dark green), uppercase monospace or sans-serif text, flat appearance.",
  "cornerStyle": "Mix of sharp, brutalist corners (for images and grid blocks) and fully rounded pill shapes for buttons/badges.",
  "contentWidth": "Fluid, edge-to-edge layouts relying heavily on scroll position rather than a fixed container width.",
  "spacingRhythm": "Highly variable and dramatic. Uses full-viewport height sections combined with tight clusters in collage areas."
}
```

### Reconstruction specification

This is the implementation contract for the captured desktop viewport. Prefer section-specific facts here over general website descriptions.

- Root container was not deterministically isolated.
- Layout containers: 0; cards/surfaces: 0; media elements: 0; browser animations: 0.

#### Container, grid, and spacing

```json
{
  "viewport": {
    "width": 1440,
    "captureBounds": {
      "top": 11426,
      "bottom": 12383,
      "pageHeight": 14721
    }
  },
  "container": null,
  "spacing": {
    "observedGapsPx": [],
    "representativeContentWidthsPx": []
  },
  "columns": []
}
```

#### Cards and surfaces

```json
{
  "cards": [],
  "surfaces": {
    "radii": [],
    "borders": [],
    "shadows": []
  }
}
```

#### Media treatment

```json
[]
```

#### Browser-exposed animation parameters

```json
[]
```

### Measured geometry, surfaces, media, and animation

These raw values come from the saved element map and computed styles. Empty arrays mean the fact was not captured; they are not permission to invent source values.

```json
{
  "root": null,
  "cards": [],
  "media": [],
  "bounds": {
    "top": 11426,
    "bottom": 12383,
    "pageHeight": 14721
  },
  "schema": "little-details-section-measurements-v1",
  "source": "saved DOM/CSS element and animation maps",
  "columns": [],
  "spacing": {
    "gapsPx": [],
    "representativeContentWidthsPx": []
  },
  "coverage": {
    "cards": 0,
    "media": 0,
    "animations": 0,
    "elementsInSection": 0
  },
  "surfaces": {
    "radii": [],
    "borders": [],
    "shadows": []
  },
  "animations": [],
  "capturedAt": "2026-10-21T18:08:16.518Z",
  "limitations": [
    "Values describe the captured desktop viewport and may change at other breakpoints.",
    "Transforms, sticky layers, and virtualized content can make the inferred section root approximate.",
    "Animations include browser-exposed Web Animations API state; CSS or script motion that was inactive at capture time may be absent."
  ],
  "viewportWidth": 1440
}
```

### Observed motion

No timestamped authored motion is attached. Use only restrained baseline transitions.

The browser animation records above are deterministic parameters captured from active browser animations. The timestamped observations describe what Gemini saw in the video. Treat them as complementary evidence. When either source is empty or they conflict, state the uncertainty instead of inventing timing or easing.

### Responsive contract

- Measured viewport: 1440px wide.
- Mobile/tablet values: not measured by this section evidence unless a separate capture is explicitly listed.
- Preserve hierarchy and sequence; collapse simultaneous columns only where needed, maintain media aspect ratios, and verify touch targets and text wrapping at target breakpoints.

### Structure versus visual skin

- Preserve: content hierarchy, layout relationships, section rhythm, interaction purpose.
- Adapt: brand colors, font family, copy, imagery, icons, decorative details.
- Rule: Preserve the observed design logic while creating original branding, copy, assets, and implementation details.

### Adaptation and dependencies

- Effort: high
- What transfers: Overlapping freeform collage layout concept; Postage-stamp jagged-border photo framing idea; Mixing personal photography with graphic stickers/mascot for event branding
- Dependencies: Custom jagged stamp-border mask/clip-path assets; Specific photo set and event stickers; Pixel-grid canvas element; Mascot illustration asset
- Guidance: Rebuilding this requires recreating the jagged stamp clip-path/mask as a reusable component, then populating it with new photos and text labels; the pixel-grid and mascot are supplementary decorative layers that could be swapped or omitted without affecting the core collage structure.

### Evidence readiness

- Coverage: 6/7
- Can build: Yes
- Missing facts: section-specific computed typography and color samples; timestamped authored motion
- Warning: Buildable with adaptations for these unsupported facts: section-specific computed typography and color samples; timestamped authored motion.

### Agent implementation prompt

Create an original gallery section inspired by the design evidence titled “Scrapbook Photo Gallery”.

Purpose: A playful, cluttered collage of photos styled like a physical scrapbook with stamp borders and stickers.

Structure: Freeform overlapping image collage on a dark background.. Source layout label: Freeform overlapping image collage on a dark background.. Preserve the documented hierarchy and relationships; exact measurements were not deterministically captured.

Visual signature to preserve at the pattern level: A messy cluster of event photos enclosed in white jagged postage-stamp borders with colorful text stickers.

Components: postage stamp frames, overlapping photos, graphic stickers, pixel art accents.

Style direction: playful, hand-drawn, photographic, retro.

Observed crop: 1440×957px (1.505:1). Treat this as evidence of composition, not a mandatory output size.

Typography evidence: {"role":"display","size":"80px","family":"Phudu","source":"computed","traits":"uppercase","weight":"700","evidence":"font-2: computed CSS at 1440×1000; AI role: Phudu, 80px, weight 700. Used for major structural headings and high-impact visual text.","sampleId":"font-2","confidence":0.95,"lineHeight":"57.6px","letterSpacing":"-3.2px"} {"role":"heading","size":"80px","family":"Phudu","source":"computed","traits":"uppercase","weight":"700","evidence":"font-7: computed CSS at 1440×1000; AI role: Phudu, 80px, weight 700 (similar to font-2 but slightly different usage context). Used for scroll-triggered changing text.","sampleId":"font-7","confidence":0.9,"lineHeight":"64px","letterSpacing":"-3.2px"} {"role":"body","size":"14.4px","family":"Phudu","source":"computed","traits":"uppercase","weight":"600","evidence":"font-6: computed CSS at 1440×1000; AI role: Phudu, 14.4px, weight 600. Used for lists of names and smaller supplementary text.","sampleId":"font-6","confidence":0.85,"lineHeight":"12.9px","letterSpacing":"-0.3px"} {"role":"mono","size":"12px","family":"Geist Mono","source":"computed","traits":"uppercase","weight":"500","evidence":"font-3: computed CSS at 1440×1000; AI role: Geist Mono, 12px, weight 500. Used for meta-information, links, and small captions.","sampleId":"font-3","confidence":0.9,"lineHeight":"11.5px","letterSpacing":"-0.2px"}

Color evidence: {"hex":"#68F12B","name":"primary action","role":"primary-action","source":"computed","evidence":"color-12: computed rgb(104, 241, 43); AI role: #68F12B (vibrant green). Key brand and accent color, used in pixel blocks, buttons, and text highlights.","sampleId":"color-12","confidence":0.95} {"hex":"#F4F3EB","name":"canvas","role":"canvas","source":"computed","evidence":"color-3: computed rgb(244, 243, 235); AI role: #F4F3EB (off-white). Primary background color for large sections of the site.","sampleId":"color-3","confidence":0.9} {"hex":"#000000","name":"text","role":"text","source":"computed","evidence":"color-1: computed rgb(0, 0, 0); AI role: #000000. Primary text color on light backgrounds.","sampleId":"color-1","confidence":0.9} {"hex":"#0F1513","name":"surface","role":"surface","source":"computed","evidence":"color-8: computed rgb(15, 21, 19); AI role: #0F1513 (dark charcoal/near black). Used for contrasting background sections, particularly in the timeline and footer.","sampleId":"color-8","confidence":0.85} {"hex":"#838B89","name":"muted text","role":"muted-text","source":"computed","evidence":"color-24: computed rgb(131, 139, 137); AI role: #838B89. Used for less prominent text elements or list items on dark backgrounds.","sampleId":"color-24","confidence":0.85}

No section-bounded typography samples were measured.

No section-bounded color samples were measured.

Exact section measurements from the saved element map: spacing {"gapsPx":[],"representativeContentWidthsPx":[]}; surfaces {"radii":[],"borders":[],"shadows":[]}

Do not invent signature motion. Use only restrained baseline transitions if the product needs them.

Transfer these principles: Overlapping freeform collage layout concept; Postage-stamp jagged-border photo framing idea; Mixing personal photography with graphic stickers/mascot for event branding.

Dependencies: Custom jagged stamp-border mask/clip-path assets; Specific photo set and event stickers; Pixel-grid canvas element; Mascot illustration asset.

Adaptation guidance: Rebuilding this requires recreating the jagged stamp clip-path/mask as a reusable component, then populating it with new photos and text labels; the pixel-grid and mascot are supplementary decorative layers that could be swapped or omitted without affecting the core collage structure.

Use new copy, imagery, branding, and implementation details. Do not reproduce the source website or its proprietary assets.
