@aefree/pi-unity 0.10.0 → 0.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +33 -0
- package/README.md +7 -8
- package/index.ts +231 -141
- package/package.json +2 -2
- package/skills/auditing-unity-agent-guidance/assets/mixed-workflow-template.md +1 -1
- package/skills/auditing-unity-agent-guidance/references/migration-policy.md +1 -1
- package/skills/unity-batchmode-tests/SKILL.md +15 -15
- package/skills/unity-pipeline-workflows/SKILL.md +8 -8
- package/src/unity-batchmode.ts +9 -9
- package/src/unity-cli.ts +40 -7
- package/src/unity-core.ts +0 -8
- package/src/unity-editor-fallback.ts +36 -0
- package/src/unity-launch.ts +3 -83
- package/src/unity-pipeline.ts +30 -6
- package/src/unity-projects.ts +2 -3
- package/src/unity-test-batch.ts +3 -1
- package/src/unity-tests.ts +285 -0
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,39 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
6
6
|
and this project follows semantic versioning for public package releases.
|
|
7
7
|
|
|
8
|
+
## Unreleased
|
|
9
|
+
|
|
10
|
+
## 0.12.0 - 2026-08-27
|
|
11
|
+
|
|
12
|
+
### Changed
|
|
13
|
+
- Made Unity CLI authoritative for ordinary project launches: `open`, `run`, and `test` now rely on the selected project without passing an Editor-version override; direct executable launch remains an exact-version fallback.
|
|
14
|
+
|
|
15
|
+
### Fixed
|
|
16
|
+
|
|
17
|
+
- Kept isolated Unity CLI test results discoverable for JSON-only reports by always writing the native NUnit evidence to the project's `Logs` directory.
|
|
18
|
+
- Made direct Unity Editor fallback selection project-version-driven by probing only exact-version standard installations without Editor-path overrides.
|
|
19
|
+
|
|
20
|
+
### Removed
|
|
21
|
+
|
|
22
|
+
- Removed the `UNITY_EDITOR_PATH`, `UNITY_PATH`, and `unityEditorPath` Editor-selection overrides.
|
|
23
|
+
|
|
24
|
+
## [0.11.0] - 2026-08-26
|
|
25
|
+
|
|
26
|
+
### Added
|
|
27
|
+
|
|
28
|
+
- Added unified `unity_run_tests`, which routes compatible exact-copy connected runs through Pipeline and closed-project runs through `unity test`, with durable normalized JSON evidence.
|
|
29
|
+
- Added normalized outcomes for passes, flaky passes, test failures, empty selections, run errors, timeouts, cancellation, and uncertain evidence.
|
|
30
|
+
- Added isolated Unity CLI support for retries, rerunning failures, deterministic sharding, NUnit/JUnit reports, and coverage controls.
|
|
31
|
+
|
|
32
|
+
### Changed
|
|
33
|
+
|
|
34
|
+
- Connected Pipeline tests now preserve complete bounded result evidence in durable normalized JSON while keeping routine tool output compact.
|
|
35
|
+
- Isolated tests now prefer the Unity CLI `unity test` workflow and reconcile retry sidecars and derived rerun/shard reports.
|
|
36
|
+
|
|
37
|
+
### Removed
|
|
38
|
+
|
|
39
|
+
- Removed the public `unity_pipeline_run_tests` and `unity_run_test_batch` registrations; `unity_launch_batchmode` remains a non-test escape hatch.
|
|
40
|
+
|
|
8
41
|
## [0.10.0] - 2026-08-14
|
|
9
42
|
|
|
10
43
|
### Changed
|
package/README.md
CHANGED
|
@@ -23,7 +23,7 @@ pi install <path-to-pi-unity>
|
|
|
23
23
|
pi install -l <path-to-pi-unity> # project-local
|
|
24
24
|
```
|
|
25
25
|
|
|
26
|
-
Pi discovers the extension from `index.ts` and packaged skills from `skills/`.
|
|
26
|
+
Pi discovers the extension from `index.ts` and packaged skills from `skills/`. In UI sessions, pi-unity warns once per Pi runtime when Unity CLI is unavailable or `UNITY_CLI_PATH` is invalid. The warning never displays configured paths; install Unity CLI, then restart or reload Pi.
|
|
27
27
|
|
|
28
28
|
## Included tools
|
|
29
29
|
|
|
@@ -33,22 +33,21 @@ Use these tools with an already-open exact Unity project copy that has a reachab
|
|
|
33
33
|
|
|
34
34
|
- `unity_project_status` — inspect lockfiles, matching Unity processes, Pipeline reachability, package version, and advertised commands without launching Unity.
|
|
35
35
|
- `unity_pipeline_recompile` — recompile through Pipeline with exact-copy preflight, bounded polling, and compact compiler evidence.
|
|
36
|
-
- `
|
|
36
|
+
- `unity_run_tests` — one intent-oriented EditMode or PlayMode workflow. It reuses compatible connected Pipeline execution or selects isolated `unity test` when the exact project copy is closed.
|
|
37
37
|
- `unity_pipeline_eval` — execute bounded project-specific C# through Pipeline's Roslyn REPL. It accepts `timeoutSeconds` from 1–86,400 seconds; a timeout is uncertain and does not cancel or retry Editor work.
|
|
38
38
|
- `unity_pipeline_inspect` — dispatch supported package-owned inspection commands and return structured evidence.
|
|
39
39
|
|
|
40
40
|
Connected recompilation follows Unity's Script Changes While Playing policy and never preemptively sends `editor_stop`. Connected tests may exit Play Mode through advertised `editor_stop` when necessary, then verify Edit Mode before dispatch. Play Mode exit is allowed by default; `/unity-playmode-exit allow|disallow|status` controls the current session.
|
|
41
41
|
|
|
42
|
-
A timeout is uncertain: work may still be running. The tools do not silently cancel, retry, launch another Editor, or switch to batchmode. The sole exception is Pipeline 0.5's explicit initial-settling `Server Busy` rejection for `unity_pipeline_recompile` and `
|
|
42
|
+
A timeout is uncertain: work may still be running. The tools do not silently cancel, retry, launch another Editor, or switch to batchmode. The sole exception is Pipeline 0.5's explicit initial-settling `Server Busy` rejection for `unity_pipeline_recompile` and `unity_run_tests`, which is known not to have dispatched a main-thread command and is retried only within the configured deadline.
|
|
43
43
|
|
|
44
44
|
### Editor and batchmode
|
|
45
45
|
|
|
46
46
|
- `unity_open_editor` — open the Unity Editor GUI. Pass `automated: true` to add the Unity Editor `-automated` flag; this is distinct from the Unity CLI's own `--non-interactive` option.
|
|
47
47
|
- `unity_launch_batchmode` — run a bounded batchmode command through Unity CLI or the direct Editor executable.
|
|
48
|
-
- `unity_run_test_batch` — run one isolated or report-producing Unity Test Framework platform with generated XML and log paths.
|
|
49
48
|
- `unity_inspect_artifacts` — summarize existing Unity Test Framework XML and Unity logs without launching Unity.
|
|
50
49
|
|
|
51
|
-
Use
|
|
50
|
+
Use `unity_run_tests` for all ordinary Unity Test Framework work. It writes a durable normalized JSON result under `Logs/`; isolated `unity test` runs retain requested native reports. Connected Pipeline is selected only for compatible requests. A reachable Editor is never closed automatically to obtain isolated-only features.
|
|
52
51
|
|
|
53
52
|
Batchmode runs use `-nographics` by default. Set `useGraphics: true` only for screenshots, visual capture, render checks, or graphics-dependent tests. Unity permits only one process per project folder, so all launch routes verify the exact project and use a per-project mutex.
|
|
54
53
|
|
|
@@ -78,8 +77,8 @@ Operation-specific recovery belongs to the operational skill. `unity-debugging`
|
|
|
78
77
|
| Situation | Preferred route |
|
|
79
78
|
| --- | --- |
|
|
80
79
|
| Open exact-copy Editor with reachable Pipeline | Connected Pipeline tools |
|
|
81
|
-
| Closed project or intentional CI isolation | `
|
|
82
|
-
| Required NUnit XML or Unity log evidence | `
|
|
80
|
+
| Closed project or intentional CI isolation | `unity_run_tests` |
|
|
81
|
+
| Required NUnit XML or Unity log evidence | `unity_run_tests` |
|
|
83
82
|
| Existing failed-run artifacts | `unity_inspect_artifacts` |
|
|
84
83
|
| Project-specific C# query or operation | `unity_pipeline_eval` |
|
|
85
84
|
| Supported structured project inspection | `unity_pipeline_inspect` |
|
|
@@ -114,7 +113,7 @@ Use `unity_pipeline_inspect` when a purpose-built structured command fits. Use e
|
|
|
114
113
|
|
|
115
114
|
## Launch and process safeguards
|
|
116
115
|
|
|
117
|
-
`unity_open_editor` and batchmode tools
|
|
116
|
+
`unity_open_editor` and batchmode tools treat Unity CLI as the authoritative launcher: `unity open`, `unity run`, and `unity test` receive only the selected project and let Unity CLI read `ProjectVersion.txt`. The direct Editor executable is an exceptional compatibility fallback used only when Unity CLI is unavailable. Set `launcher` to `auto`, `unity-cli`, or `editor-executable` when explicit routing is needed.
|
|
118
117
|
|
|
119
118
|
Before launching, pi-unity checks:
|
|
120
119
|
|