Skip to content

Commit 67131a2

Browse files
committed
Remove CLI client stub
1 parent 7785ed2 commit 67131a2

File tree

7 files changed

+8
-32
lines changed

7 files changed

+8
-32
lines changed

Cargo.lock

Lines changed: 0 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
[workspace]
22
members = [
33
"core/*",
4-
"client/cli",
54
"client/web/wasm",
65
]
76

README.md

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -52,29 +52,21 @@ Development is broken into monthly sprints culminating in a presentation at the
5252

5353
## Running the code
5454

55-
The project is split between clients and core libraries (which use the clients). Currently the only important client is the web frontend (`/client/web`). There's also a CLI client (`/client/cli`) that may be useful for testing. The only core library so far is the Editor Core Library (`/core/editor`). The web client's Vue code lives in `/client/web/src` and a Rust wrapper for the Editor Core Library (which exposes functions to JavaScript through bindings generated by wasm-bindgen) lives in `/client/web/wasm`.
55+
The project is split between clients and core libraries (which are used by the clients). Currently the only client is the web frontend (`/client/web`). The web client's Vue code lives in `/client/web/src` and a Rust translation layer for the editor core library lives in `/client/web/wasm`.
5656

5757
A good starting point for learning about the code structure and architecture is reading the [documentation](docs/index.md).
5858

5959
### Web client
6060

61-
This is the primary means of running and developing the project. You may need to download and install a recent version of [Node.js](https://nodejs.org/) and [Rust](https://www.rust-lang.org/) (on Windows, this requires the MSVC toolchain properly configured with the Visual Studio Build Tools installed on your machine including the "Desktop development with C++" workload).
61+
This is the primary means of running and developing the project. You may need to download and install a recent version of [Node.js](https://nodejs.org/) and [Rust](https://www.rust-lang.org/) (on Windows, this requires the MSVC toolchain properly configured with the Visual Studio Build Tools installed on your machine including the "Desktop development with C++" workload). Ensure you have the latest stable version of Rust if there are issues building.
6262

6363
```
6464
npm run serve
6565
```
6666

67-
After editing some Rust and TypeScript code, you may need to manually restart the developments server because this is not properly watching all files right now. (Please submit a PR to help fix this!)
67+
The server automatically watches for changes to Vue files and rebuilds them. However core Rust and TypeScript file changes require a manual restart of the development server. (Please submit a PR to help it watch the `.ts` files!)
6868

69-
You can also use `npm run lint` as well as `npm run build` (the static files will end up in `/client/web/dist`).
70-
71-
### CLI client
72-
73-
This may be useful for testing at some point in the future.
74-
75-
```
76-
cargo run
77-
```
69+
You can also use `npm run lint` and `npm run lint-no-fix` to solve web formatting and `cargo fmt` for Rust formatting. Also `npm run build` writes static files to `/client/web/dist` instead of serving them from memory.
7870

7971
### Editor core library
8072

client/cli/Cargo.toml

Lines changed: 0 additions & 11 deletions
This file was deleted.

client/cli/README.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# CLI headless client
2+
3+
This will be the official command line program for editing and rendering Graphite documents and assets. It acts as a stateless tool for calling the APIs of the document core library and the render engine core library. This is useful for automation through shell scripts, for example, rather than needing to write custom software to use the Graphite core libraries. Because the Graphite CLI tool does not rely on the editor core library, there is no concept of tools or state.

client/cli/src/main.rs

Lines changed: 0 additions & 3 deletions
This file was deleted.

docs/codebase/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ The main modules of the project architecture are outlined below. Some parts desc
2525
- Native frontend: `/client/native/`
2626
The future official desktop client. Blocked on Rust's GUI ecosystem improving or dedicating the time to build a custom system that can nicely support editor extensions. The whole GUI should use WGPU for rendering and compile to WASM to make those calls to the WebGPU API.
2727
- CLI: `/client/cli/`
28-
A headless, command line GDD document editor (using the Document Core Library) and GRD render graph renderer (using the Renderer Core Library). Not the initial focus of development, but perhaps useful in testing for certain features throughout the development process. A future version of the CLI will probably redesign the command structure.
28+
A future headless, stateless, command line GDD document editor (using the Document Core Library) and GRD render graph renderer (using the Renderer Core Library).
2929
- **Graphite Editor Core Library**: `/core/editor/`
3030
Used by a frontend editor client to maintain GUI state and dispatch user events. The official Graphite editor is the primary user, but others software like game engines could embed their own customized editor implementations. Depends on the Document Core Library.
3131
- Graphite Document Core Library: `/core/document/`

0 commit comments

Comments
 (0)