DocsUsing Programmer

From a request to a reviewed diff.

Programmer is the programming system for Living Worlds. You describe the change, it reads your files, edits them and runs the build, and every edit comes back to you as a diff to accept or revert. Across Looper, Render and the core it can also look, listen and act, and each of those asks as much as what it does deserves.

Part of
Living Worlds, beside Looper and Render
Where
In the browser, at programmer.lisgen.com
Account
One account, by email
Workspace
Yours, and still there on your next visit
Models
Hosted for you, nothing to set up
(01)

Sign in

One account, by email

On the home page, choose Continue to sign in and sign in with your email address. The account is what keeps your workspace: your projects, files and conversations belong to it, and they are where you left them the next time you sign in, from any browser.

Sign out from the account menu in the workspace. Signing out ends the session in this browser; your workspace stays.

(02)

Living Worlds

What it programs, and works through

Living Worlds hosts selves, populations and worlds and holds them to account by the real one. Lisgen is built on it, with two arms: Looper in sound and Render in surfaces, objects and space. Programmer is where the code for all of it is written, and the one place any of them hands a coding task to.

  1. 01

    Living Worlds

    Selves, populations and worlds held to account by the real one, through the Living Worlds SDK and its MCP endpoint.

    Builds products on the SDK, designs selves, populations and worlds as data, and can record its own work to a self.

  2. 02

    Lisgen

    The suite of Living Worlds Lab interfaces; here, Lisgen Control, the plug-ins and the room they share.

    Programs the instruments, the control surface and the services behind them.

  3. 03

    Looper

    The artist's collaborator in sound: Ableton Live, and the stage over OSC and sACN.

    Writes Looper environments and drives Live and the stage through them.

  4. 04

    Render

    Surfaces, objects and space: Blender, Unreal Engine, FreeCAD, KiCad and the bench, through Render Studio.

    Takes Render's coding tasks in named workspaces, and writes the tools, workflows and add-ons Render runs.

  5. 05

    Twin

    The venue acoustics twin that Looper and Render share: Render brings the geometry, the twin the acoustics.

    Reads a venue's acoustics while designing for it.

(03)

Projects

New, from a template, or from GitHub

Work happens inside a project, a folder in your workspace. Open the project list to create one: give it a name and start empty, or pick a template from the searchable catalogue to start from a working skeleton. Type to search; Enter takes the first match and Escape clears.

Every template runs and its tests pass the moment it is made. Beyond web, backend, data and AI, the catalogue starts projects in the areas Living Worlds works in:

  1. 01

    Living Worlds, Looper and Render

    Environments, Render Studio tools and workflows, selves and worlds on the core.

  2. 02

    Audio, sound design and music

    Plug-ins and DSP, sound design, MIDI and music programming, show control.

  3. 03

    3D, games and world design

    Blender add-ons, Unreal Engine plugins, C and C++ game cores, Python games, procedural worlds.

  4. 04

    CAD, engineering and 3D printing

    Parametric parts, meshes ready to print, toolpaths, analysis, and the printers that make them.

  5. 05

    Architecture, engineering and interiors

    openBIM models, space planning, interior layouts, structural and building physics calculations.

  6. 06

    Lighting, stage and production

    Lighting over sACN and Art-Net, show control over OSC, timecode, fixtures and pixel maps.

  7. 07

    Industrial protocols and automation

    OPC UA, Modbus, MQTT and Sparkplug, BACnet, CAN, MTConnect and PLC programs, tested on simulators.

  8. 08

    Robotics, edge and factory

    Arms and cells in simulation, machine vision, inference at the edge, and the fleets that run it.

  9. 09

    Autonomous, automotive and smart systems

    Planning and sensor fusion, vehicle buses and diagnostics, smart homes and smart cities.

  10. 10

    Energy and infrastructure

    Grids, charging, solar and storage, water networks and assets, and the infrastructure that runs code.

  11. 11

    Healthcare devices and wearables

    FHIR, Bluetooth health profiles, device connectivity, imaging and signals, on synthetic data.

  12. 12

    Silicon, electronics and PCBs

    Hardware description and verification, layout, FPGAs, schematics and boards, and the harnesses that wire it up.

  13. 13

    GIS, environment and nature

    ArcGIS and open GIS, rasters and terrain, environmental sensors, ecology and climate data.

  14. 14

    Mechanics, piping and plant

    Machine elements and dynamics, pipe flow and drainage, P&IDs, and the maintenance that keeps a plant running.

  15. 15

    Logistics and supply chain

    Routes, warehouses and stock, GS1 traceability, EDI, and shipments tracked end to end.

  16. 16

    Data science

    Forecasts scored against baselines, causal questions, analyses registered before the data is read.

A template whose tools are not installed in this workspace, such as Blender, Unreal Engine or a slicer, is still listed and still made: the part worth testing runs here, and the picker says what the rest needs.

To work on an existing repository, connect GitHub from the project list or the GitHub menu, then choose Clone from GitHub. The repository becomes a project named after it.

Each project keeps its own sessions, the conversations you have had in it. Opening a project continues its newest session; start a new session whenever you begin a separate task, and switch projects from the name at the top of the workspace.

(04)

Environments

Eyes, ears and hands

An environment is a system Programmer works through rather than in: Looper's Ableton Live and stage, Render Studio's Blender, Unreal Engine, FreeCAD and KiCad, the Twin venue acoustics, or the Living Worlds core. Each is an MCP server described by the same manifest Looper and Render read, so attaching one is naming its manifest in lisgen-programmer.toml.

Every tool in a manifest declares its effect, and the effect decides whether the agent asks, whatever the tool is called. A tool the manifest does not name always asks, and an answer to one that always asks is never remembered.

The environments a session has attached are listed under the file tree, with how many of each one's tools do what. Open a manifest in the workbench to see the same before attaching it.

  1. 01

    observe

    Looks or listens: a scene, a part, a board, a session, a sensor.

    Never asks; allowed while planning

  2. 02

    edit

    One undoable change in the open document.

    Asks in Ask mode, like a file edit

  3. 03

    run

    Renders, simulations, bakes, exports, playback.

    Asks unless the mode is Auto, like a command

  4. 04

    delete

    Removes, overwrites, or runs code the model wrote.

    Always asks

  5. 05

    spend

    Cloud GPUs, paid models, fabrication orders.

    Always asks

  6. 06

    emit

    Printers, CNC, robots, lights, the stage: the physical world.

    Always asks

Note

The work runs the other way too: Render hands coding tasks to Programmer in named workspaces, and the changed files come back to it as artifacts.
(05)

Asking for a change

The composer

Describe what you want in the composer at the bottom of the workspace and press Enter to send (Shift+Enter starts a new line). Type @ to point the agent at a specific file.

While the agent works you can keep typing: follow-ups wait in a queue and go out in order when it finishes, and you can drop one before it is sent. Press Esc to stop the agent.

The model menu in the composer sets the model for the current conversation. Models are hosted for you, so there are no keys or endpoints to configure.

(06)

Permission modes

Shift+Tab to switch

The mode decides what the agent may do without asking you first. Choose it in the composer, or press Shift+Tab to move to the next one.

  1. 01

    Plan

    Reads and plans. Changes nothing.

  2. 02

    Ask

    Asks before editing files or running commands.

  3. 03

    Edits

    Edits files freely, asks before commands.

  4. 04

    Auto

    Edits and runs commands without asking.

(07)

Approvals

Answered from the keyboard

When the mode calls for it, the agent stops and asks before it edits a file or runs a command. Answer with a key:

  1. 01

    y

    Allow this one action.

  2. 02

    p

    Allow every command that starts the same way.

  3. 03

    a

    Always allow this exact command, or this kind of action.

  4. 04

    n · esc

    Refuse. You can add a reason, and the agent reads it before trying something else.

Note

Each prompt lists only the choices that apply to it, with its key beside each one.
(08)

Reviewing changes

Accept or revert

Every file the agent writes appears in the conversation as a card, marked Awaiting review. Open it to see the diff, then Accept to keep the change or Revert to put the file back as it was. Nothing has to be accepted in one go; settle each file when you have read it.

The file tree on the left shows the project as it is now, including files the agent has just written. Refresh it at any time from the tree.

(09)

The workbench

Beside the conversation

The workbench opens files next to the conversation. Turn on Follow edits and it opens each file the agent writes as it writes it. A file that is not text, such as a mesh, a recording or a render, opens in Preview.

  1. 01

    Editor

    The file, in a full code editor. Edit it yourself and save with Cmd+S or Ctrl+S.

  2. 02

    Diff

    What the agent changed in the open file, line by line.

  3. 03

    Preview

    The file as what it is: a page or SVG in a sandboxed frame; a part, scene or toolpath in 3D; a board layer or drill file; a waveform, a MIDI piano roll, an image; a table, an IFC model's spatial tree, a GeoJSON map; or a Looper or Render manifest as the tools it gives the agent and how often each asks.

  4. 04

    Terminal

    A shell in your workspace, for running anything yourself.

  5. 05

    Console

    Live output from the processes the agent runs.

Your own edits in the editor are saved to the same project the agent works in, so the file tree and the next diff reflect them like any other change.