Język opisu budynku - duszakpawel/IndoorNavigation GitHub Wiki
B - beacon (a dokładniej ściana (0.5 m) na której znajduje się beacon bo tylko taki przypadek jest możliwy)
D - drzwi (punkt docelowy; jeśli w budynku znajdują się drzwi przez które trzeba przejść by gdzieś dojść to na mapie nie są one zaznaczone) (0.5 m)
- - ściana (0.5 m); bloki poziome oznaczające muszą być oddzielane spacją dla efektu wizualnego
~ - narożnik ściany (0 m)
E - winda (0.5 m)
S - schody (0.5 m)
Wszystko ma szerokość 0.5 m żeby ładnie się to wszystko "zgrywało". Jeśli drzwi zajmują w rzeczywistości 1.5 m należy je wówczas oznaczyć na mapie w postaci - D - (nie ma to żadnego znaczenia).
Poszczególne komponenty odpowiadają kolejnym elementom tablic zdefiniowanym na początku pliku.
<Rooms floor="3">
<Room>312</Room> // numer pokoju
<Room>313</Room>
<Room>314</Room>
</Rooms>
<Rooms floor="2">
...
</Rooms>
<Beacons floor="2">
<Beacon>1</Beacon> // id beacona
<Beacon>2</Beacon>
<Beacon>3</Beacon>
</Beacons>
<Elavators floor="0">
<Elevator id="0">
<End>0</End>
<End>1</End>
<End>2</End>
</Elevator>
</Elevators>
<Stairs floor="0">
<Stair id="0" mode="twoway" end="2"></Stair>
<Stair id="1" mode="oneway" end="3"</Stair>
<Stair id="3" mode="disabled"></Stair>
</Stairs>
mode: oneway, twoway, disabled;
end: piętro na którym kończą się schody/winda
Poszczególne komponenty grupowane są w kolekcje. W języku istnieją również znaczniki:
description - okalający cały opis
maps - właściwa definicja mapy
map - definicja piętra