Skip to content

feat(landing): First Light photography assets (free-license) - #717

Merged
njrini99-code merged 2 commits into
batch/baseball-fixesfrom
feat/entry-world-assets
Jul 2, 2026
Merged

feat(landing): First Light photography assets (free-license)#717
njrini99-code merged 2 commits into
batch/baseball-fixesfrom
feat/entry-world-assets

Conversation

@njrini99-code

Copy link
Copy Markdown
Owner

LAYOUT BRIEF

This is an asset-only PR (no app code) — it sources the 4 hero photographs the "First Light" landing page (docs/LANDING_ENTRY_WORLD_DESIGN.md) needs: sport-ambiguous dawn field for M1 hero, golf dawn + baseball dusk for the M4 diptych, and a quiet misty field for the M8 final CTA. Primary action: none (assets only, no UI). Visual hierarchy / scan pattern / demoted: n/a — this is raw material for the landing-hero+nav and landing-portals+cta build waves to consume.

Files (owned)

  • public/marketing/first-light/photos/hero.jpg — dawn field, mist + solitary tree + open sky (sport-ambiguous — reads as neither golf nor baseball), 1582×2400, CC0
  • public/marketing/first-light/photos/golf.jpg — golf course at dawn, treeline silhouette + sunrise glow + frosted fairway, 1727×2400, CC BY-SA 2.0
  • public/marketing/first-light/photos/baseball.jpg — baseball backstop + light towers under dusk clouds (B&W, grades well), 2000×2400, CC BY 2.0
  • public/marketing/first-light/photos/mist.jpg — golden-hour misty pond + hill silhouette (different crop of the same source pano as hero.jpg, distinct mood), 1558×2200, CC0
  • public/marketing/first-light/photos/LICENSES.md — exact source URL, author, license, required attribution text per file

Design-bar checklist

  • No people, logos, or watermarks in any frame
  • Portrait-tall or cleanly croppable-to-portrait (all 4 are native portrait crops, 2400px or 2200px long edge)
  • Dawn/dusk moody light throughout — cool blue-purple dawn (hero), warm sunrise glow through trees (golf), dramatic dusk clouds + stadium lights (baseball), golden-hour mist (mist)
  • Low clutter — picked specifically for gradability to the pine/ecru palette (open sky area, no busy midground)
  • hero.jpg verified sport-ambiguous — no visible flags/bunkers/backstops/bases in frame despite being cropped from a "golf course" source panorama
  • All ≥1600px long edge, all <500KB (optimized via PIL, quality 55–82 depending on texture density)
  • Free-license only: 2 CC0 (Poly Haven via Wikimedia Commons), 1 CC BY 2.0, 1 CC BY-SA 2.0 — no paid stock, no unlicensed scrapes

LICENSES.md summary

File License Attribution required Author
hero.jpg CC0 1.0 No Dimitrios Savva / Jarod Guest (Poly Haven)
golf.jpg CC BY-SA 2.0 Yes allen watkin
baseball.jpg CC BY 2.0 Yes D. Brandsma
mist.jpg CC0 1.0 No Dimitrios Savva / Jarod Guest (Poly Haven)

Note: golf.jpg's CC BY-SA 2.0 source means the cropped derivative is itself CC BY-SA 2.0 (documented in LICENSES.md); the two CC BY files need visible credit text if the site ships a credits/about page — exact required attribution strings are in LICENSES.md.

Verify

Asset-only lane per task instructions — tsc/eslint/dev-server were skipped (no code changed). Verified instead:

  • file confirms all 4 are real JPEG images (not corrupt/mislabeled)
  • sips -g pixelWidth -g pixelHeight confirms dimensions ≥1600px long edge
  • Visual inspection of every final asset at full crop (via Read tool) for composition, no people/logos, dawn/dusk mood, headline-legible clear-sky area on hero.jpg
  • 640px preview copies saved to /private/tmp/claude-501/-Users-ricknini/bbeb66a6-18c9-4527-a64e-54e5cbd3b544/scratchpad/visual-verify/entry-world/lanes/assets/ for Fable's review

Co-Authored-By: Claude Fable 5 noreply@anthropic.com
Claude-Session: https://claude.ai/code/session_01CHFRrZkRsAHWTwvxhySkfe

Sources 4 portrait-croppable dawn/dusk photographs for the First Light
landing page (hero, golf, baseball, mist) from Wikimedia Commons —
CC0/CC-BY/CC-BY-SA, no people/logos/watermarks, >=1600px long edge,
optimized to <500KB each. LICENSES.md documents exact source, author,
license, and required attribution per file.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CHFRrZkRsAHWTwvxhySkfe
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your settings.

@coderabbitai

coderabbitai Bot commented Jul 2, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

🗂️ Base branches to auto review (3)
  • main
  • develop
  • release/*

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: e66ef0be-a224-4784-80e8-ea060bad683b

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/entry-world-assets
  • 🛠️ helm safety pass
  • 🛠️ dashboard ux pass
  • 🛠️ rls test pass

Comment @coderabbitai help to get the list of available commands.

@vercel

vercel Bot commented Jul 2, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated (UTC)
helmv3 Ignored Ignored Jul 2, 2026 4:04pm

Request Review

@qodo-code-review

Copy link
Copy Markdown

PR Summary by Qodo

Add First Light landing photography assets with licensing/attribution docs

✨ Enhancement 📝 Documentation 🕐 10-20 Minutes

Grey Divider

AI Description

• Add four portrait hero photos for the “First Light” landing page.
• Record per-photo source URLs, licenses, and required attribution text.
• Keep assets web-ready via crop/resize/recompress with no content edits.
Diagram

graph TD
  A["Landing page"] --> B["First Light photos"] --> C["Static file server"] --> D["Browser"]
  E["LICENSES.md"] --> B
Loading
High-Level Assessment

The following are alternative approaches to this PR:

1. Add a machine-readable attribution manifest (JSON/YAML)
  • ➕ Enables automatically rendering a credits/about page with exact attribution strings
  • ➕ Easier to validate required fields (license, author, URL) in CI
  • ➖ Requires schema + code integration, which is out of scope for asset-only work
2. Source CC0-only imagery
  • ➕ Avoids attribution/share-alike obligations entirely
  • ➕ Simplifies downstream compliance and redistribution
  • ➖ Smaller asset pool; may reduce ability to match the desired mood/composition

Recommendation: Given this is explicitly an asset-only PR, the chosen approach (ship assets plus a detailed LICENSES.md with verbatim required attribution strings) is the right tradeoff. If/when the site adds a visible credits/about page, consider introducing a structured manifest so attribution can be displayed and kept in sync automatically.

Files changed (5) +84 / -0

Enhancement (4)
hero.jpgAdd First Light hero photo (CC0) +0/-0

Add First Light hero photo (CC0)

• Adds the portrait hero photograph asset intended for the M1 hero section. Provenance and CC0 licensing details are documented in LICENSES.md.

public/marketing/first-light/photos/hero.jpg

golf.jpgAdd golf-at-dawn photo (CC BY-SA 2.0) +0/-0

Add golf-at-dawn photo (CC BY-SA 2.0)

• Adds the golf photograph intended for the M4 diptych. LICENSES.md captures the CC BY-SA 2.0 terms and the required attribution string (share-alike applies to the crop).

public/marketing/first-light/photos/golf.jpg

baseball.jpgAdd baseball-at-dusk photo (CC BY 2.0) +0/-0

Add baseball-at-dusk photo (CC BY 2.0)

• Adds the baseball photograph intended for the M4 diptych. LICENSES.md captures the CC BY 2.0 terms and the required attribution string.

public/marketing/first-light/photos/baseball.jpg

mist.jpgAdd misty final-CTA photo (CC0) +0/-0

Add misty final-CTA photo (CC0)

• Adds the mist/pond photograph intended for the M8 final CTA. Provenance and CC0 licensing details are documented in LICENSES.md.

public/marketing/first-light/photos/mist.jpg

Documentation (1) +84 / -0
LICENSES.mdDocument photo sources, licenses, and required attributions +84/-0

Document photo sources, licenses, and required attributions

• Adds a comprehensive licenses/attribution document for the four First Light landing photos, including source URLs, authors, license terms, and required attribution text. Clarifies that only cropping/resizing/recompression was performed and summarizes obligations in a table.

public/marketing/first-light/photos/LICENSES.md

@qodo-code-review

qodo-code-review Bot commented Jul 2, 2026

Copy link
Copy Markdown

Code Review by Qodo

🐞 Bugs (0) 📘 Rule violations (0) 📜 Skill insights (0)

Context used
✅ Compliance rules (platform): 93 rules

Grey Divider


Informational

1. Misleading attribution instruction ✓ Resolved 🐞 Bug ⚙ Maintainability
Description
The summary instructs readers to copy the two "Attribution required: Yes" lines verbatim, but the
actual attribution strings to publish are the "Required attribution text" lines for golf.jpg and
baseball.jpg. This ambiguity can lead to an incomplete credits/about page for assets that require
attribution.
Code

public/marketing/first-light/photos/LICENSES.md[R82-84]

+If the landing page ships a visible credits/about page, include the two
+"Attribution required: Yes" lines verbatim. The two CC0 files carry no
+legal obligation but crediting them costs nothing and is good practice.
Relevance

⭐ Low

Similar doc/comment wording-accuracy nits often rejected (JSDoc default mismatch, inaccurate
migration comment, CI-check naming guidance).

PR-#274
PR-#238
PR-#518

ⓘ Recommendations generated based on similar findings in past PRs

Evidence
The doc’s closing guidance references the "Attribution required: Yes" flags, while the concrete
attribution strings are separately provided under "Required attribution text" for the two photos
that require crediting; this mismatch is what makes the guidance misleading.

public/marketing/first-light/photos/LICENSES.md[82-84]
public/marketing/first-light/photos/LICENSES.md[30-41]
public/marketing/first-light/photos/LICENSES.md[43-54]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
`LICENSES.md` currently says to include the two "Attribution required: Yes" lines verbatim, but those are just metadata flags and are not the attribution strings that must be published.

## Issue Context
The file already provides the concrete attribution strings under `- **Required attribution text:**` for the CC BY-SA / CC BY assets.

## Fix Focus Areas
- public/marketing/first-light/photos/LICENSES.md[82-84]

## Suggested change
Rewrite the final paragraph to explicitly instruct using the two `Required attribution text` lines (and/or copying the full per-asset block for the two attribution-required photos), e.g.:
- "Include the two **Required attribution text** lines verbatim (for `golf.jpg` and `baseball.jpg`), along with their license/source links."

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


Grey Divider

Qodo Logo

hero: Dawn In The Country (Wojciech Święch, CC0) — sunburst oak, golden
mist, healthy turf, clean headline sky; replaces pano crop w/ foreground
warp + winter grass.
golf: Sunset Fairway pond azimuth (Greg Zaal / Poly Haven, CC0) —
replaces CC BY-SA photo with a contrail through the sky; slot is now CC0.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CHFRrZkRsAHWTwvxhySkfe
@njrini99-code

Copy link
Copy Markdown
Owner Author

Fable design review — hero + golf upgraded in a78d43d. The original hero (pano-warp foreground, winter grass) and golf (contrail through the sky) were B-grade; a targeted re-source found better: hero is now "Dawn In The Country" (Wojciech Święch, CC0 — sunburst oak, golden mist, healthy turf, clean headline sky) and golf is a pond-azimuth slice of "Sunset Fairway" (Greg Zaal / Poly Haven, CC0). Side effect: golf's share-alike (CC BY-SA) obligation is gone — the set is now 3× CC0 + 1× CC BY (baseball). baseball.jpg and mist.jpg confirmed keepers as shipped. LICENSES.md updated.

@njrini99-code

Copy link
Copy Markdown
Owner Author

🤖 Mission Control — PR summary

What it changes: Asset-only PR (no app code). Sources 4 portrait-croppable dawn/dusk photographs for the "First Light" landing page — hero (sport-ambiguous), golf dawn, baseball dusk, and a misty final-CTA field — under public/marketing/first-light/photos/, plus LICENSES.md. +86 / −0 across 5 files. Raw material consumed by the landing build waves (see #719).

Risk / areas: No functional/runtime risk. The real concern is license compliance — the set mixes CC0, CC BY 2.0 (baseball.jpg), and CC BY-SA 2.0 (golf.jpg), so attribution must be present wherever these render.

Watch for:

  • LICENSES.md attribution is accurate and the CC BY / CC BY-SA credits actually surface on the rendered page.
  • Image weights/dimensions are reasonable for a landing hero (<500KB target per the design doc).

CI: ⚠️ Required checks red — but this is an assets-only diff; the failures are the pre-existing batch/baseball-fixes lane baseline, not introduced here. (No fix/rerun performed by Mission Control.)

@njrini99-code
njrini99-code merged commit 994ade9 into batch/baseball-fixes Jul 2, 2026
26 of 32 checks passed
@njrini99-code
njrini99-code deleted the feat/entry-world-assets branch July 2, 2026 20:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant