Skip to content

Opening & indexing a root

Guide · Core Studio 3.0 · Verified 2026-09-01

The Studio’s foundation is an index of the entire ERP object catalog. It reads the metadata folder the moment a project opens and stays current as files change.

Root resolution

  1. XPP_AOT_ROOT environment variable — explicit override, wins over everything.
  2. File → Open AOT folder… — persisted to settings, re-indexed immediately.
  3. Default — samples/ in dev builds; an empty per-user folder in the packaged app until you pick a root.

Indexing tiers

TierContentWhat you get
1Descriptors & headers (no XML parsing)AOT explorer browsable almost immediately
2Your models, fully parsedMethods, enum values for your code
3Microsoft models (Application* prefix)Full system coverage
4Full-text search tailMethod sources drained into the FTS index

The status bar’s AOT segment shows live progress (files/s, %, ETA).

Caching & freshness

  • The index persists per root at %APPDATA%\xpp-studio\aot-index\<hash>.db — an unchanged root reloads from cache in seconds.
  • A chunked background pass reconciles file changes after load.
  • Saving a file in the editor triggers an incremental reindex of just that file.

Verify it worked

  • After a first open, the explorer answers immediately and the tier-2/3 content fills in behind it.
  • On the second launch, the log line [aot] loaded N elements from cache in Xs confirms the persisted index was reused.
  • index-tier-complete fires; search results stop carrying the partial flag.

If it goes wrong

  • “database is locked” at boot — a transient WAL race with the indexing worker; the language server retries with backoff and recovers on its own.
  • Re-indexes every launch — check the [aot] log lines, then delete %APPDATA%\xpp-studio\aot-index\<hash>.db to force one clean rebuild.
  • Loose files shown as their own “models” — cosmetic; model names come from the first folder segment, and real Microsoft layouts group correctly.
The AOT explorer already browsable while deeper indexing tiers continue in the status bar
The AOT explorer already browsable while deeper indexing tiers continue in the status bar