Profile avatar
donmccurdy.com
Graphics, data visualization, and web technologies. CARTO. Previously NYTimes R&D and Google. Contributor to glTF, three.js, and A-Frame VR. he/him. Brooklyn, NY. https://www.donmccurdy.com/ https://fosstodon.org/@donmccurdy
48 posts 496 followers 233 following
Regular Contributor
Active Commenter

Is there any 'good’ way to put comments on package.json#resolutions entries? I feel like most entries would benefit from a comment, but I can only use the “//" trick once, I'm scared to use JSONC comments, and package.json#resolutionsMeta doesn’t seem to be a thing...

damn this is a good article from @pketh.org pketh.org/the-human-to...

Added a collection of small KTX2 samples for different GPU texture formats on github.com/donmccurdy/K... — helpful if you ever need to test support for formats like ASTC or BCn.

I check back every few years, but yet again, packaging Web Workers into JavaScript libraries (not applications!) is a minefield of incompatibility for: - environments: Node.js, Browser - formats: CJS, ESM - bundlers: Vite, Webpack, Parcel, ... github.com/CartoDB/cart...

April 30th might be the time to start removing CJS builds from published JavaScript libraries: finally! 🙏

This weekend I wrote a GLTF and GLB file exporter for Valence 3D (built on cgltf) With #gltf & #glb exporting you can quickly import your #3D scenes made in valence3d.app into rendering & game engines. GLTF is widely used on the web so I’m hoping this will help people with #threejs #r3f #webdev

Made some further refinements to my #threejs water shader 🌊 Swapped out the noise functions to give a more realistic appearance. Finally ready to start recording the tutorial! #webgl #shaders

There's a *lot* I'd like to do to help improve picture formation (and color grading) in three.js… Frustratingly the free time just hasn't been enough to do much of that. But, three.js r173 will support rendering to a float16 (half float) canvas in WebGPU: github.com/mrdoob/three...

The WebGPURenderer is amazing. Today, I built a fat line library that works with all Three.js built-in materials (PBR included), runs super fast as InstancedMesh or BatchedMesh, and only needed one node and a few lines of TSL to make it work.

Small personal update: I’ve moved to Brooklyn, NY.

I had no idea Homebrew hosts *fonts*, too! (macOS and Linux) formulae.brew.sh/cask/font-me...

Three.js r172 released 🐓 threejs.org/examples/ threejs.org/editor/ threejs.org/docs/ threejs.org/playground/ threejs.org/changelog/?r...

Node.js v22 includes experimental “glob()” built-in? Looking forward to trimming some dependencies in 2025… github.com/nodejs/node/...

this year's @bandcamp.com wrapped! (this is not an official thing but i hacked together something to make it work and wrote it on val.town) macwright.com/2024/12/06/b...

“Bandcamp wrapped.” Might have trend potential? Anyway, www.donmccurdy.com/2024/12/10/b... ... with thanks to @bandcamp.com and to @macwright.com's script on Val Town!

Using Git, I love how much easier it is to manage a bunch branches with Graphite (graphite.dev/), but their priorities are all about SaaS and not “better git commandline”, and it's priced accordingly ... *checks notes* … at $100/mo. Is there anything else like this? Paid is fine, but not $100/mo.

Proceduraly generated oak leaves and acorns. JS/PEX/WebGL/Nodes

A user is asking three.js to “improve compatibility with Next.js” by wrapping all references to global Web APIs in 'typeof' checks, and avoiding top-level await. This feels impractical. I want to suggest Client Components and dynamic import, but am I missing something? github.com/mrdoob/three...

OH HEY. 👋

Slowly creating a GameDev & Computer Graphics Starter Pack. Who else should I add? go.bsky.app/4zB9ACQ

I've been expecting something like this since the XZ hack, but still ... frustrated/annoyed/sad to see Microsoft and 13 (!) partners jointly announcing that their answer is to “educate” open source maintainers. github.blog/news-insight... #OpenSource

Very close to release LYGIA.xyz v1.3. Probably the biggest release yet. A redesigned PBR model, raymarching pipeline, and a set of debugging functions to make your life easier + better support for WGSL and Metal.

From Shopify, my favorite kind of technical blog post: lots of nice graphics and interactive sliders. shopify.engineering/how-we-built... #WebGL #threejs

apropos of nothing, a reminder that block party can help you delete old twitter posts en masse and also block annoying posters en masse (now that my for you feed is full of right wing gunk, there are lots of tweets that are pretty handy to plug into the block retweeters tool)

After trying a few ways of deleting tweets, everything I could find seemed to be either outdated, sketchy, or just broken. Here's a new one (requires copy/pasting in the JS console). gist.github.com/donmccurdy/c...

places