But how does BrawlBox know whether to interpret a value as integer or floating-point? I can't go by the size of the STDT data, because a few stages (i.e. 75m and Luigi's Mansion) have the same size STDT but use different interpretations.
Well the attribute grid does have an if statement that guesses int or float, but for values like 0 and some really big integers, there's no way to know for sure. What I did for moveset files was I had it use that if there were no text files that explicitly stated int or float for the current value.
Basically either the user tells BB float or int using the text files or it guesses.
Alternatively, you could hardcode structs for each stage and use them as a direct property interface. I don't think I would do that though, as there are quite a few stages and most of the values are unknown or need a long description.
I actually am already working on Ikarus. Just sent a pull request to LibertyErnie to allow selecting JUST the character folder, rather then the whole root of ALL brawl files. So expect to see that improved as well as BBox stuff

There should be a separate button under file->open to open just a character folder. In fact, I was planning to add buttons to be able to open any file separately.
The reason I completed opening the root first was because it was faster to just open an SD card root and switch the character for testing and I wanted to emulate the game

BB v0.68 and PSA can already edit pretty well.
Nice to see interest in continuing Ikarus though. It has a lot of potential, if somebody can get a proper moveset rebuilder written.