mirror of
https://github.com/Matysh/houseplan-card
synced 2026-09-29 03:09:36 +00:00
Stage 0 of ADR #282. A lattice node is k/240, which has no exact binary representation, and a stored coordinate is a float. Nobody could say how much of a real plan is affected, and Optimize promises to remove coordinate noise without a definition of noise that can be checked. latticeProfile splits every coordinate of the model into three populations, because they are three different problems: exactly on a node, near a node but not exact, and legitimately off grid. The middle one is the defect class behind \#258, \#279 and the non-converging Optimize; the last one is authored geometry the current model allows and must not be called a violation. Measured on the owner's installation: space 1 has 208 coordinates, 33.65 per cent exactly on a node and 65.38 per cent in the noise class; space 2 has 21.23 against 78.77. The worst deviation is 8e-8 of a step — invisible, and enough to put a wall key in the neighbouring bucket. The counterpart is what makes it worth having: every shipped fixture has zero noise, all of its off-grid values being authored. Our own test data therefore cannot reproduce this class by construction, which is why the owner finds these defects and the gates do not. A test pins that property so it cannot drift. No violations are produced, no gate turns red, and nothing is repaired: what to do with a vertex 8e-8 from a node is the owner's decision, and this measures its price first. Issue: #283 User-Visible: no