Port remaining map-data editors to the shared base, remove dead code, opt-in thumbnail tracing - #111
Conversation
…n thumbnail tracing
- W3r, Mmp and W3i editors now extend EditableBinaryEditorProvider. Formats
whose strings live in war3map.wts share TriggerStringBackedDocument and the
wtsSidecar save/revert hooks; the .w3i flag word uses the new
pushEdit(..., { onApply, onUndoRedo }) re-render option. The .w3i editor gains
hot-exit backup restore, which its hand-rolled provider ignored.
- The read-only legacy .w3i parser/renderer in mapDataPreview.ts is removed;
the MPQ viewer opens extracted .w3i files in the editor instead.
- src/casc-extract-worker.ts and its webpack entry/copy plugin are removed:
the extension has used the in-process CASC singleton for a long time and the
worker was never spawned, only bundled and shipped.
- Thumbnail console tracing and the JSONL diagnostics file are opt-in
(WURST_MODEL_THUMB_DEBUG=1, or the e2e cache switch) instead of running for
every visible thumbnail in production.
- Candidate asset roots are re-scanned when workspace folders change or an
imports/assets/map folder is created or removed, instead of being cached for
the whole session.
- test-vsix-contents asserts every bundle the host loads is packaged, so a
partial webpack run can no longer ship a broken object editor.
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 67ea1596ae
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 459def483d
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
The shared provider's backup held only the serialized file, so a document whose only unsaved change was a TRIGSTR-backed string came back dirty but without the edit. Providers can now declare a sidecar (save/restore of JSON state written beside the backup); the wts-backed editors use it for their pending string edits. Covered by an e2e round-trip on the camera editor.
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: a84a5ba726
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
@codex review |
|
Codex Review: Didn't find any major issues. Can't wait for the next one! Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
Summary
Follow-up to #109, continuing the audit list.
Editors on the shared base
.w3r,.mmpand.w3inow extendEditableBinaryEditorProvider, leaving the object editor as the only hand-rolledCustomEditorProvider.war3map.wtsshareTriggerStringBackedDocumentplus thewtsSidecarsave/revert hooks.pushEdit(..., { onApply, onUndoRedo })re-renders the page for edits the incremental state message cannot express (the.w3iflag word)..w3ieditor gains hot-exit backup restore, which its previous provider ignored.Dead code and leaks
.w3iparser/renderer is removed; the MPQ viewer opens extracted.w3ifiles in the editor.src/casc-extract-worker.tsand its webpack entry/copy plugin are removed (never spawned, only bundled and shipped).imports/,assets/, map folder etc. is created or removed.Production noise
[wurst-model-thumb]console lines and the JSONL diagnostics file are opt-in viaWURST_MODEL_THUMB_DEBUG=1(or the existing e2e cache switch).Packaging guard
test-vsix-contentsasserts every bundle the host references is packaged.Validation
tsc(real siblings and CI mocks): clean.npm run lint: clean.npm test: pass.npm run test:e2e: all.wpm,.w3c,.w3r,.mmp,.w3ispecs pass. The 24 object-editor failures are the same set as onmaster(stale siblingwar3-modelbuild).