UTTORI ASM · IN DEVELOPMENT
VS Code settings
Set project files, targets, output paths, and analysis behavior in VS Code.
asm.configFile- optional workspace-relative path touttori-asm.config.json.asm.plugins- plugin module specifiers or{ module, options }objects.asm.target- target contribution ID or alias.asm.architecture- architecture contribution ID or alias.asm.entryPoints- project entry-point files analysed as include roots.asm.includePaths- extra include search paths relative to the workspace.asm.buildOutput- output path (defaults to the target's output extension).asm.baseImage- optional base image to patch when building.asm.analysisProject- native evidence directory oranalysis.jsonpath, absolute or relative to each workspace folder. The selected source project's.uttori-local/project.jsonbinding takes precedence; when neither is selected, projects are discovered automatically.asm.analysis.maxWorkItems- static-analysis budget when regenerating disassembly (default 100,000). This counts CPU-state and call-path exploration, not imported trace events. Larger values consume more time and memory. Incomplete analysis still cannot discard known code.asm.analysis.maxMemoryMiB- JavaScript heap budget for isolated analysis views and source workers (default 4096 MiB). Increase for unusually large analyses. Views reuse validated project caches and serialize requests. Cancellation is cooperative; synchronous steps finish their safe boundary. Total process memory can exceed the heap budget. See Uttori Analysis output for operation failures.asm.trace.maxImportSizeMiB- native trace import file-size limit (default 2048 MiB / 2 GiB). Set it in the project's.vscode/settings.json, for example"asm.trace.maxImportSizeMiB": 4096for a 4 GiB capture. Both import and routine reports read chunks incrementally, with progress and cancellation, instead of loading the entire recording into a JavaScript string. Project imports index distinct facts in SQLite. This setting is separate from the static-analysis budget.asm.trace.indexMode-fullis the default and only supported instruction index profile. It retains every supplied register, fetched byte, qualified PC, execution count and bus observation.
Instruction imports use SQLite for distinct facts and final records, so all profiles can exceed the in-memory library's 2M/8M record limits. Input-file and configured storage budgets still apply. The file-size limit is independent of the number of indexed facts: one instruction with a new register snapshot creates both an instruction record and a CPU-state record in the full index.
Workspace plugin configuration is disabled in restricted workspaces. Trust the workspace to activate uttori-asm.config.json or asm.plugins. The bundled SNES target remains available before trust is granted, including explicit builds and build on save. Analysis edits and live emulator launch require a trusted local filesystem workspace.
Capture and storage
asm.debug.traceModedefaults tolossless-instructions; modes are negotiated with the matching runtime. Instruction and bus capture are separate streams.asm.debug.traceDetaildefaults tofull; explicitpcpermits address-only legacy tracing. Full detail requires advertised runtime support.asm.debug.captureSinkdefaults tostream;native-filerequires a matching native file-capture runtime and a paused start.asm.debug.captureContextdefaults totrue, adding WRAM, pre-action state, replay inputs, milestones and graphics evidence spanning the complete recording.asm.debug.liveBusAnalysisdefaults tofalse. Itsasm.debug.liveBusMaxLagMiBbacklog limit defaults to 256; overflow stops analysis while recording continues.asm.analysis.cacheMaxMiBdefaults to 256 for disposable projections.asm.analysis.storageMaxMiBdefaults to 0, disabling the publication ceiling. Explicit editor choices override persisted policy.
Editor information
asm.editorInfo.preset defaults to compact. asm.editorInfo.inline.enabled and
asm.editorInfo.hover.enabled independently default to true. Explicit inline.parts/hover.rows
override presets; empty arrays hide that surface. Inline defaults are aligned placement, column
80, editorCodeLens.foreground color, a 120-character limit and · separator. Long source lines
keep their own gap without moving other overlays. See editor information
for templates, allowed fields and legacy-setting precedence.
Git source project roots, local bindings, generation recipes and layout/state limits live in the
.uttori/ and .uttori-local/ contracts. Save their ordinary files and use the selected source
workflow; fixed assembly output paths are not a substitute for a matching source build receipt.