{
  "revision": 4,
  "version": "enhanced",
  "basis": {
    "layout": "long12",
    "seats": 12,
    "high": 12,
    "low": 0,
    "highTables": 2,
    "highTableCapacity": 6,
    "lowTables": 0,
    "lowTableCapacity": 0,
    "revision": "design-04",
    "hatch": {
      "min": [
        9.75,
        0.95,
        4.005
      ],
      "max": [
        10.5,
        2.05,
        4.15
      ]
    },
    "exteriorPhoto": {
      "min": [
        7.48,
        0.85,
        4.09
      ],
      "max": [
        8.38,
        2.3,
        4.15
      ]
    },
    "notes": [
      "Working brand names; availability not checked.",
      "Design uses revised seating A, explicitly selected by the owner: two long glazing-side high tables and 12 stools.",
      "Design is based on the accepted clear room dimensions, with inherited survey estimates retained.",
      "Takeaway hatch is a conditional alteration to glazing; frame, structure, utilities, consent and weather details require verification.",
      "No exterior queue or photo-standing capacity is assumed. Fixed features stay within the existing façade line.",
      "Allowances include 15% contingency. Rent, deposits and working capital are separate. No financial returns are forecast at this stage."
    ]
  },
  "sourceParameters": {
    "version": 1,
    "units": "metres",
    "title": "M4YA Canggu — existing-space reconstruction",
    "basis": "Owner-confirmed clear room dimensions, source drawing and owner media. Not surveyed or approved for construction.",
    "main": {
      "length": 10.8,
      "depth": 4
    },
    "kitchen": {
      "length": 4.7,
      "depth": 2.4
    },
    "toilet": {
      "length": 2.4,
      "depth": 1.8
    },
    "estimates": {
      "ceilingHeight": 3,
      "externalWall": 0.15,
      "partitionWall": 0.1,
      "columnSize": 0.25,
      "column1X": 3.42,
      "column2X": 7.11,
      "passageWidth": 1,
      "storageWidth": 1.1,
      "entryWidth": 1,
      "entryOffset": 0.25,
      "passageOpeningWidth": 1,
      "passageOpeningOffset": 0.35,
      "kitchenDoorWidth": 0.85,
      "kitchenDoorOffset": 0.45,
      "toiletDoorWidth": 0.8,
      "toiletDoorOffset": 0.35,
      "storageDoorWidth": 0.7,
      "doorHeight": 2.1,
      "glassHead": 2.7,
      "glassSill": 0.05,
      "barLength": 3,
      "barDepth": 0.7,
      "barHeight": 1.05,
      "barX": 9.2,
      "barZ": 2.3
    },
    "provenance": {
      "confirmed": [
        "main.length",
        "main.depth",
        "kitchen.length",
        "kitchen.depth",
        "kitchen is room labelled OFFICE",
        "kitchen access from passage",
        "toilet access from passage",
        "storage use",
        "entry faces Pantai Berawa",
        "road-facing panels are reflective exterior glazing"
      ],
      "drawing": [
        "toilet.length",
        "toilet.depth",
        "approximate column alignment",
        "pool-side glazing",
        "annex arrangement"
      ],
      "estimated": [
        "all estimates fields; 3 m ceiling and 1 m passage are owner approximations; remaining defaults are unmeasured"
      ],
      "storageDoor": "Assumed passage access; position and opening not confirmed.",
      "glazingOperation": "Pool opening marked sliding on drawing; individual moving/fixed panels are not established.",
      "annex": "Kitchen street wall aligned to main room as drawn; annex pool-side projection follows room/passage dimensions and estimated walls, not a surveyed offset."
    }
  },
  "seating": {
    "id": "long12",
    "number": "A",
    "title": "Two glazing-side high tables",
    "seats": 12,
    "high": 12,
    "low": 0,
    "description": "One 5.80 m high table along the pool glazing and one along the street glazing. Six inward-side stools per table leave a 1.20 m central aisle.",
    "verdict": "Revised A / two parallel tables",
    "recommended": false,
    "seatPlaces": [
      {
        "id": "P1",
        "kind": "high",
        "center": [
          1.65,
          0.65,
          1.1
        ],
        "min": [
          1.3499999999999999,
          0.025,
          0.8
        ],
        "max": [
          1.95,
          1.45,
          1.4000000000000001
        ],
        "width": 0.6,
        "depth": 0.6,
        "facing": "north",
        "tableId": "side1"
      },
      {
        "id": "P2",
        "kind": "high",
        "center": [
          2.5999999999999996,
          0.65,
          1.1
        ],
        "min": [
          2.3,
          0.025,
          0.8
        ],
        "max": [
          2.8999999999999995,
          1.45,
          1.4000000000000001
        ],
        "width": 0.6,
        "depth": 0.6,
        "facing": "north",
        "tableId": "side1"
      },
      {
        "id": "P3",
        "kind": "high",
        "center": [
          3.55,
          0.65,
          1.1
        ],
        "min": [
          3.25,
          0.025,
          0.8
        ],
        "max": [
          3.8499999999999996,
          1.45,
          1.4000000000000001
        ],
        "width": 0.6,
        "depth": 0.6,
        "facing": "north",
        "tableId": "side1"
      },
      {
        "id": "P4",
        "kind": "high",
        "center": [
          4.5,
          0.65,
          1.1
        ],
        "min": [
          4.2,
          0.025,
          0.8
        ],
        "max": [
          4.8,
          1.45,
          1.4000000000000001
        ],
        "width": 0.6,
        "depth": 0.6,
        "facing": "north",
        "tableId": "side1"
      },
      {
        "id": "P5",
        "kind": "high",
        "center": [
          5.449999999999999,
          0.65,
          1.1
        ],
        "min": [
          5.1499999999999995,
          0.025,
          0.8
        ],
        "max": [
          5.749999999999999,
          1.45,
          1.4000000000000001
        ],
        "width": 0.6,
        "depth": 0.6,
        "facing": "north",
        "tableId": "side1"
      },
      {
        "id": "P6",
        "kind": "high",
        "center": [
          6.4,
          0.65,
          1.1
        ],
        "min": [
          6.1000000000000005,
          0.025,
          0.8
        ],
        "max": [
          6.7,
          1.45,
          1.4000000000000001
        ],
        "width": 0.6,
        "depth": 0.6,
        "facing": "north",
        "tableId": "side1"
      },
      {
        "id": "S1",
        "kind": "high",
        "center": [
          1.65,
          0.65,
          2.9
        ],
        "min": [
          1.3499999999999999,
          0.025,
          2.6
        ],
        "max": [
          1.95,
          1.45,
          3.1999999999999997
        ],
        "width": 0.6,
        "depth": 0.6,
        "facing": "south",
        "tableId": "side2"
      },
      {
        "id": "S2",
        "kind": "high",
        "center": [
          2.5999999999999996,
          0.65,
          2.9
        ],
        "min": [
          2.3,
          0.025,
          2.6
        ],
        "max": [
          2.8999999999999995,
          1.45,
          3.1999999999999997
        ],
        "width": 0.6,
        "depth": 0.6,
        "facing": "south",
        "tableId": "side2"
      },
      {
        "id": "S3",
        "kind": "high",
        "center": [
          3.55,
          0.65,
          2.9
        ],
        "min": [
          3.25,
          0.025,
          2.6
        ],
        "max": [
          3.8499999999999996,
          1.45,
          3.1999999999999997
        ],
        "width": 0.6,
        "depth": 0.6,
        "facing": "south",
        "tableId": "side2"
      },
      {
        "id": "S4",
        "kind": "high",
        "center": [
          4.5,
          0.65,
          2.9
        ],
        "min": [
          4.2,
          0.025,
          2.6
        ],
        "max": [
          4.8,
          1.45,
          3.1999999999999997
        ],
        "width": 0.6,
        "depth": 0.6,
        "facing": "south",
        "tableId": "side2"
      },
      {
        "id": "S5",
        "kind": "high",
        "center": [
          5.449999999999999,
          0.65,
          2.9
        ],
        "min": [
          5.1499999999999995,
          0.025,
          2.6
        ],
        "max": [
          5.749999999999999,
          1.45,
          3.1999999999999997
        ],
        "width": 0.6,
        "depth": 0.6,
        "facing": "south",
        "tableId": "side2"
      },
      {
        "id": "S6",
        "kind": "high",
        "center": [
          6.4,
          0.65,
          2.9
        ],
        "min": [
          6.1000000000000005,
          0.025,
          2.6
        ],
        "max": [
          6.7,
          1.45,
          3.1999999999999997
        ],
        "width": 0.6,
        "depth": 0.6,
        "facing": "south",
        "tableId": "side2"
      }
    ],
    "tables": [
      {
        "id": "side1",
        "name": "Pool high table",
        "min": [
          1.2,
          0.8999999999999999,
          0.2
        ],
        "max": [
          7,
          0.95,
          0.8
        ],
        "height": 0.95,
        "note": "5.80 × 0.60 m · 6 high seats",
        "capacity": 6
      },
      {
        "id": "side2",
        "name": "Street high table",
        "min": [
          1.2,
          0.8999999999999999,
          3.2
        ],
        "max": [
          7,
          0.95,
          3.8000000000000003
        ],
        "height": 0.95,
        "note": "5.80 × 0.60 m · 6 high seats",
        "capacity": 6
      },
      {
        "id": "counter",
        "name": "Coffee counter",
        "min": [
          8.95,
          0,
          1.4
        ],
        "max": [
          9.6,
          0.95,
          3.85
        ],
        "note": "Reconfigured coffee counter; street-end return. Kitchen accessed only through the approved passage."
      }
    ],
    "routes": [
      {
        "id": "entry",
        "name": "Entry turn / 1.20 m wide",
        "min": [
          0,
          0.007,
          0.25
        ],
        "max": [
          1.2,
          0.014,
          2.6
        ],
        "width": 1.2,
        "type": "public"
      },
      {
        "id": "spine",
        "name": "Central aisle / 1.20 m",
        "min": [
          1.2,
          0.007,
          1.4
        ],
        "max": [
          8,
          0.014,
          2.6
        ],
        "width": 1.2,
        "type": "public"
      },
      {
        "id": "transition",
        "name": "Counter-end crossover / 1.00 m",
        "min": [
          7,
          0.007,
          0.35
        ],
        "max": [
          8,
          0.014,
          3.8
        ],
        "width": 1,
        "type": "public"
      },
      {
        "id": "passage",
        "name": "Passage approach / 1.00 m",
        "min": [
          8,
          0.007,
          0.35
        ],
        "max": [
          10.8,
          0.014,
          1.35
        ],
        "width": 1,
        "type": "public"
      },
      {
        "id": "staff",
        "name": "Staff lane / nominal 1.18 m",
        "min": [
          9.62,
          0.007,
          1.35
        ],
        "max": [
          10.8,
          0.014,
          3.25
        ],
        "width": 1.18,
        "type": "staff"
      }
    ],
    "standing": [
      {
        "id": "Q1",
        "min": [
          8.25,
          0.02,
          1.55
        ],
        "max": [
          8.85,
          1.45,
          2.15
        ]
      },
      {
        "id": "Q2",
        "min": [
          8.25,
          0.02,
          2.35
        ],
        "max": [
          8.85,
          1.45,
          2.9499999999999997
        ]
      }
    ],
    "notes": [
      "A has exactly two long parallel high tables: pool side and street side. Seats are on the central-aisle side only; no seats are placed between tables and glazing.",
      "The two side tables each seat six. Their 0.60 m depth and one-sided use preserve a 1.20 m central route within the 4 m room.",
      "Both glazing sides retain their existing glass. The 0.20 m table-to-glazing strip is a maintenance gap, not a walkway; glazing operation and cleaning access need a site check.",
      "High tables are 0.95 m tall with 0.65 m stools. Tops are 0.60 m deep; test the actual brunch plates/trays.",
      "Two standing positions are provided for order / collection. They share a 1.03 m counter approach; they are not extra seats.",
      "The counter worktop projects 20 mm beyond its base: staff lane is 1.18 m, customer approach 1.03 m.",
      "Staff and public share the existing passage. Replenishment and washing use this same connection; there is no direct bar-to-kitchen door.",
      "Existing glazing is retained. A future street takeaway opening, external queue and photo area are outside this furniture study.",
      "No seat or outside area is counted in the kitchen, passage, pool deck or streets. Door leaf swings and selected furniture need a site mock-up before procurement."
    ],
    "units": "metres",
    "revision": "seating-02",
    "shell": "Owner accepted shell; dimensions with original confidence retained",
    "staffLane": 1.18,
    "serviceApproach": 1.03,
    "publicSpine": 1.2,
    "crossAisle": 1,
    "minimumSecondary": 1,
    "paths": [
      {
        "name": "Public / shared passage to WC and hotel",
        "color": "#397862",
        "points": [
          [
            0.05,
            0.06,
            0.75
          ],
          [
            0.6,
            0.06,
            0.75
          ],
          [
            0.6,
            0.06,
            2
          ],
          [
            7.5,
            0.06,
            2
          ],
          [
            7.5,
            0.06,
            0.85
          ],
          [
            11.1,
            0.06,
            0.85
          ],
          [
            13.95,
            0.06,
            0.85
          ],
          [
            13.95,
            0.06,
            0.4
          ]
        ]
      },
      {
        "name": "Staff / shared passage to kitchen",
        "color": "#3c628d",
        "points": [
          [
            10.25,
            0.07,
            2.4
          ],
          [
            10.25,
            0.07,
            1.05
          ],
          [
            11.775,
            0.07,
            1.05
          ],
          [
            11.775,
            0.07,
            1.8
          ]
        ]
      }
    ]
  },
  "concepts": [
    {
      "id": "bun-social",
      "letter": "A",
      "name": "Bun Social",
      "type": "Tropical coffee house",
      "tag": "Coffee beneath the canopy.",
      "short": "Black hotel shell, open timber pergola, woven lanterns, lush overhead planting and a warm bun character.",
      "accent": "#537044",
      "soft": "#c8b389",
      "cream": "#e7dac0",
      "wood": "#9c7346",
      "seat": "#6c7950",
      "ink": "#263b2c",
      "floor": "#97856b",
      "mascot": "Bibi Bun: an oversized toasted bun head, glossy eyes, rosy cheeks, a tiny coral apron and a coffee cup.",
      "interior": "A dense open timber pergola and lush hanging leaf clusters create a tropical canopy against the hotel’s black ceiling. Six oversized woven lanterns, bundled cane table supports, warm paver finishes, a woven counter and a sunburst Bibi portrait give the two approved high tables a resort-like atmosphere.",
      "facade": "Black sign fields, warm timber header and a cane-like lower screen work with the hotel’s dark interior. The rounded timber-toned hatch and separate bun photo portrait stay within the existing street glazing bay.",
      "moment": "A woven sunburst behind the bun and overhead greenery frame the street-side dining table, with pool glazing opposite. No floor-standing planter or extra seating enters the central aisle.",
      "materials": [
        "Black ceiling + timber pergola",
        "Woven cane + warm stone pavers",
        "Olive commercial upholstery",
        "Removable high-level planting"
      ],
      "base": [
        143,
        62,
        85,
        140,
        25,
        19
      ],
      "watch": "Keep planting above the dining ends and away from prep. Specify removable lined trays, cleanable woven-look finishes and a lighting/maintenance mock-up before ordering.",
      "score": "Shortlist / tropical response to Maya’s black shell",
      "category": "Cute",
      "characterName": "Bibi Bun",
      "art": "assets/bun-social-mascot-v2.png",
      "signInk": "#f4dfb8"
    },
    {
      "id": "dip-day",
      "letter": "B",
      "name": "Dip Day",
      "type": "Retro pool club",
      "tag": "A bright start. A daily dip.",
      "short": "Undulating butter-yellow ceiling ribbons, vertical ring lights, rounded terrazzo pedestals and a sunshine mural.",
      "accent": "#2d777a",
      "soft": "#e7cb76",
      "cream": "#f2e8cc",
      "wood": "#c9af79",
      "seat": "#3d8587",
      "ink": "#294b4a",
      "floor": "#e2ddcc",
      "mascot": "Didi Duck: a round butter-yellow café duck with a tiny cap, glossy eyes, rosy cheeks, a teal float ring and takeaway cup.",
      "interior": "Wide wave ribbons trace each long table beneath a black ceiling. Vertical pool-ring lights, oversized rounded terrazzo table pedestals, cabana stripes, a sunshine back-bar mural and a circular Didi portrait turn the room into a retro pool club. No table or stool moves.",
      "facade": "A butter-yellow scalloped fascia, teal tiled base and large Didi portrait turn the street bay into a recognisable café frontage. The protected takeaway opening and photo portrait remain separate.",
      "moment": "The street-side table frames a large Didi portrait and the pool beyond. An independent exterior Didi arch gives the brand a recognisable photo backdrop without becoming the collection point.",
      "materials": [
        "Butter-yellow wave ribbons",
        "Vertical ring pendants + teal tile",
        "Rounded terrazzo pedestals",
        "Cabana stripes + sunshine mural"
      ],
      "base": [
        144,
        67,
        88,
        140,
        23,
        18
      ],
      "watch": "Limit tiled area and use stain-resistant grout. Prototype stripe contrast and cleanability before repeating the pattern.",
      "score": "First shortlist / strongest sense of place",
      "category": "Cute",
      "characterName": "Didi Duck",
      "art": "assets/dip-day-mascot-v2.png"
    },
    {
      "id": "sprout-crumb",
      "letter": "C",
      "name": "Sprout & Crumb",
      "type": "Botanical gallery",
      "tag": "A softer start to the day.",
      "short": "Four plaster vault ribs, alabaster globes, sculpted stone supports and a fluted stone counter.",
      "accent": "#536247",
      "soft": "#c6bea5",
      "cream": "#e6dec9",
      "wood": "#9c7b50",
      "seat": "#596b50",
      "ink": "#293b2b",
      "floor": "#c9c4b3",
      "mascot": "Sage: a composed leaf-crowned coffee-seed guardian, narrow expressive eyes, bronze boots, a terracotta scarf and espresso cup. Refined rather than baby-like.",
      "interior": "Four full-width plaster vault ribs repeat overhead against the black hotel ceiling, with warm inner light lines. Alabaster globe pendants, sculpted stone table supports, a fluted honed-stone counter, bronze inlays and an arched Sage gallery panel create a calm architectural gallery. The original two tables and twelve stools stay fixed.",
      "facade": "An olive service frame, bronze rhythms and a restrained stone-toned sign field keep the botanical gallery identity legible along the street. Sage remains on a separate photo panel; no new exterior footprint is added.",
      "moment": "The Sage portrait and bronze halo become a confident editorial backdrop at the street-side table. Controlled planting and warm lighting keep the atmosphere botanical without a floor-standing display.",
      "materials": [
        "Sculptural plaster vault ribs",
        "Alabaster globes + bronze trim",
        "Honed stone + fluted counter",
        "Olive upholstery + quiet plaster"
      ],
      "base": [
        140,
        57,
        82,
        140,
        25,
        18
      ],
      "watch": "Test sign contrast from the main road. Planting needs removable trays and a maintenance plan away from food service.",
      "score": "Alternative / quieter daytime atmosphere",
      "category": "Cool",
      "characterName": "Sage",
      "art": "assets/sprout-crumb-mascot-v2.png"
    },
    {
      "id": "fold",
      "letter": "D",
      "name": "Fold",
      "type": "Folded cobalt studio",
      "tag": "Coffee. Pastry. A sharper angle.",
      "short": "Five asymmetric steel ceiling portals, triangular lights, blade supports and a faceted photo wall.",
      "accent": "#2854ba",
      "soft": "#b9c8df",
      "cream": "#e7ebed",
      "wood": "#a6aeb8",
      "seat": "#2c52a0",
      "ink": "#223347",
      "floor": "#c6ccd1",
      "mascot": "Flaky: a layered folded-pastry avatar with a sleek dark visor, cobalt folds, charcoal boots and a steel espresso cup. Graphic, confident and fashion-led.",
      "interior": "Five asymmetric cobalt-and-steel ceiling portals cross the room in a folded rhythm. Triangular blade pendants, folded steel table supports, a brushed steel counter, diagonal floor graphics and a faceted illuminated Flaky wall create a sculptural studio. Table sizes, stool positions and circulation remain the accepted layout A.",
      "facade": "A cobalt tiled base, brushed-metal rhythms and shallow folded brow give the hatch a stronger graphic frame. A separate Flaky portrait and crisp lettering make the frontage recognisable without a projected canopy.",
      "moment": "The street-side shared table sits under a steel-framed Flaky portrait. The same avatar appears on a separate exterior panel, linking the photo moment with the packaging identity.",
      "materials": [
        "Asymmetric folded ceiling portals",
        "Triangular cobalt blade pendants",
        "Brushed steel counter + blade bases",
        "Faceted photo wall + diagonal inlays"
      ],
      "base": [
        146,
        66,
        92,
        140,
        23,
        19
      ],
      "watch": "Control glare and exposed metal edges. Keep the folded brow shallow and within the wall line; weather performance needs a fabricated detail.",
      "score": "Alternative / boldest graphic identity",
      "category": "Cool",
      "characterName": "Flaky",
      "art": "assets/fold-mascot-v2.png"
    }
  ]
}