Lulucat Blog is where we write down how the apps actually get built. Expect deep dives into the rendering engines behind our handwriting tools — stroke models, erasers, GPU pipelines — the measurement harnesses we build to trust them, and honest notes on working with AI coding agents: what they got right, what they broke, and what we kept. No fixed schedule; new posts appear when there's something real to show.
Lulucat Notes' chalk tool slowed down in dense handwriting areas. The bottleneck was not the 3,571 input samples — it was 70 full-screen scratch passes per frame. A rejected low-resolution cache and a per-stroke scissor rectangle tell the rest of the story.
We evaluated Turso/libSQL for our iPad handwriting app, measured everything, and chose flat snapshot files. The workload does not need a database — and each step should only pay for problems that already exist.
We wanted Freeform's directional fountain pen in Lulucat Notes. The spec was a screenshot of handwriting. Two models, one discriminating question, and an ellipse nib later, the water pen writes the way it should. The research, code, and validation were done by Kimi K3 on Fireworks.
Our Core Graphics tile pipeline became a Metal point-sprite pipeline in six small steps, each verified on a real iPad. The code was pair-programmed with Kimi K3 on Fireworks.
An eraser stroke as its own element is the obvious design. Object move breaks it, so erasure in Lulucat Notes belongs to the stroke it removes ink from.