Week 49: Character categories and decoupling Scaffolder from Surfacer

A screenshot of the Godot editor showing character category selection in the inspector panel.
Now character categories can be referenced instead of individual characters.

tl;dr: I added support for character categories, and I removed dependencies on the Surfacer framework from within the Scaffolder framework.

What happened last week?


  • This was a very short week for me.
  • I added support for character categories
  • I decoupled Scaffolder from Surfacer.

Laundry list

  • Add support for character categories:
    • This is useful for simplifying many systems in Surfacer, so that I can refer to a single character-group rather than many individual characters.
    • This also can greatly-reduce file sizes.
  • Decouple Scaffolder from Surfacer:
    • This involved removing various references to the Surfacer framework from within the Scaffolder framework.
    • These tend to creep in, since I don’t have a good automated way of detected them set-up at the moment.
    • This was reported to me as a GitHub issue on my repo.
    • Decouple Scaffolder SpawnPosition logic from surface logic.
    • Move legend reference from Su to Sc.
    • Move legend from Surfacer to Scaffolder.
    • Fix a couple lingering Surfacer references within Scaffolder.
    • Move some color-configs from Surfacer to Scaffolder.
    • Move a couple control-row classes from Surfacer to Scaffolder.
    • Move the beat-hash annotator from Scaffolder to Surfacer.
    • Create a new repository for testing and demoing the Scaffolder framework in isolation from the Surfacer framework.
  • Miscellaneous:
    • Disable some global scripts that shouldn't run in the editor environment.
    • Fix a long-standing subtle step/waypoint-calculation bug relating to velocity-actual-x values being overwritten sometimes.
    • Clamp fall-from-floor and fall-from-wall edges to not start with horizontal speed exceeding max-in-air threshold.
    • Clamp jump-from-floor optimized edges to not start with horizontal speed exceeding max-in-air threshold.
    • Rename some instances of `character_name` to `character_category_name` to make it more clear whether something is a character or a category.
    • Assert character and category names don't conflict.
    • Fix an issue with infinity-value vector checks is my mid-surface-protrusion waypoint calculations.
    • Respond to some GitHub issues on my Scaffolder and Surfacer repositories, relating to how folks want my frameworks to be more flexible with directory structures and to work better out-of-the-box when installing things from Godot’s in-editor AssetLib utility.

What's next?

  • Fix a couple issues with edge navigation.
    • Support pressing backwards on intra-surface edges when the stopping distance would otherwise be too great.
    • Fix the navigator's ability to always calculate a valid fall-from-air edge.
  • Fix some issues with Behaviors.
  • Create new Squirrel Away tile art.

🎉 Cheers!

This is a simple icon representing my sabbatical.