Skip to content

Draw a heart, from today to the end of the year - #6

Merged
vyncint merged 1 commit into
mainfrom
draw-a-heart
Aug 23, 2026
Merged

Draw a heart, from today to the end of the year#6
vyncint merged 1 commit into
mainfrom
draw-a-heart

Conversation

@vyncint

@vyncint vyncint commented Aug 23, 2026

Copy link
Copy Markdown
Owner

Replaces the VYNCINT plan, which cannot be finished — five days inside the letters are already lit and nothing takes a contribution away, so it has been reporting holed for months (#3). Rather than shift start-week by one and leave four holes instead of five, this starts again on ground that is still clean: a picture covering only days that have not happened yet.

··████·████··
·███████████·
·███████████·
·███████████·
··█████████··
····█████····
······█······
picture heart.art — 7 rows × 13 columns
runs Sunday 23 August21 November
cost 56 days × 37 = 2,072 contributions
first work Monday 31 August
verdict today reachable, no holes

Today is a Sunday and sits exactly on calendar column 34, so the picture starts on a column boundary with no partial week at the front. It finishes on 11 November with fifty days of slack — a plan that lands on 31 December has no room for a week of illness.

Two shades, not five

Arithmetic rather than taste. Every adjacent pair of GitHub's greens is 9–20 ΔE apart in the worst palette it ships, so a picture using all five puts near-identical shades beside each other however carefully it is drawn. Level 0 against level 2 is ΔE 50 — unmistakable.

It is also what makes this affordable. This graph's 2026 peak is 137, so a level-4 day costs 110 contributions and a level-2 day costs 37. The same heart in bright green would owe about 4,500 rather than 2,072 — four times this account's existing daily pace instead of roughly matching it.

On the measurement

I measured against the graph as it stands today, not against art/vyncint-2026.json in the mossaic repo. That fixture carries contributions for dates that have not arrived — measuring a forward-looking plan against it reported 15 holes that cannot exist. Zeroing everything after today gives the real answer: clean.

Mechanics

matrix: is a path in this repository, so the workflow now checks out the repo before running — the action says so explicitly if you forget. background and top are gone: both place letters on rows and shade the field behind them, and a picture names its own shade for every day, so mossaic-art refuses them rather than ignoring them.

Verified end to end with the published mossaic 0.6.0 binary, using exactly the arguments the action builds.

The VYNCINT plan cannot be finished. Five days inside the letters are
already lit and nothing takes a contribution away, so it has been
reporting `holed` for months (#3). Rather than move start-week by one and
leave four holes instead of five, this starts again on ground that is
still clean: a picture covering only days that have not happened yet.

A heart, seven rows by thirteen columns, from Sunday 23 August -- today,
and a Sunday, so the picture starts exactly on a column boundary with no
partial week at the front. It ends on 21 November, which leaves fifty
days of slack before the year does; a plan that lands on 31 December has
no room for a week of illness.

Two shades, not five, and the reason is arithmetic rather than taste.
Every adjacent pair of GitHub's greens is 9 to 20 ΔE apart in the worst
palette it ships, so a picture using all five puts near-identical shades
side by side however carefully it is drawn. Level 0 against level 2 is
ΔE 50.

It is also what makes this affordable. This graph's 2026 peak is 137, so
a level-4 day costs 110 contributions and a level-2 day costs 37. The
same heart in bright green would owe about 4,500 rather than 2,072 --
four times this account's daily pace instead of roughly matching it.

Measured against the graph as it stands today rather than against the
repository's fixture, which carries data for dates that have not arrived:
verdict reachable, no holes, 56 days at 37 each, first work on Monday 31
August.

`matrix:` is a path in the repository, so the workflow checks out the
repo now. `background` and `top` are gone -- both place letters on rows
and shade the field behind them, and a picture names its own shade for
every day.

Signed-off-by: Vyncint Ng <115854244+vyncint@users.noreply.github.com>
@vyncint
vyncint merged commit 6a85342 into main Aug 23, 2026
8 checks passed
@vyncint
vyncint deleted the draw-a-heart branch August 23, 2026 04: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