What is the underlying logic for generating an icon map for a custom registered layout (in Layout Builder)?

There seems to be a dearth of information on the internet about how to generate an icon_map for newly registered layouts in Layout Builder.

I’ve gotten as far as finding a patch file from the project that includes a poorly-documented comment that unfortunately doesn’t shed much light on this:

/**  * Builds a render array representation of an SVG based on an icon map.  *  * @param string[][] $  icon_map  *   A two-dimensional array representing the visual output of the layout.  *   For the following shape:  *   |------------------------------|  *   |                              |  *   |             100%             |  *   |                              |  *   |-------|--------------|-------|  *   |       |              |       |  *   |       |      50%     |  25%  |  *   |       |              |       |  *   |  25%  |--------------|-------|  *   |       |                      |  *   |       |         75%          |  *   |       |                      |  *   |------------------------------|  *   The corresponding array would be:  *   - ['top']  *   - ['first', 'second', 'second', 'third']  *   - ['first', 'bottom', 'bottom', 'bottom'].  ... 

It doesn’t say why we’d use keywords like first, third, and bottom — or even what each term actually means to the Layout Builder module. There doesn’t seem to be any rhyme or reason as to how this is supposed to work. The documentation is also severely lacking.

What is the underlying logic behind the generation of icon maps, and how does it actually work?