oluwasefunmi.

oluwasefunmi.

@oluwasefunmi.com

recurring background character.

31 Followers 95 Following 207 Posts Joined Feb 2024
1 day ago

Yayyy first PR merged

0 0 0 0
4 days ago
Video thumbnail

Seeing how far I can push retend's universal JSX renderer, ala opentui

Terminal UIs are really really cool, I can see why people like them.

0 0 0 1
1 week ago

I wish I was here more often.

0 0 0 0
1 month ago

Dropping the model less than 10 minutes after Anthropic announced 4.6 was objectively funny

0 0 0 0
1 month ago

Claude Code is like a genie that literally interprets your wishes until you regret it. Claude + Git is like a genie with an undo button

And that is why agentic coding is the first agentic thing that works

85 5 2 2
1 month ago

Lol I use this for transition speeds

--fast
--faster
--fastest
--bit-faster
--much-faster
--slow
--slower
--slowest

2 0 0 1
1 month ago

Niceee!

1 0 0 0
1 month ago

Many such cases

0 0 0 0
1 month ago
Preview
CSS Keyboard | Playground A 3D keyboard implementation using pure CSS transformations.

Play with it here: oluwasefunmi.com/playground/c...

Safari/WebKit has performance issues for reasons I don't even understand. I'll try to fix it tomorrow.

1 0 0 0
1 month ago
Video thumbnail

Mechanical Keyboard, made entirely with CSS transforms

1 0 1 0
1 month ago

Oh? Congratulations!

1 0 0 0
1 month ago

It's not DOM based

0 0 0 0
1 month ago

You can subscribe to @ryansolid.bsky.social on YouTube, the creator of Solid, he does really detailed 6 hr streams on everything related to web performance and framework API design

1 0 0 0
1 month ago

Idk, I am going to call that into question. I don't think diffing is slower. Recreating DOM nodes is VERY expensive.

But this is very impressive ngl, especially the SSR support. I'll try it out the second I get the chance.

1 0 0 0
1 month ago

I'm thinking he got hacked? Seems a bit bizarre

1 0 0 0
1 month ago

I have bad news

0 0 0 0
1 month ago

Interesting.

I wonder though, if there is no diffing and every update reruns the return function ( like in Remix), does this mean the DOM nodes are destroyed and recreated on every update?

0 0 1 0
1 month ago

Oh come on! πŸ˜‘

I spent a whole month recreating the overscroll stretch effect on Androids because it didn't trigger on nested divs

Should have just waited.

0 0 1 0
1 month ago
Preview
3D Marquee | Playground Interactive, 3D marquee, made with pure CSS

Play with it here (doesnt work on Firefox yet): oluwasefunmi.com/playground/t...

1 0 0 0
1 month ago
Video thumbnail

Halo Marquee in CSS, using offset-path and backface-visibility

2 0 1 0
1 month ago

Okay boss

0 0 0 0
1 month ago
A screenshot of the Chrome DevTools Animations panel showing two purple "moveAlongPath" animation tracks. Red triangle warnings appear on the corners of the first track, indicating performance issues.

Thanks for the reply

For some properties, I get the error on the first animation, but its gone when it replays. Is this expected behavior?

So clip-path, for example, is hardware accelerated, but not always?

0 0 0 0
1 month ago

This is useful and I will be using it immediately

1 0 0 0
1 month ago

I'm only animating accelerated properties (opacity, clip-path, transform, offset-path, etc) in css

But I get "Composing failed, unsupported property" for most of them in Chrome devtools. Is there an error in my understanding

cc: @bram.us @kevinpowell.co @chriscoyier.net @nerdy.dev

1 0 1 0
1 month ago
Video thumbnail

You know that annoying experience on mobile websites where you need to find the little close button and can't swipe a menu closed?

The solution is simpler than you think.

With basic CSS scroll APIs, you can get built-in interruptible swipe gestures πŸ₯³

271 38 9 3
1 month ago

I did this! 🀠

If you make the content sticky, use grid-area to do some ::after tricks and add scroll-timeline animations, it looks even cooler, with zero JS required.

Excited to see where the web is going.

1 0 0 0
1 month ago

It's actually pretty bullet proof!

The holdout is Firefox, because its scroll snapping is a bit too slow but it works nonetheless

0 0 0 0
1 month ago
Preview
Product Transition | Playground A product transition animation playground.

Try the interaction out here! I want to write a blog post on this later on.

Demo:

oluwasefunmi.com/playground/p...

2 0 0 0
1 month ago
Preview
View Transition API - Web APIs | MDN The View Transition API provides a mechanism for easily creating animated transitions between different website views. This includes animating between DOM states in a single-page app (SPA), and animat...

Each product image is wrapped in createUniqueTransition(), so repeated instances automatically dedupe and create the shared element transition. (write your own framework guys)

I would have used View Transitions instead, but then going backwards wont work.

developer.mozilla.org/en-US/docs/W...

0 0 1 0
1 month ago
Video thumbnail

Found this drag-to-dismiss on X. It can be done on the web with IntersectionObserver, grid-area and touchend. No manual pointer tracking.

I tried using scroll snapping but it was *bad*. Mimicking the gesture with .scrollIntoView feels nicer.

0 0 1 0