@@ 0,0 1,74 @@
+---
+published: true
+layout: post
+title: "Forging redplanet (Day 1): A Gentle Start"
+date: "2020-09-01"
+tags:
+ - "redplanet"
+ - "forge"
+ - "tau"
+category: "devlog"
+---
+The other night, prompted by my partner's recommendation, we watched
+[_Julie & Julia_][julie-and-julia], dir. Nora Ephron. I thoroughly enjoyed the
+film - although I was expecting as much considering the narrative revolved
+around food! I particularly found joy in Meryl Streep's exaggerated depiction of
+American chef Julia Child (if you haven't already seen a clip of her on the
+internet, [enjoy](https://www.youtube.com/watch?v=M9AITdJBTnQ)). The biopic is
+loosely based on an undertaking of the writer Julie Powell. Her mission was to
+combine the two passions of her life: writing and cooking. She set out to cook
+all 524 recipes from Julia Child's book _Mastering the Art of French Cooking_,
+in a mere 365 days, churning out daily blog posts to document her progress. What
+becomes clear, however, is that her mission simply acted as a vehicle for her to
+"self-therapize" through blogging, the cooking itself serving as a
+prompt/conversation starter for the day's blog post.
+
+<!-- Excerpt -->
+
+I have come away from this film re-invigorated and inspired to continue a
+personal project that had gone stale for the past couple of months. In addition
+to chipping away on said project, I had already been considering documenting my
+thought process via this blog. So the motivations are clear, and I need say no
+more. With the green flag waving, fingers screeching across the keyboard, we
+crawl into day 1 of many!
+
+# The Project
+
+Let's start slow. What is this project I have been working on? One Christmas a
+few years back I received a physical copy of what is often referred to as the
+"rendering bible", [_Physically Based Rendering_][pbrt]. From that day on, I
+made it a personal goal to completely consume all the delicious nuggets of
+knowledge from the book and **write one of the best open source production
+renderers in the computer graphics industry**. Ambitious! I know. Yet anyway,
+here we are. The title of the very first working prototype is designated as
+[**redplanet**][redplanet-commit]. I long for the day when I can announce its
+release.
+
+A couple of years later and the project had spun itself into a much larger web
+than I had initially anticipated. With my interests darting here and there, I
+eventually convinced myself it is an absolute necessity to build a foundation
+library with basic data structures, allocators, fixed-size linear algebra types,
+a bare-bones immediate-mode GUI framework, and a concurrent in-memory data
+model. Before I knew it, I was writing the beginnings of a modular game engine,
+and it is this spin-off in particular, that I have made the most progress on.
+
+The library itself is called [**Forge**][forge]. It currently possesses at most
+20% of the features I mentioned. Here is the immediate-mode GUI in action.
+
+<video src="http://files.rycwo.xyz/boran_db82840.mp4" muted controls></video>
+
+So there we have it. The short term plan is to fix a few existing bugs with the
+GUI framework, implement text rendering, and demo some fancier widgets. Only
+then will I be able to re-focus my efforts onto redplanet, hopefully utilizing
+relevant parts of Forge as I go.
+
+I don't plan on working on Forge or redplanet every single day. This is meant to
+take years after all. A few days a week seems like a respectable and reasonable
+goal, and on the days I make progress, you can expect a blog post to go with it.
+Today we make a gentle start, this blog post is my first step across the
+starting line.
+
+[forge]: https://git.sr.ht/~rycwo/forge
+[julie-and-julia]: https://en.wikipedia.org/wiki/Julie_%26_Julia
+[pbrt]: https://www.pbrt.org
+[redplanet-commit]: https://git.sr.ht/~rycwo/redplanet/commit/70a9356f67b4e3bf248c9f2bad15cfd500d209b2