2025-10-28

Written: 2025-10-28
Project: Project Fragmentation

  • Added info_target entity. Nothing but a named Node3D.
  • Added info_teleport_destination entity. Same as info_target but with visualised with a player spawn location and orientable
    alt text
  • Added AbstractTriggerVolume class as a subclass of Area3D. Requires handle_contact(player: PlayerController) be implemented
  • Added trigger_teleport entity as an AbstractTriggerVolume. Teleports the player on contact to either an info_target or an info_teleport_destination. If the target is a teleport destination also rotates the players vision to match the new location.
  • Migrated trigger_respawn, trigger_win, trigger_timetrial_start, trigger_timetrial_checkpoint and trigger_timetrial_finish to be descendants of AbstractTriggerVolume.
  • PlayerController now calls handle_contact and handle_leave on contact with an Area3D AbstractTriggerVolume. All existing _on_enter_trigger_volume and _on_exit_trigger_volume has been reduced to these calls.
  • Backstage now emits map_change_started before beginning a map change or hot reload.
  • GameManager now emits backstage_ready once backstage is available.
  • TimeTrialManager now supports ending timetrial mode. All timetrial state is reset back to null or zero. This currently purges the set PB and split. Timetrial mode will automatically end if a map change is triggered.
  • TimeTrialManager emits a warning in the console if the current map doesn’t support time trial mode.
  • Added trigger_repeatable brush entity. On contact with the player, calls do_trigger() on every node in its “target” group that has a “do_trigger” method.
  • Added info_command entity. The first entity to support do_trigger(). Takes a command string an a property. When triggered, executes the given command in the console.
  • Added the ledge grab monolith to test_movement. Each pillar is constructed a different way. Allowed me to determine that the phantom ledge grab bug is specific to gaps between ConcavePolygonShape3Ds.
    alt text

what if a bug had a website

emily/chloe
it/its/she/her
occasional maker of things and poster of thoughts