logoalt Hacker News

Self-updating screenshots

98 pointsby bjhessyesterday at 7:00 AM15 commentsview on HN

Comments

CyberShadowtoday at 1:32 AM

Same, I've added a .#screenshots derivation. High up-front effort but almost zero maintenance afterwards.

Bonus: since you're generating screenshots programmatically anyway, you can generate a pair of each with your app's light/dark theme, and swap them in/out depending on prefers-color-scheme: dark. <picture> elements work in GitHub READMEs, too: https://github.com/CyberShadow/CyDo#readme

furyofantarestoday at 1:29 AM

Very cool.

For the small casual games I've been vibe coding, I always start from a place where the application has a CLI where it can run headless, rendering to offscreen texture, with a a screenshot command as well as performance instrumentation. It takes no time to include all this, and gives the agent a way to automate the ui and inspect important things. It also lets me trivially have the agent update screenshots.

Not as neat as being part of the build process, but I will now add that.

show 1 reply
kalb_almastoday at 2:52 AM

I'm sometimes getting

NoMethodError at /self-updating-screenshots undefined method `name' for nil:NilClass

Ruby title-for: in handle, line 12 Web GET interblah.net/self-updating-screenshots

followed by a very detailed traceback when I try to access the page

LeoDaVibeciyesterday at 1:55 PM

I've needed this so many times. BTW this should be a meme: "I think this might be the neatest thing I’ve built in X that nobody will ever notice."

schneemstoday at 1:56 AM

This is neat. I wrote https://github.com/zombocom/rundoc. It has a similar feature. The main driver is to produce tutorials so it also puts the output of commands run back in the document.

maderalabstoday at 2:17 AM

Nice! I actually started to build this exact thing a couple years back, and ended up abstracting it out to something more generic with https://picshift.io/. That said, I still love the screenshot use case - the original name of this project was ScreenSync ;)

efortisyesterday at 10:03 AM

same here, but linking to the screenshots used for pixel diffing, which get committed to the repo.

https://github.com/ericfortis/mockaton/tree/main/pixaton-tes...

taspeotistoday at 1:13 AM

I’ve wondered about doing screenshots from the e2e test run, even keeping docs/ all together in the same repo so when you update the documentation and need a new screenshot you add a new test

esttoday at 1:31 AM

I maintain an internal wiki, the contents were generated by each CI/CD and always reflects from latest running code.

3eb7988a1663today at 1:37 AM

shot-scraper is another project in this vein.

https://github.com/simonw/shot-scraper

irishcoffeetoday at 1:56 AM

I wrote a gui app once that ran on a safety-critical platform. I ended up stuffing a rendering of the gui (rendered offscreen) into shmem at I think 24hz, and rendered that screenshot into the safety critical application. I passed clicks (no typing for this gui) back from the statically rendered image updating on a cadence, to the offscreen GUI.

Worked well. Not quite the same as this, but that’s what this reminds me of.

show 1 reply
immanuwellyesterday at 7:38 AM

nice, embedding the capture instructions right in the markdown as comments is a dead-simple solution that'll age way better than any fancy external tooling