Right, this is a problematic relic from eye triggering, an older physics rule from C++ Lix and early D Lix.
Goals and one-kill-at-a-time traps (e.g., the Eater) trigger only when the lix touches the trigger ara with the foot. This has always been the rule.
Fire and water trigger when the lix's foot touches the trigger area, or, in older versions of Lix with eye triggering, when the lix's eye touches the trigger area. The eye depended on the spritesheet. There is code in Lix that scans each sprite for its eye location; if a pose covered her eye with the hand, we used the previous sprite's eye.
With the eye rule, a platformer could slip underneath a buzzsaw where walkers died. This was very hard to discover for players. Also physics really shouldn't depend on such ornamental details of the spritesheet.
Instead of the eye rule, there are checks at (foot), (foot - (0, 4)), (foot - (0, 8)), and (foot - (0, 12)). This still covers a good chunk of the body, and it's independent from the spritesheet, and feels right.
Only today I'm realizing: Since the extra checks happen at a predefined, constant height, this rulel has become identical to a foot-only check against a downwards-enlarged trigger area.
I'm up to find a good solution. Should we draw a bigger trigger area in the editor? Or should we draw an extra rectangle below the current rectangle, to show the area where the foot will be when the fire/water triggers? Either way, fire and goals will then have different rectangles drawn despite identical text file definitions. But that's likely fine. I'm hesitant to change the file format, but even that is on the table.
-- Simon