Furth FortuneEngineering reference
TECHNICAL DOCUMENTATION

2027 · MerTek technology

On this page
2027 / Editor and debugger

Wheelhouse

Edit source, review errors, run tests, inspect state, and compare recorded sessions in one workspace.

Interactive examples · sample dataEvery panel below works on sample data. Click, type and step through it; nothing here opens or changes a real project.

a/main.tri●
a/world.tri
a/_test/walk.tape.draft
state · run 2
c/_test/harbor_wan.tri
OUTLINE
› main
› frame
› on key
› spawnShip
REACH
t.gfx
t.ui
t.random
12chestframe(cheststate,chestframe) {18,204ops counted
13f64dt = frame.seconds
14chest[]ships = state.ships96 B × 2 / call
15foreach(shipinships) {×128 ·9ops per pass, static
16f64x = ship.x
▶17f64vel= ship.velvel = 3.25
18f64nx = x +vell* dt
refused · D.bindvellis not declared; did you meanvel?
note · a/main.tri:17 ·velis declared here  ·  checked rev 44, 1 of 1 refusals
19ship.x = nx
20}
INSPECTOR · SLOT
nameveltypef64value3.25framea.main.framerun2 · rev 44call812
WATCH
ships.count128initial state bytes12,096terminal state bytes12,288state transitionreplaced
1 · mainrunning
rev 44 · follows the buffer
18,204 ops · 3.1 MiB
2 · walk.tape.draftpaused
call 812 of 2,400
a/main.tri:17
3 · harbor testwan
3 clients · seed 1832
call 311
4 · main @ rev 39running
compare with run 1
15,770 ops
ACTIVITYTESTSPROBLEMS 1FRAMESSLOTSWATCHCOSTMEMORYTIMELINESTAGELAB
FUNCTIONCALLSWORK · RUN 1WORD
a.main.frame81218,204 / callcounted
a.world.collide103,93661% of frameattributed
ACTOR / COMMANDREQUESTOUTCOMEPUBLISHER
agent · pause run 218 · rev 44stopped · call 812runtime stop
Tridentchecked rev 44 · 1 refusalrun 2 paused at a/main.tri:17LFLn 18, Col 25
Working model

Source, runs, and results stay connected

The workspace keeps the program, its running sessions, and the results you inspect tied to the same source revision.

One program record

Text and visual editing tools operate on the same source. A visual view does not create a second program.

Clear revision context

An error, selected value, or cost result names the source revision and run it describes. Older results stay labeled.

Separate running sessions

Programs run in another process. The editor inspects copied observations through the allowed debug connection.

Permissions still apply

Viewing data, controlling a run, and changing a value are separate actions with separate access checks.

A person can take control

People and authorized agents use the same commands. The activity view keeps the actor and outcome visible.

A table beside the picture

A 3D view has a table of the same facts, so its meaning remains available to keyboards and screen readers.

Explicit changes

Previewing a change and saving it are separate steps. Review the source diff before keeping an edit.

Unavailable stays unavailable

Missing observations and unsupported actions remain visible. The interface does not fill gaps with invented results.

Optional lenses: a summonable typed-command console, or a terminal presentation launched through an existing remote shell such as SSH. Both join the same workbench. No arbitrary shell inside the editor, no second debug protocol, and no automatic graphics-to-text fallback.

Run and replay

Choose how to run the program

Start from an editor revision, run a test, attach to an existing session, or inspect a recording. Each run keeps its own source and settings.

KindWhat the host startsWhat you get
EmbeddedA child runtime running authored sourceIts scene drawn inside the editor, input routed to it. Up to the children ceiling side by side, and it can follow the buffer: each clean check hot-swaps the program and keeps its state.
SessionAn ordinarytrisession in its own windowsThe composition the program ships in, paired to the editor's own host for debugging.
AttachedNothing: joins a running session's debug linkLocal by the trusted shortcut, remote by endpoint, at the levels the remote plan grants.
Source testAn independent testmainselected undera/**/_test/Named cases in the leading structured Draft comment supply exact typed arguments. Each case gets fresh ephemeral fixtures and a complete lifecycle. Production assembly excludes test sources.
TapeAn embedded run playing a recorded.tape.draftExamples and session regressions undera/**/_test/. A mismatch opens both documents at the first diverging call. Save preserves Draft; minting.tape.chestis explicit.
ReplayAn effect-denied child re-running one recorded program callLand at a recorded configure, start, main, or stop call and use compiler points without rewinding the live run. Host-only provider, prelude, and teardown boundaries expose their typed recorded transition or fault for inspection; rerunning one is explicitly a new test run.
Run groupThe sessions one launch or one end-to-end test startedA dual run, its extra clients, or a group of connected sessions, each a debug target, under a link profile's latency, loss, and partitions.
ImportThe application's prelude through stageassetsin its own processEvery asset's phase and the build queue. In the selected storage rebuild the editor's host joins the shared build store separately, serves bounded observations, and lends the renderer a read projection.
Interactive views

Explore work, memory, connections, and assets

Switch views below and drag to orbit the scene. The table presents the same sample facts as the 3D view.

also

Lifetime ribbons.Each retained extent is a ribbon from the call that created it to the call that released it. Aliases branch from one ribbon, and a copy is a spark at its source line.

also

Flame terrain, scene exploder, type blocks.Work by stack depth across calls, a run's own scene pulled apart with each draw labeled by the line that declared it, and a state schema drawn as the bytes each call carries twice.

Errors and repairs

Review errors and suggested fixes

See the source location, the reason for a problem, and a proposed repair together. Review a change before applying it.

FeatureDerived from
Every refusal in one compile, with extent and notesThe compiler's fault record
One-click repairs, and choices for alternativesRepairs recorded where a planted case proves them
Explain: the rule, an accepted example, the nearest invalid oneA table derived from the language lock
Runtime faults with the values behind themOperand and frame witnesses
Hover, go to definition, references, rename, completion, semantic colorA semantic model published byt.code, types as canonical spellings
Reach lens: which line needs which grant entryThe minimal grantt.code.compilealready derives
Static performance evidence, warnings and tipsThe compiler's image report and canonical advisory publication, never editor heuristics or runtime measurements relabeled as compile facts
Profiling

Compare work and memory between runs

Compare a function or a whole run. Exact work counts, estimates, memory use, and elapsed time keep separate labels.

WordFigure
countedWork one call spent, per deterministic ledger
attributedWork per function and line on an armed call
sampledUnavailable.
staticThe charge of one pass through straight code
timedWall time on this host; never compared or gated
Example · counted work per call overa/_test/walk.tape.draft· rev 39vs rev 44
Memory reads the same way: each byte domain's peak per call, the region tree at a snapshot, and every copy with its cause and source line.

A performance audit names the revision, selected test case or one tape segment, composition, baseline, and ceilings. Its report states coverage and completeness, exact counts, attribution remainder, byte maxima, explicit sample unavailability, and timed wall separately. Missing evidence is unavailable, not zero cost or full coverage.

compiler

Selected image versus pass-disabled control.Static instruction, copy, slot, frame-byte, array reservation, predicted-use, slack, and transformation facts share one source and compile environment. The control cannot run or ship, and its delta never pretends to be measured speed.

hardware

Software floor and hardware providers in named cells.Each cell names its provider, device, artifacts, host, target, workload, and completeness. Absolute measurements sit side by side; an incompatible or cross-host delta reads unavailable.

State inspector

Inspect values, records, and settings

Select an item to see its type, value, and context. Viewing protected data and changing a value require the appropriate permissions.

settings

Every setting names its layer.Value, the tier that authors it, and the layer that supplied it: compiled default, invocation document, host option, plan, or application config (base, target,on configure). "Open source" jumps to the field that set it. Where the host publishes no layer, the inspector says so instead of guessing.

renderer

Imagery comes from declared laws.Thalassa refuses a debug renderer, so object-id, overdraw, and quad-overdraw views are diagnostic laws a scene declares, returned as captures.

store

Pages carry a cursor and an as-of vector.In the selected rebuild the host reads a bounded page between calls without blocking writers. A hold stops only this runtime's writes; it buys no shared-store snapshot across pages.

relations

Two-way navigation has one authored owner.The inspector joins the compiler's resolved references to the Store catalog, shows the compiler-derived reciprocal page and its costs, and offers only a checked source-edit proposal. Local and remote sessions publish the same facts and never mutate a live catalog to manufacture the inverse.

protocol

One new association request.An observe request names a subject, key, and window. The run's host answers with one document built from the owner's own readers, validated as hostile input and paid from the debug ledger.

Interface and shader tools

Work with the interface and its source

Visual tools and text tools use the same application source. A preview keeps its own data, resources, and access rules.

UI lensPublished facts
Surfaces and portalsSurface, product, generation, views, focus, capture, input route, edge verdict and ceilings
Layout and paintResolved boxes, clips, hit path, paint rows, overflow and source declarations
Theme and paletteResolved color, spacing, stroke, radius and state roles, with the source layer
Fonts and textRequested family, chosen face, fallback, axes, metrics, clusters, glyphs, atlas and missing-glyph cause
AccessibilityRoles, names, values, states, reading order, actions and platform projection
Glint modeWhat stays visible
SourceChecked source spans, types, constants, functions and faults
ModuleDigest, stage, slots, resource bindings, layout and consuming material/effect rows
PreviewA declared fixture or selected scene binding on the software floor and named hardware providers
Live candidateNew immutable module and scene generation, committed only after check
HelpOwner-published faults, facts and advisories; educational narration stays labeled and never edits unasked
portal

A mosaic is several portal edges.Each region keeps its own child product, surface, view derivation and input route. A portal opens no runtime, grants no authority, and inherits no theme, locale, accessibility, focus or capture.

Scene editing

Try a scene change, then review the source

Adjust a view or a value, inspect the result, and review a source diff before keeping a change. Preview, runtime changes, and saved source are separate actions.

tune

State writes happen at an admitted boundary.The host checks a current unredacted snapshot receipt and writes the complete state once. A later scene publication is a separate visible result. An intervening writer can overwrite the tune, and the receipt says so.

keep

Keep shows a source diff before save.Complete read and write effects must prove an eligible initializer with no competing writer. The last confirmed tuned value supplies the proposal. Save, compile, install, reattach and display have separate outcomes.

camera

Camera edits use checked constructor mappings.Direct state paths or proven literal/constant sites supply the complete argument set. Conflicting aliases, overlapping paths or unsupported computed inputs refuse before any partial write. Saved viewpoints are explicit.

paint

Glint and raster candidates stay isolated.A private fixture previews immutable candidates under funded read-only asset authority. Texture canvas strokes and exact scene-hit paint save through durable source, ordinary import and guarded replacement.

Investigation tools

Trace how a result was produced

Inspect a rendered result, follow a recorded interval, or compare an isolated change. Original observations and recreated results keep separate labels.

ViewWhat the evidence can establish
Pixel explanationProven fragment, depth, blend, shader, texture and temporal contributions. Original captures and reconstructed evidence keep separate labels.
Temporal scene queryChecked predicates over a named recorded interval, with true, false, unknown and gaps. A match after a gap never claims the first global match.
Named experimentReproduced baseline versus one isolated state, source, Glint or raster change. Workload divergence ends the aligned comparison; Apply is a separate guarded transaction.
Spatial microscopeTyped basis, instance, deformation, normal, world, view, projection and clipping chains. Units and frames remain distinct; an unavailable inverse is never guessed.
Difference and impactStructural and image differences under declared correspondence and comparison policy. Consumer scope distinguishes possible, executed and unknown members.
Keep as regressionA reviewed test proposal with admitted dependencies. Reduction preserves only replay-verified candidates and reports incomplete search.
Experiment matrixFinite provider, quality, asset-level and candidate cells. Executed, compile-only, unavailable and refused outcomes stay distinct; device timing has its own host evidence.
Pipeline resourcesExact resource versions, producers and consumers; typed tables, raw bytes, texture slices and separate sample planes. Missing layout admits no invented cast.
Workspace layout

Arrange views across windows

Keep code, runs, tables, and previews together in one workspace. A window can show another view without creating another program or granting extra access.

tapes

Alignment is explicit and coverage stays visible.Two tape selections name their recordings, runtime tracks, boundaries and comparison policy. Unmatched regions and missing observations stay visible. Replay is an explicit action and never moves the live target.

layout

Save and recovery are explicit.A Draft preference stores logical views and placement intent. Current monitor facts govern restoration; unsupported precise placement stays unavailable. A partial restore lists each opened or deferred view.

close

A window closes only its readers.Other windows, dirty shared documents and target runs remain. Closing the final window leaves the ordinary zero-surface session. Close workspace settles guarded work and asks once per dirty document.

limits

The whole population has a funded ceiling.Surface, pixel, native-byte, UI-row and presentation-work limits apply across windows. A refused open keeps the existing view in place.

Asset previews

Preview assets as they build

Browse images, textures, models, audio, fonts, and other assets. Each preview shows its build state. An older preview stays labeled while a new version is being prepared.

A crucible shows the finest published level it has. A queued, failed, reserved, or permanently unavailable preview keeps its profile's own silhouette and names the reason; it never uses a generic blank or fabricates content.

ProfilePreviewInteractEdit
image, textureRaster on a quad in its declared color spaceZoom to a texel, isolate channels, step levelsFill, crop, flip, rotate, resize, blitted strokes
paletteSwatches beside every texture that reads itPick an entry, see what it colorsEntries, through the source
meshMesh under the editor camera, bounds and frameOrbit, wireframe, normals, level switchTransform, material slot
rigClipSkeleton posed over the clipScrub, play, isolate a jointThrough recipe or importer
videoFrame at the scrub positionStep framesThrough recipe or importer
audioWaveform and spectrumScrub, select a rangeTrim, gain, fade the source
fontGlyph grid and a shaped sample lineType a sample, read metricsRecipe and importer only: no import table row admits its source
heightfieldTerrain with contours and its unknown-data maskOrbit, level switch, read an elevation in its unitRecipe and importer only: no import table row admits its source
taiUtcHistory, zoneRuleEditionRows as a table and a timelineSelect a rowThrough the source document
rule

Edit the source, never the built document.The build key is the source, recipe, importer, and target digests. An asset edit changes one of those three sources: the recipe (Draft), a custom importer (Trident), or the raw source, edited as its Nautilus authoring input and encoded back to its own format.

rule

Loss asks first.JPEG has no encoder, so an edited JPEG saves as a lossless format the recipe admits, under the same asset name, after a question naming both files. An edit the format cannot carry refuses by name.

debug

Importers are programs.A custom importer under_import/runs under the deterministic grant, so a breakpoint stops it on the group it is importing and a replay reproduces it exactly.

live

Edit, rebuild one, see it.An edit asks the import run to rebuild just the changed names. The preview swaps to the new generation when it publishes, because a root is never edited in place.

Network testing

Test slow or unreliable connections

Set delay, variation, loss, and temporary disconnections in a repeatable test. Each session records its own run so a problem can be replayed and inspected.

# sketch: the link-profile row fixes the schema
duration latency = 80ms
duration jitter = 20ms
f64 loss = 0.02
u64 seed = 7
chest[] partition = [
    {
        duration at = 5s
        duration heal = 12s
    }
]
profile

Each end impairs its own sends.A link profile on a peer member or a store endpoint delays and drops outbound traffic in the plane's send pump, so every real carrier stays under test.

test

An end-to-end test is a dual run.The client program's result is the verdict, and the runner starts the server and the extra clients.

tape

Each session records its tape.A network arrival is a recorded input, so each tape replays its session exactly.

debug

Every session is a debug target.The run group's constellation shows the sessions, their connections, and the traced messages.

Learn more

FURTH FORTUNE / ENGINEERING REFERENCEBack to top ↑