| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | feat: port domain crates to Rust (session 1 complete) | cashmere | 2026-07-28 | 91 | -231/+13036 |
| | | | | | | | | | | | | | | | | | | | | | | All green: cargo test --workspace (~300 tests, 0 failures). - timeline (45): placement, resize/ripple, split, snap, retime, audio separation, scene helpers - animation (73): bezier solver, channel sampling, keyframe ops, split/clamp/clone, param definitions - commands (9): Command trait, BatchCommand, history, 19 concrete commands, freeze-frame port 1:1 - audio (22): audible collection, range mixing, mastering limiter, rms/peak buckets - text (19): cosmic-text layout/measure/raster, backgrounds, decorations - graphics (52): full CSS gradient parser, tiny-skia raster, 4 shape definitions - effect-defs (16): blur definition, registry, pass resolution - mask-defs (19): all 9 mask renderers via tiny-skia - renderer (6): node model + scene builder port - desktop: GPUI projects screen wired to ProjectStore - scene: factory (web defaults: v32, Main Track, 1920x1080, 30fps) | ||||
| * | feat: GPUI desktop port foundation | cashmere | 2026-07-28 | 109 | -0/+10000 |
| | | | | | | | | | | | | | | | | | | - scene crate: full project/scene/element model, serde round-trip proven against the web SerializedProject shape - transfer crate: .ocp zip container, cross-compat with web fflate archives proven in both directions - storage crate: filesystem project store replacing IndexedDB, .ocp import/export - media crate: ffmpeg-next 8 decoder (frames, audio, thumbnails, waveform summaries) - playback crate: wall-clock anchored, frame-rounded playback clock - gpu crate: native texture readback; compositor renders headless offscreen on Vulkan (spike test) - flake devshell: rust toolchain, GPUI native deps, ffmpeg dev, bindgen clang args; GPUI hello-world builds - port plan in notes/gpui-port.md | ||||
| * | refactor: split animation helpers by domain | Maze Winther | 2026-04-26 | 6 | -101/+224 |
| |\ | |||||
| | * | refactor: centralize editor interaction state | Maze Winther | 2026-04-25 | 3 | -87/+126 |
| | | | | | | | | | | | | | | | | | Move timeline and preview gestures into dedicated controllers so hooks stay thin around editor state and DOM events. This also routes drag and playback synchronization through manager APIs and reuses persistent wasm surfaces so scrubbing, seeking, and preview rendering stay in sync. Made-with: Cursor | ||||
| | * | perf: improve rendering performance by ~20x | Maze Winther | 2026-04-22 | 5 | -20/+104 |
| |/ | |||||
| * | chore: bump opencut-wasm version | Maze Winther | 2026-04-22 | 1 | -1/+1 |
| | | |||||
| * | fix: wasm WebGL only until WebGPU is fixed | Maze Winther | 2026-04-22 | 1 | -9/+10 |
| | | |||||
| * | fix: WebGL frame rendering and opencut-wasm 0.2.8 | Maze Winther | 2026-04-19 | 7 | -73/+262 |
| | | |||||
| * | fix: align LayerUniformBuffer to 16 bytes for WebGL compat | Maze Winther | 2026-04-18 | 1 | -0/+2 |
| | | |||||
| * | chore: bump opencut-wasm to 0.2.5 | Maze Winther | 2026-04-13 | 1 | -1/+1 |
| | | |||||
| * | feat: wasm compositor | Maze Winther | 2026-04-13 | 14 | -1/+1441 |
| | | | | | Made-with: Cursor | ||||
| * | refactor: gpu webgl fallback and batched command encoding | Maze Winther | 2026-04-13 | 8 | -125/+439 |
| | | | | | Made-with: Cursor | ||||
| * | refactor: split effects and masks into dedicated rust crates, introduce ↵ | Maze Winther | 2026-04-07 | 30 | -1161/+1744 |
| | | | | | MediaTime and FrameRate | ||||
| * | chore: update opencut-wasm to 0.1.3 | Maze Winther | 2026-04-03 | 1 | -1/+1 |
| | | |||||
| * | fix: use published opencut-wasm package | Maze Winther | 2026-04-01 | 1 | -0/+21 |
| | | |||||
| * | feat: migrate GPU renderer from WebGL to wgpu/WASM | Maze Winther | 2026-04-01 | 16 | -0/+1728 |
| | | |||||
| * | feat: migrate time utilities from typescript to rust WASM | Maze Winther | 2026-03-31 | 5 | -76/+262 |
| | | |||||
| * | feat: add shared Rust crates for cross-platform time utilities | Maze Winther | 2026-03-29 | 5 | -0/+385 |
| Introduce `bridge` proc-macro crate with `#[export]` attribute that conditionally applies `wasm_bindgen` for WASM builds, and `time` crate porting all timecode/frame utilities from TypeScript to Rust. | |||||
