Practical Guide

Version: 3.2.0 | Companion: Reference Manual | Author: Yusuf Eminoğlu

A screenshot-driven workshop for every Parametric Process capability — built by running the real plugin against the real Tire İlçesi planning master.
PDF yapmak için: Tarayıcıda Ctrl+P → “PDF olarak kaydet” → A4, kenar boşlukları: Varsayılan.

Table of contents

The Studio dock — the launcher
Preparing a parcel layer for the engines
Parametric multi-objective optimization
Four solvers, one site, real numbers
Urban physics & microclimate evaluator
Urban morphology & canyon analytics
Procedural shape grammar — subdividing a block
Multi-parcel district environmental coupling
PPUD pipeline — plot, building, fabric
Academic urban design study
The 3D cockpit
Evolutionary Studio & the Pareto Analytics Studio
Visual rule workflow modeler
Academic study workspace

How to read this guide

Every module follows the same shape: the planning question the tool answers, what it does, the exact clicks or Processing parameters, the real output, how to interpret it, and what breaks.

Data provenance
Getting started

The Studio dock — the launcher

Where do I start, and what do I point at?

Parametric Process ships as a QGIS dock and a Processing provider. The dock is the launcher: it picks the parcel layer, starts the plugin's local web server and opens the 3D cockpit or the visual workflow modeler. Below it, the Processing Tools tree lists every algorithm — double-click runs it headlessly.

Step by step

  1. Load your parcel / block layer into QGIS first. The dock only accepts polygon layers.
  2. Open the dock from Plugins ▸ Parametric Process ▸ Parametric Process Studio.
  3. Choose the parcel layer in the Parcel / Block Layer combo box.
  4. Leave the local port at 8090 (or change it if something else holds the port — the dock falls back to a free one).
  5. Press Launch 3D Cockpit for the generative view, or Workflow Modeler for the node canvas.
  6. The Processing Tools tree below lists all seven algorithms; double-click any of them to run it against the current project.

The result

The Parametric Process Studio dock
The Parametric Process Studio dock
Read the output. The dock is deliberately thin: it is a bridge to the web studio, not a second implementation. Everything you do in the cockpit can be synced back to QGIS with Sync Parameters, so the design work stays in GIS rather than in a browser tab you cannot query.

When it goes wrong

Getting started

Preparing a parcel layer for the engines

What do the engines actually read from my parcels?

The generative engines are not map renderers — they are design engines, and they read a fixed schema: floors, height_m, typology, usage, setback, roof_style, max_bcr, max_far and gfa. Your cadastral data rarely carries those names, so the first job is to translate it. This chapter does that with the real Tire master and shows the schema the engines see.

Step by step

  1. Open the Tire planning master and select the cadastral master layer: 1 362 real ada with land use, dominant building type, average floors and area.
  2. Read the land-use class into a design envelope. Residential density classes map to a BCR / FAR / height cap, and the dominant building type maps to one of the eight built-in typologies (Tower, Slab, Courtyard, LShape, UShape, PodiumTower, SteppedTower, MultiBuildingBlock).
  3. Derive the storey count from the average floor count and convert it to height with the local storey height — 3.0 m in this data, 3.5 m for the 2.5D studio elsewhere.
  4. Set the setback from the use class — 3.0 m for residential, 5.0 m for civic and commercial.
  5. Write the four fields the engines read: floors, height_m, typology, usage, plus max_bcr, max_far and gfa.
  6. Run Fix geometries first. A degenerate block cannot be subdivided and will abort a PPUD run with a confusing 'parcel_area must be greater than zero' error.

The result

Preparing a parcel layer for the engines
Preparing a parcel layer for the engines
Read the output. The typology column in the screenshot is the single most consequential field: it decides the footprint ratio, the courtyard share and the height modifier of every candidate the solver proposes. Get the typology wrong and the optimiser is answering a different question than you think.

Exact run used for the screenshots

Derived from the Tire cadastral master (1 362 real ada).
The engines read this schema:

parcel_id      string
mahalle        string
adano          string
land_use       string
building_type  string
area_m2        double
floors         integer
height_m       double
typology       string
usage          string
setback        double
roof_style     string
max_bcr        double
max_far        double
gfa            double

When it goes wrong

Evolutionary Engine

Parametric multi-objective optimization

Can an evolutionary search find a design set that is dense, comfortable and legal at the same time?

The core engine proposes candidate massing for every parcel and evolves them against several objectives at once under hard zoning constraints. It is not a greedy optimiser: NSGA-II keeps a non-dominated archive, so the output is a set of trade-off designs rather than one answer.

Step by step

  1. Open Processing Toolbox ▸ Parametric Process Studio ▸ 1. Parametric Multi-Objective Evolutionary Optimization.
  2. Set INPUT to the prepared parcel layer, POP_SIZE to 40 and GENERATIONS to 12.
  3. ALGORITHM: NSGA-II for the fast default, SPEA-2 for fine-grained strength-based ranking, NSGA-III for reference-point niching on many objectives, MOEA/D for range-normalised decomposition.
  4. Set the hard constraint envelope: MAX_BCR 0.45, MAX_FAR 2.5, MAX_HEIGHT 18.0 (metres). Infeasible candidates are penalised by the exact violation magnitude, not merely rejected.
  5. Set SEED to 42 for a reproducible run — the same seed and the same input give the same designs.
  6. Run. The output carries far, bcr, gfa, floors, height_m, typology, plan_score, pop_est, carbon, runoff, utci_score, svf_ratio, canyon_hw, pareto_rank and more.

The result

Parametric Multi-Objective Optimization
Parametric Multi-Objective Optimization
Read the output. Read the output as a set, not a single result: the archive holds every non-dominated design, so the spread of far and plan_score across the layer is the trade-off surface. A run where every parcel has the same far means the constraint envelope was the only active bound — widen max_far or lower max_bcr to let the search breathe.

Parameters

ParameterDescriptionTypeDefault
INPUTInput Polygon LayerInput layer—
POP_SIZEPopulation SizeNumber30
GENERATIONSGenerationsNumber15
ALGORITHMAlgorithm
NSGA-II · SPEA-2 · NSGA-III · MOEA/D
EnumerationNSGA-II
MAX_BCRMax BCR (ratio)Number0.45
MAX_FARMax FARNumber2.5
MAX_HEIGHTMax Height (m)Number18.0
SEEDRandom seed (reproducibility)Number42
OUTPUTPareto Front OutputOutput layer—

Exact run used for the screenshots

INPUT            = Tire parseller
POP_SIZE         = 40
GENERATIONS      = 12
ALGORITHM        = 0
MAX_BCR          = 0.45
MAX_FAR          = 2.5
MAX_HEIGHT       = 18.0
SEED             = 42

When it goes wrong

Processing ID: parametric_process:parametric_optimization

Evolutionary Engine

Four solvers, one site, real numbers

Which evolutionary algorithm should I actually use?

All four solvers were run on the same 1 362 Tire blocks, the same seed and the same budget. The interesting difference is not the map — it is the shape of the solution set each algorithm returns, measured on the metrics the engines actually write.

Step by step

  1. Run the same job four times with ALGORITHM set to 0, 1, 2 and 3, keeping POP_SIZE, GENERATIONS and SEED identical.
  2. Compare the output layers on the metrics that matter: mean plan_score, mean pop_est, mean carbon, mean utci_score and mean canyon H/W.
  3. Watch the design count: MOEA/D returns fewer designs because its decomposition-based niching prunes duplicates more aggressively.
  4. Watch the canyon H/W: values around 1.0 mean the street canyons stay in the comfortable range; 1.4+ is a wind problem.

The result

NSGA-II vs SPEA-2 vs NSGA-III vs MOEA/D
NSGA-II vs SPEA-2 vs NSGA-III vs MOEA/D
Read the output. There is no universally best solver — there is a trade-off. MOEA/D found the highest-scoring, lowest-carbon and most open designs, but with far fewer candidate designs and much lower population density. NSGA-III returned the highest population at the cost of the tightest canyons. SPEA-2 sits between them. Choose the algorithm by which of those two axes your plan actually cares about.

Parameters

ParameterDescriptionTypeDefault
INPUTInput Polygon LayerInput layer—
POP_SIZEPopulation SizeNumber30
GENERATIONSGenerationsNumber15
ALGORITHMAlgorithm
NSGA-II · SPEA-2 · NSGA-III · MOEA/D
EnumerationNSGA-II
MAX_BCRMax BCR (ratio)Number0.45
MAX_FARMax FARNumber2.5
MAX_HEIGHTMax Height (m)Number18.0
SEEDRandom seed (reproducibility)Number42
OUTPUTPareto Front OutputOutput layer—

Exact run used for the screenshots

Same site, same seed 42, POP 30 x 8 generations.
Each solver proposes a different design set for the same
1 362 real Tire blocks. Compare the numbers:

NSGA-II    designs=40860  rank-1=40860  score=76.4  pop=239  CO2=19,812,711 kg  UTCI=63.5  canyon H/W=1.07
SPEA-2     designs=40857  rank-1=0  score=77.5  pop=249  CO2=22,570,004 kg  UTCI=64.0  canyon H/W=1.04
NSGA-III   designs=40860  rank-1=40860  score=78.8  pop=290  CO2=23,158,314 kg  UTCI=63.5  canyon H/W=1.14
MOEA/D     designs=34643  rank-1=34643  score=81.4  pop=145  CO2=11,370,306 kg  UTCI=66.2  canyon H/W=0.66

When it goes wrong

Processing ID: parametric_process:parametric_optimization

Physics & Microclimate

Urban physics & microclimate evaluator

What does a design do to the street — wind, sun, heat and runoff?

The physics engine scores a design across fifteen microclimate and financial domains: wind ventilation and pedestrian comfort, solar access, air dispersion, sky view factor, sol-air temperature, runoff, carbon, plus the financial side (NPV, IRR, payback). These are transparent screening models with published thresholds, not CFD — the point is comparison between options, not certification.

Step by step

  1. Open Processing Toolbox ▸ Parametric Process Studio ▸ 2. Urban Physics & Microclimate Multi-Domain Evaluator and set INPUT to your design layer (a solver output or a measured design).
  2. Run. Every feature is scored and the metrics are written back onto the same geometry.
  3. Read carbon, wind_score, solar_kwh, utci_score, runoff, svf_ratio, canyon_hw, npv, irr and the rest in the attribute table.
  4. Compare the design with the existing fabric: run the evaluator on the current condition layer first, then on the proposal, and diff the two.

The result

Urban Physics & Microclimate Evaluator
Urban Physics & Microclimate Evaluator
Read the output. The two numbers that most often decide a plan are canyon H/W and UTCI score. H/W around 1.0–1.5 is the comfortable street-canyon range; above 1.5 the street traps wind and loses sun, and both the wind score and the UTCI score fall together. Read them as a pair, never alone.

Parameters

ParameterDescriptionTypeDefault
INPUTInput Building FootprintsInput layer—
OUTPUTEnriched Evaluated LayersOutput layer—

Exact run used for the screenshots

INPUT            = Tire parseller

When it goes wrong

Processing ID: parametric_process:urban_physics_evaluator

Physics & Microclimate

Urban morphology & canyon analytics

What shape is the existing urban fabric, and what does that shape do to the street?

The morphology engine measures the block itself: footprint coverage, the share of the block given to open space, the street-wall height-to-width ratio, the orientation of the long axis against the sun, and the resulting canyon geometry. It is the diagnostic that tells you *why* a street feels the way it does.

Step by step

  1. Open Processing Toolbox ▸ Parametric Process Studio ▸ 3. Urban Morphology & Canyon Analytics and set INPUT to the parcel or design layer.
  2. Run. The engine adds the morphology fields to the same layer.
  3. Read the canyon ratio and the orientation fields together: a long axis running east–west in a northern-hemisphere city means the sun never reaches the lower floors.
  4. Use the open-space share to identify the blocks that could absorb more density without losing their courtyards.

The result

Urban Morphology & Canyon Analytics
Urban Morphology & Canyon Analytics
Read the output. Orientation is the field people forget. Two blocks with identical coverage and identical canyon ratio can behave completely differently if one presents its long face north and the other east. A block that presents its long face to the sun is deep enough to keep daylight in the lower floors; the same block rotated ninety degrees is not.

Parameters

ParameterDescriptionTypeDefault
INPUTInput Polygon LayerInput layer—
OUTPUTOutput Morphology LayerOutput layer—

Exact run used for the screenshots

INPUT            = Tire parseller

When it goes wrong

Processing ID: parametric_process:urban_morphology_analytics

Generative Geometry

Procedural shape grammar — subdividing a block

How do I split one irregular block into buildable plots?

The shape grammar turns a single block outline into a set of buildable plots using a rewrite rule set: the block is recursively split along its longest edge, and each fragment is re-evaluated against a target frontage. It is the geometric primitive every generative workflow starts from.

Step by step

  1. Open Processing Toolbox ▸ Parametric Process Studio ▸ 4. Procedural Shape Grammar Block Subdivider.
  2. Set INPUT to the block polygon layer and FRONTAGE to the target plot frontage in metres — 18.0 m suits a typical Turkish residential row.
  3. Run. Each block is replaced by its subdivided plots, carrying the rule trace.
  4. Feed the result into the PPUD pipeline or the parametric optimiser: the plots are the design units the engines reason about.

The result

Procedural Shape Grammar Block Subdivider
Procedural Shape Grammar Block Subdivider
Read the output. The frontage is the planning variable, not a technical one. Change it and you change the grain of the city: 12 m frontages give small row houses and a dense street wall, 25 m gives wider plots and more parking. Set it from the local housing type, not from the default.

Parameters

ParameterDescriptionTypeDefault
INPUTInput Block LayerInput layer—
FRONTAGETarget Frontage Width (m)Number18.0
OUTPUTSubdivided Sub-Lots LayerOutput layer—

Exact run used for the screenshots

INPUT            = Tire parseller
FRONTAGE         = 18.0

When it goes wrong

Processing ID: parametric_process:procedural_shape_grammar

Generative Geometry

Multi-parcel district environmental coupling

What happens when the design of one block changes the performance of its neighbours?

District coupling evaluates a set of parcels together instead of one at a time: a block's massing changes the wind corridor, the shading and the carbon balance of the blocks around it. This is the module that turns an isolated block study into a neighbourhood study.

Step by step

  1. Open Processing Toolbox ▸ Parametric Process Studio ▸ 5. Multi-Parcel District Environmental Coupling.
  2. Set INPUT to the parcel layer of the district you want to evaluate as one system.
  3. Run. The engine couples the parcels and writes the district-level environmental results onto the layer.
  4. Compare the coupled result with the same parcels evaluated individually — the difference is the interference effect.

The result

Multi-Parcel District Environmental Coupling
Multi-Parcel District Environmental Coupling
Read the output. The gap between the isolated and the coupled result is the finding. If a block scores well on its own but poorly once coupled, the problem is its relationship with the neighbours — usually a massing that closes a wind corridor or shadows a courtyard. No amount of tuning that block in isolation will fix it.

Parameters

ParameterDescriptionTypeDefault
INPUTInput District LayerInput layer—
OUTPUTCoupled District LayerOutput layer—

Exact run used for the screenshots

INPUT            = Tire parseller

When it goes wrong

Processing ID: parametric_process:district_environmental_coupling

Generative Geometry

PPUD pipeline — plot, building, fabric

How does a block actually grow, phase by phase?

PPUD (Plot–Building–Urban Design) is the plugin's three-stage sequential engine. Stage 1 subdivides each block into plots with a chosen strategy. Stage 2 assigns a building genotype to every plot and optimises it against the zoning envelope. Stage 3 develops the fabric incrementally in randomised phases, recomputing mutual shadowing and canyon wind between phases — and with climate feedback on, later phases adapt their genotype to what the earlier ones already built.

Step by step

  1. Open Processing Toolbox ▸ Parametric Process Studio ▸ 6. PPUD Sequential Pipeline.
  2. Set INPUT to the block layer and choose BLOCK_TYPOLOGY: PerimeterBlock, LinearBlock, PavilionBlock, OrganicBlock or HybridBlock.
  3. Choose STRATEGY: frontage for row-house plots, grid for orthogonal fabric, perimeter for courtyard blocks, organic for medieval irregularity, radial for Beaux-Arts composition, hybrid for perimeter edges with a grid interior.
  4. Set the zoning envelope (MAX_BCR, MAX_FAR, MAX_HEIGHT) and INCREMENTAL_STEPS — the number of development phases.
  5. Turn CLIMATE_FEEDBACK on: a plot developed in a later phase that would suffer more than 30 % shadow loss drops a floor and widens its setback; a canyon wind above 8 m/s switches the typology from Slab to SteppedTower.
  6. Run. OUTPUT_PLOTS gives the subdivided plots with 14 performance metrics and a fabric_step field; OUTPUT_FBC gives the machine-readable form-based code (build-to-line, max floors, max height, setback).

The result

PPUD Sequential Pipeline (Plot → Building → Fabric)
PPUD Sequential Pipeline (Plot → Building → Fabric)
Read the output. The fabric_step field is the point of the whole exercise. Colour the plots by fabric_step and you can see *when* each part of the neighbourhood was built — and therefore which building casts the shadow that made the next one shrink. That is a real planning argument, not a rendering curiosity.

Parameters

ParameterDescriptionTypeDefault
INPUTInput Block Polygon LayerInput layer—
BLOCK_TYPOLOGYBlock Typology
PerimeterBlock · LinearBlock · PavilionBlock · OrganicBlock · HybridBlock
EnumerationPerimeterBlock
STRATEGYSubdivision Strategy
frontage · grid · perimeter · organic · radial · hybrid
Enumerationperimeter
MAX_BCRMax BCRNumber0.45
MAX_FARMax FARNumber2.0
MAX_HEIGHTMax Height (m)Number18.0
INCREMENTAL_STEPSIncremental Development StepsNumber5
CLIMATE_FEEDBACKClimate Feedback
Enabled · Disabled
EnumerationEnabled
OUTPUT_PLOTSPPUD Subdivided Plots LayerOutput layer—
OUTPUT_FBCForm-Based Code Diagram LayerOutput layer—

Exact run used for the screenshots

INPUT            = Tire parseller
BLOCK_TYPOLOGY   = 0
STRATEGY         = 2
MAX_BCR          = 0.45
MAX_FAR          = 2.0
MAX_HEIGHT       = 18.0
INCREMENTAL_STEPS = 5
CLIMATE_FEEDBACK = 0

When it goes wrong

Processing ID: parametric_process:ppud_pipeline

Research Protocol

Academic urban design study

Can I defend this design in a thesis, with the whole run reproducible?

The academic study is the plugin's research protocol: it builds a versioned study object from the site, the street network, the destinations and the green space, then runs the solver across several seeds and reports every alternative, every building, the open space, the rejected designs and a summary. The point is not a picture — it is an auditable record with a manifest.

Step by step

  1. Open Processing Toolbox ▸ Parametric Process Studio ▸ 7. Academic Urban Design Study.
  2. SITE: the prepared parcel layer. STREETS: the real street network. DESTINATIONS: schools, health and civic land. GREEN_SPACE: parks and planted areas. All four must share the site's CRS.
  3. Set SEEDS to several values, e.g. 42,31415,271828 — a multi-seed run is what makes the result defensible, because it shows the answer is not a lucky draw.
  4. Set the constraint envelope (MAX_BCR, MAX_FAR, MAX_HEIGHT), SETBACK, RAINFALL and CANOPY_TARGET.
  5. Run. The outputs are ALTERNATIVES, BUILDINGS, OPEN_SPACE, REJECTED and SUMMARY — the rejected set is part of the evidence, not a failure.
  6. Export the study JSON and its manifest, and read the access and robustness reports before you write a single sentence about the results.

The result

Academic Urban Design Study
Academic Urban Design Study
Read the output. Three seeds are the minimum for a claim you intend to defend. If the rank-1 design changes completely between seeds, the site does not determine the answer and your text must say so. If it holds, you have a finding. The SUMMARY layer carries the per-parcel feasibility rate — read it together with the alternatives.

Parameters

ParameterDescriptionTypeDefault
SITESite parcelsInput layer—
ID_FIELDUnique parcel ID fieldField—
BCR_FIELDMaximum BCR fieldField—
FAR_FIELDMaximum FAR fieldField—
HEIGHT_FIELDMaximum height fieldField—
FRONT_FIELDFront setback fieldField—
SIDE_FIELDSide setback fieldField—
REAR_FIELDRear setback fieldField—
STREETSStreet network (optional)Input layer—
DESTINATIONSDestinations or transit stops (optional)Input layer—
GREEN_SPACEGreen space or canopy polygons (optional)Input layer—
POP_SIZEPopulation sizeNumber24
GENERATIONSGenerationsNumber8
SEEDSUnique random seeds (comma-separated)String42,31415,271828
MAX_BCRDefault maximum BCRNumber0.45
MAX_FARDefault maximum FARNumber2.5
MAX_HEIGHTDefault maximum height (m)Number18.0
SETBACKDefault setback (m)Number3.0
RAINFALLDesign rainfall event (mm)Number50.0
CANOPY_TARGETTarget canopy ratioNumber0.25
ALTERNATIVESAlternative recordsOutput layer—
BUILDINGSGenerated building massingOutput layer—
OPEN_SPACEResidual open spaceOutput layer—
REJECTEDRejected alternativesOutput layer—
SUMMARYParcel robustness summaryOutput layer—

Exact run used for the screenshots

SITE             = Tire parseller
STREETS          = yol
DESTINATIONS     = hedef
GREEN_SPACE      = yesil
POP_SIZE         = 16
GENERATIONS      = 4
SEEDS            = 42,31415
MAX_BCR          = 0.45
MAX_FAR          = 2.5
MAX_HEIGHT       = 18.0
SETBACK          = 3.0
RAINFALL         = 50.0
CANOPY_TARGET    = 0.25
ALTERNATIVES     = memory:
BUILDINGS        = memory:
OPEN_SPACE       = memory:
REJECTED         = memory:
SUMMARY          = memory:

When it goes wrong

Processing ID: parametric_process:academic_urban_design_study

The browser studio

The 3D cockpit

What does my design actually look like on the ground?

The cockpit is a Three.js city model built from the parcel layer you launched it with. It draws the blocks, extrudes the current massing, keeps the street network visible, and lets you click any parcel to open its design controls: typology, use, roof style, setback, storey count and storey height, with scenario presets and a live score readout.

Step by step

  1. Launch the cockpit from the dock with your parcel layer selected — the whole layer is exported to the local server and streamed into the scene.
  2. Orbit with the left mouse button, pan with the right, zoom with the wheel. The HUD keeps the parcel count, the maximum Z and the frame rate visible.
  3. Click a block. The inspector opens with the parcel's area, the scenario presets and the design sliders.
  4. Choose a Building Typology (Courtyard, Slab, Tower, PodiumTower, SteppedTower, MultiBuildingBlock), a Primary Use and a Roof Style, then set Setback Distance, Floor Count and Floor Height.
  5. Watch the live score bar at the bottom: PlanX Score, Compliant share, Total GFA, Population and Carbon all recompute as you move the sliders.
  6. Press Sync Parameters to QGIS to write the reviewed design back into the layer, or Export Planning Report (CSV) for a table.

The result

3D cockpit — the real Tire city model
3D cockpit — the real Tire city model
Parcel inspector — design parameters for one block
Parcel inspector — design parameters for one block
Read the output. The bottom bar is the decision instrument. A design that raises GFA while its PlanX Score falls is buying floor area with comfort. The Compliant share tells you how much of the fabric still satisfies the zoning envelope after your edit. Change one parcel, watch both, and the trade-off becomes visible in seconds instead of in a report.

When it goes wrong

The browser studio

Evolutionary Studio & the Pareto Analytics Studio

How do I read a Pareto front instead of just looking at it?

The Evolutionary Studio is where the multi-objective solver runs: you choose the objectives and whether each is maximised or minimised, pick the algorithm, set population, generations, crossover and mutation, define the gene bounds, and optionally enable the AI surrogate model. When it finishes, the Pareto Analytics Studio opens with six views of the same solution set.

Step by step

  1. Open the Evolutionary Studio and tick the objectives you care about: GFA, PlanX Score, Wind Vent, Solar Radiation, Air Dispersion, Sky View (SVF). Each has a MAX/MIN switch — decide what 'better' means before you run.
  2. Choose the algorithm, population size and generations, and set the gene bounds (floors, setback) to the range your zoning allows.
  3. Press Run Evolutionary Optimization. The progress bar tracks the generation.
  4. In the Pareto Analytics Studio, read the scatter plot first: X and Y are any two objectives, the colour mode can be Pareto Rank, K-Means cluster or generation trajectory.
  5. Use the parallel coordinates plot to brush-filter the set across all objectives at once — this is how you find the narrow, defensible region of the front.
  6. Read the fitness convergence chart to check that the run actually converged, the radar chart for one solution's profile, the cluster view for how many distinct families of solutions exist, and the population table for the ranked list you will present.

The result

Read the output. The scatter is the frontier; the parallel coordinates plot is the explanation. A wide cloud means the objectives trade off freely and you must choose. A narrow band means one solution dominates and the search was easy. The convergence chart is your honesty check: if the spread band is still shrinking at the last generation, the run was too short and the front is not final.

When it goes wrong

The browser studio

Visual rule workflow modeler

Can I chain the engines into a repeatable design procedure?

The workflow modeler is a Grasshopper-style node canvas. A workflow chains site input, zoning, shape grammar, PPUD, the evolutionary solvers, the district physics, TOPSIS ranking, selection and QGIS output into one executable graph. Templates ship for balanced growth, feasibility-first, low-carbon, climate-responsive, PPUD and district scenarios.

Step by step

  1. Open the Workflow Modeler from the dock or the top navigation.
  2. Pick a template from the selector and press the new-workflow button, or add nodes one at a time and connect them by dragging.
  3. Run the graph. The run log reports each component and the final status.
  4. Inspect a node to see its parameters and edit them; the inspector shows the component description and its fields.
  5. Use Preview Result to inspect the produced phenotype, Sync Result to push it back to QGIS, and Export / Import to move a workflow as portable JSON.

The result

Read the output. A workflow is a *procedure*, not a picture. The same graph run on a different site gives a comparable answer, and the JSON export is what makes the procedure reviewable: a colleague can open the file, see the zoning parameters, the solver settings and the ranking rule, and re-run it. That is the difference between a design study and a reproducible method.

When it goes wrong

The browser studio

Academic study workspace

How do I set up, run and export a reproducible study?

The Academic Study workspace is the browser half of the research protocol. It creates a versioned study record with its schema badge, sets the CRS, the seeds and the constraint envelope, runs the study, and exports a signed study JSON that carries the study id, the seeds, the assumptions and the provenance of every input.

Step by step

  1. Open the Academic Study workspace.
  2. Name the study and set its CRS to the site CRS.
  3. Enter the seeds as a comma-separated list, then the constraint envelope: BCR, FAR and height, plus the rainfall event and the canopy target.
  4. Create the study and read the result: the study id and the schema version appear in the panel.
  5. Export the study JSON. The file name carries the study id, and the record is what an auditor reads.

The result

Academic study workspace
Academic study workspace
Read the output. The exported JSON is the artefact. It names the study, its schema version, the seeds and the assumptions, so a reader can tell exactly which protocol produced a number — and can tell if a later version changed the rules. Keep it with the figures; a study without its record is an anecdote.

When it goes wrong

Cheat sheet

ModuleWorkspaceProcessing ID
The Studio dock — the launcherGetting started—
Preparing a parcel layer for the enginesGetting started—
Parametric multi-objective optimizationEvolutionary Engineparametric_process:parametric_optimization
Four solvers, one site, real numbersEvolutionary Engineparametric_process:parametric_optimization
Urban physics & microclimate evaluatorPhysics & Microclimateparametric_process:urban_physics_evaluator
Urban morphology & canyon analyticsPhysics & Microclimateparametric_process:urban_morphology_analytics
Procedural shape grammar — subdividing a blockGenerative Geometryparametric_process:procedural_shape_grammar
Multi-parcel district environmental couplingGenerative Geometryparametric_process:district_environmental_coupling
PPUD pipeline — plot, building, fabricGenerative Geometryparametric_process:ppud_pipeline
Academic urban design studyResearch Protocolparametric_process:academic_urban_design_study
The 3D cockpitThe browser studio—
Evolutionary Studio & the Pareto Analytics StudioThe browser studio—
Visual rule workflow modelerThe browser studio—
Academic study workspaceThe browser studio—