Generated from packages/core/src/validate/rules/ by node scripts/rules-doc.mjs — do not edit; change the rule and regenerate.
52 rules, in the order the assistant panel shows them. Each rule is a pure check(project, ctx) that
returns Issue[]; each fix is a pure Project → Project function, and a shared test asserts that applying it
resolves the same issue. An Error does not block exporting, but darzsaz check exits non-zero on it;
a Warning or Note only informs. A rule that throws, or produces a severity it did not declare, shows in the
panel as The “X” check did not run (rule-failed) and fails the tests. The Why? link on every assistant card lands
on that rule’s row on this page (#<rule id>).
| Rule |
Severity |
Why |
obstacle-blocked |
Error |
An outlet, gas valve or pipe that must stay reachable gets lost behind a closed cabinet, and on repair day the cabinet has to come apart. |
duct-not-over-hob |
Error |
A hood that is not above the cooktop does not catch the steam; a duct inside the cabinet makes up for up to 200 mm, no more. |
hood-height |
Warning |
A hood too close catches the flame, and one too far misses the steam; each hood’s spec sheet gives its range. |
no-hob-under-wall-cab |
Error |
An ordinary wall cabinet above the burners can catch fire and soaks up steam and grease; only a hood goes above a cooktop. |
gas-pipe-enclosed |
Warning |
A gas pipe inside a closed cabinet has no ventilation and no access, so a leak is found late. The back panel must be cut out or the cabinet left open. |
oven-no-vent |
Warning |
A built-in oven needs air above it; a tight opening traps heat and scorches the doors and carcass. |
sink-hob-too-close |
Warning |
A sink right next to the cooktop means water on the flame and pots on the edge of the bowl; there must be at least a stretch of counter between them. |
| Rule |
Severity |
Why |
opening-blocked |
Error |
A cabinet in front of a window or door cannot be built; a window lets in light and a door is a way through. |
appliance-too-tight |
Warning |
Dishwashers and fridges need the space on their spec sheet plus installation clearance; a centimeter short and the appliance does not go in. |
dishwasher-no-water |
Warning |
A dishwasher needs water and a drain; if no pipe is nearby, new plumbing is needed, and it is better to know before building. |
cornice-gap |
Warning |
A cornice needs room on top of the wall cabinets; without a gap to the ceiling it hits the ceiling, and it cannot be combined with a filler to the ceiling. |
tall-overlap |
Error |
A tall cabinet takes the wall from floor to top; a wall cabinet has no room over the same stretch. |
run-overflow |
Error |
A run that sticks out past the wall cannot be built; a cabinet has to get narrower or one has to go. |
run-gap |
Warning |
Unfilled space in a run means a filler or a wider cabinet; if it is not decided now, it gets decided at installation. |
cutout-fits |
Error |
A sink or cooktop cutout that lands on the carcass or leaves a narrow strip of countertop breaks the countertop or the carcass. |
corner-clash |
Warning |
At a corner, two cabinets from the two walls overlap unless a filler as wide as the adjacent cabinet is deep sits between them. |
sink-needs-open-bottom |
Error |
The drain trap and hoses go under the sink; a closed bottom leaves no room for them. |
sink-not-over-drawers |
Error |
The sink bowl drops down from above, so a drawer under it cannot open. |
hob-drawer-clearance |
Warning |
A built-in cooktop has a body underneath that the top drawer runs into; a shallow drawer or a false front is needed. |
countertop-seam |
Error, Warning |
A countertop seam through a cutout breaks and lets water in; a countertop longer than the stock slab cannot be made without a seam. |
unit-too-narrow |
Error |
Below a certain width a cabinet takes neither a proper door nor hardware, and it wastes more sheet. |
| Rule |
Severity |
Why |
unit-unbuildable |
Error |
A cabinet whose carcass, front or material cannot be built has no cut list, and the other checks cannot run on it. |
shelf-sag |
Warning |
A melamine shelf sags over a long span; the limit depends on thickness and material. |
missing-hinges |
Error |
A door without hinges or a drawer without slides leaves the shopping list incomplete and the drawer box width uncalculated. |
not-enough-hinges |
Error |
The hinge table only goes up to a certain height; a taller door cannot be held by any number of ordinary hinges. |
unit-too-wide |
Warning |
A door wider than 600 mm pulls on its hinges and drops out of level; splitting it into a pair is the cheapest fix. |
heavy-door-no-support |
Warning |
A tall, wide door is heavy; ordinary hinges work loose. Split it into a pair or add hinges. |
lift-weight |
Warning |
Each lift is made for a range of door weights: it throws a lighter door up and cannot hold a heavier one. |
slide-overload |
Warning |
Ball-bearing slides bend under a very wide box and the drawer sits crooked; use undermount slides or two drawers side by side. |
not-enough-legs |
Warning |
A base cabinet stands on legs; without them the toe kick and leveling mean nothing, and the shopping list is incomplete. |
sink-cabinet-material |
Note |
MDF under a sink swells with leaks; use plywood, or at least band every edge. |
glass-fit |
Error |
The groove of an aluminium frame is milled for certain thicknesses; thicker glass will not go in and thinner glass rattles and breaks. |
| Rule |
Severity |
Why |
blind-corner-too-narrow |
Error |
In a blind corner, an opening under 300 mm means a hand cannot reach the back of the cabinet and the space is wasted. |
wall-cabinet-reach |
Warning |
A wall cabinet hung too low hits your head; hung too high, its shelves are out of reach. |
work-surface-near-hob |
Note |
You need somewhere to set a pot down next to the cooktop; without counter space, cooking is awkward and dangerous. |
door-swing-blocked |
Warning |
A door hinged on the corner side hits the cabinet on the adjacent wall when it opens; move the hinges to the other side. |
hinge-angle-corner |
Warning |
A corner door opens beside the run on the other wall; a 110° hinge knocks it into the front beside it, and a corner hinge opens 155° or more. |
push-to-open-soft-close |
Error |
A push latch pushes the front out a few centimetres and a soft-close hinge or slide resists exactly that travel; a push-to-open front needs a plain hinge and slide. |
sliding-one-door |
Warning |
One sliding door has nowhere to move aside to; half the wardrobe never opens. |
drawer-clash-handle |
Warning |
A drawer at a corner next to a handle on the adjacent wall catches on that handle as it comes out; a filler is needed. |
handle-clash |
Note |
When two handles meet in a corner, neither can be gripped properly. |
handle-collision |
Warning |
A door that opens past 90° leans over the front beside it and hits a handle near that front’s edge. |
handle-too-long |
Warning |
A handle longer than the front has no room for its holes and cannot be mounted; machining never places a hole outside the panel. |
counter-height-odd |
Note |
A countertop lower than 850 bends your back and one higher than 950 strains your shoulders; 900 is the market standard. |
corner-unreachable |
Warning |
Without a pull-out basket, the back of a blind corner becomes storage for things that never come out. |
| Rule |
Severity |
Why |
miter-not-available |
Warning |
A mitered edge without a cut shop that cuts miters stays a raw edge. |
extra-sheet |
Note |
Sometimes one small panel costs a whole extra sheet; a small change in width saves the sheet. |
low-utilization |
Note |
Low yield across several sheets means half the sheets are waste; either another sheet size is better or the widths do not suit the sheet. With a single sheet, waste is unavoidable and goes to stock. |
mixed-grain |
Note |
On a grained front, vertical doors next to horizontal drawer fronts give two grain directions; if that is not intentional, make them match. |
edge-band-mismatch |
Warning |
Thin edge banding on a high-gloss front looks bad and chips easily; a gloss front needs 2 mm banding. |
part-too-big |
Error |
A panel larger than the sheet cannot be made — it has to be split in two or a bigger sheet has to be used. |
sheet-size-unavailable |
Warning |
The sheet sizes your cut shop has do not exist for this material; the diagram uses another size and the sheet count will not match reality. |