Patron-only: stage 7 prototype (Patreon)
Content
Have yourself a merry little Cleric!
Late
I realise that this stage took a couple of months longer than anyone expected. I have a long list of reasons you don't need to hear. Suffice to say, I haven't given up on the project or anything. Some jobs just take time.
Of course, that means I'm now several months behind schedule. The real Pathfinder 2e game is going to come out in about two months, and I wanted to finish at least stage 10 before then. Sadly it looks like I won't be quite ready.
Spoilers
As we get closer to the actual release of Pathfinder 2e, we're seeing an increasing number of leaks and sneak previews coming out. While tantalising, these snippets aren't solid enough to actually build a character sheet on.
So while I've done my best to interpret what I think the rules for the Cleric might be, such as the Doctrines unlocked by level, I'm not psychic, nor do I have any special access ahead of time. Making the actual character sheets for each class is something I'll have to start on once I have the real thing in my hands.
What's changed in Stage 7?
As I mentioned previously, when i got to stage 6 I dediced to rejig the order of the tasks from the plan. That means that stage 7 mostly consisted of two things:
- Refactoring all the source Yaml and Sass files into separate units. A character sheet is now built out of a combination of units, including the Pathfinder 2e base, your class, ancestry, background, feats, and any options you switch on. Almost everything is now part of a unit. This includes the characteristic visual style, which is now part of the Pathfinder Theme unit; some day, I'll add a Starfinder Theme and maybe some others.
- Improving the ability of the visual elements to flex, in order to fill space more effectively. The biggest part of this was completely replacing the very messy code for fields - JS, Sass, the whole pile - and making a new set of it that's much more tidy, uses BEM thoroughly, divides neatly between the base CSS and the selected visual theme, and should be much easier to work with going forward.
The end result is a code base that's finally ready for the big change that's been looming on the horizon...
Next: Stage 8
My next job is to turn this into a library. Once published, the library will be usable in a variety of different programs. The primary one is, of course, the website; but there may be others in the future. Anywhere JavaScript can run.
To do this I'll be using a transpiler, which is a tool that turns one programming language into another. In this case, it'll be turning fancy new-style JavaScript in reliable old-style JavaScript. At the same time it'll join a big pile of files into a single one, and do some optimisation. There's a good reason for doing this, which is that by using a single compile-time dependency and the features of modern JavaScript, I can cut down on the number of run-time dependencies I'll need. You can read about why that's a thing here.
And, as always, the whole project is open source.
I don't know how long stage 8 will take, but it's been sitting on the horizon for me as "the big one".