= TODO

== Bugs

inserts should allow multiple breps with different style etc...
ifc materials are unfinished, currently only do colour

gates for back gardens
narrower gate without pillars

stairs have no maximum flight length
stairs have no landing rail
stairs extend below ground

Account for variable height street edges, no more floating front doors. 'node' coordinates should have Z component, and 'elevation' value should shift with location of entry position

Fenestration, heads of windows should align when cills vary. Top floor windows clash with bed mould

Stair_Fit() method doesn't account for non-rightangled spaces, two corner and four corner situation should account for opposite corners, and for which walls are longest

Windows take no account of stair location
doors are not swing handed

Molior insert is too low level, should be a string of inserts placed on a path.

Sending SIGINT or SIGTERM to homemaker.pl should terminate sub processes but doesn't

homemaker.pl should skip dependencies that no longer exist and can never be satisfied

== Features

molior-ifc writes profiles multiple times, should be shared like BREPs

Abandon DXF to target only IFC. stairs and roofs currently use hack to repurpose DXF geometry for IFC. IFC library products?

ifc files should be more parametric, windows/doors should be in coordinate space of wall direction, mouldings should share path coordinates with walls, walls should inherit path coordinates from walls below
ifc doors and windows should have 2d representations
ifc walls and slabs should have 2d representation, volumes and areas

Molior should have a gbXML target in addition to DXF and IFC, this will be 'easy'

ifc site geometry

propagate fitness information for buildings etc... to molior and IFC files

stairs should run both anticlockwise and clockwise

sahn areas above sahn areas could become circulation using perimeter gallery/stairs

new type R[etail] for shop/cafe/restaurant/bar, value config option for area/frontage

Homemaker, ignore dependencies further than set distance
Homemaker in general needs more tools for queue management

feature to force kitchen on ground floor and/or dirty kitchen on top floor

urb-shuffle should do a linear search to find exact wall position

Style should be modifiable by a scalar fanciness field centred around entrances, and heavy/light field related to height.

new extrusions for floor bands, ground level, interior cornice and skirting.
extrusions need to be interruptible by windows and doors.
intermittent should just be an extrusion with intermittent set via DXF profile layer, linetype or other attribute

patterns/fitness should be factored into separate modules for each test, divided by patterns that apply to room, storey and building scales

== Future projects

fitness: parameters could be determined through analysis of cohorts of existing buildings, by constructing .dom files and optimising the parameters for maximum collective score for each building type.

More, better and varied styles/skins need devising

insert system allows fitting objects to spaces, so should be used for fitting kitchens, beds etc..

== Topologist

non-horizontal/vertical planes and odd vertical planes become ifcextrudedareasolid/ifcroof
multiple meshes, multiple buildings
more chains for string course etc..
entities need some kind of reproducible id
locate doors for stair fitting
rooms should only have one external door
differentiate between street and party wall boundaries
Calculate fitness for constrained topologic style geometry, propagate to IFC annotation.
Interactive tool that displays fitness and 3d model for constrained topologic style geometry.