Frontier Mods
frontiermods.bsky.social
Frontier Mods
@frontiermods.bsky.social
A microblog about the development of Frontier Mods, a group of mods for Cataclysm: Dark Days Ahead: https://github.com/FrontierMods/
Pinned
Current status: reworking `.devtools` to be a plugin-driven toolkit.
I have achieved my dream: function call objects in JSON5.

TL;DR: you can compose and call a bunch of simple functions to standardize certain calculations that would otherwise take too long to write or copy from place to place by hand.
November 6, 2025 at 4:36 PM
The toolkit was mostly working, but I'd stumbled upon an idea that would let me reduce manual JSON even furthe, and it wasn't working with the current flow, so... I'm finishing rewriting the flow.

Should be a lot smoother, quicker, and more powerful. Also nice TUI via listr2. (Will show later.)
October 30, 2025 at 12:31 AM
Sifting through ultraverbose logs is my passion.
October 24, 2025 at 1:11 AM
Currently running Armory through the latest (pre-release) version of 0.I, catching errors as they fly at me. Discovering that the toolkit does some interesting things to the source, as well as some interesting changes in the game itself which are, for whatever reason, really hard to discover.
October 22, 2025 at 7:55 PM
TIL: `quantities` package name is already taken on NPM, and it's a 12-year-old library with at least a few downloads per week. :(

This means I will likely need to come up with a different name, or scope it. I won't scope it to the mods' org because the library is generally usable.
October 22, 2025 at 2:26 PM
Speaking of: I've been considering adding multi-unit-pair support to `quantities`. It came up that the most recent stable(ish) version of *DDA* is going to use formatted quantity strings with possible multiple units (e.g. "16 cm 5 mm").

That... would take a lot of work.
One of the silliest issues plaguing both the previous iteration of `.devtools` and the current one is: "96.53206 ml"

In other words, quantity values that come out raw after transformations. You'd think it would be as easy to solve as rounding, but that will result in incorrect outputs.
October 19, 2025 at 12:46 AM
One of the silliest issues plaguing both the previous iteration of `.devtools` and the current one is: "96.53206 ml"

In other words, quantity values that come out raw after transformations. You'd think it would be as easy to solve as rounding, but that will result in incorrect outputs.
October 19, 2025 at 12:17 AM
On my way to reinstating `.devtools` to TRUE POWER™ that it had before. Remaking hardcoded processors into independent transformer functions, in part to allow users to play out their file transformations quicker (fewer things to run through per file).
October 14, 2025 at 9:11 AM
First successful build with the New and Improved `.devtools`. :D

Shocked that it actually works. Only had to spend the entire day syntax for mods that aligned with the previous version.

Still not 100% to parity, but this means I can actually get to 100% now.
October 12, 2025 at 8:05 PM
"Hmm... I need to build a pipeline to ingest a bunch of files by glob pattern, modify them in some way, then output them to the target directory..."

And I end up describing fuckin' Gulp. :D
October 7, 2025 at 10:24 PM
For all the talk about how excited I am about working on the toolkit, I recognize that I haven't actually released the thing yet, which makes much of my excitement kind of fly up into the stratosphere. I should've released the earlier, centralized version first, then started public upgrades.
October 5, 2025 at 8:54 PM
IT WORKS!! It does nothing aside from converting JSON5 → JSON and outputting to the right directory, but IT WORKS! :D

The trick now is to figure out exactly how the hell to implement all of the transformations required. I haven't given the proper architecture any thought yet.
October 5, 2025 at 8:41 PM
Only got time to work on the toolkit over this weekend. Finished migrating the CLI from `yargs` to `stricli`. The CLI now looks professional as HECK

Also finally finished re-implementing the plugin system. Plugin registration is now easy, without any loss in plugin power.
October 4, 2025 at 4:17 PM
TIL: there's a proposal for JS that would help "naturalize" all of the quantity processing, at least to some degree, in `.devtools`: github.com/tc39/proposa...

It's not nearly as fleshed out as the `quantity` library, but it's a step in the direction of not needing a library at all.
GitHub - tc39/proposal-amount: Numbers with precision and a unit for JavaScript
Numbers with precision and a unit for JavaScript. Contribute to tc39/proposal-amount development by creating an account on GitHub.
github.com
September 28, 2025 at 10:27 AM
Current status: reworking `.devtools` to be a plugin-driven toolkit.
September 18, 2025 at 1:09 PM
Back to development, with another instance of the same lesson to be learned: don't rush shit.

Being able to finally implement the toolkit to my vision was exhilarating, but it resulted in something of a messy codebase that would have (and has) proven to be difficult to work with.
September 18, 2025 at 1:08 PM
Frontiers Mods are, collectively, on a bit of a pause until I can catch a few Ws elsewhere and get over the stress and confusion of the .devtools overhaul.

Should've released the imperfect version, at least. -_-
September 8, 2025 at 10:21 PM
The lull in the updates is what happens when you attempt an overhaul without thoroughly documenting the existing functionality because it's a one-person project and "I'm sure I'll figure it out if I forget anything".

The fact that so much of the functionality is still unported frightens me.
August 31, 2025 at 7:02 AM
"I'll just rewrite the entire thing, how bad can it be?"

Me, after day 3 of not being finished with the port after fully expecting to be done in like a day:
August 27, 2025 at 3:32 PM
...and then I forgot to keep posting updates, LOL

Long story short:

- in the process of reworking the toolkit architecture
- converted an important underlying library from JS to TS and added functionality to it
- almost migrated Armory to the new format
August 25, 2025 at 4:15 AM
Sub-400 ms performance on build achieved!

All you have to do is not cache (and attempt to check through) the entire mod catalogue, and only focus on the mod's actual dependencies! (Oops!)
August 12, 2025 at 11:00 PM
Over the weekend, I've added:

- `math` to replace the clunky customized patch system for refs (it wasn't usable for every case)
- DDA-friendly quantity string rendering (`1.5 kg` → `1 kg 500 g`)
- barter price calculation from scarcity params
- a bunch of optimizations

Feels good.
August 11, 2025 at 10:19 PM
One of the core features of the toolkit is being able to reference values from exising objects and pick values from them. This is an example of how to make a reusable pocket for STANAG magazine pouches.

"But that's more to write!" — Sure, but it's a lot less to think about and keep up with.
August 8, 2025 at 9:38 PM
Why do I love manually editing JSON(5) by hand? I don't know, but I enjoy the process. :D
August 6, 2025 at 8:13 PM
Current status: refactoring the hell out of the mod toolkit to make it fit the desired state; and moving Armory (by far the largest mod yet) to the new, toolkit-enabled format. The rest of the mods shall follow.
August 4, 2025 at 11:37 PM