Skip to content

fix: Studio declarative authoring manifest - #89

Merged
Hacks4Snacks merged 2 commits into
mainfrom
hacks4snacks/jsontmopeningbug
Aug 3, 2026
Merged

fix: Studio declarative authoring manifest#89
Hacks4Snacks merged 2 commits into
mainfrom
hacks4snacks/jsontmopeningbug

Conversation

@Hacks4Snacks

Copy link
Copy Markdown
Owner

What changed

1. Studio opens a declarative authoring manifest.
The reported file was a tmforge-manifest (the reviewable source tmforge apply builds
from), not a model. No registered format claims it, so detect returned null, the Editor
fell back to tmforge-json, and the reader threw "Not a tmforge-json document."

  • ManifestSupport.LooksLikeManifest — strict recognizer (requires an explicit schema).
  • AuthoringService.ApplyManifestJson — builds a manifest supplied as text; returns a
    blocking problem on the result rather than throwing.
  • Exposed on every surface: POST /v1/model/manifest, WASM ApplyManifest, and
    IEngineClient.applyManifest on all three Studio clients (offline rejects honestly).
  • Editor resolves Open/Import through one readDocument: detect → manifest → fallback.

2. The CLI reports unusable input instead of crashing.
tmforge open <manifest> produced an unhandled exception, a full crash dump, and exit 134.
18 commands load a model through CliModelLoader and none guarded it. Program.Main now
classifies input failures, prints one line, and exits 1. CliModelLoader additionally names
a manifest and points at apply.

@Hacks4Snacks
Hacks4Snacks merged commit 77256cf into main Aug 3, 2026
10 checks passed
@Hacks4Snacks
Hacks4Snacks deleted the hacks4snacks/jsontmopeningbug branch August 3, 2026 23:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant