# Video Editor: changes from FilmCraft

Video Editor is based on FilmCraft by the ArtCraft team (https://github.com/storytold/filmcraft), commit `e6d82d4eeb431f40b882e0770f8920462c475d37`,
licensed under the MIT License or the Apache License 2.0; Everyapp uses it under the Apache License 2.0.
Upstream LICENSE-APACHE, LICENSE-MIT and NOTICE are included unchanged in this folder.

Everyapp changed the files below. Everything else is unmodified upstream source.

## Text and links (rebranding)

Upstream app and suite names in interface text were replaced with Everyapp names, and links to the upstream
website, community and repository were pointed to everyapp.pro or support@everyapp.pro.

| File | Changes |
|---|---|
| `(dependency a517b38) PATCHES.md` | name: 1 |
| `(dependency a517b38) docs/egui-037-migration-plan.md` | name: 50 |
| `(dependency fonts-build) README.md` | name: 3 |
| `(dependency i18n) README.md` | name: 1 |
| `(dependency media) README.md` | links: 1, name: 23 |
| `(dependency ui) README.md` | name: 17 |
| `CONTRIBUTING.md` | name: 1 |
| `README.md` | brand: 9, links: 35, name: 34, phrases: 2 |
| `ROADMAP.md` | name: 4 |
| `apps/filmcraft-cli/src/main.rs` | name: 2 |
| `apps/filmcraft-web/README.md` | name: 1 |
| `apps/filmcraft-web/src/api.rs` | name: 1 |
| `apps/filmcraft-web/src/webcodecs.rs` | name: 1 |
| `apps/filmcraft-web/web/audio-worklet.js` | name: 1 |
| `apps/filmcraft-web/web/index.html` | name: 4 |
| `apps/filmcraft/build.rs` | name: 2 |
| `apps/filmcraft/src/app_nap.rs` | name: 1 |
| `apps/filmcraft/src/dev_icon.rs` | name: 4 |
| `apps/filmcraft/src/logging.rs` | name: 2 |
| `apps/filmcraft/src/main.rs` | name: 9 |
| `apps/filmcraft/src/native_menu.rs` | name: 2, phrases: 1 |
| `assets/app-icon/README.md` | brand: 1, name: 2 |
| `crates/audio-dsp/README.md` | name: 1 |
| `crates/automation/src/server.rs` | name: 2 |
| `crates/captions/README.md` | name: 3 |
| `crates/captions/src/mcc.rs` | name: 2 |
| `crates/captions/src/stl.rs` | name: 1 |
| `crates/codecs/src/mpeg.rs` | name: 3 |
| `crates/codecs/src/mxf.rs` | name: 1 |
| `crates/codecs/src/video.rs` | name: 9 |
| `crates/color/README.md` | name: 3 |
| `crates/color/src/lut.rs` | name: 1 |
| `crates/dng/README.md` | name: 1 |
| `crates/dng/src/writer.rs` | name: 1 |
| `crates/engine/src/autosave.rs` | name: 2 |
| `crates/engine/src/demo.rs` | name: 2 |
| `crates/engine/src/graphic_templates.rs` | name: 1 |
| `crates/engine/src/previews.rs` | name: 2 |
| `crates/engine/src/project_tools.rs` | name: 9 |
| `crates/engine/src/settings/schema.rs` | name: 5 |
| `crates/engine/src/shortcuts.rs` | name: 2 |
| `crates/engine/src/voiceover.rs` | name: 1 |
| `crates/export/src/format.rs` | name: 1 |
| `crates/export/src/raster.rs` | name: 1 |
| `crates/export/src/settings.rs` | name: 1 |
| `crates/flac/README.md` | name: 1 |
| `crates/format/src/lib.rs` | name: 6 |
| `crates/h264/README.md` | name: 1 |
| `crates/h264enc/README.md` | name: 1 |
| `crates/hevc/README.md` | name: 1 |
| `crates/interchange/README.md` | name: 7 |
| `crates/interchange/src/aaf/read.rs` | name: 3 |
| `crates/interchange/src/aaf/write.rs` | name: 6 |
| `crates/interchange/src/comp.rs` | name: 1 |
| `crates/interchange/src/fcp7.rs` | name: 1 |
| `crates/interchange/src/fcpxml.rs` | name: 1 |
| `crates/interchange/src/omf/read.rs` | name: 2 |
| `crates/interchange/src/omf/write.rs` | name: 5 |
| `crates/media/README.md` | name: 1 |
| `crates/mxf/src/write.rs` | name: 3 |
| `crates/platform/README.md` | name: 3 |
| `crates/project/src/gtemplate.rs` | name: 4 |
| `crates/project/src/settings.rs` | name: 1 |
| `crates/prores/README.md` | links: 1, name: 2 |
| `crates/render/src/luts.rs` | name: 1 |
| `crates/speech/README.md` | name: 1 |
| `crates/testkit/src/golden.rs` | name: 2 |
| `crates/text/README.md` | name: 1 |
| `crates/tts-text/README.md` | name: 1 |
| `crates/tts/README.md` | name: 2 |
| `crates/tts/src/formant.rs` | name: 3 |
| `crates/ui-egui/README.md` | name: 1 |
| `crates/ui-egui/src/app/frame.rs` | name: 2 |
| `crates/ui-egui/src/crash.rs` | name: 1 |
| `crates/ui-egui/src/header.rs` | links: 1, phrases: 2 |
| `crates/ui-egui/src/i18n/de.tsv` | brand: 4, links: 4, name: 45, phrases: 5, translations: 4 |
| `crates/ui-egui/src/i18n/es.tsv` | brand: 4, links: 4, name: 49, phrases: 5, translations: 4 |
| `crates/ui-egui/src/i18n/fr.tsv` | brand: 4, links: 4, name: 51, phrases: 5, translations: 4 |
| `crates/ui-egui/src/i18n/id.tsv` | brand: 4, links: 4, name: 42, phrases: 5, translations: 4 |
| `crates/ui-egui/src/i18n/it.tsv` | brand: 4, links: 4, name: 44, phrases: 5, translations: 4 |
| `crates/ui-egui/src/i18n/ja.tsv` | brand: 4, links: 4, name: 47, phrases: 5, translations: 4 |
| `crates/ui-egui/src/i18n/ko.tsv` | brand: 4, links: 4, name: 43, phrases: 5, translations: 4 |
| `crates/ui-egui/src/i18n/pt-br.tsv` | brand: 4, links: 4, name: 41, phrases: 5, translations: 4 |
| `crates/ui-egui/src/i18n/ru.tsv` | brand: 1, links: 2, name: 9, phrases: 3, translations: 2 |
| `crates/ui-egui/src/i18n/uk.tsv` | brand: 1, links: 2, name: 9, phrases: 3, translations: 2 |
| `crates/ui-egui/src/i18n/zh-cn.tsv` | brand: 4, links: 4, name: 47, phrases: 5, translations: 4 |
| `crates/ui-egui/src/icons.rs` | phrases: 1 |
| `crates/ui-egui/src/links.rs` | links: 6, name: 3, phrases: 7 |
| `crates/ui-egui/src/menus.rs` | links: 1, name: 4, phrases: 3 |
| `crates/ui-egui/src/native_dialogs.rs` | name: 1 |
| `crates/ui-egui/src/panels/dialogs.rs` | brand: 1, links: 2, name: 4, phrases: 1 |
| `crates/ui-egui/src/panels/export_mode/settings.rs` | name: 5 |
| `crates/ui-egui/src/panels/file_dialogs.rs` | name: 2 |
| `crates/ui-egui/src/panels/graphics_templates.rs` | name: 2 |
| `crates/ui-egui/src/panels/keyboard.rs` | links: 1, name: 2 |
| `crates/ui-egui/src/panels/menu_dialogs.rs` | name: 2 |
| `crates/ui-egui/src/panels/sequence_settings.rs` | name: 2 |
| `crates/ui-egui/src/panels/settings.rs` | name: 2 |
| `crates/ui-egui/src/updates_ui.rs` | links: 1, name: 3 |
| `crates/vp9/README.md` | name: 1 |
| `docs/adr/0001-platform-ffi.md` | name: 2 |
| `docs/architecture.md` | name: 3 |
| `docs/captions.md` | name: 1 |
| `docs/contributing.md` | name: 6 |
| `docs/control-protocol.md` | name: 2 |
| `docs/egui-037-migration-plan.md` | brand: 1, name: 96 |
| `docs/gaps.md` | name: 5 |
| `docs/graphics.md` | name: 4 |
| `docs/keyboard.md` | name: 8 |
| `docs/localization-parity.md` | name: 1 |
| `docs/performance.md` | name: 1 |
| `docs/project-files.md` | name: 19 |
| `docs/releasing.md` | brand: 2, name: 10 |
| `docs/roadmap.md` | name: 4 |
| `docs/target-app-parity.md` | name: 3 |
| `docs/testing.md` | name: 1 |
| `docs/transcripts.md` | name: 1 |
| `docs/ui-parity.md` | name: 2 |
| `docs/web.md` | name: 5 |

## Images

Upstream trademarks and app icons were replaced with Everyapp artwork of the same size and format.

- `apps/filmcraft-web/web/favicon.png`
- `apps/filmcraft-web/web/favicon.png.attribution`
- `assets/app-icon/filmcraft-1024.png`
- `assets/app-icon/filmcraft-1024.png.attribution`
- `assets/app-icon/filmcraft-macos-512.png`
- `assets/app-icon/filmcraft-macos-512.png.attribution`
- `assets/app-icon/filmcraft-small.svg`
- `assets/app-icon/filmcraft-small.svg.attribution`
- `assets/app-icon/filmcraft.icns`
- `assets/app-icon/filmcraft.icns.attribution`
- `assets/app-icon/filmcraft.ico`
- `assets/app-icon/filmcraft.ico.attribution`
- `assets/app-icon/filmcraft.svg`
- `assets/app-icon/filmcraft.svg.attribution`
- `assets/app-icon/hicolor/128x128/apps/ai.storyteller.filmcraft.png`
- `assets/app-icon/hicolor/128x128/apps/ai.storyteller.filmcraft.png.attribution`
- `assets/app-icon/hicolor/16x16/apps/ai.storyteller.filmcraft.png`
- `assets/app-icon/hicolor/16x16/apps/ai.storyteller.filmcraft.png.attribution`
- `assets/app-icon/hicolor/24x24/apps/ai.storyteller.filmcraft.png`
- `assets/app-icon/hicolor/24x24/apps/ai.storyteller.filmcraft.png.attribution`
- `assets/app-icon/hicolor/256x256/apps/ai.storyteller.filmcraft.png`
- `assets/app-icon/hicolor/256x256/apps/ai.storyteller.filmcraft.png.attribution`
- `assets/app-icon/hicolor/32x32/apps/ai.storyteller.filmcraft.png`
- `assets/app-icon/hicolor/32x32/apps/ai.storyteller.filmcraft.png.attribution`
- `assets/app-icon/hicolor/48x48/apps/ai.storyteller.filmcraft.png`
- `assets/app-icon/hicolor/48x48/apps/ai.storyteller.filmcraft.png.attribution`
- `assets/app-icon/hicolor/512x512/apps/ai.storyteller.filmcraft.png`
- `assets/app-icon/hicolor/512x512/apps/ai.storyteller.filmcraft.png.attribution`
- `assets/app-icon/hicolor/64x64/apps/ai.storyteller.filmcraft.png`
- `assets/app-icon/hicolor/64x64/apps/ai.storyteller.filmcraft.png.attribution`
- `assets/app-icon/hicolor/scalable/apps/ai.storyteller.filmcraft.svg`
- `assets/app-icon/hicolor/scalable/apps/ai.storyteller.filmcraft.svg.attribution`
- `docs/brand/artcraft-logo-white.png`
- `docs/brand/artcraft-logo-white.png.attribution`
- `docs/brand/artcraft-logo-white.svg`
- `docs/brand/artcraft-logo-white.svg.attribution`
- `docs/brand/artcraft-logo.png`
- `docs/brand/artcraft-logo.png.attribution`
- `docs/brand/artcraft-logo.svg`
- `docs/brand/artcraft-logo.svg.attribution`
- `docs/brand/artcraft-mark-black.png`
- `docs/brand/artcraft-mark-black.png.attribution`
- `docs/brand/artcraft-mark-black.svg`
- `docs/brand/artcraft-mark-black.svg.attribution`
- `docs/brand/artcraft-mark.png`
- `docs/brand/artcraft-mark.png.attribution`
- `docs/brand/artcraft-mark.svg`
- `docs/brand/artcraft-mark.svg.attribution`

## Web page

`index.html` loads `everyapp-frame.js` first (progress, export rules, links) and sets a Content-Security-Policy
(`connect-src 'self' blob: data:`) so the app makes no requests to other sites.
