Repository navigation
feat(ui): add Unity 6 UI Toolkit authoring and verification - #3
Conversation
- add `ucp ui` commands for listing, linting, inspecting, capturing, and checking UI Toolkit assets - support strict scenarios, data binding, repeaters, virtualized lists, and deterministic screenshots - add Unity bridge services plus Rust and Editor test coverage - document Unity 6+ workflows and publish the focused `ucp-ui` agent skill
|
@quentinleon is attempting to deploy a commit to the mflrevan's projects Team on Vercel. A member of the Team first needs to authorize it. |
Integration pass over #3 on top of the contributor's commits: - Normalize the eight two-line .cs.meta stubs to the package's full MonoImporter form so Unity does not rewrite them on first import. - UiOperationManager: skip the per-frame pruning scan while idle, and expose ActivateNextForTests() instead of having a test reach for the private method through reflection. - UiSimpleQuery: reject compound name/class selectors such as ".a.b" or "#a#b" up front; they previously validated and then matched nothing. - Name scenario capture artifacts "Inventory-<state>-..." rather than "Inventory.ucp-ui-<state>-...". - Tests: broken USS and unknown-UXML-element lint through the real importers and the router, missing/unsupported path diagnostics, the full `set` allowlist end to end, set type-mismatch locations, ui/list discovery with an invalid fixture, selector and query validation, ui/status for unknown ids, envelope sanitizing through MiniJson; Rust coverage for result aggregation, outcome mapping, range validation, and --force requiring an output target. - Changelogs for 0.6.3 (CLI and bridge), PROJECT.md section for the harness. Validated: 121 Rust tests; 159/159 bridge edit-mode tests on 6000.4 in batch mode with zero skips; live list/lint/inspect/screenshot/check against a scenario fixture in the demo project with both states captured correctly. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012TJzJDDKMoV5TgpLJMRu15
|
Merged into
Validation on this end: 121 Rust tests; bridge edit-mode tests 160/160 in batch mode on every Unity 6 slot (6000.0, 6000.1, 6000.2, 6000.3, 6000.4) with zero skips, so the It ships in 0.6.3. |
Agents authoring UI Toolkit assets currently have no isolated way to populate fixture states, inspect resolved bindings and layout, or verify the rendered result. This adds a Unity 6+
ucp uiworkflow that performs those steps without loading or dirtying a scene.ui list, importer/clone-backedui lintfor UXML/USS/TSS, boundedui inspect, panel PNGui screenshot, and multi-stateui check..ucp-ui.jsonscenarios with data overlays, fixture mutations, repeat templates, and managed virtualized ListViews.ucp-uimicro-skill.ucp ui screenshotcaptures the isolated UI harness. The existing top-levelucp screenshotimplementation is unchanged.Validation
Validated after integrating upstream 0.6.2:
Live checks before the upstream integration also confirmed that a visible empty ListView passes
--fail-on-warnings, a late binding error survives a full warning budget, reload produces a structured interruption result, and immutable package lint does not force reimport.Other Unity versions and platforms have not been validated for this feature. Rendering requires an interactive Editor with a graphics device; lint supports batch mode. The capture backend uses an internal Editor API, so additional Unity-version coverage remains valuable before release.