{"catalogVersion":"1.1.0","supportedCatalogVersions":["1.0.0","1.1.0"],"ruleVersion":"1.1.0","units":"m","catalog":[{"id":"bed","category":"bedroom","presets":[[0.8,2],[0.9,2],[1.2,2],[1.4,2],[1.6,2],[1.8,2]],"default":[1.6,2],"min":[0.6,1.2],"max":[2.4,2.4],"frame":0.05},{"id":"nightstand","category":"bedroom","presets":[[0.45,0.4],[0.6,0.45]],"default":[0.45,0.4],"min":[0.2,0.2],"max":[1,1]},{"id":"wardrobe","category":"bedroom","presets":[[1.2,0.6],[2,0.6],[2.4,0.6]],"default":[2,0.6],"min":[0.4,0.3],"max":[5,1.2]},{"id":"bathtub","category":"bathroom","presets":[[0.7,1.7],[0.8,1.8]],"default":[0.7,1.7],"min":[0.6,1.2],"max":[1.5,2.2]},{"id":"toilet","category":"bathroom","presets":[[0.38,0.65],[0.4,0.7]],"default":[0.38,0.65],"min":[0.3,0.45],"max":[0.6,0.9]},{"id":"basin","category":"bathroom","presets":[[0.6,0.45],[0.8,0.5]],"default":[0.6,0.45],"min":[0.3,0.25],"max":[1.8,0.8]},{"id":"shower-square","category":"bathroom","presets":[[0.8,0.8],[0.9,0.9],[1,1]],"default":[0.9,0.9],"min":[0.7,0.7],"max":[1.6,1.6]},{"id":"shower-rect","category":"bathroom","presets":[[0.9,1.2],[0.8,1.2],[1,1.4]],"default":[0.9,1.2],"min":[0.7,0.7],"max":[2,2]},{"id":"shower-corner","category":"bathroom","presets":[[0.8,0.8],[0.9,0.9],[1,1]],"default":[0.9,0.9],"min":[0.7,0.7],"max":[1.6,1.6]},{"id":"sofa","category":"living","presets":[[2,0.9],[2.4,1]],"default":[2,0.9],"min":[1.2,0.6],"max":[3.5,1.4]},{"id":"sofa-corner","category":"living","presets":[[2.6,1.7],[3,2]],"default":[2.6,1.7],"min":[1.8,1.2],"max":[4,3]},{"id":"armchair","category":"living","presets":[[0.8,0.85]],"default":[0.8,0.85],"min":[0.5,0.5],"max":[1.3,1.3]},{"id":"coffee-table","category":"living","presets":[[1,0.6],[1.2,0.6]],"default":[1,0.6],"min":[0.3,0.3],"max":[2,1.2]},{"id":"table","category":"dining","presets":[[1.4,0.8],[1.8,0.9],[2.2,1]],"default":[1.4,0.8],"min":[0.6,0.5],"max":[4,1.5]},{"id":"table-round","category":"dining","presets":[[0.9,0.9],[1.2,1.2]],"default":[1.2,1.2],"min":[0.5,0.5],"max":[2,2]},{"id":"chair","category":"dining","presets":[[0.45,0.5]],"default":[0.45,0.5],"min":[0.3,0.3],"max":[0.8,0.8]},{"id":"desk","category":"dining","presets":[[1.2,0.6],[1.6,0.8]],"default":[1.2,0.6],"min":[0.7,0.4],"max":[2.4,1.2]},{"id":"treadmill","category":"gym","since":"1.1.0","presets":[[0.85,1.9]],"default":[0.85,1.9],"min":[0.552,1.235],"max":[1.36,3.04]},{"id":"exercise-bike","category":"gym","since":"1.1.0","presets":[[0.6,1.1]],"default":[0.6,1.1],"min":[0.39,0.715],"max":[0.96,1.76]},{"id":"elliptical","category":"gym","since":"1.1.0","presets":[[0.7,1.7]],"default":[0.7,1.7],"min":[0.455,1.105],"max":[1.12,2.72]},{"id":"weight-bench","category":"gym","since":"1.1.0","presets":[[0.65,1.4]],"default":[0.65,1.4],"min":[0.423,0.91],"max":[1.04,2.24]},{"id":"dumbbell-rack","category":"gym","since":"1.1.0","presets":[[1.2,0.5]],"default":[1.2,0.5],"min":[0.78,0.325],"max":[1.92,0.8]},{"id":"fireplace","category":"living","since":"1.1.0","presets":[[1.2,0.5]],"default":[1.2,0.5],"min":[0.78,0.325],"max":[1.92,0.8]},{"id":"stove","category":"living","since":"1.1.0","presets":[[0.6,0.6]],"default":[0.6,0.6],"min":[0.39,0.39],"max":[0.96,0.96]},{"id":"kitchen-base","category":"kitchen","since":"1.1.0","presets":[[0.6,0.6]],"default":[0.6,0.6],"min":[0.39,0.39],"max":[0.96,0.96]},{"id":"kitchen-sink","category":"kitchen","since":"1.1.0","presets":[[0.8,0.6]],"default":[0.8,0.6],"min":[0.52,0.39],"max":[1.28,0.96]},{"id":"hob","category":"kitchen","since":"1.1.0","presets":[[0.6,0.6]],"default":[0.6,0.6],"min":[0.39,0.39],"max":[0.96,0.96]},{"id":"fridge","category":"kitchen","since":"1.1.0","presets":[[0.7,0.7]],"default":[0.7,0.7],"min":[0.455,0.455],"max":[1.12,1.12]},{"id":"dishwasher","category":"kitchen","since":"1.1.0","presets":[[0.6,0.6]],"default":[0.6,0.6],"min":[0.39,0.39],"max":[0.96,0.96]},{"id":"island","category":"kitchen","since":"1.1.0","presets":[[1.6,0.9]],"default":[1.6,0.9],"min":[1.04,0.585],"max":[2.56,1.44]},{"id":"washer","category":"utility","since":"1.1.0","presets":[[0.6,0.65]],"default":[0.6,0.65],"min":[0.39,0.423],"max":[0.96,1.04]},{"id":"dryer","category":"utility","since":"1.1.0","presets":[[0.6,0.65]],"default":[0.6,0.65],"min":[0.39,0.423],"max":[0.96,1.04]},{"id":"laundry-basket","category":"utility","since":"1.1.0","presets":[[0.45,0.45]],"default":[0.45,0.45],"min":[0.293,0.293],"max":[0.72,0.72]},{"id":"utility-sink","category":"utility","since":"1.1.0","presets":[[0.6,0.6]],"default":[0.6,0.6],"min":[0.39,0.39],"max":[0.96,0.96]},{"id":"shelving","category":"storage","since":"1.1.0","presets":[[1.2,0.45]],"default":[1.2,0.45],"min":[0.78,0.293],"max":[1.92,0.72]},{"id":"dresser","category":"storage","since":"1.1.0","presets":[[1.2,0.5]],"default":[1.2,0.5],"min":[0.78,0.325],"max":[1.92,0.8]},{"id":"shoe-cabinet","category":"entry","since":"1.1.0","presets":[[0.8,0.35]],"default":[0.8,0.35],"min":[0.52,0.227],"max":[1.28,0.56]},{"id":"coat-rack","category":"entry","since":"1.1.0","presets":[[0.8,0.4]],"default":[0.8,0.4],"min":[0.52,0.26],"max":[1.28,0.64]},{"id":"bookcase","category":"office","since":"1.1.0","presets":[[1.2,0.35]],"default":[1.2,0.35],"min":[0.78,0.227],"max":[1.92,0.56]},{"id":"office-chair","category":"office","since":"1.1.0","presets":[[0.65,0.65]],"default":[0.65,0.65],"min":[0.423,0.423],"max":[1.04,1.04]},{"id":"staircase","category":"entry","since":"1.1.0","presets":[[1,3]],"default":[1,3],"min":[0.65,1.95],"max":[1.6,4.8]},{"id":"boiler","category":"utility","since":"1.1.0","presets":[[0.65,0.65]],"default":[0.65,0.65],"min":[0.423,0.423],"max":[1.04,1.04]},{"id":"heat-pump","category":"utility","since":"1.1.0","presets":[[1.1,0.65]],"default":[1.1,0.65],"min":[0.715,0.423],"max":[1.76,1.04]}],"rules":[{"id":"F001","severity":"error","description":"Asset and catalog version must be known; IDs must be unique per floor; coordinates/dimensions finite and rotation a quarter turn."},{"id":"F002","severity":"error","description":"Dimensions must respect catalog limits. Bed envelope includes 5 cm frame on each side. Round tables and square/corner showers require equal sides."},{"id":"F003","severity":"error","description":"The full conservative rotated rectangular envelope must be inside the union of floor rectangles."},{"id":"F004","severity":"error","description":"An optional room reference must exist on the same floor."},{"id":"F005","severity":"warning","description":"Overlapping furniture envelopes require review; no automatic displacement."},{"id":"F006","severity":"warning","description":"Interior wall centreline crosses furniture envelope; requires review."},{"id":"C001","severity":"behavior","description":"Coordinates: metres, centre anchor, y up; quarter-turn rotations counter-clockwise."},{"id":"C002","severity":"behavior","description":"Snap to closest axis guide within 8 screen pixels, otherwise selected grid. Alt disables snap. Ties resolve in input order."},{"id":"C003","severity":"behavior","description":"Furniture gestures: Escape/pointercancel/blur cancels. Save once at gesture end. Furniture never changes electrical points."},{"id":"L001","severity":"behavior","description":"Room-name hints take precedence over generic room type for library suggestions. Suggestions never change room types or place objects automatically."},{"id":"L002","severity":"behavior","description":"Fireplace/stove and exercise equipment envelopes exclude manufacturer-specific safety and operating clearances. No automatic compliance claim."},{"id":"C004","severity":"behavior","description":"Presentation and SVG export derive from the same geometry; UI overlays are excluded."}]}