[
    {
        "identifier": "raw_floor_border",
        "showcase": null,
        "params": [
            {
                "field": "length",
                "data": "5.0"
            },
            {
                "field": "height",
                "data": "5.0"
            },
            {
                "field": "face",
                "data": "(True, False, False, False, True, False)"
            },
            {
                "field": "is_sink",
                "data": "False"
            },
            {
                "field": "is_ribbon",
                "data": "False"
            }
        ],
        "skip": "length == 0.0",
        "vars": [
            {
                "field": "uv_length",
                "data": "length / 5.0"
            },
            {
                "field": "uv_border_texture",
                "data": "1.0 if is_ribbon else 0.5"
            },
            {
                "field": "sink",
                "data": "0.7 if is_sink else 0.0"
            }
        ],
        "vertices": [
            {
                "skip": "not face[0]",
                "data": "(0, 0, 0)"
            },
            {
                "skip": "not face[0]",
                "data": "(0, 2.5, -sink)"
            },
            {
                "skip": "not face[0]",
                "data": "(length, 0, 0)"
            },
            {
                "skip": "not face[0]",
                "data": "(length, 2.5, -sink)"
            }
        ],
        "faces": [
            {
                "skip": "not face[0]",
                "texture": "(\"FloorTopFlat\" if is_ribbon else \"FloorTopProfil\") if is_sink else \"FloorTopBorder\"",
                "indices": [0, 2, 3, 1],
                "uvs": [
                    "(0, 0)",
                    "(0, uv_length)",
                    "(uv_border_texture, uv_length)",
                    "(uv_border_texture, 0)"
                ],
                "normals": [
                    "(0, sink, 2.5)",
                    "(0, sink, 2.5)",
                    "(0, sink, 2.5)",
                    "(0, sink, 2.5)"
                ]
            }
        ],
        "instances": [
            {
                "identifier": "raw_floor_side",
                "skip": "not face[4]",
                "params": {
                    "height": "height",
                    "length": "length",
                    "is_left_sink": "False",
                    "is_right_sink": "False"
                },
                "transform": "ident()"
            },
            {
                "identifier": "raw_floor_side",
                "skip": "not face[2]",
                "params": {
                    "height": "height",
                    "length": "2.5",
                    "is_left_sink": "is_sink",
                    "is_right_sink": "False"
                },
                "transform": "move(0, 2.5, 0) @ rot(0, 0, -90)"
            },
            {
                "identifier": "raw_floor_side",
                "skip": "not face[3]",
                "params": {
                    "height": "height",
                    "length": "2.5",
                    "is_left_sink": "False",
                    "is_right_sink": "is_sink"
                },
                "transform": "move(length, 0, 0) @ rot(0, 0, 90)"
            },
            {
                "identifier": "raw_floor_side",
                "skip": "not face[5]",
                "params": {
                    "height": "height",
                    "length": "length",
                    "is_left_sink": "is_sink",
                    "is_right_sink": "is_sink"
                },
                "transform": "move(length, 2.5, 0) @ rot(0, 0, 180)"
            },
            {
                "identifier": "floor_bottom",
                "skip": "not face[1]",
                "params": {
                    "length": "length",
                    "width": "2.5"
                },
                "transform": "move(0, 0, -height)"
            }
        ]
    },
    {
        "identifier": "floor_normal_border",
        "showcase": {
            "title": "Normal Border",
            "icon": "NormalBorder",
            "type": "floor",
            "cfgs": [
                {
                    "field": "length_",
                    "type": "float",
                    "title": "Length",
                    "desc": "The length of block.",
                    "default": "2.5"
                },
                {
                    "field": "height_",
                    "type": "float",
                    "title": "Height",
                    "desc": "The height of block.",
                    "default": "5.0"
                },
                {
                    "field": "face_",
                    "type": "face",
                    "title": "Face",
                    "desc": "Whether has some faces.",
                    "default": "(True, False, False, False, True, False)"
                }
            ]
        },
        "params": [
            {
                "field": "length",
                "data": "length_"
            },
            {
                "field": "height",
                "data": "height_"
            },
            {
                "field": "face",
                "data": "face_"
            }
        ],
        "skip": "False",
        "vars": [],
        "vertices": [],
        "faces": [],
        "instances": [
            {
                "identifier": "raw_floor_border",
                "skip": "False",
                "params": {
                    "length": "length",
                    "height": "height",
                    "face": "face",
                    "is_sink": "False",
                    "is_ribbon": "False"
                },
                "transform": "ident()"
            }
        ]
    },
    {
        "identifier": "floor_sink_border",
        "showcase": {
            "title": "Sink Border",
            "icon": "SinkBorder",
            "type": "floor",
            "cfgs": [
                {
                    "field": "length_",
                    "type": "float",
                    "title": "Length",
                    "desc": "The length of block.",
                    "default": "2.5"
                },
                {
                    "field": "height_",
                    "type": "float",
                    "title": "Height",
                    "desc": "The height of block.",
                    "default": "5.0"
                },
                {
                    "field": "face_",
                    "type": "face",
                    "title": "Face",
                    "desc": "Whether has some faces.",
                    "default": "(True, False, False, False, True, False)"
                }
            ]
        },
        "params": [
            {
                "field": "length",
                "data": "length_"
            },
            {
                "field": "height",
                "data": "height_"
            },
            {
                "field": "face",
                "data": "face_"
            }
        ],
        "skip": "False",
        "vars": [],
        "vertices": [],
        "faces": [],
        "instances": [
            {
                "identifier": "raw_floor_border",
                "skip": "False",
                "params": {
                    "length": "length",
                    "height": "height",
                    "face": "face",
                    "is_sink": "True",
                    "is_ribbon": "False"
                },
                "transform": "ident()"
            }
        ]
    },
    {
        "identifier": "floor_ribbon_border",
        "showcase": {
            "title": "Ribbon Border",
            "icon": "RibbonBorder",
            "type": "floor",
            "cfgs": [
                {
                    "field": "length_",
                    "type": "float",
                    "title": "Length",
                    "desc": "The length of block.",
                    "default": "2.5"
                },
                {
                    "field": "height_",
                    "type": "float",
                    "title": "Height",
                    "desc": "The height of block.",
                    "default": "5.0"
                },
                {
                    "field": "face_",
                    "type": "face",
                    "title": "Face",
                    "desc": "Whether has some faces.",
                    "default": "(True, False, False, False, True, False)"
                }
            ]
        },
        "params": [
            {
                "field": "length",
                "data": "length_"
            },
            {
                "field": "height",
                "data": "height_"
            },
            {
                "field": "face",
                "data": "face_"
            }
        ],
        "skip": "False",
        "vars": [],
        "vertices": [],
        "faces": [],
        "instances": [
            {
                "identifier": "raw_floor_border",
                "skip": "False",
                "params": {
                    "length": "length",
                    "height": "height",
                    "face": "face",
                    "is_sink": "True",
                    "is_ribbon": "True"
                },
                "transform": "ident()"
            }
        ]
    }
]