Parametric & environmental design
Build Grasshopper/Dynamo definitions and run daylight or solar analyses.
20 project-authored proposals · taxonomy v1.1 · 0 new benchmark runs. Verifiers and partial-credit rules below are designs, not executed results.
- Typical applications
- Rhino + Grasshopper · Ladybug · Dynamo
- Class GUI-need label
G3· GUI-only
Task proposals · 20
Expand to inspect the complete original wording and proposed checks. Original proposal text remains English in both interfaces.
R07.05.01.05-T01 Build sun-responsive facade fins in Grasshopper and bake 48 of them
Original instruction
In Rhino 8 + Grasshopper open fixtures/office_facade.3dm (south facade surface, layer FACADE). Build fins.gh: divide the facade into 48 vertical fins at 1.2 m spacing, fin depth = 0.2 + 0.6·|cos(angle between facade normal and the Ladybug sun vector at 21 Jun 14:00, Madrid EPW)| m. Bake fins to layer FINS and save fins.gh and out/fins.3dm.
- Platforms
win· Windowsmac· macOS- Applications
- Rhino + Grasshopper · Ladybug
- Interfaces
desk· Desktop GUI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
drag· Drag & dropclick· Point & clickvis· Visual judgment- Work product
WP04· 3D/spatial model- Conditions
licensed· Licensed pro app- Proposed difficulty
- 3 / 5
Proposed verifier
Parse .gh (GH_IO): Ladybug sunpath component wired to fin depth. 3dm: 48 fins on FINS at 1.2±0.01 m spacing; each depth equals grader-computed formula ±5 mm; recompute with alternate date changes depths (definition is live). Rhino ScriptEditor and Grasshopper script components (GhPython/C#) are disabled in the VM; fins.gh must be saved by Grasshopper with native components only.
Proposed partial credit
20% fin count/spacing; 40% depths correct; 20% live Ladybug link; 20% baked & saved
R07.05.01.05-T02 Run an annual solar radiation study on a roof with Ladybug
Original instruction
In Grasshopper with Ladybug Tools 1.8, load input/zurich.epw, create a cumulative sky matrix for the full year, and run Incident Radiation on the roof surfaces of fixtures/school.3dm with context buildings on layer CONTEXT, 0.5 m grid. Output mean and max kWh/m² to out/roof_rad.csv and bake the colored mesh with legend.
- Platforms
win· Windowsmac· macOS- Applications
- Rhino + Grasshopper · Ladybug
- Interfaces
desk· Desktop GUI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
drag· Drag & dropclick· Point & clickvis· Visual judgment- Work product
WP07· Simulation result- Conditions
licensed· Licensed pro app- Proposed difficulty
- 3 / 5
Proposed verifier
Grader reruns reference Ladybug: mean within 3%, max within 5%; .gh contains LB_CumulativeSkyMatrix + LB_IncidentRadiation with context input connected; grid size 0.5; baked mesh with legend exists. Rhino ScriptEditor and Grasshopper script components (GhPython/C#) are disabled; the .gh must be saved by Grasshopper with native components only.
Proposed partial credit
25% sky matrix; 20% context included; 35% results within tolerance; 20% baked output
R07.05.01.05-T03 Compute winter sun hours in a courtyard and the share of area above 2 hours
Original instruction
For the courtyard floor in fixtures/housing_block.3dm, run a Ladybug Direct Sun Hours analysis for 21 December 09:00-15:00 (London EPW), 1 m grid, with all buildings as context. Report the percentage of courtyard area receiving ≥2 h in out/sun.json and save the definition.
- Platforms
win· Windowsmac· macOS- Applications
- Rhino + Grasshopper · Ladybug
- Interfaces
desk· Desktop GUI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
drag· Drag & dropclick· Point & clickvis· Visual judgment- Work product
WP07· Simulation result- Conditions
licensed· Licensed pro app- Proposed difficulty
- 3 / 5
Proposed verifier
Reference rerun: percentage within 2 points; analysis period exactly 21 Dec 9-15; context connected; Rhino ScriptEditor and Grasshopper script components (GhPython/C#) are disabled; the .gh must be saved by Grasshopper with native components only.
Proposed partial credit
30% analysis period/location; 20% context; 50% percentage within tolerance
R07.05.01.05-T04 Resize classroom windows until spatial daylight autonomy reaches 55%
Original instruction
fixtures/classroom.3dm has a 9×7 m classroom with one south window. Using Honeybee-Radiance annual daylight (Rotterdam EPW, 8:00-18:00 schedule, 0.75 m work plane, 0.6 m grid, materials per docs/materials.csv), adjust window width/height (sill fixed 0.9 m, head ≤3.0 m) via parameters so sDA300/50% ≥55% with the smallest window area. Bake the final window and save results.
- Platforms
win· Windowsmac· macOS- Applications
- Rhino + Grasshopper · Ladybug · Honeybee
- Interfaces
desk· Desktop GUI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
drag· Drag & dropclick· Point & clickvis· Visual judgment- Work product
WP07· Simulation result- Conditions
licensed· Licensed pro applong· Long-horizon- Proposed difficulty
- 5 / 5
Proposed verifier
Grader reruns Radiance on baked geometry: sDA ≥55%; window area within 10% of grader's minimal area search; materials and schedule per spec; .gh holds number sliders driving the window. Rhino ScriptEditor and Grasshopper script components (GhPython/C#) are disabled; the .gh must be saved by Grasshopper with Honeybee components wired to the baked window.
Proposed partial credit
25% model & materials; 20% annual sim set up; 35% sDA at target; 20% near-minimal area
R07.05.01.05-T05 Build a twisting tapered tower definition and report its gross floor area
Original instruction
In Grasshopper create tower.gh: 40 floors at 3.6 m, square plate 36 m at base tapering linearly to 24 m at top, each floor rotated 1.5° more than the one below. Output the total GFA to a panel and bake slabs (0.3 m thick) to layer SLABS in out/tower.3dm.
- Platforms
win· Windowsmac· macOS- Applications
- Rhino + Grasshopper
- Interfaces
desk· Desktop GUI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
drag· Drag & dropclick· Point & clicktype· Text & forms- Work product
WP04· 3D/spatial model- Conditions
licensed· Licensed pro app- Proposed difficulty
- 2 / 5
Proposed verifier
3dm: 40 slabs on SLABS; elevations 3.6·i; side length and rotation per formula ±1 mm/0.01°; GFA panel value within 0.1% of analytic. Rhino ScriptEditor and Grasshopper script components (GhPython/C#) are disabled; tower.gh must be saved by Grasshopper with native components only.
Proposed partial credit
40% slab geometry; 20% rotation; 20% GFA; 20% baked
R07.05.01.05-T06 Place light fixtures on a 2.4 m grid in every office ceiling with Dynamo
Original instruction
In Revit 2025 with Dynamo, for fixtures/office_L3.rvt place family 'LED Panel 600x600' in the ceiling of every room whose Department = 'Office', on a 2.4 m grid centred in the room, keeping ≥0.6 m from walls. Save the graph out/lights.dyn and the model.
- Platforms
win· Windows- Applications
- Dynamo · Revit
- Interfaces
desk· Desktop GUI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
drag· Drag & dropclick· Point & clickvis· Visual judgment- Work product
WP04· 3D/spatial model- Conditions
licensed· Licensed pro app- Proposed difficulty
- 4 / 5
Proposed verifier
Extraction: fixtures hosted on ceilings only in Office rooms; per-room count and positions equal grader's grid algorithm (±10 mm); clearance ≥0.6 m; .dyn uses native nodes only. Dynamo Python Script nodes, pyRevit and Revit API add-ins are disabled; the grader reruns the saved .dyn on the fixture model and must reproduce the placed fixtures.
Proposed partial credit
30% correct rooms; 40% grid positions; 15% clearance; 15% graph saved
R07.05.01.05-T07 Renumber rooms by level and clockwise position using a Dynamo graph
Original instruction
In fixtures/clinic.rvt build a Dynamo graph that renumbers all rooms as <Level number><two-digit index>, ordered clockwise around each level's centroid starting from north. Run it and save out/renumber.dyn and the model.
- Platforms
win· Windows- Applications
- Dynamo · Revit
- Interfaces
desk· Desktop GUI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
drag· Drag & dropclick· Point & click- Work product
WP04· 3D/spatial model- Conditions
licensed· Licensed pro app- Proposed difficulty
- 3 / 5
Proposed verifier
Room numbers equal key computed from centroids (angle from north, clockwise); unique per model; graph uses native nodes; rerunning graph is idempotent. Dynamo Python Script nodes, pyRevit and Revit API add-ins are disabled; the grader reruns the saved .dyn on the fixture model and must reproduce the numbering.
Proposed partial credit
70% numbers correct (scaled); 15% uniqueness; 15% graph saved & idempotent
R07.05.01.05-T08 Panelize a doubly curved canopy into planar quads within 5 mm deviation
Original instruction
For surface CANOPY in fixtures/canopy.3dm build panels.gh that divides it into quad panels (~1.5 m), planarizes each panel and reports max deviation to the original surface (must be ≤5 mm) and panel count. Bake planar panels to layer PANELS with panel IDs as user text.
- Platforms
win· Windowsmac· macOS- Applications
- Rhino + Grasshopper
- Interfaces
desk· Desktop GUI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
drag· Drag & dropclick· Point & clickvis· Visual judgment- Work product
WP04· 3D/spatial model- Conditions
licensed· Licensed pro app- Proposed difficulty
- 4 / 5
Proposed verifier
3dm: every panel planar (≤0.5 mm), max distance from panel corners/centre to source ≤5 mm, coverage ≥98% of surface area, edge gaps ≤10 mm; IDs unique; .gh native components only (Kangaroo allowed). Rhino ScriptEditor and Grasshopper script components (GhPython/C#) are disabled; panels.gh must be saved by Grasshopper.
Proposed partial credit
35% planarity; 30% deviation ≤5 mm; 20% coverage/gaps; 15% IDs & bake
R07.05.01.05-T09 Produce a wind rose and psychrometric chart from an EPW with Ladybug
Original instruction
Using Ladybug in Grasshopper with input/sydney.epw, create a 16-direction annual wind rose (calm < 0.5 m/s) and a psychrometric chart with the PMV comfort polygon for 1.0 clo / 1.1 met. Bake both with legends and export out/windrose.png and out/psych.png; write prevailing direction and % comfortable hours to out/climate.json.
- Platforms
win· Windowsmac· macOS- Applications
- Rhino + Grasshopper · Ladybug
- Interfaces
desk· Desktop GUI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
drag· Drag & dropclick· Point & clickvis· Visual judgment- Work product
WP07· Simulation result- Conditions
licensed· Licensed pro app- Proposed difficulty
- 2 / 5
Proposed verifier
climate.json prevailing direction equals reference; comfortable % within 1 point of reference; .gh has LB_WindRose (16 dirs) and LB_PsychChart + PMV polygon; images exist. Rhino ScriptEditor and Grasshopper script components (GhPython/C#) are disabled; the .gh must be saved by Grasshopper with native Ladybug components only.
Proposed partial credit
35% wind rose; 35% psych comfort %; 30% images/JSON
R07.05.01.05-T10 Design horizontal louvers that block summer sun but admit winter sun
Original instruction
For the south window in fixtures/flat.3dm (Seville EPW), design horizontal louvers in Grasshopper so that direct sun on the window is ≤10% for Jun-Aug 10:00-16:00 and ≥70% for Dec-Feb 10:00-14:00, using ≤8 louvers of depth ≤0.4 m. Bake louvers and write measured percentages to out/louvers.json.
- Platforms
win· Windowsmac· macOS- Applications
- Rhino + Grasshopper · Ladybug
- Interfaces
desk· Desktop GUI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
drag· Drag & dropclick· Point & clickvis· Visual judgment- Work product
WP04· 3D/spatial model- Conditions
licensed· Licensed pro app- Proposed difficulty
- 4 / 5
Proposed verifier
Grader ray-traces sun vectors on baked louvers: summer exposure ≤10%, winter ≥70%; ≤8 louvers, depth ≤0.4 m; reported values within 2 points of grader. Rhino ScriptEditor and Grasshopper script components (GhPython/C#) are disabled; the saved .gh must hold the native louver definition that regenerates the baked louvers.
Proposed partial credit
35% summer criterion; 35% winter criterion; 15% constraints; 15% reported values
R07.05.01.05-T11 Optimize block orientation with Galapagos for winter facade radiation
Original instruction
In fixtures/campus.3dm the dorm block may rotate -45°..45° and shift ±10 m in x. Build a Galapagos run maximizing December-February incident radiation on its south facade (Stockholm EPW) while keeping ≥12 m from the existing building. Bake the best solution and log the fitness to out/opt.json.
- Platforms
win· Windowsmac· macOS- Applications
- Rhino + Grasshopper · Ladybug
- Interfaces
desk· Desktop GUI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
drag· Drag & dropclick· Point & clickvis· Visual judgment- Work product
WP04· 3D/spatial model- Conditions
licensed· Licensed pro app- Proposed difficulty
- 4 / 5
Proposed verifier
Grader evaluates baked solution: constraint satisfied; facade radiation ≥95% of grader's brute-force optimum; Galapagos component with genomes wired to rotation/shift present. Rhino ScriptEditor and Grasshopper script components (GhPython/C#) are disabled; the .gh must be saved by Grasshopper with native components only.
Proposed partial credit
20% parametric setup; 20% fitness wired; 15% constraint; 45% near-optimal result
R07.05.01.05-T12 Generate an attractor-driven Voronoi screen and export laser-cut DXF
Original instruction
Build screen.gh for a 2.4×1.2 m steel screen panel: Voronoi cells from 300 seeded points (seed 42), cell openings scaled by distance to attractor curve ATTR in fixtures/screen.3dm (closer = larger), with min web 20 mm between openings and 50 mm border. Bake openings and outline; export out/screen.dxf.
- Platforms
win· Windowsmac· macOS- Applications
- Rhino + Grasshopper
- Interfaces
desk· Desktop GUI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
drag· Drag & dropclick· Point & clickvis· Visual judgment- Work product
WP04· 3D/spatial model- Conditions
licensed· Licensed pro app- Proposed difficulty
- 3 / 5
Proposed verifier
DXF: outline 2400×1200; all openings closed curves; min distance between openings ≥20 mm and to border ≥50 mm; opening area correlates negatively with distance to ATTR (Spearman ≤-0.7); count ≈300 (±5%). Rhino ScriptEditor and Grasshopper script components (GhPython/C#) are disabled; screen.gh must be saved by Grasshopper with native components only.
Proposed partial credit
25% voronoi count/outline; 30% min web/border; 25% attractor gradient; 20% DXF export
R07.05.01.05-T13 Create sheets from an Excel register and place plan views with Dynamo
Original instruction
In fixtures/school.rvt build a Dynamo graph that reads input/sheet_register.xlsx (number, name, view name), creates the 18 sheets with title block 'A1 Metric', places the named view centred on each, and skips rows whose view is already placed elsewhere (log them). Save out/sheets.dyn and the model.
- Platforms
win· Windows- Applications
- Dynamo · Revit · Excel
- Interfaces
desk· Desktop GUI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
drag· Drag & dropclick· Point & clickmulti· Cross-app- Work product
WP08· App/system state- Conditions
licensed· Licensed pro appmultiapp· Multi-app- Proposed difficulty
- 3 / 5
Proposed verifier
Extraction: sheets with numbers/names exact; viewport per sheet for valid rows centred within 10 mm; skipped rows equal the 2 seeded conflicts in log; native nodes only. Dynamo Python Script nodes, pyRevit and Revit API add-ins are disabled; the grader reruns the saved .dyn on the fixture model and must reproduce the sheets.
Proposed partial credit
35% sheets created; 35% views placed; 15% conflicts handled; 15% graph saved
R07.05.01.05-T14 Compute sky view factor along a street and export it per sensor point
Original instruction
For the 60 street sensor points on layer SENSORS in fixtures/street_canyon.3dm, compute sky view factor (Ladybug Sky View, Tregenza sky, buildings as context) and export point ID, x, y and SVF to out/svf.csv. Bake a colored point cloud with legend.
- Platforms
win· Windowsmac· macOS- Applications
- Rhino + Grasshopper · Ladybug
- Interfaces
desk· Desktop GUI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
drag· Drag & dropclick· Point & clickvis· Visual judgment- Work product
WP07· Simulation result- Conditions
licensed· Licensed pro app- Proposed difficulty
- 3 / 5
Proposed verifier
svf.csv 60 rows; each SVF within 0.02 of reference rerun; IDs map correctly; baked visualization present. Rhino ScriptEditor and Grasshopper script components (GhPython/C#) are disabled; the .gh must be saved by Grasshopper with the native Ladybug Sky View component producing the CSV.
Proposed partial credit
20% setup; 60% SVF accuracy (scaled); 20% export & bake
R07.05.01.05-T15 Control pair of T01: compute and write the facade fins by script
Original instruction
Control pair of T01. Without the Grasshopper canvas, write a Python script (ladybug-core + rhino3dm) that computes the 21 Jun 14:00 Madrid sun vector, generates the 48 fins with the same depth rule on the facade surface from fixtures/office_facade.3dm, and writes out/fins.3dm.
- Platforms
win· Windowsmac· macOSlin· Linux- Applications
- Ladybug · rhino3dm
- Interfaces
api· API/SDK- GUI need · task setting
CL· CLI-sufficient- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
code· Code & commands- Work product
WP04· 3D/spatial model- Conditions
- None declared
- Proposed difficulty
- 3 / 5
Proposed verifier
Same geometric checks as T01 on out/fins.3dm (count, spacing, depths ±5 mm). Compared with T01 for GUI vs script gap.
Proposed partial credit
20% fin count/spacing; 50% depths; 30% file written
R07.05.01.05-T16 Map summer UTCI over a plaza and report the comfortable area share
Original instruction
For plaza surface PLAZA in fixtures/plaza.3dm (Singapore EPW), run a Ladybug/Honeybee outdoor comfort study for 15 Mar 13:00 with shading from context and trees (layer TREES as 50% transmissive), 2 m grid, and compute UTCI. Report the share of area with UTCI ≤32 °C in out/utci.json and bake the map.
- Platforms
win· Windowsmac· macOS- Applications
- Rhino + Grasshopper · Ladybug · Honeybee
- Interfaces
desk· Desktop GUI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
drag· Drag & dropclick· Point & clickvis· Visual judgment- Work product
WP07· Simulation result- Conditions
licensed· Licensed pro applong· Long-horizon- Proposed difficulty
- 5 / 5
Proposed verifier
Grader reruns: share within 3 points; mean radiant temperature computed with shading incl. tree transmissivity 0.5; grid 2 m; baked mesh present. Rhino ScriptEditor and Grasshopper script components (GhPython/C#) are disabled; the .gh must be saved by Grasshopper with native Ladybug/Honeybee components only.
Proposed partial credit
20% weather/time; 25% MRT with shading; 20% UTCI computed; 35% result within tolerance
R07.05.01.05-T17 Lay a rotating-brick wall pattern driven by an attractor curve
Original instruction
Build bricks.gh that fills wall surface WALL in fixtures/pavilion.3dm with stretcher-bond bricks 215×102.5×65 mm (10 mm joints), each brick rotated about its vertical axis by 0-30° increasing toward curve ATTR. Bake bricks as block instances of one definition and report count.
- Platforms
win· Windowsmac· macOS- Applications
- Rhino + Grasshopper
- Interfaces
desk· Desktop GUI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
drag· Drag & dropclick· Point & clickvis· Visual judgment- Work product
WP04· 3D/spatial model- Conditions
licensed· Licensed pro app- Proposed difficulty
- 3 / 5
Proposed verifier
3dm: single block definition with brick dims; instance count equals grader bond layout ±1%; stretcher bond offsets correct; rotation angles 0-30° monotonic with distance (Spearman ≤-0.9). Rhino ScriptEditor and Grasshopper script components (GhPython/C#) are disabled; the .gh must be saved by Grasshopper with native components only.
Proposed partial credit
30% bond layout; 30% rotation rule; 25% block instances; 15% count
R07.05.01.05-T18 Drive adaptive facade panel openness from solar exposure in Revit Dynamo
Original instruction
In fixtures/tower_facade.rvt divide the curtain mass face into a 1.5×3.6 m grid, place adaptive component 'Perf Panel' on every cell, and set its Openness parameter (0.1-0.8) inversely proportional to annual solar radiation per cell computed from input/rad_per_cell.csv mapped by cell centroid. Save the graph and model.
- Platforms
win· Windows- Applications
- Dynamo · Revit
- Interfaces
desk· Desktop GUI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
drag· Drag & dropclick· Point & clickvis· Visual judgment- Work product
WP04· 3D/spatial model- Conditions
licensed· Licensed pro applong· Long-horizon- Proposed difficulty
- 5 / 5
Proposed verifier
Extraction: panel count equals grid cells; adaptive points on face grid ±5 mm; each Openness equals linear inverse mapping of radiation ±0.01; native nodes only. Dynamo Python Script nodes, pyRevit and Revit API add-ins are disabled; the grader reruns the saved .dyn on the fixture model and must reproduce the panels.
Proposed partial credit
25% grid; 30% panels placed; 35% openness mapping; 10% graph saved
R07.05.01.05-T19 Size truss members in Karamba3D for minimum mass with a deflection limit
Original instruction
For the 24 m roof truss lines in fixtures/hall_truss.3dm build a Karamba3D model (S355 CHS sections from the catalogue, pinned/roller supports, 2.5 kN/m² over 6 m spacing), optimize cross-sections to minimize mass with max deflection ≤L/250 and utilization ≤1.0. Bake members with section names and write mass to out/truss.json.
- Platforms
win· Windowsmac· macOS- Applications
- Rhino + Grasshopper · Karamba3D
- Interfaces
desk· Desktop GUI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
drag· Drag & dropclick· Point & clickvis· Visual judgment- Work product
WP07· Simulation result- Conditions
licensed· Licensed pro app- Proposed difficulty
- 4 / 5
Proposed verifier
Grader rebuilds FE model with baked sections (independent frame solver): deflection ≤96 mm, utilization ≤1.0; mass ≤1.1× grader's optimized reference. Rhino ScriptEditor and Grasshopper script components (GhPython/C#) are disabled; the .gh must be saved by Grasshopper with native Karamba3D components wired to the baked members.
Proposed partial credit
25% model loads/supports; 25% deflection ok; 20% utilization ok; 30% mass near optimal
R07.05.01.05-T20 Screen ten roofs for PV potential by annual radiation threshold
Original instruction
In Grasshopper run Ladybug incident radiation (Berlin EPW, annual) on the 10 roofs on layer ROOFS in fixtures/district.3dm with all buildings as context, then list roofs whose area-weighted mean exceeds 1000 kWh/m²·yr in out/pv_roofs.csv (roof name, area, mean).
- Platforms
win· Windowsmac· macOS- Applications
- Rhino + Grasshopper · Ladybug
- Interfaces
desk· Desktop GUI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
drag· Drag & dropclick· Point & click- Work product
WP12· Answer/decision- Conditions
licensed· Licensed pro app- Proposed difficulty
- 2 / 5
Proposed verifier
pv_roofs.csv selected set equals reference; means within 3%; areas within 0.5%; context connected. Rhino ScriptEditor and Grasshopper script components (GhPython/C#) are disabled; the .gh must be saved by Grasshopper with native Ladybug components only.
Proposed partial credit
50% correct roof set; 30% mean values; 20% areas
Mapped research references
Existing benchmark-to-class links from the research catalog. They are not record-level annotations, executions or product endorsements.