Skip to content

Seasons & themes: date-driven palettes and skins (#22) - #25

Merged
rwrife merged 1 commit into
mainfrom
issue-22-seasons-themes
Jul 14, 2026
Merged

rwrife merged 1 commit into
mainfrom
issue-22-seasons-themes

Conversation

@rwrife

@rwrife rwrife commented Jul 13, 2026

Copy link
Copy Markdown
Owner

Closes #22

Adds a purely cosmetic seasonal dressing layer on top of the existing render pipeline. The plant's state (stage/health/streak) is untouched — seasons only add a palette + light ASCII decoration.

What's in

  • New internal/season package — pure Season derived from a reference time.Time (Dec–Feb winter, Mar–May spring, Jun–Aug summer, Sep–Nov autumn). No I/O, fully unit-tested incl. month boundaries and zero-time totality.
  • Render dressing (internal/render/season_render.go) — prepends a season-appropriate decoration line (snow / buds / sun rays / falling leaves), color-tinted on the color path, plain ASCII otherwise. season.None is a clean no-op.
  • Flags--season <winter|spring|summer|autumn> (alias fall) to force/preview, --no-season to disable, --holiday opt-in for gentle holiday skins (off by default, no surprise decorations).
  • README — season preview + force/disable/holiday docs; roadmap + interface updated.

Acceptance criteria

  • Pure date→season mapping, testable, no I/O
  • Season-appropriate palette/decoration, degrades under --no-color
  • --season to force, --no-season to disable
  • Opt-in holiday skin gated behind --holiday
  • Cosmetic only — never changes stage/health/streak (asserted in tests: TestSeasonPreservesPlantState)
  • Unit tests: month→season (incl. boundaries) + state preservation
  • README shows preview + force/disable
  • go build ./... and go test ./... pass

Verification: gofmt -l clean, go vet ./... clean, all tests green.

@rwrife
rwrife merged commit ddf8d27 into main Jul 14, 2026
1 check passed
@rwrife
rwrife deleted the issue-22-seasons-themes branch July 14, 2026 09:01
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.

[feature] Seasons & themes — date-driven palettes and skins

1 participant