Arena template builder
Ahmed has implemented a custom arena editor on the application branch feature/arena-editor. This page describes that working code as of 14 September 2026. Implementation and release are different: the builder exists, but it has not been merged into the checked integration branch or verified on the hosted portal. Someone opening the current hosted workspace may therefore not see it yet.
What the branch contains
The editor is a browser page with a 2D canvas and a properties panel. It lets a project lead draw regions, walls and doors, select existing objects, edit their properties and save the result as a new experiment. A Starter layout provides a starting point; Clear all starts with an empty arena. Show JSON previews the configuration the editor will save. The canvas is an editing view, not the 3D simulation or a substitute for running the experiment.
The side panel includes arena ID, width, height, grid size, outer-wall controls and label visibility. The run section records a seed, fixed step duration, start position and one of the demonstration agent presets. Selected regions expose semantic type, material, colour, rotation, elevation, cover and enabled state. Walls expose size, height, rotation, material and enabled state. Doors are attached to a wall and expose position, width, state, material and visibility. The editor also shows an object outline and checks such as naming and reachability before save.
Using the implemented builder
- Open a project where you are allowed to create an experiment.
- Open the custom arena editor on the builder branch. Choose a starter layout or begin empty.
- Draw regions and walls, then attach doors. Select each object to name it and set its material or other properties.
- Set arena dimensions, seed, step duration and agent start position. Read the Checks panel and correct any errors.
- Preview the JSON, then choose Create experiment. Return to the project and open the new experiment in the 3D workspace.
These controls are implemented in the branch. The local backend has a create-experiment route and the hosted path uses Supabase. Browser and database testing after merge is still needed with project-lead, scoped-researcher and observer accounts. In particular, the hosted database must have a policy that permits a valid lead to insert the new experiment; hiding the button is not enough.
Why it is a separate editor
The 2D canvas makes precise arena layout easier than trying to drag small walls inside a running 3D view. The normal workspace can remain focused on configuring conditions, running and reviewing. The saved output should use the same versioned experiment schema and validation rules as presets, so a custom layout can be reopened and run without special-case simulator code.
The six JSON presets in the checked integration branch are selectable starting points in + New project and Setup. The implemented custom canvas is an additional authoring route, not a replacement for the preset catalog. The model and script drop zones in that checked build do not upload or execute files; model/API work developed elsewhere must be verified when it is integrated.
AI Attribution: This page was drafted with OpenAI Codex assistance by inspecting Ahmed's
feature/arena-editorsource. It needs team review and a post-merge verification pass.