diff --git a/ATTRIBUTION.md b/ATTRIBUTION.md index 79e3c4b9..abe06308 100644 --- a/ATTRIBUTION.md +++ b/ATTRIBUTION.md @@ -17,6 +17,11 @@ iconography, images or other Adobe assets; open licences only; every asset attri | `docs/images/filmcraft-color.png` | FilmCraft contributors | Original work: FilmCraft screenshot; frames from Charade (1963, public domain) | MIT OR Apache-2.0; film frames public domain | | `docs/images/filmcraft-keyframes.png` | FilmCraft contributors | Original work: FilmCraft screenshot; frames from Night of the Living Dead (1968, public domain) | MIT OR Apache-2.0; film frames public domain | | `docs/images/filmcraft-export.png` | FilmCraft contributors | Original work: FilmCraft screenshot; frame from Night of the Living Dead (1968, public domain) | MIT OR Apache-2.0; film frames public domain | +| `docs/images/filmcraft-assembly.png` | FilmCraft contributors | Original work: FilmCraft screenshot; frames from Carnival of Souls (1962), Night of the Living Dead (1968), thumbnails of all demo media | MIT OR Apache-2.0; film frames public domain | +| `docs/images/filmcraft-lumetri.png` | FilmCraft contributors | Original work: FilmCraft UI crop (Lumetri Color panel) | MIT OR Apache-2.0 | +| `docs/images/filmcraft-scopes.png` | FilmCraft contributors | Original work: FilmCraft UI crop (scopes of a Charade (1963) frame, public domain) | MIT OR Apache-2.0 | +| `docs/images/filmcraft-effects.png` | FilmCraft contributors | Original work: FilmCraft screenshot crop; NASA Earth Views (US Government work, public domain) | MIT OR Apache-2.0; footage public domain | +| `docs/images/filmcraft-timeline.png` | FilmCraft contributors | Original work: FilmCraft UI crop; thumbnails from Night of the Living Dead (1968) and Carnival of Souls (1962), CC0 Chopin waveform | MIT OR Apache-2.0; film frames public domain | ## Third-party media shown in screenshots diff --git a/README.md b/README.md index 6fa9a200..bb0576d0 100644 --- a/README.md +++ b/README.md @@ -1,45 +1,180 @@

FilmCraft

- Non-linear video editing, reimagined in pure Rust.
+ Professional video editing, rebuilt from scratch in pure Rust.
An open-source, clean-room take on the Adobe Premiere Pro workflow: native on macOS, Windows and Linux, and in the browser via WebAssembly.
By the artcraft team.

+

+ Edit · + Color · + Effects · + Audio · + Formats · + Export · + Interchange · + Agents · + Get started +

+

FilmCraft cutting a trailer for Night of the Living Dead (1968): Effect Controls, the Program monitor on the ghouls advancing, the Project bin of public-domain films, and a multi-track timeline with dissolves, markers, a Carnival of Souls insert, a Chopin score and loudness meters

+

Cutting a trailer for Night of the Living Dead (1968). Every frame in these screenshots comes from public-domain footage, decoded, composited and graded by FilmCraft's own code.

+ +
+ +FilmCraft is a non-linear editor for people who know Premiere: the same panels, workspaces, tools and shortcuts, so your hands already know where everything is. Underneath, it is new from the bitstream up. The H.264, HEVC, ProRes and AAC codecs are our own, written in Rust from the public specifications. A GPU compositor works in linear light. Frame math runs on exact integer time, so edits never drift. And every action in the app is a command that an AI agent can drive as precisely as you can. + +
+ +## Edit + +

+ Assembly workspace: Carnival of Souls in the Source monitor with In and Out marks, Night of the Living Dead in the Program monitor, the trailer in the timeline +

+ +**A timeline you already know.** Source and Program monitors, bins with thumbnails, a multi-track timeline with patch and target buttons, sync locks and linked selection. The Editing, Assembly, Color, Effects and Audio workspaces are all there, and every panel docks wherever you want it. + +- **Three-point editing.** Mark In and Out in the Source monitor, then insert (`,`) or overwrite (`.`) onto the patched tracks. Lift (`;`) and extract (`'`) take ranges back out. +- **Every trim.** Ripple, roll, slip, slide, rate stretch and razor tools. Trim mode selects edit points as ripple, roll or trim, nudges them a frame at a time (`⌥←` `⌥→`, ×5 with `⇧`), toggles the trim type with `⌃T` and extends them to the playhead with `E`. `Q` and `W` ripple-trim to the playhead. +- **Exact time.** Every edit is computed on integer ticks: 254,016,000,000 per second, which divides evenly by every common frame rate and sample rate. 23.976, 29.97 drop-frame and 59.94 are exact, not approximate. +- **The details pros rely on.** Markers with colours, names and durations; add edit (`⌘K`) on one or all tracks; nesting; copy, paste and paste insert; ripple delete and close gap; snapping; unlimited undo with a History panel. + +

+ Timeline detail: Night of the Living Dead shots with dissolves, a Carnival of Souls insert on V2, the Chopin score as a waveform on A2, markers and loudness meters +

+ +
+ +## Color + +

+ Color workspace: a Lumetri grade on Charade (1963) with curves, colour sliders, waveform and vectorscope +

+ +**A complete Lumetri-style grading panel**, in the order a colourist works: + +- **Basic Correction:** temperature and tint, exposure, contrast, highlights, shadows, whites, blacks, saturation. +- **Creative:** eight built-in looks with an intensity control, plus faded film, sharpen and vibrance. The looks are colour transforms written in code, not LUT files. +- **Curves:** an RGB curve editor with monotone-cubic interpolation (no overshoot), and hue vs saturation, hue vs hue, hue vs luma, luma vs saturation and saturation vs saturation. +- **Color Wheels:** shadow, midtone and highlight wheels, each with its own lightness control. +- **HSL Secondary:** key a colour by hue, saturation and luma, view the key as a matte, and correct only what you selected. +- **Vignette:** amount, midpoint, roundness and feather. + - - - - - - + +
Color workspace: a Lumetri grade on Charade (1963) with curves, colour sliders, waveform and vectorscope
Colour. Grading Charade (1963) with Lumetri-style curves and scopes.
Effect Controls with the value and velocity graphs of an eased Scale push-in on the Night of the Living Dead title
Keyframes. An eased push-in on the title, with value and velocity graphs.
Export mode with H.264 MP4 settings
Export. H.264 MP4 with our own encoder.
Footage: Night of the Living Dead (1968), Carnival of Souls (1962) and Charade (1963), all in the US public domain; music: Chopin performed for Musopen (CC0). The media is not in this repository; full credits in ATTRIBUTION.md.The Lumetri Color panel: basic correction sliders with temperature and tint gradients, and three colour wheelsLumetri Scopes: waveform and vectorscope of a Charade frame

Scopes that tell the truth. The waveform and vectorscope are computed from the graded frame. All grading happens in linear light, in 32-bit float.
-## Highlights +
-- **Own codecs, in Rust.** H.264 decoder (bit-exact against ffmpeg, 500+ fps at 1080p) and encoder (High profile, CABAC, B-frames, 2-pass), HEVC Main/Main 10 decoder, ProRes decode and encode, AAC-LC decode and encode, MP4/MOV and Matroska/WebM containers. No FFmpeg inside. -- **Real editing.** Insert, overwrite, ripple, roll, slip, slide, rate stretch, razor, lift/extract, nesting and markers, all built on an exact integer time base (254,016,000,000 ticks per second), so frame math never drifts. -- **GPU compositing.** A wgpu compositor samples YUV directly with footprint supersampling and blends in linear light, with a matching CPU path. Playback runs in real time at 1080p, using the audio clock as master. -- **Colour.** Lumetri-style grading: basic correction, creative looks, RGB and hue curves, colour wheels, HSL secondary and vignette, plus waveform and vectorscope. -- **Keyframes.** Linear, Bezier, auto/continuous Bezier, hold and ease, with value and velocity graphs. -- **Audio.** EBU R128 / BS.1770 loudness meters (momentary, short-term, integrated, true peak), and clip effects (EQ, filters, dynamics, limiter, delay, reverb, DeNoise, DeHum, pitch shift) on our own DSP library. -- **Export.** H.264 MP4 with AAC, ProRes and MJPEG MOV, PNG sequences, GIF and WAV, run as background jobs. -- **Agent-drivable.** Every action is a command. The UI, a CLI, a JSON control channel and an MCP server all drive the same engine, so Claude or any agent can edit, grade and export. +## Effects and motion -## Status +

+ Effects workspace: Effect Controls, NASA Earth Views from the ISS with a Golden Hour look, and the Effects browser +

-Early but moving fast: roughly 30% of the way to Premiere Pro parity. See **[ROADMAP.md](ROADMAP.md)** for milestone status and estimates. +- **Around 55 video effects and 30 transitions.** Blurs, keys, distortions, stylize and colour effects. Cross dissolve, dip to black or white, film dissolve, wipes, irises, pushes, slides, zooms, page peel, cube spin and more. +- **Motion and opacity on every clip:** position, scale, rotation, anchor point and anti-flicker, plus 26 blend modes. +- **Keyframes like Premiere's:** linear, Bezier, auto and continuous Bezier, hold, ease in and ease out. Effect Controls shows a keyframe lane for every parameter, and each animated parameter opens into **value and velocity graphs** with draggable influence handles. +- **A GPU compositor** built on wgpu (Metal, Vulkan, DirectX 12, WebGPU). It samples YUV straight from the decoder with footprint supersampling and blends in linear light. A CPU path renders the same frames, and the two are tested against each other. -## Quick start +

+ Effect Controls with the value and velocity graphs of an eased Scale push-in on the Night of the Living Dead title +

+ +

An eased push-in on the title card: the value graph, the velocity graph and the Bezier influence handle.

+ +
+ +## Audio + +- **Loudness meters to broadcast standards.** Momentary, short-term and integrated loudness and true peak to ITU-R BS.1770 and EBU R128, alongside the peak meters. Our integrated reading matches ffmpeg's `ebur128` filter to the tenth of a LU. +- **Clip effects on our own DSP library:** parametric EQ, high-pass, low-pass and band-pass filters, dynamics, a true-peak limiter, delay, reverb, DeNoise, DeHummer, invert and pitch shift. Parameters can be keyframed. Effects stay continuous across scrubbing, playback and export, with latency compensated. +- **Mixing:** clip gain, volume and channel volume with keyframes; track volume, pan, mute, solo and sync lock; constant-power crossfades; waveforms drawn on every clip. +- **Audio-clock playback.** The sound card is the master clock, so picture follows sound and never the other way round. + +
+ +## Formats and codecs + +No FFmpeg inside. The video codecs, AAC and the containers are our own Rust code, implemented from the public ITU-T, ISO and IETF specifications and tested frame by frame against ffmpeg as an external oracle. + +| | Decode | Encode | Notes | +|---|:---:|:---:|---| +| **H.264 / AVC** | ✓ | ✓ | Decoder bit-exact on 37+ streams, 500–600 fps at 1080p. Encoder: High, Main and Baseline profiles, CABAC, B-frames, CRF/CBR/VBR/2-pass | +| **HEVC / H.265** | ✓ | | Main and Main 10, bit-exact on 41 streams (tiles, WPP, PCM, long-term references), about 225 fps at 1080p | +| **Apple ProRes** | ✓ | ✓ | Decodes 422 Proxy to 4444 XQ; export writes 422 HQ | +| **AAC-LC** | ✓ | ✓ | | +| **MJPEG, PCM** | ✓ | ✓ | | +| **MP3, FLAC, ALAC, Vorbis** | ✓ | | Via the [symphonia](https://github.com/pdeljanov/Symphonia) crate (MPL-2.0) for now, to be replaced by our own | +| **MP4 / MOV** | ✓ | ✓ | Fragmented MP4, edit lists, timecode tracks | +| **Matroska / WebM** | ✓ | | Lacing, Cues, header stripping, HDR colour metadata | +| **Stills** | ✓ | ✓ | Import PNG, JPEG, GIF, WebP, TIFF and BMP; export PNG sequences and animated GIF | + +VP9, Opus, AV1, DNxHR and MXF are next ([roadmap](ROADMAP.md)). + +
+ +## Export + +

+ Export mode with H.264 MP4 settings +

+ +- **H.264 MP4 with AAC, using our own encoders.** A 6-second 960×540 render takes 1.3 seconds and decodes cleanly in ffmpeg with error concealment switched off. +- **Also:** Apple ProRes 422 HQ and Motion JPEG in QuickTime, PNG sequences, animated GIF and WAV. +- **Background jobs** with progress and cancel, so you keep editing while it renders. + +
+ +## Interchange + +Move timelines between FilmCraft and every other editor: + +- **Final Cut Pro 7 XML (xmeml):** the format Premiere and DaVinci Resolve exchange. It carries nested sequences, transitions, generators, Motion, Opacity, Time Remap and audio levels, with keyframes. +- **FCPXML 1.9–1.11:** the spine, connected clips as lanes, transitions, retiming and compound clips. +- **OpenTimelineIO:** the open interchange format of the film industry, round-tripping every FilmCraft detail through `metadata.filmcraft`. +- **CMX 3600 EDL:** the oldest format still in use, with drop-frame timecode, dissolves, wipes, speed changes (`M2`) and one EDL per track. + +Import merges the document's bins, media and sequences into your project as one undoable step, and links each media file it finds on disk. + +
+ +## Built for agents + +Every menu item, button, slider and drag in FilmCraft is a **command** with an id, typed parameters and an enabled state. There are about 135 engine commands so far, with the rest of Premiere's catalogue on the way. The UI, the CLI, a JSON control channel and an **MCP server** all dispatch the same commands, so Claude or any agent can cut, trim, grade, mix and export exactly the way a person does. The UI can also be driven at the level of mouse and keyboard: every widget has an automation id, and agents can click, drag, type and take screenshots. + +```jsonc +// over the control channel (JSON lines on TCP) or as MCP tool calls +{"method": "engine.execute", "params": {"command": "timeline.place", + "params": {"item": 1, "track": "V1", "seconds": 0, "sourceIn": 284298240000000, "duration": 1270080000000}}} +{"method": "engine.execute", "params": {"command": "effects.setParam", + "params": {"clip": 87, "effect": "lumetri", "param": "curve_luma", "value": [[0,0],[0.25,0.21],[0.75,0.82],[1,1]]}}} +{"method": "ui.screenshot", "params": {"path": "frame.png"}} +``` + +The trailer and the grades in these screenshots were built exactly this way, by an agent driving the running app. + +
+ +## Everywhere + +- **Native** on macOS, Windows and Linux, with a native macOS menu bar. +- **The web:** every crate up to the engine compiles to `wasm32`; the browser front end is next. +- **Swappable UI.** The interface is one crate (`ui-egui`) over the engine, so a different front end can replace it without touching editing logic. + +
+ +## Get started ```sh -cargo run --release -p filmcraft # desktop app with the demo project +cargo run --release -p filmcraft # the desktop app, with a demo project cargo run --release -p filmcraft -- --control 9876 # plus the JSON-lines control server cargo run --release -p filmcraft-cli -- commands # list every engine command cargo run --release -p filmcraft-cli -- mcp # MCP server (headless) @@ -47,9 +182,24 @@ cargo run --release -p filmcraft-cli -- mcp # MCP server (headles The control protocol is documented in [docs/control-protocol.md](docs/control-protocol.md). +## Status + +FilmCraft is young and moving fast: roughly 30% of the way to Premiere Pro parity, with editing, colour, keyframes, codecs and export working today. [ROADMAP.md](ROADMAP.md) tracks every milestone with estimates. + ## Architecture -A layered Cargo workspace: codecs and containers at the bottom, then frames and media, project model and edit algebra, rendering and export, the engine (command registry, session, undo), and finally the swappable UI (`ui-egui`). Nothing below the UI layer depends on a UI toolkit or OS APIs, and everything up to the engine compiles to `wasm32`. `cargo xtask ci` checks formatting, lints, tests, the layering rules and the wasm build. +A layered Cargo workspace: + +| Layer | Crates | +|---|---| +| Codecs and containers | `h264`, `h264enc`, `hevc`, `prores`, `aac`, `isobmff`, `matroska`, `bitstream` | +| Foundations | `time`, `geom`, `color`, `frame`, `media`, `project`, `audio-dsp` | +| Editing and interchange | `edit`, `codecs`, `interchange` | +| Rendering and output | `render`, `gpu`, `export` | +| Engine | `engine`: command registry, session, undo, jobs | +| Front ends | `ui-egui`, `automation` (MCP), `apps/filmcraft`, `apps/filmcraft-cli` | + +Nothing below the front ends depends on a UI toolkit or OS API. `cargo xtask ci` checks formatting, lints, tests, the layering rules, asset attribution and the wasm build. ## Crafting Apps @@ -78,6 +228,8 @@ Open-source, clean-room, pure-Rust creative tools. Each runs natively on macOS, -## Clean room +## Credits and clean room -FilmCraft is an independent implementation. It contains no Adobe code, assets, presets or LUTs, and no GPL/LGPL code; codecs are implemented from the public ITU-T and ISO specifications. ffmpeg is used only as an external test oracle. Adobe and Premiere Pro are trademarks of Adobe Inc.; FilmCraft is not affiliated with Adobe. +**Footage and music in the screenshots:** *Night of the Living Dead* (1968), *Carnival of Souls* (1962) and *Charade* (1963), all in the US public domain; *Earth Views from the ISS* by NASA (a US Government work; NASA does not endorse this project); Chopin's Nocturne Op. 48 No. 1 and Ballade No. 1, performed for Musopen and released under CC0. The media itself is not in this repository. Sources and details for every asset are in [ATTRIBUTION.md](ATTRIBUTION.md). + +FilmCraft is an independent implementation. It contains no Adobe code, icons, images, presets or LUTs, and no GPL or LGPL code; every icon is drawn in code and every asset is openly licensed and attributed ([AGENTS.md](AGENTS.md)). ffmpeg is used only as an external test oracle. Adobe and Premiere Pro are trademarks of Adobe Inc.; FilmCraft is not affiliated with Adobe. diff --git a/docs/images/filmcraft-assembly.png b/docs/images/filmcraft-assembly.png new file mode 100644 index 00000000..fc43ef89 Binary files /dev/null and b/docs/images/filmcraft-assembly.png differ diff --git a/docs/images/filmcraft-assembly.png.attribution b/docs/images/filmcraft-assembly.png.attribution new file mode 100644 index 00000000..2cfb5398 --- /dev/null +++ b/docs/images/filmcraft-assembly.png.attribution @@ -0,0 +1,14 @@ +asset: filmcraft-assembly.png +title: README: Assembly workspace +author: FilmCraft contributors (screenshot); film/footage/music credits below +source: original work (screenshot of FilmCraft captured with its ui.screenshot control command) +license: MIT OR Apache-2.0 (screenshot); embedded film frames are public domain, music CC0-1.0 +license-file: +added: 2026-09-30 by Claude (agent) for Brandon Thomas +notes: Assembly workspace; Source monitor on Carnival of Souls (1962) with In/Out marks, Program on Night of the Living Dead (1968), the trailer timeline; Project bin thumbnails of all demo media. Downscaled to 2400 px. All UI icons are drawn in code; fonts are Inter and JetBrains Mono (OFL-1.1). Contains no Adobe artwork. +Media visible in the screenshot (none of it is committed to the repository): + - Night of the Living Dead (1968), dir. George A. Romero, Image Ten. US public domain (released without a copyright notice). Source: https://archive.org/details/night-of-the-living-dead-1968-english (Public Domain Mark). + - Carnival of Souls (1962), dir. Herk Harvey, Harcourt Productions. US public domain. Source: https://archive.org/details/CarnivalOfSoulsVideoQualityUpgrade (Public Domain Mark). + - Charade (1963), dir. Stanley Donen, Universal. US public domain (defective copyright notice). Source: https://archive.org/details/charade-1963-cary-grant-audrey-hepburn-comedy-mystery-romance-thriller-full-movie (Public Domain Mark). + - Earth Views from the ISS (NASA, NHQ_2020_1221, no-music edition). US Government work, public domain; NASA does not endorse this project. Source: https://images.nasa.gov/details/NHQ_2020_1221_Earth%20Views + - Chopin, Nocturne Op. 48 No. 1 and Ballade No. 1, performed for Musopen. CC0-1.0. Source: https://archive.org/details/musopen-chopin (shown only as waveforms). diff --git a/docs/images/filmcraft-effects.png b/docs/images/filmcraft-effects.png new file mode 100644 index 00000000..1f61f8e1 Binary files /dev/null and b/docs/images/filmcraft-effects.png differ diff --git a/docs/images/filmcraft-effects.png.attribution b/docs/images/filmcraft-effects.png.attribution new file mode 100644 index 00000000..801455db --- /dev/null +++ b/docs/images/filmcraft-effects.png.attribution @@ -0,0 +1,14 @@ +asset: filmcraft-effects.png +title: README: Effects workspace +author: FilmCraft contributors (screenshot); film/footage/music credits below +source: original work (screenshot of FilmCraft captured with its ui.screenshot control command) +license: MIT OR Apache-2.0 (screenshot); embedded film frames are public domain, music CC0-1.0 +license-file: +added: 2026-09-30 by Claude (agent) for Brandon Thomas +notes: Crop of the Effects workspace: Effect Controls, Program monitor showing NASA Earth Views with a Lumetri Golden Hour look, Effects browser. All UI icons are drawn in code; fonts are Inter and JetBrains Mono (OFL-1.1). Contains no Adobe artwork. +Media visible in the screenshot (none of it is committed to the repository): + - Night of the Living Dead (1968), dir. George A. Romero, Image Ten. US public domain (released without a copyright notice). Source: https://archive.org/details/night-of-the-living-dead-1968-english (Public Domain Mark). + - Carnival of Souls (1962), dir. Herk Harvey, Harcourt Productions. US public domain. Source: https://archive.org/details/CarnivalOfSoulsVideoQualityUpgrade (Public Domain Mark). + - Charade (1963), dir. Stanley Donen, Universal. US public domain (defective copyright notice). Source: https://archive.org/details/charade-1963-cary-grant-audrey-hepburn-comedy-mystery-romance-thriller-full-movie (Public Domain Mark). + - Earth Views from the ISS (NASA, NHQ_2020_1221, no-music edition). US Government work, public domain; NASA does not endorse this project. Source: https://images.nasa.gov/details/NHQ_2020_1221_Earth%20Views + - Chopin, Nocturne Op. 48 No. 1 and Ballade No. 1, performed for Musopen. CC0-1.0. Source: https://archive.org/details/musopen-chopin (shown only as waveforms). diff --git a/docs/images/filmcraft-lumetri.png b/docs/images/filmcraft-lumetri.png new file mode 100644 index 00000000..b93d4202 Binary files /dev/null and b/docs/images/filmcraft-lumetri.png differ diff --git a/docs/images/filmcraft-lumetri.png.attribution b/docs/images/filmcraft-lumetri.png.attribution new file mode 100644 index 00000000..4e6f6ceb --- /dev/null +++ b/docs/images/filmcraft-lumetri.png.attribution @@ -0,0 +1,14 @@ +asset: filmcraft-lumetri.png +title: README: Lumetri Color panel +author: FilmCraft contributors (screenshot); film/footage/music credits below +source: original work (screenshot of FilmCraft captured with its ui.screenshot control command) +license: MIT OR Apache-2.0 (screenshot); embedded film frames are public domain, music CC0-1.0 +license-file: +added: 2026-09-30 by Claude (agent) for Brandon Thomas +notes: Crop of the Lumetri Color panel (Basic Correction, Color Wheels) while grading Charade (1963); shows panel controls only. All UI icons are drawn in code; fonts are Inter and JetBrains Mono (OFL-1.1). Contains no Adobe artwork. +Media visible in the screenshot (none of it is committed to the repository): + - Night of the Living Dead (1968), dir. George A. Romero, Image Ten. US public domain (released without a copyright notice). Source: https://archive.org/details/night-of-the-living-dead-1968-english (Public Domain Mark). + - Carnival of Souls (1962), dir. Herk Harvey, Harcourt Productions. US public domain. Source: https://archive.org/details/CarnivalOfSoulsVideoQualityUpgrade (Public Domain Mark). + - Charade (1963), dir. Stanley Donen, Universal. US public domain (defective copyright notice). Source: https://archive.org/details/charade-1963-cary-grant-audrey-hepburn-comedy-mystery-romance-thriller-full-movie (Public Domain Mark). + - Earth Views from the ISS (NASA, NHQ_2020_1221, no-music edition). US Government work, public domain; NASA does not endorse this project. Source: https://images.nasa.gov/details/NHQ_2020_1221_Earth%20Views + - Chopin, Nocturne Op. 48 No. 1 and Ballade No. 1, performed for Musopen. CC0-1.0. Source: https://archive.org/details/musopen-chopin (shown only as waveforms). diff --git a/docs/images/filmcraft-scopes.png b/docs/images/filmcraft-scopes.png new file mode 100644 index 00000000..2f2919fd Binary files /dev/null and b/docs/images/filmcraft-scopes.png differ diff --git a/docs/images/filmcraft-scopes.png.attribution b/docs/images/filmcraft-scopes.png.attribution new file mode 100644 index 00000000..4b77f548 --- /dev/null +++ b/docs/images/filmcraft-scopes.png.attribution @@ -0,0 +1,14 @@ +asset: filmcraft-scopes.png +title: README: Lumetri Scopes +author: FilmCraft contributors (screenshot); film/footage/music credits below +source: original work (screenshot of FilmCraft captured with its ui.screenshot control command) +license: MIT OR Apache-2.0 (screenshot); embedded film frames are public domain, music CC0-1.0 +license-file: +added: 2026-09-30 by Claude (agent) for Brandon Thomas +notes: Crop of the Lumetri Scopes panel (waveform, vectorscope) computed from a Charade (1963) frame. All UI icons are drawn in code; fonts are Inter and JetBrains Mono (OFL-1.1). Contains no Adobe artwork. +Media visible in the screenshot (none of it is committed to the repository): + - Night of the Living Dead (1968), dir. George A. Romero, Image Ten. US public domain (released without a copyright notice). Source: https://archive.org/details/night-of-the-living-dead-1968-english (Public Domain Mark). + - Carnival of Souls (1962), dir. Herk Harvey, Harcourt Productions. US public domain. Source: https://archive.org/details/CarnivalOfSoulsVideoQualityUpgrade (Public Domain Mark). + - Charade (1963), dir. Stanley Donen, Universal. US public domain (defective copyright notice). Source: https://archive.org/details/charade-1963-cary-grant-audrey-hepburn-comedy-mystery-romance-thriller-full-movie (Public Domain Mark). + - Earth Views from the ISS (NASA, NHQ_2020_1221, no-music edition). US Government work, public domain; NASA does not endorse this project. Source: https://images.nasa.gov/details/NHQ_2020_1221_Earth%20Views + - Chopin, Nocturne Op. 48 No. 1 and Ballade No. 1, performed for Musopen. CC0-1.0. Source: https://archive.org/details/musopen-chopin (shown only as waveforms). diff --git a/docs/images/filmcraft-timeline.png b/docs/images/filmcraft-timeline.png new file mode 100644 index 00000000..642fa3ab Binary files /dev/null and b/docs/images/filmcraft-timeline.png differ diff --git a/docs/images/filmcraft-timeline.png.attribution b/docs/images/filmcraft-timeline.png.attribution new file mode 100644 index 00000000..24938c25 --- /dev/null +++ b/docs/images/filmcraft-timeline.png.attribution @@ -0,0 +1,14 @@ +asset: filmcraft-timeline.png +title: README: timeline and loudness detail +author: FilmCraft contributors (screenshot); film/footage/music credits below +source: original work (screenshot of FilmCraft captured with its ui.screenshot control command) +license: MIT OR Apache-2.0 (screenshot); embedded film frames are public domain, music CC0-1.0 +license-file: +added: 2026-09-30 by Claude (agent) for Brandon Thomas +notes: Crop of the Timeline (Night of the Living Dead trailer, Carnival of Souls insert, Chopin score waveform) and the Audio Meters with BS.1770 loudness readout. All UI icons are drawn in code; fonts are Inter and JetBrains Mono (OFL-1.1). Contains no Adobe artwork. +Media visible in the screenshot (none of it is committed to the repository): + - Night of the Living Dead (1968), dir. George A. Romero, Image Ten. US public domain (released without a copyright notice). Source: https://archive.org/details/night-of-the-living-dead-1968-english (Public Domain Mark). + - Carnival of Souls (1962), dir. Herk Harvey, Harcourt Productions. US public domain. Source: https://archive.org/details/CarnivalOfSoulsVideoQualityUpgrade (Public Domain Mark). + - Charade (1963), dir. Stanley Donen, Universal. US public domain (defective copyright notice). Source: https://archive.org/details/charade-1963-cary-grant-audrey-hepburn-comedy-mystery-romance-thriller-full-movie (Public Domain Mark). + - Earth Views from the ISS (NASA, NHQ_2020_1221, no-music edition). US Government work, public domain; NASA does not endorse this project. Source: https://images.nasa.gov/details/NHQ_2020_1221_Earth%20Views + - Chopin, Nocturne Op. 48 No. 1 and Ballade No. 1, performed for Musopen. CC0-1.0. Source: https://archive.org/details/musopen-chopin (shown only as waveforms).