I finallt implemented triple and multiple stars, and ran into "interface problem". More precisely, two problems. First, I will describe the structure of the system.
Each star can be binary. In this case the star is reaplced with the barycenter of binary and two stars orbiting it. Each of the stars in turn can be binary, and so on - up to level 3 (i.e. the most complex system have 8 stars and 7 barycenters). Planets can orbit a star, but also can orbit a barycenter (in astronomy this is called "circumbinary panets" - i.e. planets in wide orbits around a stellar pair).
The first problem is naming rules for procedural stars and planets. For now, this system is implemetned. Stars in a pair are named by letters A and B. If star is a binary, then the name A or B is assigned to the barycenter, and binary components get names AA and AB or BA and BB. And so on: AAA, AAB, ... , BBB. If sistem has only one star, no letter is assigned: the name of the star is the same as the name of the whole system. The same is applied for the "root" barycenter of a binary/multiple system. Planets are named in by numbers in order of distance from the star or barycenter. For example A3, AB9, etc. Moons of planets are "numbered" with Greek letters, for example A3alpha, AB9gamma.
In astronomy, an even more weird method is used - stars are named by letter in the order of discovery (there is no other ways yet). The companions of binaries are called A and B, then when a third star is discovered, it got name C, the fourth got name D, and so on, regardless of hierarchy. Sometimes when the duality of component B is discovered, for example, it is renamed tp BA, and the satellite got name BB. I chose the second option as more logical, but this system has no place for letter C, D, etc.
The naming of the planets in astronomy is similar. The first planet discovered got name b, the second c, the third d, and so on. The letter a is reserved for the star itself, which is weird in my opinion. In SE, I decided to name planets with numbers, as is it usually done in science fiction: "planet Rigel 3" sounds somehow familiar.
The naming of the satellites in astronomy is also in the order of discovery, but by in Roman numerals: Io is Jupiter I, Europa is Jupiter II, etc. This looks okay Roman numerals are somehow off for the game, so I replaced them with Greek letters.
The second insterface problem is how to display the entire system hierarchy in the Solar system browser. The header screenshot is an example: the dirty first implementation has stars and barycenters in the first coluumn, and orbiting planets are shown next to them.
The root barycenter has two planets 1 and 2 and two stars A and B. The star A, in turn, is binary and consists of the stars AA and AB. The star B has eight planets B1...B8 (ignore the missing planets and the wrong order, it's just a test). It is immediately evident that such a table somehow does not look logically, and it is ugly. It's scary to think what it will turn into if there are 8 stars and 7 barycenters in the system 🙂 In addition, such a huge table will take a long time to "load" - the engnie has to generate about a hundred of planets. In theory, I can make it tree-like, such as how the drop-down list of moons is implemented already. But I have no idea how to arrange it.
Upd: found the extreme 8-multiple star. Look at this planet, it has 8 suns, not like some Earth has! 🙂
The Solar system browser does not fit into the screen (it has 15 rows!). I will probably will change the whole browsing scheme to a file-like: the first level will show only root barycenter and its satellites (stars, other barycenters and planets). When user clicks the star/barycenter/planet cell, the browser "enters" it like a folder, and sows the second hierarchy level - satellites of that object, some of which may be clickable as well.