Skip to content

Commit bab8af8

Browse files
mazeincodingcursoragent
authored andcommitted
Merge branch 'rewrite'
Co-authored-by: Maze <mazeincoding@users.noreply.github.com>
2 parents a2b520f + b59255c commit bab8af8

14 files changed

Lines changed: 142 additions & 13 deletions

File tree

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
node_modules/
22
dist/
3+
target/
34
.env
45
.env.*
56
!.env.example

.moon/toolchains.yml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,5 @@ bun:
88
# Auto-install deps when lockfile/manifest changes
99
installDependencies: true
1010

11-
# Rust toolchain — no crates yet, but enabling it now means
12-
# moon will automatically understand Cargo.toml files and
13-
# track Cargo.lock for hashing when they appear.
11+
# Version is inherited from .prototools (versionFromPrototools)
1412
rust: {}

.moon/workspace.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
$schema: 'https://moonrepo.dev/schemas/workspace.json'
22

33
# Discover all projects under apps/ automatically.
4-
# When Rust crates land, add a 'crates/*' glob here.
4+
# When shared crates land under crates/, add a 'crates/*' glob here.
55
projects:
66
- 'apps/*'

.prototools

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,3 +2,4 @@
22
# Every developer and CI machine gets the exact same versions automatically.
33
moon = "2.3.3"
44
bun = "1.3.11"
5+
rust = "1.97.0"

Cargo.toml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
[workspace]
2+
resolver = "3"
3+
members = [
4+
'apps/desktop',
5+
]
6+
7+
[workspace.package]
8+
version = "0.1.0"
9+
edition = "2024"
10+
license = "MIT"
11+
12+
[workspace.dependencies]
13+
gpui = "0.2.2"

README.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
- Headless mode (automation, batch rendering)
2626
- A scripting tab directly in the editor
2727

28-
You can still find the previous version at [opencut-app/opencut-classic](https://github.com/opencut-app/opencut-classic), which is the one to reach for today. [opencut.app](https://opencut.app) still runs the classic version; the rewrite will live at [new.opencut.app](https://new.opencut.app) until it's ready to take over.
28+
You can still find the previous version at [opencut-app/opencut-classic](https://github.com/opencut-app/opencut-classic), which is the one to reach for today. [opencut.app](https://opencut.app) still runs the classic version. The rewrite will live at [new.opencut.app](https://new.opencut.app) until it's ready to take over.
2929

3030
## Development
3131

@@ -38,13 +38,13 @@ bash <(curl -fsSL https://moonrepo.dev/install/proto.sh)
3838
From the repo root:
3939

4040
```sh
41-
proto use # installs bun + moon at the versions pinned in .prototools
42-
bun install
41+
proto use # installs the tools pinned in .prototools
4342
```
4443

4544
```sh
46-
moon run web:dev # localhost:5173
47-
moon run api:dev # localhost:8787
45+
moon run web:dev # localhost:5173
46+
moon run api:dev # localhost:8787
47+
moon run desktop:dev # see apps/desktop/README.md
4848
```
4949

5050
## Contributing

apps/api/moon.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ tasks:
77
dev:
88
command: 'bun run dev'
99
options:
10-
runInCI: false # dev server skipped in CI, never cached
10+
runInCI: false # dev server: skipped in CI, never cached
1111

1212
build:
1313
command: 'bun run build'

apps/api/src/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,5 +11,5 @@ export default new Elysia({ adapter: CloudflareAdapter })
1111
body: t.Object({ message: t.String() }),
1212
}
1313
)
14-
// .compile() is required it triggers AoT compilation at startup
14+
// .compile() is required, it triggers AoT compilation at startup
1515
.compile();

apps/desktop/Cargo.toml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
[package]
2+
name = "opencut-desktop"
3+
description = "OpenCut desktop app, built with GPUI"
4+
version.workspace = true
5+
edition.workspace = true
6+
license.workspace = true
7+
8+
[[bin]]
9+
name = "opencut-desktop"
10+
path = "src/main.rs"
11+
12+
[dependencies]
13+
gpui = { workspace = true }

apps/desktop/README.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# OpenCut Desktop
2+
3+
Built with [GPUI](https://www.gpui.rs).
4+
5+
> [!WARNING]
6+
> Very early. Right now this is just a window that opens.
7+
8+
## Running
9+
10+
Rust is pinned in `.prototools` at the repo root (`proto use` installs it).
11+
12+
```sh
13+
moon run desktop:dev # cargo run
14+
moon run desktop:check # cargo check
15+
moon run desktop:build # cargo build --release
16+
```
17+
18+
The first build compiles GPUI from source and takes a while. The root `Cargo.lock` is committed.
19+
20+
## Platform requirements
21+
22+
- **macOS**: Xcode command line tools (Metal renderer).
23+
- **Windows**: no extra dependencies (Win32 + DirectWrite).
24+
- **Linux**: renders via Vulkan (Blade), windows via Wayland or X11 (both enabled by default). System packages (Debian/Ubuntu names): `libvulkan1` + working Vulkan drivers, `libwayland-dev`, `libx11-xcb-dev`, `libxkbcommon-x11-dev`, `libfontconfig-dev`, plus a C toolchain and `cmake`.

0 commit comments

Comments
 (0)