Generic Room Configurator I
There comes a time in a man’s life when he realizes that he cannot create a bespoke configurator for every possible scenario. What about lower scale problems? What about a configurator for a bedroom? Or for a utility room? These are rooms without a TAM in which to create valuable automation in, mostly because interns and cheap labor will do this work readily and easily. (My read at least.) A TAM is a total addressable market, one big enough to be worth building a product for, and a kitchen belongs on the same list. So the first question for a generic room configurator is not how to arrange the room. It is what the room must hold before anything is arranged, and whether that can be written down as numbers. For a one-wall kitchen it can: a 30-inch fridge, a 24-inch sink, a 36-inch range and three 18-inch runs of casework (the built-in cabinets and counter between appliances) add up to 144 inches. A wall shorter than that is not a smaller kitchen. It is a failed one.
The interactive drawing above is that sum. You control two things: the wall length, with the slider under the drawing, and the number of bedrooms, with the row of buttons. The allowance stays fixed at 12 inches of casework per extra bedroom. The fridge, range and sink keep their widths no matter what, in that order, the order of the lookup table further down. Each is followed by a casework slot of at least 18 inches, the bedroom allowance is split across those three slots, and any wall left over becomes flexible casework. The drawing puts what the wall holds above what the requirement asks for, at one scale, so a shortfall shows as an orange box past the end of the wall. The cards give the requirement, how far short the wall is (or what is left over), and how many of the appliances and how much of the casework actually got placed.
Step through the five examples. At one bedroom, a 144-inch wall holds the kitchen exactly. Shrink it to 126 inches and all three appliances still fit, but the last 18-inch casework slot does not: the wall is 18 inches short, and the drawing calls it a failure, because it is one. A second bedroom raises the requirement to 156. Four bedrooms need 180, so a 195-inch wall has 15 inches to spare. Then watch the last one. Three bedrooms need 168 inches and the wall is 138. With the allowance, each casework slot is now 26 inches, not 18, and the array runs out of wall before the sink. Notice that 138 inches would hold the three appliances alone (90 inches) with room to spare, and with plain 18-inch slots the sink would have fit too (30 + 18 + 36 + 18 + 24 = 126 inches). It is the household allowance, placed in order, that claims the wall first. The requirement list says what must be present; it does not say what gives way when the wall runs out. Try it yourself: three bedrooms at 144 inches is 24 inches short.
The idea did not start with kitchens. What might a bathroom configurator look like? Well we have a good example lying around. The TestFit Office Generator has a mid-range ADA compliant bathroom generator. It is my number one most valuable to invest in, which is where we started. (The list below ranks the room configurators worth building; the bathroom is first.)


Here we have the user adding more assembly and fixed seating space to a floor plate (conceptually). Here we see the math pushing the bathrooms to grow in size, as well as the exit capacity of the stair to grow in width. This is a bespoke, IBC inspired core generator that takes floor loads and generates the compliant minimum bathroom. It is not a generic room configurator, but it does give hints about how one might build a generic configurator. The main hint: occupant load goes in, a minimum room comes out. The requirement comes first and the drawing follows from it.

For this post I will talk about using a single linear array to solve for what should be hosted on a wall for a kitchen. Every slot is either static, an appliance at its specified width, or variable, casework that absorbs whatever length is left. The run starts at a basepoint, can flip about a mirror point, and grows at a growth point where extra wall feeds the casework. This concept is infinitely expandable into all other room types, because of the generic nature of it. Essentially you, as a designer, would hard-code your design intent into dozens of homemade named lookup tables, and since that lookup table is a one-dimensional array, it will be computed and placed instantaneously and with full control to the designer. That is the claim; this page tests it on one wall of one room type.
The objects placed might have a minimum number, like a kitchen always requiring a heating element, cooling element, and a water element. Then once those are satisfied, the kitchen requires storage.
Single Kitchen Array Lookup Table Data could look like this:

Read it row by row. The fridge, range and sink never change; only the three casework columns do, growing in 3-inch increments, one column at a time, across thirteen rows from 144 to 195 inches (some rows skip a length, so a row adds 3 or 6 inches). The first row is the requirement itself: 30 + 36 + 24 + 3 × 18 = 144. Nothing shorter is a kitchen this table knows how to make. The interactive drawing at the top uses these widths, this order and the 18-inch minimum.
Years ago I would have actually drawn every frame of this kitchen array and animated it to see if what was in my head makes sense. I know this makes sense. Look at the code-driven bathroom. What if the kitchen array is driven by population of the household? Something like 12″ of additional casework per additional bedroom would be a good scaling heuristic. That number is my guess, not a standard, but it makes the kitchen requirement move with the household the way the bathroom moves with occupant load.
Next up, perhaps a generic array with more than one dimension. Like an L shaped kitchen or a living room with a couch wall and across from that a TV wall.
So here is the judgment for step one. A requirement model is a floor, not a layout. It tells you the least a room must hold, it can be computed before anything is drawn, and it turns an undersized room into a visible failure instead of a quietly worse plan. What it cannot tell you is what gives way when the wall runs short, or what happens when the wall turns a corner. The 138-inch kitchen loses its sink because a list is only a sequence, and the 126-inch kitchen loses only a cabinet, which is still a failed kitchen. Deciding order, corners and what yields is the arrangement problem.