After reading Sebastian Aaltonen's No Graphics API blog post [1], now I'm working on implementing the suggested API using Metal 4.
Also I gave that blog post to Claude Code and asked to implement the API and it made terrible terrible mistakes. Just saying.