Just to say up front, I hope you don't mind that I went digging through the game's code. It's purely for analysis and route planning. Everything I changed is in a local copy on my machine for logging and measuring, I'm not touching your build or redistributing anything. If you'd rather I didn't poke around in there, just say so and I'll drop it.
On the categories, that makes sense, one timer and lowest time is the cleanest thing for a jam game. Worth knowing though that once the explosion life counts, the route changes completely. Right now that life is worth about a minute to me, because I dump all the slow ferrying into it and none of it shows up on the clock. So my current run would be a lot slower under a fixed timer.
For the fast deaths, it's two things in your own code. K calls die(), and die() first waits for the player to land, it checks is_on_floor() and velocity.length() < 5.0, with a 2 second cap. So if you press K while you are in the air or sliding, you sit there for up to 2 seconds doing nothing. Press it standing completely still on the ground and it fires immediately. Then the 6 second corpse animation is skippable with jump, but only when next_dead_id > 0, so only once you already have at least one corpse (note that water deaths and the wall explosion don't leave a corpse, so neither of them unlocks the skip either). That means your very first death always costs the full 6 seconds and every one after that can be mashed through with space. Put those together and a throwaway life is about 3.5 seconds of real time and roughly 0.3 seconds on the in game clock, which is why buying years is so cheap.
For the route view, I unpacked the .pck and ran the project in Godot directly. I added an autoload that writes one CSV row every physics frame with position, velocity, state, which keys are held, the year and both timers. The map is not a screenshot, it's rendered from game.tscn by walking every CollisionShape2D, so it's the real collision. Then one script draws the logged path over it with a colour per life, and another renders it as a video with a trail that stays behind so it ends on the full route.
The same setup also draws every collision and trigger box live in game, plus a free camera so I can check whether a route exists before wasting lives on it.
Happy to send you the logging and drawing scripts if you want them, they're generic enough to drop into any Godot project and might be handy when you go back to the timer.
I'll keep the actual route and the other glitches I found to myself for now, mainly because I'm still improving it. But honestly I'd love it if you left them in. Half the fun of routing this game is finding that stuff, and without them there's a lot less to work with, so please don't patch them yet :)