Hello! This is more of a "I'm not dead post". Just a couple updates.
The engine re-write is in progress. I'm sill
working just on the flex-box spec implementation. This is the first time ever that i've actually hit a capacity limit of my mind. I just cant keep all the spec in the brain-RAM or whatever it is. The spec itself is not that difficult. It's short. The implementation is less than 1000 loc. But omg, the nomenculature is making things hard. It's actually turned out to be a serious problem for me. Everything has to be triple-checked all the time. (Is it auto, is it definite, is it specified/computed/used/target value? Why. Is it set by mistake etc. etc.). I have to 100% know that sonething is a bug, a correct behaviour or incorrect behaviour (I misread the spec)
It's especially hard, because by know I already wrote 2 different layout engines for Cascade, and this one is taking way, way more time than I ever imagined, which is very demotivating.
To help with all that, I took an inspiration from one of the Jeff And Casey show episodes and made a thing that explains every single decision, that the engine took, for every single value of every tag. I called the struct for that info - muratori_node. We'll see how that helps. Right now I'm in middle of restructuring the engine to improve readability and understanding. I'm renaming a lot of stuff just to be more similar to what is said in the spec.
Oh, also we now have another programmer helping us with Cascade. Pure luck. On one of my streams a guy from Yekaterinburg, Russia got so interested in a project, that decided to join full-time. He's never heard of Casey or Handmade Hero, but his approach is very similar to the Handmade philosophy. He is much more skilled than I am, he made his own 3D engine (and a giant set of general-purpose libraries) from scratch. We're so happy and lucky to have Vladimir (@frowrik
) working on Cascade with us.
And yes, I'm streaming Cascade development now on Wednesdays 1.30 pm PT / 9.30 pm UTC. Come say hi if you're interested.
Ok, hopefully we'll have better updates next time.