In the Unity port, the bosses had phases, HP, hitboxes, sprites and a health bar. What they did not have was attacks. Almost every one of them fired the same invented thing: a symmetric fan that widened with the phase, all of it released on a single frame. It was labelled an invention in the source, which is the honest thing to do and not the same as fixing it.
What they actually do
A few of the fights, as they run now.
| boss | its fight |
|---|---|
| Dreadnought | An aimed fan whose speed rises with each beam and whose spread narrows as the count grows: 0.3 rad at four shots, 0.2 at five. |
| Mephisto | Four hitscan bolts onto points locked when the telegraph starts, 130 ms apart, guaranteed never to land on the player. And nine fire bolts sweeping one direction across 1.5 rad, 95 ms apart, flipping each use. Neither attack begins while the other is winding up. |
| Aether Crown | Bubbles and twin beams alternating on one clock, a pearl ring on another. Each bubble drifts for a second and a half and bursts into four fixed diagonals. |
| Mnemos | A continuous braid whose weave marches a fixed step and never resets, not on a phase change and not after a special. Fan, scythe and nova rotate through it. The scythe is a movement: the boss charges the point it locked, at 265 px/s, and cuts five blades when the swing has 320 ms left. |
| Every mini-boss | The scorpion tail cycle: one beam, then three, then five across 1.1 rad. The port already had the angles for this and nothing had ever called them. |
Fifty-three of the fifty-five numbers these fights run on are loaded from the constant dump. The remaining literals are transcribed into a content JSON that says it is a transcript, and the two constants the dump does not carry are flagged in the source so nobody mistakes them for loaded values.
Four of them stagger
The boss code carried a note saying it parsed the authored per-beam delay and then dropped it, because staggering would need a scheduled queue. It has one now, and it was not optional. Nine fire bolts 95 ms apart are a sweep the player moves against. Nine fired together are a wall.
Two things the wiring turned up
The attack clocks only started ticking once the entrance glide finished, which silently added the port's own 2.2-second arrival to every boss's first attack. One boss's first gravity well arrived at 5.4 seconds where the original opens it at 3.2. The original runs the approach inside its boss update, which is exactly why it pushes the first-shot timers past the entrance beat. There would be nothing to push otherwise.
And the gravity well needed the same seam the waterfall did. The player's velocity is set from input every frame, so a force applied before that write is discarded. It is the bug that made the waterfall's downforce do nothing for the entire life of the feature in the web build.
The checks
An invented fan is exactly the kind of thing that hides behind a check. The runner counted shots and the mission counted kills, and a fan produces both. So every new assertion is written to be unreachable by it: counts, cadences and speeds it never had, absolute angles where it only ever aimed, staggered releases where it fired on one frame, a ring whose velocities sum to zero, a nova that is a band and not a disc, a boss that leaves its perch.
A second section proves the plumbing separately, because a machine that works and is not connected looks exactly like a boss with no attacks. A real boss on a real stage lands lightning, Mnemos actually charges when its scythe commits, and the well drags a ship whose pilot is holding still.
The invented fan cannot come back, either. The old fallback threw away the sheet key and answered for anything. It now answers for the two bosses with authored tables and throws for everyone else.
| check | result |
|---|---|
| Behaviours | 1,201 checks, 76 of them new across two boss sections |
| Hazards | 8,300 checks |
| Front end | 40 checks |
| Mission | all 8 stages, 7 changes, every one on the boss dying |
| Player build | KuroKishi.exe, 191 MB, 14.4s |
Core parity (1,192), combat rules parity (372), path parity (25,636) and the stage runner (3,693 checks, 3,077 spawns) are unchanged.
A missing glyph looks deliberate
The game writes nine characters that had no glyph in the port's bitmap font. A missing glyph is not an error. It renders as a box, and a box looks deliberate. So the title screen read "□ START", and the integrity meter could not show damage at all, because full and empty drew identically. That one took launching the built game and looking at it. The HUD and the ship were also showing through every menu, because the web build's menus are separate scenes and this port draws them over a live one.
The warnings are not drawn yet
The attacks are all here. The telegraphs are not. The web build draws blinking strike reticles, marching direction dots, converging arcs, burning eyes before the heavy attacks and a crescent blade through the lunge, and every one of those is a graphics call this port does not make yet. The hitscan attacks in particular are currently unfair, not merely unfinished: the bolts land with no warning where the original gives a full second of it. Softening the attacks to compensate would be the wrong repair, so they are faithful and the gap is written down.
