-
Notifications
You must be signed in to change notification settings - Fork 30
Description
Currently, the Placing tool uses a built-in algorithm to determine the city layout. While this is usually effective, it doesn’t offer a straightforward way to see the code’s structure directly mirrored in the city’s plan. To address this, the tool needs a new switch - call it “layout preservation” - that keeps the input file’s structure intact when generating the city. If the user enables this switch, the city layout should follow the exact hierarchy or ordering in the input file, ignoring the default placement logic. This option gives teams an alternative viewpoint by producing a city layout that clearly reflects their data’s native organization.
Example for the default city layout, made with using the algorithm:
City layout hierarchy example, made wihtout using the algorithm (xml file snippet for reference):
+--------------------------------------------------------------------------------+
| Container (id=5bef7e79, type="container") |
| +----------------------------------------------------------------------------+
| | <root_package> (id=6a8eccde, type="ground") |
| | +----------------------------------------------------------------------+
| | | codemetropolis (id=8b89726d, type="ground") |
| | | +--------------------------------------------------------------+
| | | | toolchain (id=6fbc5106, type="ground") |
| | | | +------------------------------------------------------+
| | | | | rendering (id=1cb0139d, type="ground") |
| | | | | +----------------------------------------------+
| | | | | | CommandLineOptions (id=82d7e767, type="garden") |
| | | | | | +------------------------------+
| | | | | | | showHelp (id=0636b8c1, type="cellar")
| | | | | | +------------------------------+
| | | | | | | inputFile (id=2490c8b5, type="cellar")
| | | | | +----------------------------------------------+
| | | +------------------------------------------------------+
| | +----------------------------------------------------------------------+
| +----------------------------------------------------------------------------+
+--------------------------------------------------------------------------------+<buildables from="mapping" to="placing" version="1.0">
<buildable id="5bef7e79" name="" type="container">
<children>
<buildable id="6a8eccde" name="<root_package>" type="ground">
<children>
<buildable id="8b89726d" name="codemetropolis" type="ground">
<children>
<buildable id="6fbc5106" name="toolchain" type="ground">
<children>
<buildable id="1cb0139d" name="rendering" type="ground">
<children>
<buildable id="82d7e767" name="CommandLineOptions" type="garden">
<children>
<buildable id="0636b8c1" name="showHelp" type="cellar"/>
<buildable id="2490c8b5" name="inputFile" type="cellar"/>
</children>
</buildable>
</children>
</buildable>
</children>
</buildable>
</children>
</buildable>
</children>
</buildable>
</children>
</buildable>
</buildables>