Description The top-level template for parameterizing a randomly generated world. By default, a single
residential building with one floor and one room is generated.
{"type":"object","additionalProperties":false,"title":"WorldTemplate","description":"The top-level template for parameterizing a randomly generated world. By default, a single\nresidential building with one floor and one room is generated.","required":["Version"],"properties":{"Version":{"type":"string","title":"Version"},"Buildings":{"type":"array","minItems":1,"maxItems":1,"title":"Buildings","default":[{"Floors":[{"Floorplan":{"Footprint":{"DesiredAspectRatio":{"x":1,"y":1}},"Ceiling":{"Height":3},"Rooms":[{"Type":"Living","Name":"My_Living_Room","OriginalName":"My Living Room","DesiredShape":{"Area":20,"AspectRatio":{"x":1,"y":1}}}],"DesiredConnections":[]},"Interior":{"Doorways":{"DoorwaySets":[]},"Flooring":{"MaterialSets":[]},"Walls":{"MaterialSets":[]},"Furniture":{"FurnitureArrangements":[]}}}]}],"items":{}}}}
"Buildings":{"type":"array","minItems":1,"maxItems":1,"title":"Buildings","default":[{"Floors":[{"Floorplan":{"Footprint":{"DesiredAspectRatio":{"x":1,"y":1}},"Ceiling":{"Height":3},"Rooms":[{"Type":"Living","Name":"My_Living_Room","OriginalName":"My Living Room","DesiredShape":{"Area":20,"AspectRatio":{"x":1,"y":1}}}],"DesiredConnections":[]},"Interior":{"Doorways":{"DoorwaySets":[]},"Flooring":{"MaterialSets":[]},"Walls":{"MaterialSets":[]},"Furniture":{"FurnitureArrangements":[]}}}]}],"items":{"$ref":"#/definitions/BuildingTemplate"}}
"BuildingTemplate":{"type":"object","additionalProperties":false,"title":"BuildingTemplate","description":"Describes a building to be randomly generated. Defaults to one residential floor.","properties":{"Floors":{"type":"array","minItems":1,"maxItems":1,"title":"Floors","default":[{"Floorplan":{"Footprint":{"DesiredAspectRatio":{"x":1,"y":1}},"Ceiling":{"Height":3},"Rooms":[{"Type":"Living","Name":"My_Living_Room","OriginalName":"My Living Room","DesiredShape":{"Area":20,"AspectRatio":{"x":1,"y":1}}}],"DesiredConnections":[]},"Interior":{"Doorways":{"DoorwaySets":[]},"Flooring":{"MaterialSets":[]},"Walls":{"MaterialSets":[]},"Furniture":{"FurnitureArrangements":[]}}}],"items":{}}}}
"Floors":{"type":"array","minItems":1,"maxItems":1,"title":"Floors","default":[{"Floorplan":{"Footprint":{"DesiredAspectRatio":{"x":1,"y":1}},"Ceiling":{"Height":3},"Rooms":[{"Type":"Living","Name":"My_Living_Room","OriginalName":"My Living Room","DesiredShape":{"Area":20,"AspectRatio":{"x":1,"y":1}}}],"DesiredConnections":[]},"Interior":{"Doorways":{"DoorwaySets":[]},"Flooring":{"MaterialSets":[]},"Walls":{"MaterialSets":[]},"Furniture":{"FurnitureArrangements":[]}}}],"items":{"$ref":"#/definitions/FloorTemplate"}}
Definition FloorTemplate
Annotations
Title FloorTemplate
Description Describes a single foor within a building. Defaults to a single residential room
of a randomy type and size, and the interior is randomly furnished.
"FloorTemplate":{"type":"object","additionalProperties":false,"title":"FloorTemplate","description":"Describes a single foor within a building. Defaults to a single residential room\nof a randomy type and size, and the interior is randomly furnished.","properties":{"Floorplan":{"title":"Floorplan","default":{"Footprint":{"DesiredAspectRatio":{"x":1,"y":1}},"Ceiling":{"Height":3},"Rooms":[{"Type":"Living","Name":"My_Living_Room","OriginalName":"My Living Room","DesiredShape":{"Area":20,"AspectRatio":{"x":1,"y":1}}}],"DesiredConnections":[]},"allOf":[{"$ref":"#/definitions/FloorplanTemplate"}]},"Interior":{"title":"Interior","default":{"Doorways":{"DoorwaySets":[]},"Flooring":{"MaterialSets":[]},"Walls":{"MaterialSets":[]},"Furniture":{"FurnitureArrangements":[]}},"allOf":[{"$ref":"#/definitions/InteriorTemplate"}]}}}
"Floorplan":{"title":"Floorplan","default":{"Footprint":{"DesiredAspectRatio":{"x":1,"y":1}},"Ceiling":{"Height":3},"Rooms":[{"Type":"Living","Name":"My_Living_Room","OriginalName":"My Living Room","DesiredShape":{"Area":20,"AspectRatio":{"x":1,"y":1}}}],"DesiredConnections":[]},"allOf":[{"$ref":"#/definitions/FloorplanTemplate"}]}
Definition FloorplanTemplate
Annotations
Title FloorplanTemplate
Description The top-level floorplan template that parameterizes the randomly generated
architectural layout. By default, a residential floorplan with bedroom and
living room are generated with a random doorway or opening connection.
The footprint contributes to the overall shape of the floor layout along
with rooms. The footprint shape is desired as it is a preference and not
guaranteed.
The ceiling determines the height of the walls. There are minimum and maximum ceiling heights. The ceiling height is guaranteed.
Rooms are required. Each room has a desired shape. Together, the room
shapes and footprint determine floor layout. The room types contribute to
the layout and are used when randomly selecting furniture and materials for
the walls and floors.
DesiredConnections are optional. Two rooms are connected if they share a
wall and doorway or adjacent without any wall aka "opening". All rooms are
guaranteed to be connected randomly if they are not specified in the
connections list. Connections that are specified are _not_ guaranteed but
will be attempted as best-effort.
"FloorplanTemplate":{"type":"object","additionalProperties":false,"title":"FloorplanTemplate","description":"The top-level floorplan template that parameterizes the randomly generated\narchitectural layout. By default, a residential floorplan with bedroom and\nliving room are generated with a random doorway or opening connection.\n\nThe footprint contributes to the overall shape of the floor layout along\nwith rooms. The footprint shape is desired as it is a preference and not\nguaranteed.\n\nThe ceiling determines the height of the walls. There are minimum and maximum ceiling heights. The ceiling height is guaranteed.\n\nRooms are required. Each room has a desired shape. Together, the room\nshapes and footprint determine floor layout. The room types contribute to\nthe layout and are used when randomly selecting furniture and materials for\nthe walls and floors.\n\nDesiredConnections are optional. Two rooms are connected if they share a\nwall and doorway or adjacent without any wall aka \"opening\". All rooms are\nguaranteed to be connected randomly if they are not specified in the\nconnections list. Connections that are specified are _not_ guaranteed but\nwill be attempted as best-effort.","properties":{"Footprint":{"title":"Footprint","default":{"DesiredAspectRatio":{"x":1,"y":1}},"allOf":[{"$ref":"#/definitions/FloorplanFootprint"}]},"Ceiling":{"title":"Ceiling","default":{"Height":3},"allOf":[{"$ref":"#/definitions/FloorplanCeiling"}]},"Rooms":{"type":"array","minItems":1,"maxItems":6,"title":"Rooms","default":[{"Type":"Living","Name":"My_Living_Room","OriginalName":"My Living Room","DesiredShape":{"Area":20,"AspectRatio":{"x":1,"y":1}}}],"items":{}},"DesiredConnections":{"type":"array","minItems":0,"maxItems":12,"title":"Desiredconnections","default":[],"items":{}}}}
"FloorplanFootprint":{"type":"object","additionalProperties":false,"title":"FloorplanFootprint","description":"The desired footprint of this floorplan.","properties":{"DesiredAspectRatio":{"title":"Desiredaspectratio","default":{"x":1,"y":1},"allOf":[{"$ref":"#/definitions/AspectRatio"}]}}}
"FloorplanCeiling":{"type":"object","additionalProperties":false,"title":"FloorplanCeiling","description":"The height of the ceiling for this floorplan in metres.","properties":{"Height":{"type":"number","minimum":2.4,"maximum":4,"title":"Height","default":3}}}
"Rooms":{"type":"array","minItems":1,"maxItems":6,"title":"Rooms","default":[{"Type":"Living","Name":"My_Living_Room","OriginalName":"My Living Room","DesiredShape":{"Area":20,"AspectRatio":{"x":1,"y":1}}}],"items":{"$ref":"#/definitions/FloorplanRoom"}}
Definition FloorplanRoom
Annotations
Title FloorplanRoom
Description A description for single room for this floorplan.
"FloorplanRoom":{"type":"object","additionalProperties":false,"title":"FloorplanRoom","description":"A description for single room for this floorplan.","required":["Type","Name"],"properties":{"Type":{"title":"Type","type":"string","enum":["Bathroom","Kitchen","Living","Closet","Bedroom","Dining","Hallway"]},"Name":{"type":"string","minLength":1,"maxLength":255,"pattern":"^[a-zA-Z0-9_\\- ]*$","title":"Name"},"OriginalName":{"type":"string","title":"Originalname"},"DesiredShape":{"title":"Desiredshape","default":{"Area":20,"AspectRatio":{"x":1,"y":1}},"allOf":[{"$ref":"#/definitions/Rectangle"}]}}}
"Rectangle":{"type":"object","additionalProperties":false,"title":"Rectangle","description":"A rectangle defined by area in square metres and aspect ratio.","required":["Area","AspectRatio"],"properties":{"Area":{"type":"number","title":"Area"},"AspectRatio":{"$ref":"#/definitions/AspectRatio"}}}
Description Descibes the desired layout of the rooms and their adjacent rooms. A connection can be either a doorway or
an open space without any walls. Two rooms cannot both share an interior doorway and an opening.
The same two rooms can have multiple doorways, up to a limit.
"FloorplanConnection":{"type":"object","additionalProperties":false,"title":"FloorplanConnection","description":"Descibes the desired layout of the rooms and their adjacent rooms. A connection can be either a doorway or\nan open space without any walls. Two rooms cannot both share an interior doorway and an opening.\nThe same two rooms can have multiple doorways, up to a limit.","required":["Location","ConnectionType"],"properties":{"Location":{"type":"array","minItems":2,"maxItems":2,"title":"Location","items":{}},"ConnectionType":{"title":"Connectiontype","type":"string","enum":["Doorway","Opening"]}}}
"InteriorTemplate":{"type":"object","additionalProperties":false,"title":"InteriorTemplate","description":"Top-level template for parameterizing the interior finishes and furnishings for\nthis floorplan.","properties":{"Doorways":{"title":"Doorways","default":{"DoorwaySets":[]},"allOf":[{"$ref":"#/definitions/InteriorDoorways"}]},"Flooring":{"title":"Flooring","default":{"MaterialSets":[]},"allOf":[{"$ref":"#/definitions/InteriorFlooring"}]},"Walls":{"title":"Walls","default":{"MaterialSets":[]},"allOf":[{"$ref":"#/definitions/InteriorWalls"}]},"Furniture":{"title":"Furniture","default":{"FurnitureArrangements":[]},"allOf":[{"$ref":"#/definitions/InteriorFurnishings"}]}}}
Description Describes the interior template parameters for all doorways for this floorplan.
All doorways not explicitly targeted will have a random door assigned fully opened.
"InteriorDoorways":{"type":"object","additionalProperties":false,"title":"InteriorDoorways","description":"Describes the interior template parameters for all doorways for this floorplan.\nAll doorways not explicitly targeted will have a random door assigned fully opened.","properties":{"DoorwaySets":{"type":"array","minItems":0,"maxItems":13,"title":"Doorwaysets","default":[],"items":{}}}}
Description A set of doors to randomly assign to a set of interior target elements.
The target set determines *what room pairs* are receive the doors as specified in `Door`.
Rooms may be targeted by room type or room name.
The Door customizes the configuration for doors added in the specified target set.
"InteriorDoorwaySet":{"type":"object","additionalProperties":false,"title":"InteriorDoorwaySet","description":"A set of doors to randomly assign to a set of interior target elements.\n\nThe target set determines *what room pairs* are receive the doors as specified in `Door`.\nRooms may be targeted by room type or room name.\n\nThe Door customizes the configuration for doors added in the specified target set.","required":["Name","TargetSet"],"properties":{"Name":{"type":"string","minLength":1,"maxLength":255,"pattern":"^[a-zA-Z0-9_\\- ]*$","title":"Name"},"TargetSet":{"title":"Targetset","anyOf":[{"type":"string","const":"Target.All"},{"$ref":"#/definitions/RoomPairTargetFilter"}]},"Door":{"title":"Door","anyOf":[{"$ref":"#/definitions/InteriorDoor"},{"const":null}]}}}
"RoomPairTargetFilter":{"type":"object","additionalProperties":false,"title":"RoomPairTargetFilter","description":"Defines a target set as a pair of rooms. The pairs are defined as the cross product of two lists\nFrom and To.","required":["From","To"],"properties":{"From":{"title":"From","anyOf":[{"$ref":"#/definitions/RoomNameList"},{"$ref":"#/definitions/RoomTypeList"}]},"To":{"title":"To","anyOf":[{"$ref":"#/definitions/RoomNameList"},{"$ref":"#/definitions/RoomTypeList"}]}}}
"RoomNameList":{"type":"object","additionalProperties":false,"title":"RoomNameList","description":"The set of all rooms matching any of the listed room names.","required":["RoomNames"],"properties":{"RoomNames":{"type":"array","minItems":1,"maxItems":6,"title":"Roomnames","items":{}}}}
"RoomTypeList":{"type":"object","additionalProperties":false,"title":"RoomTypeList","description":"The set of all rooms matching any of the listed room types.","required":["RoomTypes"],"properties":{"RoomTypes":{"type":"array","minItems":1,"maxItems":7,"title":"Roomtypes","items":{}}}}
Description Custom configuration for each Doorway Set.
Initial State of doors includes the ability to configure how much the door should be open in
percent [0., 100.]
"InteriorDoor":{"type":"object","additionalProperties":false,"title":"InteriorDoor","description":"Custom configuration for each Doorway Set.\n\nInitial State of doors includes the ability to configure how much the door should be open in\npercent [0., 100.]","properties":{"InitialState":{"title":"Initialstate","default":{"OpenPosition":{"Percent":100}},"allOf":[{"$ref":"#/definitions/DoorInitialState"}]}}}
"DoorInitialState":{"type":"object","additionalProperties":false,"title":"DoorInitialState","description":"Defines the initial state for an InteriorDoor object\n\nOpenPosition specifies how much the door should be open.","properties":{"OpenPosition":{"title":"Openposition","default":{"Percent":100},"allOf":[{"$ref":"#/definitions/DoorOpenPosition"}]}}}
"DoorOpenPosition":{"type":"object","additionalProperties":false,"title":"DoorOpenPosition","description":"Defines the amount of openness of an InteriorDoor.\n\nThe range for Percent is [0., 100.]","properties":{"Percent":{"title":"Percent","default":100,"anyOf":[{"type":"number","minimum":0,"maximum":100},{"type":"string","const":"Random"}]}}}
Description Describes the interior template parameters for all floors for this floorplan.
All floors not explicitly targeted will have a random floor material assigned by room type.
"InteriorFlooring":{"type":"object","additionalProperties":false,"title":"InteriorFlooring","description":"Describes the interior template parameters for all floors for this floorplan.\nAll floors not explicitly targeted will have a random floor material assigned by room type.","properties":{"MaterialSets":{"type":"array","minItems":0,"maxItems":6,"title":"Materialsets","default":[],"items":{}}}}
Description A set of sample materials to randomly assign to a set of interior target elements.
The target set determines *what rooms* receive the materials in the sample
set. The targets in a room are the walls and flooring. Rooms may be targeted
by room type or room name.
The sample set determines *what materials* to randomly select for the
target rooms' walls and floors.
The sample set is optional and when not specified (null) materials are
randomly selected according to the room type for each room in the target
set.
A sample set with an empty material set is invalid since all wall
and flooring targets require materials.
"InteriorMaterialSet":{"type":"object","additionalProperties":false,"title":"InteriorMaterialSet","description":"A set of sample materials to randomly assign to a set of interior target elements.\n\nThe target set determines *what rooms* receive the materials in the sample\nset. The targets in a room are the walls and flooring. Rooms may be targeted\nby room type or room name.\n\nThe sample set determines *what materials* to randomly select for the\ntarget rooms' walls and floors.\n\nThe sample set is optional and when not specified (null) materials are\nrandomly selected according to the room type for each room in the target\nset.\n\nA sample set with an empty material set is invalid since all wall\nand flooring targets require materials.","required":["Name","TargetSet"],"properties":{"Name":{"type":"string","minLength":1,"maxLength":255,"pattern":"^[a-zA-Z0-9_\\- ]*$","title":"Name"},"TargetSet":{"title":"Targetset","anyOf":[{"type":"string","const":"Target.All"},{"anyOf":[{"$ref":"#/definitions/RoomNameList"},{"$ref":"#/definitions/RoomTypeList"}]}]},"SampleSet":{"$ref":"#/definitions/MaterialSetByMaterialType"}}}
"MaterialSetByMaterialType":{"type":"object","additionalProperties":false,"title":"MaterialSetByMaterialType","description":"The set of materials that match any of the material types listed. An empty\nset is invalid since all targets require materials.","required":["MaterialTypes"],"properties":{"MaterialTypes":{"type":"array","minItems":1,"title":"Materialtypes","items":{}}}}
Description Describes the interior template parameters for all walls for this floorplan.
All walls not explicitly targeted will have a random wall material assigned by room type.
"InteriorWalls":{"type":"object","additionalProperties":false,"title":"InteriorWalls","description":"Describes the interior template parameters for all walls for this floorplan.\nAll walls not explicitly targeted will have a random wall material assigned by room type.","properties":{"MaterialSets":{"type":"array","minItems":0,"maxItems":6,"title":"Materialsets","default":[],"items":{}}}}
Description Describes the types of furniture models for randomly placing into each room
in the world. Rooms are targeted by room type or room name. Rooms that are
not targeted are furnished at random by their room type with moderate density.
density. For an empty room, specify an empty sample set.
"InteriorFurnishings":{"type":"object","additionalProperties":false,"title":"InteriorFurnishings","description":"Describes the types of furniture models for randomly placing into each room\nin the world. Rooms are targeted by room type or room name. Rooms that are\nnot targeted are furnished at random by their room type with moderate density.\ndensity. For an empty room, specify an empty sample set.","properties":{"FurnitureArrangements":{"type":"array","minItems":0,"maxItems":6,"title":"Furniturearrangements","default":[],"items":{}}}}
Description Describes the interior template for placing furniture in one or more rooms.
- TargetSet is the set of rooms to furnish, filter by room name or room
type.
- SampleSet is a set of all furnishing models to randomly choose and
place.
- DesiredSpatialDensity is the desired level of free space after placing
furniture.
"FurnitureArrangementSet":{"type":"object","additionalProperties":false,"title":"FurnitureArrangementSet","description":"Describes the interior template for placing furniture in one or more rooms.\n\n- TargetSet is the set of rooms to furnish, filter by room name or room\n type.\n- SampleSet is a set of all furnishing models to randomly choose and\n place.\n- DesiredSpatialDensity is the desired level of free space after placing\n furniture.","required":["Name","TargetSet"],"properties":{"Name":{"type":"string","minLength":1,"maxLength":255,"pattern":"^[a-zA-Z0-9_\\- ]*$","title":"Name"},"TargetSet":{"title":"Targetset","anyOf":[{"type":"string","const":"Target.All"},{"anyOf":[{"$ref":"#/definitions/RoomNameList"},{"$ref":"#/definitions/RoomTypeList"}]}]},"SampleSet":{"$ref":"#/definitions/ModelTypeList"},"DesiredSpatialDensity":{"title":"Desiredspatialdensity","default":"Moderate","type":"string","enum":["Dense","Moderate","Sparse"]}}}
"ModelTypeList":{"type":"object","additionalProperties":false,"title":"ModelTypeList","description":"The set of all models matching any of the listed model types.\nAn empty set means zero models to sample/select.","required":["ModelTypes"],"properties":{"ModelTypes":{"type":"array","minItems":0,"title":"Modeltypes","items":{}}}}