Project Content and Thumbnails Implementation Plan
Project Content and Thumbnails Implementation Plan
For agentic workers: REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (
- [ ]) syntax for tracking.
Goal: Correct the research and education copy, add one combined GAMES101/GAMES202 portfolio project, and give every homepage project a consistent native-looking thumbnail.
Architecture: Keep the AcademicPages single homepage and its existing heading-based project list. Add only one neutral image class with a fixed 16:9 box; use local project images so the built site has no runtime image dependency on GitHub or project demos.
Tech Stack: Jekyll, AcademicPages, Markdown, SCSS, Python unittest
Spec: Approved in-chat bounded design; no standalone specification document.
Global Constraints
- Preserve the native AcademicPages layout, typography, sidebar, and heading-based project list.
- Use square corners, no shadows, no cards, and no project grid.
- Keep unpublished 4DGS results, methods, video, and submission plans undisclosed.
- Do not stage, commit, or push any changes.
Task 1: Precise academic copy and combined graphics project
Files:
- Modify:
tests/test_site_contracts.py - Modify:
_pages/about.md - Create:
_portfolio/games101-games202.md
Interfaces:
- Consumes: the generated homepage at
_site/index.html Produces: exact supervisor/education copy and a generated
/portfolio/games101-games202/page- Step 1: Write the failing contract tests
Add assertions that the built homepage:
self.assertIn(
'<a href="https://www.cse.ust.hk/~psander">Prof. Pedro V. Sander</a>',
homepage,
)
self.assertNotIn("Undergraduate Researcher", homepage)
self.assertIn(
"BSc in Computer Science and an additional major in Mathematics",
homepage,
)
self.assertIn("Computer Graphics Foundations", homepage)
self.assertIn("https://github.com/TheLogarhythm/GAMES101", homepage)
self.assertIn("https://github.com/TheLogarhythm/GAMES202", homepage)
Also assert that _site/portfolio/games101-games202/index.html exists and contains both repository links.
- Step 2: Run the focused tests to verify RED
Run:
python -m unittest tests.test_site_contracts.SiteContractTest.test_homepage_has_precise_academic_and_research_copy tests.test_site_contracts.SiteContractTest.test_graphics_foundations_project_is_generated -v
Expected: FAIL because the old role/degree wording remains and the combined portfolio entry does not exist.
- Step 3: Implement the minimal copy and project content
Use this homepage wording:
**Ongoing Research**
Supervised by [Prof. Pedro V. Sander](https://www.cse.ust.hk/~psander).
Use this education wording:
- BSc in Computer Science and an additional major in Mathematics, 2023–May 2027 (expected)
Add a combined homepage entry and a portfolio detail page titled Computer Graphics Foundations — GAMES101 & GAMES202, with direct links to:
https://github.com/TheLogarhythm/GAMES101
https://github.com/TheLogarhythm/GAMES202
Describe the implemented assignments concisely, focusing on rasterization, ray tracing, physically based and real-time rendering.
- Step 4: Build and verify GREEN
Run the Jekyll build, then rerun both focused tests. Expected: PASS.
Task 2: Consistent native project thumbnails
Files:
- Modify:
tests/test_site_contracts.py - Modify:
_pages/about.md - Modify:
assets/css/main.scss - Create:
images/projects/career-a-vis-ai.png - Create:
images/projects/flight-delay.png - Create:
images/projects/games101-games202.png
Interfaces:
- Consumes: representative public project images/screenshots
Produces: three local images rendered through
.project-thumbnail- Step 1: Write the failing thumbnail contract test
Assert that the homepage has exactly three project images, that all use local /images/projects/ sources, that every image has non-empty alt text, and that the stylesheet defines one 16:9 .project-thumbnail rule without radius or shadow.
- Step 2: Run the focused test to verify RED
Run:
python -m unittest tests.test_site_contracts.SiteContractTest.test_homepage_project_thumbnails_are_consistent_and_local -v
Expected: FAIL because no project thumbnails exist.
- Step 3: Add local source images and minimal markup
Use representative visuals from the public project pages/repositories and add one image beneath each project heading:
<img class="project-thumbnail" src="/images/projects/example.png" alt="Specific description of the project visual">
Add only this presentation behavior:
.page__content .project-thumbnail {
display: block;
width: 100%;
aspect-ratio: 16 / 9;
object-fit: cover;
margin: 0.75em 0 1em;
}
Do not add wrappers, cards, backgrounds, rounded corners, or shadows.
- Step 4: Build and verify GREEN
Run the Jekyll build and the focused thumbnail test. Expected: PASS.
Task 3: Full verification and visual review
Files:
- Verify only; no additional production files unless a failing check identifies a defect
Interfaces:
- Consumes: completed generated site
Produces: evidence that the native layout, links, assets, and responsive thumbnail sizing work together
- Step 1: Run the complete contract suite
Run:
python -m unittest tests.test_site_contracts -v
Expected: all tests PASS.
- Step 2: Run a clean Jekyll build
Expected: build exits successfully without broken first-party image links.
- Step 3: Review the localhost homepage
Check desktop and narrow widths for native AcademicPages spacing, readable images, equal 16:9 image boxes, no horizontal overflow, and no card-like styling.
- Step 4: Confirm repository state
Run git status --short --branch and confirm that nothing was staged, committed, or pushed.
