26.05.07 Reconstruction Logic by Layout Modev0.1.50 → v0.1.51
Changed in v0.1.51 (2026-05-16): update wording: flat layout mode ignores the z directional rotated volume
→+4 −3
| v0.1.50 | v0.1.51 | ||
|---|---|---|---|
| 1 | # 26.05.07 Reconstruction Logic by Layout Mode | 1 | # 26.05.07 Reconstruction Logic by Layout Mode |
| 2 | 2 | ||
| 3 | For the layout modes defined in the Layout Mode module, as in [[26.05-Layout-Mode-Module]], a general reconstruction logic of the scene can be described by the following steps. Given an input `Form` object, perform the following steps on its `layout`. The resulting `layout` of each step is the input `layout` for the next step. | 3 | For the layout modes defined in the Layout Mode module, as in [[26.05-Layout-Mode-Module]], a general reconstruction logic of the scene can be described by the following steps. Given an input `Form` object, perform the following steps on its `layout`. The resulting `layout` of each step is the input `layout` for the next step. |
| 4 | 4 | ||
| 5 | 1. Read the layout mode and determine the reconstruction logic from the `Form` object. | 5 | 1. Read the layout mode and determine the reconstruction logic from the `Form` object. |
| 6 | 2. If cell-placement is to be imposed, i.e., the layout mode is discrete, perform the cell-placement snapping, as specified in [[26.05.04-Cell-Placement]]. | 6 | 2. If cell-placement is to be imposed, i.e., the layout mode is discrete, perform the cell-placement snapping, as specified in [[26.05.04-Cell-Placement]]. |
| 7 | 3. If block-placement is to be imposed, i.e., the layout mode is block, perform the block-placement snapping, as specified in [[26.05.05-Block-Placement]]. | 7 | 3. If block-placement is to be imposed, i.e., the layout mode is block, perform the block-placement snapping, as specified in [[26.05.05-Block-Placement]]. |
| 8 | 4. If slot-placement is to be imposed, i.e., the layout mode is slot, perform the slot placement, as specified in [[26.05.06-Slot-Placement]]. | 8 | 4. If slot-placement is to be imposed, i.e., the layout mode is slot, perform the slot placement, as specified in [[26.05.06-Slot-Placement]]. |
| 9 | 5. If the Boundary module or the Tile module, or both, are in use, remove elements in `layout` that lie outside of the boundary, as specified in [[26.04-Boundary-Module-and-Tile-Module]]. | 9 | 5. If stacking logic is to be imposed, i.e., the layout mode is discrete or continuous, perform the stacking logic, as specified in [[26.05.03-Stacking-Logic]]. If flat layout mode is used, zero MUST be used for `spaceHeight` for this step. |
| 10 | 6. If stacking logic is to be imposed, i.e., the layout mode is discrete or continuous, perform the stacking logic, as specified in [[26.05.03-Stacking-Logic]]. | 10 | 6. If flat layout mode is used, set the $z$ coordinate of all artifacts to zero if `spaceHeight` is not provided, or set the $z$ coordinate of all artifacts to `spaceHeight` if `spaceHeight` is provided as a finite number. |
| 11 | 7. If the Boundary module or the Tile module, or both, are in use, remove elements in `layout` that lie outside of the boundary, as specified in [[26.04-Boundary-Module-and-Tile-Module]]. | ||
| 11 | 12 | ||
| 12 | The resulting `layout` is the output of the reconstruction logic. | 13 | The resulting `layout` is the output of the reconstruction logic. |
| 13 | 14 | ||
| 14 | ## 26.05.07.01 Flat Layout Mode | 15 | ## 26.05.07.01 Flat Layout Mode |
| 15 | 16 | ||
| 16 | Layout modes in two dimensions can be referred to as flat layout modes. They use only the ground plane in the scene, and artifacts' `volume.height` is ignored, or equivalently, taken as zero. The stacking logic is the same as in the three-dimensional layout with `spaceHeight` set to zero. The ground plane is used for flat layout. When working with the Local Scene module, if the `Form` object is not specified in a local scene, it uses the ground plane. | 17 | Layout modes in two dimensions can be referred to as flat layout modes. They use only the ground plane in the scene, and artifacts' rotated volume in the $z$ direction is ignored, or equivalently, taken as zero. When working with the Local Scene module, if the `Form` object is not specified in a local scene, it uses the ground plane. |