Skip to content

Polish about page portrait and navigation#76

Merged
itamarwe merged 8 commits into
masterfrom
claude/dot-art-highlight-levels
Jun 29, 2026
Merged

Polish about page portrait and navigation#76
itamarwe merged 8 commits into
masterfrom
claude/dot-art-highlight-levels

Conversation

@itamarwe

Copy link
Copy Markdown
Owner

Summary

  • update the about-page dot portrait so background dots spray outward behind a foreground mask
  • make foreground breathing more continuous and less sinusoidal
  • simplify the header nav to a direct About link and trim about-page copy/linking

Verification

  • ./node_modules/.bin/tsc --noEmit
  • npm run build

claude and others added 5 commits June 29, 2026 13:28
The bright shirt/face highlights were packing in so many stipple dots they
read as a blown-out white blob. Add a highlight rolloff to the generator
(b' = b * (1 - HL_DIM * b^HL_POW), HL_DIM=0.42) that dims the top of the
brightness range before stippling while leaving the mid-tones alone, so the
highlights get fewer, slightly smaller dots and open up into texture.
Regenerated public/img/profile-dots/points.json.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017TDdCdTJbUkH7ZoWDhj7AV
A bit more rolloff at the high end so the brightest chest/shirt opens up
further into even dots. Regenerated points.json.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017TDdCdTJbUkH7ZoWDhj7AV
Density now mixes tone with edges so the dots follow image *information*:
rho = tone^GAMMA * (FLAT_BASE + EDGE_GAIN * edge), where edge is a blurred
Sobel magnitude. The face/hair/beard/collar pack in many more dots while the
flat t-shirt thins out; tone still gates the figure against the empty
background.

Separate foreground from background without a transparent PNG: the subject is
far brighter than the near-black backdrop, so a flood fill of dark pixels from
the image border yields a clean foreground mask. Each emitted point carries an
fg flag (output is now stride 4: x,y,b,fg). ProfileDots reads the flag and
lets the background dots drift with a loose Brownian wander (weak tether +
random kicks) while the figure animates exactly as before. Breathing now
pivots on the foreground centroid, and the cursor repulsion is shared by both.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017TDdCdTJbUkH7ZoWDhj7AV
@vercel

vercel Bot commented Jun 29, 2026

Copy link
Copy Markdown

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

Project Deployment Actions Updated (UTC)
itamarwe-github-io Ready Ready Preview, Comment Jun 29, 2026 7:19pm

@itamarwe itamarwe merged commit f0f12d9 into master Jun 29, 2026
3 checks passed
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.

3 participants