Simulation is still deterministic on CPU but now I write directly into GPU buffers and moved interpolation, culling and other compute all into GPU.
Now renders 3M particles on iPad @ 60fps and uses 1/3 RAM (~400MB for 3M).
But why run 3M on iPad, when I can run 6M on M1 Max ;)
Now I finally have plenty of headroom for collisions! I think I've optimised enough for this week.
Pixl Particles – 3D deterministic particle system.
100% Swift, TRULY cross platform and its FAST!
Super excited to share a screenshot of Pixl Particles – a small part of a game engine I've been working on.
Deterministic here means every simulation using the same seed runs IDENTICALLY on every run AND every platform! Its truly deterministic and as a result supports scrubbing, playback, reversing, out of the box.
I wrote the editor for my son who's 9. He's making the effects for our games so it needed to be on iPad first and easy for him to use :)
The particle system itself runs on ANY Swift supported platform including Windows, Linux, WASM.
Here you can see 1 million particles simulated and rendered @ 60fps – you'll never need that many particles but I needed to push the benchmark. The system is single-threaded with rendering and other compute done on GPU. Data oriented, SIMD, and all that lovely stuff.
The engine can actually render closer to 2M particles but 1M is comfortable. The editor is SwiftUI ofc but I Pixl is also a larger game engine which has a PixlUI library that feels like SwiftUI so I'll be porting the UI over to that and writing it in-engine so it will work on any supported platform as well.
The engine is a BEAST but I'll be sharing visuals and games written with that in the future. This is a custom engine written 100% by me (with some AI assistance ofc) and may eventually be available under license but otherwise closed source for now.
Couple additional stats for this run of 1M:
~350MB RAM
~30-40% CPU (single core)
🎁 Kimi K2.7 and GLM 5.2 are now available on @tryGenerous alongside the most recent @AnthropicAI models.
Code with LLMs on your GitHub repos in seconds with these amazing open-weight models ✨
If we’re no longer free to choose the right tool for the job without feeling the need to justify ourselves, then we’ve lost something far more valuable than efficiency. We’ve lost trust.
I wrote a full essay you can read here:
https://t.co/umoEDTOsLc
I’d genuinely love to know where you stand on this.
Have you ever chosen not to use AI because you believed it was the better decision?
Did you feel comfortable making that choice, or did you feel the need to defend it?
And perhaps the bigger question is this:
At what point does a useful tool stop being a choice and start becoming an expectation?
SwiftUIBackports is in active-mode with all he amazing WWDC announcements in SwiftUI.
So I decided to write a skill that also makes it trivial for agents to use and get a more consistent codebase, less custom code.
Don't forget to follow for updates, backports are coming!
Great question, I had an idea last night (haven't tried yet) to perhaps use the Package.resolved (to get the dep version) and add a version in the metadata of the skill.
Whenever the skill runs, it could check if the version is older.
This is more to ensure the installed skill is aligned with the current package version you're working with.
As to discovering new releases on GH I was thinking that same version in the skill, plus a date. If > 30 days or something like that, let the user know they should check for updates. Not sure on this one yet.
RetroCalc is a fun calculator with an LCD display, soft buttons, and one very important feature: it helps you write words upside down.
Why? I wanted to share with my kids, one of my favourite old pastimes: typing numbers, flipping the calculator upside down, and discovering words hiding in plain sight.
I could not find one using a proper LCD-style font, so I made one. They loved it.
Its a personal, silly side project with my kids, made to show them that writing code, games, and apps can be playful. Also, calculators should let you discover that 5318008 is not the only joke in the drawer 😉
It is still a working calculator, obviously. It does sums, handles the usual operators, and then quietly encourages nonsense when nobody is looking.
Sharing for those of you who also want to be 12 years old again.
https://t.co/CmvFap6fmh
I'm also updating the project to make it far more agent-discoverable and easier for agents to contribute. This should enable me to deliver more backports but also hopefully for others to contribute more as well 👏
When AI can write software an order of magnitude faster, its tempting to be revolutionary instead of evolutionary.
#agentic#softwareengineering
https://t.co/EWdQyva5uY