Features

What works today, in early development.

Early-stage project. Riviera is at a very early stage. Most of its specification, research and implementation was carried out autonomously by AI coding agents. Expect features that are incomplete or incorrect at this stage, check results before relying on them, and keep copies of models you care about.

This page lists what works today. The README lists what is still to come.

Native IFC

  • Open, edit and save IFC2X3, IFC4 and IFC4X3 models through IfcOpenShell and OpenCASCADE.
  • Riviera's own elements are standard IFC entities with their relationships, so other tools see real walls, slabs, beams and plates, not proxies.
  • Elements Riviera doesn't model itself are kept, drawn and selectable, so files from other tools round-trip losslessly.
  • Colours other viewers show: on save, geometry without a style gets the colour Riviera draws its class in, as standard IFC surface styles, so web viewers such as xeokit no longer show a model white on white. Styles from other tools are kept.
  • Crash recovery: every change is mirrored to an encrypted local store, so unsaved work and its undo history come back after a crash.
  • Units: metric and imperial display units, including feet and inches. Every length field accepts typed units such as 4.5 m or 12' 6".

Modelling

  • Straight and curved walls, with layered assemblies, joins and wall openings.
  • Doors and windows, including shaped windows, and curtain walls with grids, panels and mullions.
  • Floors, ceilings and decks, with deck boards and railings.
  • Roofs: hip, gable, arched and domed, with eaves, dormers and skylights.
  • Stairs, including spiral stairs. Stairs can extend to the next level and offer slab openings with code headroom. Railings have gates and follow their host.
  • Rooms, areas, levels, grids and reference planes.
  • A building code setting (IBC, IRC, Approved Document K, NBC Canada, NCC Australia, DIN 18065 or custom) that tools follow for headroom, clearances and defaults.

Greenhouses and glazed enclosures

One Glazed Enclosure tool (Architecture › Build) draws a whole greenhouse from two clicks in a plan. It is made of ordinary roofs, curtain walls, doors and posts, so it exports to IFC as standard elements. Change a size in Properties and the whole greenhouse is rebuilt.

  • Forms: gable, gutter-connected multispan, Venlo, hoop and gothic film tunnels, and sawtooth ranges with a glazed vertical face on each span.
  • Built for you: glass roofs and gables, knee walls, a door in each end wall, level gutters on the eaves and in the valleys, and steel posts and gutter beams on each gutter line. An optional headhouse stands at one end, with its own walls, roof and door.
  • Glazing and frames: a library of twelve glazing build-ups, from horticultural glass to polycarbonate and inflated polyethylene, with light and PAR transmission, haze, U-value and least pitch. Five frame systems in aluminium, steel, timber and uPVC set the bars and the share of the roof they shade. The enclosure warns when a roof is too shallow for its glazing, or so shallow that condensation drips instead of running to the gutters.
  • Ventilation: ridge vents, side and gable vent bands, and roll-up sides, sized as a share of the floor area. Each vent's free and effective opening area is worked out from its opening angle and discharge coefficient.
  • Growing layouts: benches, rolling benches, ebb-and-flow tables, NFT channels and high-wire gutters, laid out clear of the posts with main and side aisles. Layouts work in a greenhouse or in any enclosed room, and are laid out again when the greenhouse changes.
  • Crop climate and grow lights: presets for tomato, cucumber, pepper, lettuce, strawberry, bedding plants and propagation set the target daily light, temperatures, CO₂ and photoperiod. From the site's weather and the roof's transmission, Riviera finds the darkest month and lays out the grow lights needed to reach the target.
  • Screens: energy, shade and blackout screens drawn under the gutters, span by span, clear of the posts and above the grow lights. The crop light shows each month's light with the shade screen closed.
  • Heating, ventilation and CO₂: the greenhouse heat loss by the standard table method, with or without the energy screen closed, sizes the heating: perimeter and under-bench fin pipe, root-zone heat and unit heaters. Fan ventilation sizes the fans, inlets, evaporative pads and air circulation fans and checks the natural vents, and CO₂ enrichment sizes the supply and burner to hold the crop's set point.
  • Heating pipes and pad-and-fan cooling laid for you: fin pipe goes round the perimeter in the loops the sizing needs and under the benches, in the hydronic supply system. Exhaust fans and the evaporative pad go in the end walls, and follow the greenhouse when it changes.
  • Growing-area schedules: each greenhouse's form, floor and growing area, crop, set points, target daily light and design heat loss, and each growing layout's pieces.
  • Glazed vaults, domes and geodesic domes: arched roofs and domes glazed on their true surface in flat or triangulated panels, and geodesic domes with their struts counted by length class for ordering.
  • Greenhouse data is written to IFC in Riviera's published property sets for glazing, frames, vents, enclosure design, growing climate and grow lights. Other tools can read it.
  • The Greenhouses sample has a Venlo range, a gutter-connected range, a hobby greenhouse, a sawtooth range, a geodesic dome and two film tunnels.

Bathrooms, washrooms and spas

Bathroom tools on Architecture › Build lay out and check bathrooms against the codes you choose. New in 0.1.0-pre.7.

  • Rule packs: the US plumbing codes (IPC, IRC), NKBA guidance, the 2010 ADA Standards, England's Approved Document M, BS 7671's bathroom zones, NEC 680 for spas and NEC 406 and 210 for receptacles. Each rule names its clause and source. Packs are open JSON files, chosen from the building code, and a project can add its own.
  • Clear spaces and checks: WCs, urinals, basins, baths and showers carry their clear spaces. Check Bathrooms reports what stands in one, doors swinging into one, grab bars missing or out of range, sockets in an electrical zone and devices with too low an IP rating.
  • Fixtures, products and layouts: generic WCs, basins, baths, shower trays, a roll-in shower and accessories, placed on a wall at their usual heights with pipe or power connections. Swap them for a maker's product later, with a report of what changed. Bathroom Layout fills a room from templates (full bath, powder room, UK family bathroom, en-suite, accessible toilet), or says how many millimetres short the room is. Grab bars are placed where the packs ask.
  • Washrooms: Fixture Count gives the fixtures an occupancy needs (IPC, HSE). Toilet Core lays out accessible, standard and ambulatory compartments, urinals and basins along a wall, and Locker Room lays out lockers, benches, aisles and gang showers.
  • Wet areas: Shower Falls places a drain and slopes the floor to it. Waterproofing extents are shown and scheduled with their areas.
  • Hot tubs, saunas and steam rooms: hot tubs with service space, NEC distances and their filled weight on the floor; saunas with benches and a heater sized from the room, with its vents and notices; steam rooms with a sloped ceiling, bench and drain; whirlpool baths; and ADA access to saunas, steam rooms and spas.
  • Documents: one click makes a bathroom's four interior elevations on a sheet. Fixture and accessory schedules carry fixture units. Findings go to an HTML compliance report or become BCF issues. Tile set-out draws tiles on walls and floors with their cuts, and counts them.
  • Three samples: an American home with a hot tub and a sauna, an office washroom with a toilet core and a locker room, and an English family bathroom and wet room.

Components and libraries

  • Component Libraries of ordinary 3D files (OBJ, STL, PLY, glTF) and IFC components.
  • Place them like stamps, make new ones from any selection, and repeat them along paths with parametric path arrays.

Coordination

  • Overlap detection with resolve modes: cut one element by another, or accept the overlap as intended. Results are kept as booleans.
  • Clash detection that runs out of process, with a pane to review, frame and resolve each clash.
  • Door clearance checks against accessibility rule sets.
  • Path of travel: the shortest walking route between points in a plan, keeping clear of walls and furniture and passing through doors, with its length and walking time.
  • BCF issues: topics with comments, viewpoints and a snapshot of each view, kept with the model so they save and undo like the rest of it. Import and export .bcf archives in BCF 3.0 and 2.1, checked against buildingSMART's schemas. Viewpoints carry section boxes, slice planes, hidden and isolated elements and the selection.
  • Issues from clashes: one click turns the open clashes into BCF issues, each framed on its clash with a snapshot. Running it again adds only the new clashes.

Working together with BIMserver (prototype)

Share a project through an open-source BIMserver from File › BIMserver…. The model on the server is plain IFC, and Riviera's walls, windows and other elements are rebuilt from it on a second machine.

  • Servers and login: add servers, and log in with a password or a user token. If you choose to remember them, they are kept in the operating system's keychain, never in a Riviera file. AI agents can't log in with a password.
  • Publish and open: publish a local project to a new or existing server project, browse the server's projects and revisions, and open one as a local working copy.
  • Check in, Get Latest and Synchronise: Get Latest merges other people's changes into your working copy element by element and parameter by parameter, so two people can edit different properties of the same wall. If both changed the same thing, Riviera stops and asks which side to keep. Synchronise gets the latest revision, merges it and checks in your changes in one step.
  • Conflicts, one by one: when both sides changed the same thing, the Conflicts dialog lists each element with what changed. Keep yours or take theirs per element or all at once. The side that loses is kept in a stash, so it can be put back later.
  • Editing borrows elements: an element you edit is borrowed until you synchronise, and anyone else who tries to edit it is told who has it. Synchronise takes a short lock on the project, and anything checked in meanwhile is merged in, so two people synchronising at once don't overwrite each other.
  • History, compare and restore: list a project's revisions, compare two of them or a revision with your working copy, and restore an older revision as the latest one.
  • In the Flatpak, Riviera has network access so that it can reach the servers you add.

Models on FileEngine (prototype)

Keep models on a FileEngine server, or the hosted Proxima File Vault, as versioned files beside the rest of a project's documents.

  • Connections: add a server and sign in with a FileEngine service credential, kept in the operating system's keychain. Sign-in renews itself while you work. AI agents can't give a credential.
  • Open and save: File › Open From FileEngine… browses the server's folders and opens a model as a local working copy. Save to FileEngine… puts a model in a folder with a comment.
  • Versions: each Ctrl+S uploads a new version. If someone else saved a newer version first, Riviera never overwrites it without asking: save a copy beside it, overwrite, or open theirs read-only.
  • Version history: open any past version read-only, or restore it as the newest.
  • Each save also records the model's IFC schema, project GlobalId and levels as file metadata, and scripts and agents can open and save fileengine:// addresses.
  • Issues on FileEngine models: opening a model reads the issues people raised on it in FileEngine's 3D viewer into the docked Issues pane. Show applies an issue's viewpoint, and replies, resolutions and new issues with a snapshot go back to the server. Issues never change the model.
  • Material documents: link each material to a folder of its product documents, on FileEngine or on your own computer. Read EPD and Read HPD ask FileEngine's AI extraction for the values, each backed by a quote from the document. You tick the ones to keep, and they are written in one undo step with their source. An EPD's GWP becomes the material's embodied-carbon factor. Values can also be typed in by hand.
  • Documentation report: a material documentation and embodied carbon report, flagging expired and expiring documents and undocumented materials, saved to a file or published to FileEngine. Local document folders can be uploaded to FileEngine later and the model relinked to them.
  • Checked against the live Proxima File Vault, with a real product's EPD and HPD.
  • Publish sets, share links and hosted Component Libraries come in later phases.

Structure

  • Columns, beams, braces and trusses from AISC, European (IPE, HEA, HEB) and UK (UB, UC) steel catalogues, and timber and North American lumber sections. Usage is detected from supports (girder, joist, purlin).
  • Truss profiles: flat, gable, mono, scissor, bowstring and custom. Layouts include Fink, King Post and Queen Post. Trusses can attach to a roof.
  • Foundations: isolated footings under columns, wall foundations, slabs, piles and pile caps.
  • Steel connections from a built-in library: shear plates, extended end plates, base plates with anchor rods, and brace gussets.
    • Their plates, bolts and welds are real IFC elements, drawn at Fine detail.
    • Parameters can be set per project or per connection.
  • Connection automation: place connections on every join at once from a rule set. A 3D preview is colour-coded by type, and a log can be saved as CSV.
  • Steel detailing and fabrication: plates, bolt and anchor patterns, holes and welds, plus copes, miters and other cuts. Save a set of parts as your own custom connection, and check connections through design plugins. Part and assembly marks group identical pieces, and each part exports as a DSTV NC1 file for the shop.
  • Reinforcement: rebar sets in concrete columns, beams, floors and walls, kept inside cover. Area, path and fabric reinforcement, lap splices and couplers, and bars that follow slanted or curved concrete. Bar numbering, rebar tags, bending details and bar bending schedules.
  • Precast: split walls and floors into pieces within size and weight limits, then reinforce them, place lifting anchors and draw a shop drawing for each piece. Pieces export to CAM as an open JSON or CSV piece model.
  • Analytical model: members, nodes and panels made from the physical model, with supports, releases, Adjust and Reset. Consistency and support checks flag problems before you analyse.
  • Loads: load cases, point, line and area loads, and ASCE 7 combination generation. Area loads leave out their panels' openings, so members beside a rooflight take partial line loads.
  • Built-in linear static solver. The Results Explorer draws force diagrams and deformed shapes, lists the largest values, and saves presets and result packages.

MEP (prototype)

Mechanical, plumbing, fire protection and electrical design are prototyped end to end, from spaces and zones through routing, sizing and analysis to schedules and IFC.

  • Connectors, systems and the System Browser, with checks for open connectors and flow mismatches. Placeholders give a fast single-line layout that converts to ducts and pipes with fittings later.
  • Spaces separate from rooms, placed by click or automatically, with building and space types for design loads, occupancy, set points and outside air. Each space totals the airflow, lighting and power of what is in it. Spaces are labelled in plans, and space separators split them without affecting rooms.
  • System-zones: group spaces on a level, served by equipment or a system, with set points, humidity limits and outdoor air. They export as IFC thermal zones, and zones from other tools are converted on open.

HVAC

  • Ducts drawn in plans, with elbows, tees, taps and transitions chosen by routing preferences (elbows are drawn as true swept bends), risers bound to their levels, and a justification editor to align runs that change size. Flexible duct drawn as a spline, and Convert to Flex for terminal runs.
  • Air terminals and mechanical equipment: diffusers and grilles placed at a flow, air handlers, VAV boxes, fans, boilers, chillers, pumps and radiators, duty and standby equipment sets, and Connect Into to route a connector into a main.
  • Duct accessories: fire, smoke, control and balancing dampers, filters, coils and sound attenuators inserted in a duct. Insulation and lining follow their ducts and pipes.
  • Controls: thermostats, humidistats, sensors and controllers on walls, assigned to the equipment they control.

Plumbing and fire protection

  • Pipes with fittings, sloped runs with a slope editor, and parallel pipe banks. Valves, strainers and meters inserted in a pipe, with flanges where the pipe is flanged.
  • Plumbing fixtures: basins, WCs, sinks, showers, urinals and floor drains placed against a wall.
  • Hydronic network analysis: closed loops through pumps, boilers, chillers and terminals, split into primary and secondary loops at hydraulic separations, with each pump's flow and head.
  • Sprinklers: pendent, upright and sidewall heads chosen by K-factor, temperature rating and response.
  • Gutters and downspouts along a roof's eaves, sized against the roof area they drain.

Sizing and analysis

  • Sizing: size ducts and pipes from the flow they carry, by equal friction, friction or velocity, within height, width and diameter limits. Domestic water is sized by fixture units. The Sizing Calculator pane lists the candidate sizes for a selected duct or pipe and applies the one you pick.
  • Pressure drop: calculate each system's flows, velocities and losses segment by segment, with its critical path and each terminal's excess pressure. The System Inspector shows the flow and losses in the view, results are marked stale when the model changes, and a pressure loss report exports as CSV or HTML.
  • Colour fill legends: colour a plan's ducts or pipes by flow, velocity, friction, pressure drop, size or system, with a placed legend.
  • Mechanical settings: air and fluid properties, angle rules, friction methods, pipe slopes, duct size tables and pipe segments.

Electrical

  • Electrical equipment, devices and lighting: panelboards, switchboards and transformers, receptacles, switches and detectors on walls, and luminaires with IES or EULUMDAT photometry.
  • Circuits and panels: power and data circuits, panels with their distribution systems, feeders and transformers, with loads rolling up to the main board. Live panel schedules, load classifications with demand factors, and cable sizing along each circuit's path, within a voltage drop limit. Renumber circuits to close gaps, with locked circuits kept in place and a preview of the phase balance before and after.
  • Average illumination: the lumen method for every space from the luminaires in it, compared with the space's target and updated as fixtures move.
  • Cable tray and conduit with radius bends and fittings, and parallel conduit runs.

Across MEP

  • Automatic penetrations: openings where a duct, pipe, tray or conduit passes through a wall, floor or ceiling. They follow the run as it moves.
  • Plans draw ducts, pipes, tray and conduit above the cut plane, with rise and drop symbols, and schedules list flow, velocity and pressure drop.
  • Everything is written to IFC as standard ports, segments, fittings, terminals, systems and circuits.

Sustainability (prototype)

A Sustainability ribbon tab takes a building from its site and weather to energy, daylight, solar and carbon results. The heavier analyses run as background jobs, so you keep working, and results are marked out of date when the model, site or weather change.

  • Site and weather: latitude, longitude, elevation, true north and survey coordinates with a CRS, saved to IFC. Import an EPW weather file and get the heating and cooling design conditions worked out from its hours, or fetch a typical year for the site from PVGIS.
  • Energy model: analytical spaces and heat-transfer surfaces derived from the MEP spaces, with walls, windows, floors and roofs, shared surfaces paired, U-values and solar heat gain per type, total UA and window-to-wall ratio.
  • Heating and cooling loads: design-day loads for every space and system-zone, from transmission, solar gain, people, lighting, equipment, outdoor air and infiltration. Peak loads are written to the spaces.
  • Annual energy: an hourly simulation through the weather year, with monthly loads, delivered energy by end use, EUI and operational carbon. If EnergyPlus is installed, the same run can be handed to it and its results read back into the same views.
  • Daylight factor: sensor grids in every enclosed space under the CIE overcast sky, with each space's average, minimum and uniformity, shown in colour in 3D.
  • Solar and PV: insolation on roofs and masses shaded by the whole model, with PV yield, cost and payback per face, and a PVGIS cross-check.
  • Embodied carbon: material quantities matched to emission factors from libraries you import, reported by life-cycle stage (A1–A3, A4, A5, B4, C1–C4) with module D and biogenic carbon kept apart. Results by category, material and element export as CSV or JSON. A material's factor can come straight from its EPD (see FileEngine above).
  • Exchange: export the energy model as gbXML (validated against the 8.01 schema) and as HBJSON for Ladybug Tools, and read design loads back from gbXML.
  • Data connectors: Find Place (OpenStreetMap Nominatim), Site Elevation (Open-Meteo), PVGIS weather and PV yield, and grid carbon intensity for Great Britain. They are only called when you ask, can each be switched off, and are credited in Help.

Project data and standards

  • Global parameters: project-wide values and unit-checked formulas that drive dimensions and element parameters, such as a corridor width or door sill heights.
  • Parameter libraries: shared parameter definitions in open JSON files with a published schema, plus import of legacy shared parameter files and IFC property set templates.
  • Classification systems and keynotes: classification tables from CSV or IFC files, exported as standard IFC classifications.
  • Transfer Project Standards: copy types and settings from another open project in one undo step.
  • Saved selections: save, load and edit sets of elements, optionally exported as IFC groups.

Documentation

  • Plans, ceiling plans, sections and elevations, drawn from the model with cut and projection graphics. Sections and elevations hide edges behind nearer faces, on screen and in PDF.
  • Crop regions: crop a plan, section or elevation to a rectangle dragged in the view or typed in, with an optional annotation crop round it. Views assigned to a scope box are cropped to it and follow it when it moves. Printed and sheet drawings crop the same way.
  • Hide in View and graphic overrides: hide elements or whole categories in one view, or set their transparency and halftone, for the selection or its category. These settings are saved with the view, can be undone and are printed. Hidden elements take their tags, keynotes and spots with them. Apply Hide/Isolate to View makes a temporary hide, isolate or ghosting permanent.
  • Section boxes and slice planes in 3D views: drag them, or type each face of the box and each slice's position in Properties. A slice plane can be switched off without removing it.
  • Annotation in plans, sections and elevations: tags, text notes and aligned dimensions that follow the model, and spot elevations, coordinates and slopes read from the project base point, survey point or a level. Keynote tags show a type's keynote or a key you pick.
  • Annotation in 3D: text notes, tags, dimensions and spots float as labels in a 3D view, with each class shown or hidden per view.
  • Schedules and sheets, exported to PDF. Legend views draw wall, floor, door, window and component types that update when the type changes, and keynote legends list the keys used, optionally per sheet.
  • COBie export for facility handover.
  • DWG and DXF exchange through open-source libraries.

Interface

  • A ribbon with contextual tabs, dockable panes (Properties, Project Browser, Model Tree, Component Library) and tabbed views.
  • Radial menu (experimental, off by default): a middle click opens a ring of up to eight commands around the pointer. Touch an item with a ▸ to move to the next tier, and left-click to run the highlighted command. On an element, the ring holds the quick modify commands. On empty space, it holds the menu bar and every ribbon tab, panel and tool.
  • Full screen (F11): only the views show. Push the pointer to the top edge to bring back the menus and ribbon, or to the bottom edge for the panes and status bar. Click in the view to put them away.
  • Help with samples: every ribbon tab has a small sample model with a walkthrough of how it was built, and the MEP and sustainability samples open with their own weather files.

The radial menu on two overlapping walls, offering to cut either wall by the other, intersect, union, join or accept the overlap

Scripting and AI agents

  • One command registry: every tool is a command with a JSON Schema, a description and a permission level (read only, model edit, full scripting).
  • Lua scripting (LuaJIT): call any command, ask the user for input with forms, and package scripts as plugins. A script run is one undo step and rolls back if it fails.
  • MCP server for AI agents. Every command is a tool, grouped into toolsets that agents enable as they need them. Agents get preview and confirm for destructive changes, and the same transactions and permission checks as the user. Agents that read images can look at a view to check their work.
  • Agent terminal: a Terminal pane in the window (Ctrl+Shift+T) with tabs for your shell and for Claude Code, Antigravity CLI, Qwen Code and Codex CLI, plus your own presets. Each agent starts already connected to the open model. Its edits are ordinary undoable commands, destructive ones wait for your approval, and your own agent settings are never changed. In the Flatpak, the agents run on the host. On Windows it builds but is not yet tested.
  • Remote analysis subscriptions: connect to remote analysis services with an API key that stays in the OS keychain, and see each subscription's plan and usage.
  • A command shell (reviera shell) for running commands headlessly.
  • A performance profiler (Manage › Settings › Performance Profiler), off until started: times every command, regeneration, open, save, merge, server call and frame, with a live window, a Markdown report and a Chrome trace for Perfetto.

Platforms

  • Linux: Flatpak, built and tested on Fedora 43.
  • Windows: installer and portable ZIP, tested on Windows 11.
  • macOS: a .dmg for Apple silicon, tested on a Mac. Not yet notarized by Apple.