Skip to content

Commit 3319cf9

Browse files
committed
Rename project to SimDeck
1 parent 93d0709 commit 3319cf9

73 files changed

Lines changed: 567 additions & 624 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎.github/workflows/release.yml‎

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -74,22 +74,22 @@ jobs:
7474
VERSION: ${{ steps.meta.outputs.version }}
7575
run: |
7676
ARTIFACTS_DIR="${RUNNER_TEMP}/release-assets"
77-
BUNDLE_DIR="${RUNNER_TEMP}/xcode-canvas-web-${VERSION}-macos"
77+
BUNDLE_DIR="${RUNNER_TEMP}/simdeck-${VERSION}-macos"
7878
7979
rm -rf "${ARTIFACTS_DIR}" "${BUNDLE_DIR}"
8080
mkdir -p "${ARTIFACTS_DIR}" "${BUNDLE_DIR}"
8181
82-
cp build/xcode-canvas-web "${BUNDLE_DIR}/"
83-
cp build/xcode-canvas-web-bin "${BUNDLE_DIR}/"
82+
cp build/simdeck "${BUNDLE_DIR}/"
83+
cp build/simdeck-bin "${BUNDLE_DIR}/"
8484
cp README.md LICENSE "${BUNDLE_DIR}/"
8585
86-
tar -czf "${ARTIFACTS_DIR}/xcode-canvas-web-${VERSION}-macos.tar.gz" \
86+
tar -czf "${ARTIFACTS_DIR}/simdeck-${VERSION}-macos.tar.gz" \
8787
-C "${RUNNER_TEMP}" \
88-
"xcode-canvas-web-${VERSION}-macos"
88+
"simdeck-${VERSION}-macos"
8989
9090
ditto -c -k --keepParent \
9191
"${BUNDLE_DIR}" \
92-
"${ARTIFACTS_DIR}/xcode-canvas-web-${VERSION}-macos.zip"
92+
"${ARTIFACTS_DIR}/simdeck-${VERSION}-macos.zip"
9393
9494
npm pack --pack-destination "${ARTIFACTS_DIR}"
9595
(
@@ -102,13 +102,13 @@ jobs:
102102
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
103103
VERSION: ${{ steps.meta.outputs.version }}
104104
run: |
105-
if npm view "xcode-canvas-web@${VERSION}" version >/dev/null 2>&1; then
106-
echo "xcode-canvas-web@${VERSION} is already published on npm."
105+
if npm view "simdeck@${VERSION}" version >/dev/null 2>&1; then
106+
echo "simdeck@${VERSION} is already published on npm."
107107
exit 0
108108
fi
109109
110110
if [ -z "${NODE_AUTH_TOKEN}" ]; then
111-
echo "NPM_TOKEN repository secret is required to publish xcode-canvas-web@${VERSION}." >&2
111+
echo "NPM_TOKEN repository secret is required to publish simdeck@${VERSION}." >&2
112112
exit 1
113113
fi
114114
@@ -119,13 +119,13 @@ jobs:
119119
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
120120
VERSION: ${{ steps.meta.outputs.version }}
121121
run: |
122-
if npm view "@nativescript/xcode-canvas-inspector@${VERSION}" version >/dev/null 2>&1; then
123-
echo "@nativescript/xcode-canvas-inspector@${VERSION} is already published on npm."
122+
if npm view "@nativescript/simdeck-inspector@${VERSION}" version >/dev/null 2>&1; then
123+
echo "@nativescript/simdeck-inspector@${VERSION} is already published on npm."
124124
exit 0
125125
fi
126126
127127
if [ -z "${NODE_AUTH_TOKEN}" ]; then
128-
echo "NPM_TOKEN repository secret is required to publish @nativescript/xcode-canvas-inspector@${VERSION}." >&2
128+
echo "NPM_TOKEN repository secret is required to publish @nativescript/simdeck-inspector@${VERSION}." >&2
129129
exit 1
130130
fi
131131

‎AGENTS.md‎

Lines changed: 30 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
# Xcode Canvas Web Agents Guide
1+
# SimDeck Agents Guide
22

33
This repository is a local-first simulator control plane. The product goal is a native CLI server that can manage iOS simulators, expose an HTTP API, and serve a React web client that shows live simulator output in the browser.
44

55
## Product Shape
66

77
- `cli/` is the native boundary.
88
- `client/` is the browser UI.
9-
- `skills/xcode-canvas-web/SKILL.md` is the operator guide for using the tool from Codex.
9+
- `skills/simdeck/SKILL.md` is the operator guide for using the tool from Codex.
1010
- `scripts/` holds repeatable build entrypoints.
1111
- `docs/` is the public VitePress documentation site (deployed to GitHub Pages by `.github/workflows/docs.yml`).
1212

@@ -80,58 +80,58 @@ Build the native CLI:
8080
./scripts/build-cli.sh
8181
```
8282

83-
This now builds the Rust server in `server/` and copies the resulting binary to `build/xcode-canvas-web`.
83+
This now builds the Rust server in `server/` and copies the resulting binary to `build/simdeck`.
8484

8585
Run the local server:
8686

8787
```sh
88-
./build/xcode-canvas-web serve --port 4310
88+
./build/simdeck serve --port 4310
8989
```
9090

9191
Use software H.264 when macOS screen recording starves the hardware encoder:
9292

9393
```sh
94-
./build/xcode-canvas-web serve --port 4310 --video-codec h264-software
94+
./build/simdeck serve --port 4310 --video-codec h264-software
9595
```
9696

9797
For LAN access:
9898

9999
```sh
100-
./build/xcode-canvas-web serve --port 4310 --bind 0.0.0.0 --advertise-host 192.168.1.50
100+
./build/simdeck serve --port 4310 --bind 0.0.0.0 --advertise-host 192.168.1.50
101101
```
102102

103103
Useful direct commands:
104104

105105
```sh
106-
./build/xcode-canvas-web list
107-
./build/xcode-canvas-web boot <udid>
108-
./build/xcode-canvas-web shutdown <udid>
109-
./build/xcode-canvas-web erase <udid>
110-
./build/xcode-canvas-web install <udid> /path/to/App.app
111-
./build/xcode-canvas-web uninstall <udid> com.example.App
112-
./build/xcode-canvas-web open-url <udid> https://example.com
113-
./build/xcode-canvas-web launch <udid> com.apple.Preferences
114-
./build/xcode-canvas-web pasteboard set <udid> "hello"
115-
./build/xcode-canvas-web pasteboard get <udid>
116-
./build/xcode-canvas-web screenshot <udid> --output screen.png
117-
./build/xcode-canvas-web describe-ui <udid>
118-
./build/xcode-canvas-web tap <udid> 120 240
119-
./build/xcode-canvas-web tap <udid> --label "Continue" --wait-timeout-ms 5000
120-
./build/xcode-canvas-web swipe <udid> 200 700 200 200
121-
./build/xcode-canvas-web gesture <udid> scroll-down
122-
./build/xcode-canvas-web pinch <udid> --start-distance 160 --end-distance 80
123-
./build/xcode-canvas-web rotate-gesture <udid> --radius 100 --degrees 90
124-
./build/xcode-canvas-web key-sequence <udid> --keycodes h,e,l,l,o
125-
./build/xcode-canvas-web key-combo <udid> --modifiers cmd --key a
126-
./build/xcode-canvas-web type <udid> "hello"
127-
./build/xcode-canvas-web button <udid> lock --duration-ms 1000
128-
./build/xcode-canvas-web home <udid>
106+
./build/simdeck list
107+
./build/simdeck boot <udid>
108+
./build/simdeck shutdown <udid>
109+
./build/simdeck erase <udid>
110+
./build/simdeck install <udid> /path/to/App.app
111+
./build/simdeck uninstall <udid> com.example.App
112+
./build/simdeck open-url <udid> https://example.com
113+
./build/simdeck launch <udid> com.apple.Preferences
114+
./build/simdeck pasteboard set <udid> "hello"
115+
./build/simdeck pasteboard get <udid>
116+
./build/simdeck screenshot <udid> --output screen.png
117+
./build/simdeck describe-ui <udid>
118+
./build/simdeck tap <udid> 120 240
119+
./build/simdeck tap <udid> --label "Continue" --wait-timeout-ms 5000
120+
./build/simdeck swipe <udid> 200 700 200 200
121+
./build/simdeck gesture <udid> scroll-down
122+
./build/simdeck pinch <udid> --start-distance 160 --end-distance 80
123+
./build/simdeck rotate-gesture <udid> --radius 100 --degrees 90
124+
./build/simdeck key-sequence <udid> --keycodes h,e,l,l,o
125+
./build/simdeck key-combo <udid> --modifiers cmd --key a
126+
./build/simdeck type <udid> "hello"
127+
./build/simdeck button <udid> lock --duration-ms 1000
128+
./build/simdeck home <udid>
129129
```
130130

131131
## Expectations For Future Changes
132132

133133
- If you add an API route, add the matching client affordance or document why it stays CLI-only.
134-
- If you change the CLI invocation shape, update `README.md` and `skills/xcode-canvas-web/SKILL.md` in the same pass.
134+
- If you change the CLI invocation shape, update `README.md` and `skills/simdeck/SKILL.md` in the same pass.
135135
- If you change a CLI flag, REST route, packet format, or inspector method, update the matching page under `docs/` in the same pass.
136136
- If you expand the private framework bridge, document the Xcode/runtime assumptions here.
137137
- If a feature depends on a booted simulator, fail with a clear JSON error instead of silently returning an empty asset.

‎README.md‎

Lines changed: 53 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
# Xcode Canvas Web
1+
# SimDeck
22

3-
`xcode-canvas-web` is a local simulator control plane with a Rust server, native Objective-C simulator bridge, and a React client.
3+
`simdeck` is a local simulator control plane with a Rust server, native Objective-C simulator bridge, and a React client.
44

55
- Rust product server in `server/`
66
- native Objective-C simulator/private-framework bridge in `cli/`
@@ -32,7 +32,7 @@ Requirements:
3232
Install the published CLI globally:
3333

3434
```sh
35-
npm install -g xcode-canvas-web
35+
npm install -g simdeck
3636
```
3737

3838
The npm package builds the native Rust/Objective-C CLI during `postinstall`; it
@@ -44,16 +44,16 @@ Install the current local checkout globally from source:
4444
npm install -g .
4545
```
4646

47-
After a global install, use the `xcode-canvas-web` command directly. From a local checkout, you can also run `./build/xcode-canvas-web`.
47+
After a global install, use the `simdeck` command directly. From a local checkout, you can also run `./build/simdeck`.
4848

4949
## Documentation
5050

51-
Full documentation lives at [djdeveloperr.github.io/xcode-canvas-web](https://djdeveloperr.github.io/xcode-canvas-web/), with guides, the CLI reference, the REST API, the WebTransport video pipeline, and the inspector protocols. The source for the site lives in [`docs/`](docs/) — preview it locally with `npm run docs:dev`.
51+
Full documentation lives at [djdeveloperr.github.io/SimDeck](https://djdeveloperr.github.io/SimDeck/), with guides, the CLI reference, the REST API, the WebTransport video pipeline, and the inspector protocols. The source for the site lives in [`docs/`](docs/) — preview it locally with `npm run docs:dev`.
5252

5353
## Run
5454

5555
```sh
56-
xcode-canvas-web serve --port 4310
56+
simdeck serve --port 4310
5757
```
5858

5959
Then open [http://127.0.0.1:4310](http://127.0.0.1:4310).
@@ -69,74 +69,74 @@ certificate hash, and packet version needed by the client.
6969
Enable the per-user background service with `launchd`:
7070

7171
```sh
72-
xcode-canvas-web service on --port 4310
72+
simdeck service on --port 4310
7373
```
7474

7575
Restart it:
7676

7777
```sh
78-
xcode-canvas-web service restart
78+
simdeck service restart
7979
```
8080

8181
Disable it:
8282

8383
```sh
84-
xcode-canvas-web service off
84+
simdeck service off
8585
```
8686

8787
Restart the CoreSimulator service layer when `simctl` reports a stale service
8888
version or the live display gets stuck before the first frame:
8989

9090
```sh
91-
xcode-canvas-web core-simulator restart
91+
simdeck core-simulator restart
9292
```
9393

9494
You can also start or stop the CoreSimulator service layer explicitly:
9595

9696
```sh
97-
xcode-canvas-web core-simulator start
98-
xcode-canvas-web core-simulator shutdown
97+
simdeck core-simulator start
98+
simdeck core-simulator shutdown
9999
```
100100

101101
## CLI
102102

103103
```sh
104-
xcode-canvas-web list
105-
xcode-canvas-web boot <udid>
106-
xcode-canvas-web shutdown <udid>
107-
xcode-canvas-web erase <udid>
108-
xcode-canvas-web install <udid> /path/to/App.app
109-
xcode-canvas-web uninstall <udid> com.example.App
110-
xcode-canvas-web open-url <udid> https://example.com
111-
xcode-canvas-web launch <udid> com.apple.Preferences
112-
xcode-canvas-web toggle-appearance <udid>
113-
xcode-canvas-web pasteboard set <udid> "hello"
114-
xcode-canvas-web pasteboard get <udid>
115-
xcode-canvas-web screenshot <udid> --output screen.png
116-
xcode-canvas-web describe-ui <udid>
117-
xcode-canvas-web describe-ui <udid> --point 120,240
118-
xcode-canvas-web tap <udid> 120 240
119-
xcode-canvas-web tap <udid> --label "Continue" --wait-timeout-ms 5000
120-
xcode-canvas-web swipe <udid> 200 700 200 200
121-
xcode-canvas-web gesture <udid> scroll-down
122-
xcode-canvas-web pinch <udid> --start-distance 160 --end-distance 80
123-
xcode-canvas-web rotate-gesture <udid> --radius 100 --degrees 90
124-
xcode-canvas-web touch <udid> 0.5 0.5 --phase began --normalized
125-
xcode-canvas-web touch <udid> 120 240 --down --up --delay-ms 800
126-
xcode-canvas-web key <udid> enter
127-
xcode-canvas-web key-sequence <udid> --keycodes h,e,l,l,o
128-
xcode-canvas-web key-combo <udid> --modifiers cmd --key a
129-
xcode-canvas-web type <udid> "hello"
130-
xcode-canvas-web type <udid> --file message.txt
131-
xcode-canvas-web button <udid> lock --duration-ms 1000
132-
xcode-canvas-web batch <udid> --step "tap --label Continue" --step "type 'hello'"
133-
xcode-canvas-web dismiss-keyboard <udid>
134-
xcode-canvas-web home <udid>
135-
xcode-canvas-web app-switcher <udid>
136-
xcode-canvas-web rotate-left <udid>
137-
xcode-canvas-web rotate-right <udid>
138-
xcode-canvas-web chrome-profile <udid>
139-
xcode-canvas-web logs <udid> --seconds 30 --limit 200
104+
simdeck list
105+
simdeck boot <udid>
106+
simdeck shutdown <udid>
107+
simdeck erase <udid>
108+
simdeck install <udid> /path/to/App.app
109+
simdeck uninstall <udid> com.example.App
110+
simdeck open-url <udid> https://example.com
111+
simdeck launch <udid> com.apple.Preferences
112+
simdeck toggle-appearance <udid>
113+
simdeck pasteboard set <udid> "hello"
114+
simdeck pasteboard get <udid>
115+
simdeck screenshot <udid> --output screen.png
116+
simdeck describe-ui <udid>
117+
simdeck describe-ui <udid> --point 120,240
118+
simdeck tap <udid> 120 240
119+
simdeck tap <udid> --label "Continue" --wait-timeout-ms 5000
120+
simdeck swipe <udid> 200 700 200 200
121+
simdeck gesture <udid> scroll-down
122+
simdeck pinch <udid> --start-distance 160 --end-distance 80
123+
simdeck rotate-gesture <udid> --radius 100 --degrees 90
124+
simdeck touch <udid> 0.5 0.5 --phase began --normalized
125+
simdeck touch <udid> 120 240 --down --up --delay-ms 800
126+
simdeck key <udid> enter
127+
simdeck key-sequence <udid> --keycodes h,e,l,l,o
128+
simdeck key-combo <udid> --modifiers cmd --key a
129+
simdeck type <udid> "hello"
130+
simdeck type <udid> --file message.txt
131+
simdeck button <udid> lock --duration-ms 1000
132+
simdeck batch <udid> --step "tap --label Continue" --step "type 'hello'"
133+
simdeck dismiss-keyboard <udid>
134+
simdeck home <udid>
135+
simdeck app-switcher <udid>
136+
simdeck rotate-left <udid>
137+
simdeck rotate-right <udid>
138+
simdeck chrome-profile <udid>
139+
simdeck logs <udid> --seconds 30 --limit 200
140140
```
141141

142142
`describe-ui` uses the built-in private CoreSimulator accessibility bridge and
@@ -153,10 +153,10 @@ their NativeScript logical hierarchy plus raw UIKit backing views without
153153
linking the Swift inspector framework:
154154

155155
```ts
156-
import { startXcodeCanvasInspector } from "@nativescript/xcode-canvas-inspector";
156+
import { startSimDeckInspector } from "@nativescript/simdeck-inspector";
157157

158158
if (__DEV__) {
159-
startXcodeCanvasInspector({ port: 4310 });
159+
startSimDeckInspector({ port: 4310 });
160160
}
161161
```
162162

@@ -173,7 +173,7 @@ Package the local VS Code extension from this checkout:
173173
npm run package:vscode-extension
174174
```
175175

176-
This writes `build/vscode/xcode-canvas-web-vscode.vsix`.
176+
This writes `build/vscode/simdeck-vscode.vsix`.
177177

178178
Install that local package into VS Code:
179179

@@ -182,11 +182,11 @@ npm run install:vscode-extension
182182
```
183183

184184
The install script packages the extension first if the `.vsix` does not exist,
185-
then runs the VS Code CLI with `--install-extension build/vscode/xcode-canvas-web-vscode.vsix --force`.
185+
then runs the VS Code CLI with `--install-extension build/vscode/simdeck-vscode.vsix --force`.
186186
If the `code` command is not available, install it from VS Code with
187187
`Shell Command: Install 'code' command in PATH`.
188188

189-
Then run `Xcode Canvas Web: Open Simulator View` from the Command Palette. The extension will open the simulator
189+
Then run `SimDeck: Open Simulator View` from the Command Palette. The extension will open the simulator
190190
inside a VS Code panel and auto-start the local server when it is not already reachable.
191191

192192
## License
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,11 @@ const packageRoot = path.resolve(
99
path.dirname(fileURLToPath(import.meta.url)),
1010
"..",
1111
);
12-
const binaryPath = path.join(packageRoot, "build", "xcode-canvas-web-bin");
12+
const binaryPath = path.join(packageRoot, "build", "simdeck-bin");
1313

1414
if (!existsSync(binaryPath)) {
1515
console.error(
16-
"xcode-canvas-web is not built yet. Reinstall or rebuild the package so the native CLI is available.",
16+
"simdeck is not built yet. Reinstall or rebuild the package so the native CLI is available.",
1717
);
1818
process.exit(1);
1919
}

0 commit comments

Comments
 (0)