Add OCL object and model reference analysis - #56
Merged
Conversation
|
| Filename | Overview |
|---|---|
| crates/schema/schema.json | Retypes selected OCL fields from lenient string or unknown values to object references, model lists, particle systems, and audio events. |
| crates/schema/src/lib.rs | Adds the serializable W3dModelList value type used by the schema and analyzer. |
| crates/analysis/src/diagnostics.rs | Validates every token in W3D model list fields and adds tests for OCL object and model list diagnostics. |
| crates/analysis/src/completion.rs | Extends completion labels, snippets, and model asset completion routing to support W3D model lists. |
| crates/analysis/src/index.rs | Indexes every W3D model listed in object model collection while preserving single-model handling. |
| crates/analysis/src/model.rs | Treats W3D model lists as model asset-bearing fields for model collection and related lookups. |
| crates/analysis/src/semantic.rs | Classifies W3D model list values as references for semantic highlighting. |
| crates/analysis/tests/spec/OCLReferences.ini | Adds an OCL fixture covering object, particle system, and audio event references. |
| crates/analysis/tests/spec/OCLReferences.spec.toml | Adds diagnostics and completion expectations for the new OCL reference behavior. |
Reviews (1): Last reviewed commit: "Add OCL object and model reference analy..." | Re-trigger Greptile
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changed
ObjectNamesas an Object reference list.ModelNamesas a variadic W3D model list and reuse model diagnostics, completion, indexing, and semantic highlighting for every entry.Why
ObjectCreationList sub-block fields were still stored as lenient strings even though the analyzer already supports the referenced definitions and W3D assets. This prevented unresolved-reference and unknown-model diagnostics and omitted completion suggestions.
Validation
cargo testgit diff --checkThe optional real-game corpus is not installed in this worktree, so ignored corpus-only gates were not run.