* Themes: Soft Dark and Soft Light (#4368) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * docs: regenerate scorecard after merging main Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: Brandon Thomas <echelon@gmail.com>
21 KiB
Attribution
Every non-code asset in this repository, with its author, source and license. PhotoCraft's own
code and original assets are MIT OR Apache-2.0 (see LICENSE-MIT,
LICENSE-APACHE and NOTICE). When you add an asset, add a row here
in the same change; third-party assets must be permissively licensed and keep their license file
next to them.
Bundled in the app
| Path | Title | Author | Source | License |
|---|---|---|---|---|
crates/codecs/src/codecs/xpm/x11_colors.rs |
X11 rgb.txt color-name lookup table (normalized X.Org RGB values) |
X.Org Foundation and X11 contributors | https://cgit.freedesktop.org/xorg/app/rgb/tree/rgb.txt | MIT (X.Org app/rgb) |
crates/ui-egui/src/i18n/el.tsv |
Greek UI translations | PhotoCraft contributors | Original translations of PhotoCraft's English labels | MIT OR Apache-2.0, LICENSE-translations.txt |
crates/ui-egui/src/i18n/de.tsv |
German UI translations | PhotoCraft contributors | Original translations of PhotoCraft's English labels | MIT OR Apache-2.0, LICENSE-translations.txt |
crates/ui-egui/src/i18n/it.tsv |
Italian UI translations | PhotoCraft contributors | Original translations of PhotoCraft's English labels | MIT OR Apache-2.0, LICENSE-translations.txt |
crates/ui-egui/src/i18n/ko.tsv |
Korean UI translations | PhotoCraft contributors | Original translations of PhotoCraft's English labels | MIT OR Apache-2.0, LICENSE-translations.txt |
crates/ui-egui/src/i18n/nl.tsv |
Dutch UI translations | PhotoCraft contributors | Original translations of PhotoCraft's English labels | MIT OR Apache-2.0, LICENSE-translations.txt |
crates/ui-egui/src/i18n/pl.tsv |
Polish UI translations | PhotoCraft contributors | Original translations of PhotoCraft's English labels | MIT OR Apache-2.0, LICENSE-translations.txt |
crates/ui-egui/src/i18n/pt-br.tsv |
Brazilian Portuguese UI translations | PhotoCraft contributors | Original translations of PhotoCraft's English labels | MIT OR Apache-2.0, LICENSE-translations.txt |
crates/ui-egui/src/i18n/uk.tsv |
Ukrainian UI translations | PhotoCraft contributors | Original translations of PhotoCraft's English labels | MIT OR Apache-2.0, LICENSE-translations.txt |
crates/ui-egui/src/i18n/cs.tsv |
Czech UI translations | PhotoCraft contributors | Original translations of PhotoCraft's English labels | MIT OR Apache-2.0, LICENSE-translations.txt |
crates/ui-egui/src/i18n/hu.tsv |
Hungarian UI translations | PhotoCraft contributors | Original translations of PhotoCraft's English labels | MIT OR Apache-2.0, LICENSE-translations.txt |
crates/ui-egui/src/i18n/vi.tsv |
Vietnamese UI translations | PhotoCraft contributors | Original translations of PhotoCraft's English labels | MIT OR Apache-2.0, LICENSE-translations.txt |
crates/ui-egui/src/i18n/tr.tsv |
Turkish UI translations | PhotoCraft contributors | Original translations of PhotoCraft's English labels | MIT OR Apache-2.0, LICENSE-translations.txt |
crates/ui-egui/src/i18n/sr.tsv |
Serbian (Latin, Ekavian) UI translations | PhotoCraft contributors | Original translations of PhotoCraft's English labels | MIT OR Apache-2.0, LICENSE-translations.txt |
assets/fonts/Inter-Regular.ttf, Inter-Medium.ttf, Inter-SemiBold.ttf |
Inter 4.001 (UI font) | The Inter Project Authors (Rasmus Andersson) | https://github.com/rsms/inter | SIL OFL 1.1, assets/fonts/OFL-Inter.txt |
assets/fonts/JetBrainsMono-Regular.ttf |
JetBrains Mono 2.305 (numeric font) | The JetBrains Mono Project Authors | https://github.com/JetBrains/JetBrainsMono | SIL OFL 1.1, assets/fonts/OFL-JetBrainsMono.txt |
assets/icons/*.svg except slice-knife.svg, sampler.svg, artboard.svg, perspective-crop.svg, frame-placeholder.svg, gradient.svg, type-mask.svg, type-mask-vertical.svg, clip-below.svg, clip-release.svg, layer-mask.svg, adjustment-layer.svg, brush-replace.svg, eraser-background.svg, eraser-magic.svg, lasso-magnetic.svg, direct-select.svg, convert-point.svg, pen-add-anchor.svg, pen-delete-anchor.svg, pen-freeform.svg, pen-curvature.svg, bandage-sparkle.svg, painting-symmetry.svg, symmetry-*.svg and marquee-{row,column}.svg (113 files; star-filled.svg is star.svg with a solid fill) |
Lucide icons | Lucide Icons and Contributors | https://github.com/lucide-icons/lucide (icons/<name>.svg; align-* are now named text-align-* upstream) |
ISC, assets/icons/LICENSE-lucide.txt |
assets/icons/{check,chevron-down,chevron-left,chevron-right,chevron-up,chevrons-left,chevrons-right,circle,clock,compass,info,link,link-2,lock,minus,monitor,moon,move,navigation,plus,search,square,trash,triangle,type,x,zoom-in}.svg |
Lucide icons derived from Feather (subset of the row above) | Cole Bemis (Feather), Lucide Contributors | https://github.com/feathericons/feather via Lucide | MIT (Feather) and ISC (Lucide), assets/icons/LICENSE-lucide.txt |
assets/icons/slice-knife.svg |
Slice tool glyph | PhotoCraft contributors | Original work | MIT OR Apache-2.0 |
assets/icons/sampler.svg |
Color Sampler tool glyph: a target reticle marking a sampled pixel | PhotoCraft contributors | Original work | MIT OR Apache-2.0 |
assets/icons/convert-point.svg |
Convert Point tool glyph: an angle with a square anchor on its apex, drawn on Lucide's 24 px grid and stroke | PhotoCraft contributors | Original work | MIT OR Apache-2.0 |
assets/icons/artboard.svg |
Artboard tool glyph: a board with a tick at each end of its edges | PhotoCraft contributors | Original work | MIT OR Apache-2.0 |
assets/icons/perspective-crop.svg |
Perspective Crop tool glyph: a crop frame in perspective with its grid and crop-mark ticks | PhotoCraft contributors | Original work | MIT OR Apache-2.0 |
assets/icons/type-mask.svg, assets/icons/type-mask-vertical.svg |
Horizontal and Vertical Type Mask tool glyphs: a T drawn as marching ants (the vertical one beside a downward arrow), on Lucide's 24 px grid and stroke | PhotoCraft contributors | Original work | MIT OR Apache-2.0 |
assets/icons/marquee-row.svg, assets/icons/marquee-column.svg |
Single Row and Single Column Marquee tool glyphs: a dashed row (column) between two edge bars, drawn on Lucide's 24 px grid and stroke | PhotoCraft contributors | Original work | MIT OR Apache-2.0 |
assets/icons/clip-below.svg, assets/icons/clip-release.svg |
Clipping-mask cursors (⌥ over the line between two layers): a hooked arrow onto the layer below; the same with a small "no" badge to release | PhotoCraft contributors | Original work | MIT OR Apache-2.0 |
assets/icons/layer-mask.svg, assets/icons/adjustment-layer.svg |
Layers panel footer glyphs: Add a mask (a frame around a solid disc) and New Fill or Adjustment Layer (a circle, one half solid), drawn on Lucide's 24 px grid and stroke | PhotoCraft contributors | Original work | MIT OR Apache-2.0 |
assets/icons/frame-placeholder.svg |
Frame tool glyph: an empty placeholder frame, crossed corner to corner | PhotoCraft contributors | Original work | MIT OR Apache-2.0 |
assets/icons/gradient.svg |
Gradient tool glyph: a rounded rectangle filled with a left-to-right linear ramp, drawn on Lucide's 24 px grid and stroke | PhotoCraft contributors | Original work | MIT OR Apache-2.0 |
assets/icons/eraser-background.svg, assets/icons/eraser-magic.svg |
Background Eraser and Magic Eraser tool glyphs: Lucide eraser plus added marks |
Lucide Icons and Contributors; marks by PhotoCraft contributors | Derived from https://github.com/lucide-icons/lucide icons/eraser.svg |
ISC, assets/icons/LICENSE-lucide.txt |
assets/icons/brush-replace.svg |
Color Replacement tool glyph: Lucide brush plus two swap arrows |
Lucide Icons and Contributors; arrows by PhotoCraft contributors | Derived from https://github.com/lucide-icons/lucide icons/brush.svg |
ISC, assets/icons/LICENSE-lucide.txt |
assets/icons/bandage-sparkle.svg |
Remove tool glyph: Lucide bandage moved down, plus a sparkle mark |
Lucide Icons and Contributors; mark by PhotoCraft contributors | Derived from https://github.com/lucide-icons/lucide icons/bandage.svg |
ISC, assets/icons/LICENSE-lucide.txt |
assets/icons/direct-select.svg |
Direct Selection tool glyph: Lucide mouse-pointer-2 plus an anchor square |
Lucide Icons and Contributors; square by PhotoCraft contributors | Derived from https://github.com/lucide-icons/lucide icons/mouse-pointer-2.svg |
ISC, assets/icons/LICENSE-lucide.txt |
assets/icons/pen-freeform.svg, assets/icons/pen-curvature.svg |
Freeform Pen and Curvature Pen tool glyphs: Lucide pen-tool scaled down, plus a freehand squiggle or a curve through two points |
Lucide Icons and Contributors; marks by PhotoCraft contributors | Derived from https://github.com/lucide-icons/lucide icons/pen-tool.svg |
ISC, assets/icons/LICENSE-lucide.txt |
assets/icons/pen-add-anchor.svg, assets/icons/pen-delete-anchor.svg |
Add Anchor Point and Delete Anchor Point tool glyphs: Lucide pen-tool plus a + or − mark |
Lucide Icons and Contributors; marks by PhotoCraft contributors | Derived from https://github.com/lucide-icons/lucide icons/pen-tool.svg |
ISC, assets/icons/LICENSE-lucide.txt |
assets/icons/painting-symmetry.svg |
Painting symmetry glyph: Lucide heart with a central axis |
Lucide Icons and Contributors; adapted by @shorbank | Derived from https://github.com/lucide-icons/lucide icons/heart.svg |
ISC, assets/icons/LICENSE-lucide.txt |
assets/icons/symmetry-{vertical,horizontal,dual,diagonal}.svg |
Painting symmetry axis glyphs | @shorbank | Original work; supplied SVG line geometry centred on a common square canvas, stroke adjusted to match the painting-symmetry glyph | MIT OR Apache-2.0, assets/icons/LICENSE-symmetry-axes.txt |
assets/icons/lasso-magnetic.svg |
Magnetic Lasso tool glyph, adapted from "Magnetic Lasso Tool" (redrawn on the 24 px toolbar grid) | Lil' Seal (Noun Project); adapted by PhotoCraft contributors | https://thenounproject.com/icon/magnetic-lasso-tool-177513/ | CC BY 3.0, assets/icons/LICENSE-noun-magnetic-lasso.txt |
assets/dict/en_US-scowl-50.txt.gz |
English word list for Check Spelling (SCOWL 2020.12.07, size 50, en_US; 72,403 words) | Kevin Atkinson and the SCOWL contributors | http://wordlist.aspell.net/ | SCOWL license (permissive, keep the notice), assets/dict/LICENSE-SCOWL.txt, which also has the build recipe |
crates/cms/profiles/photocraft-coated-cmyk.icc |
PhotoCraft Coated CMYK (synthetic) ICC profile | PhotoCraft contributors (generated by photocraft-cms, src/synth.rs) |
Original work, see crates/cms/README.md |
CC0-1.0 |
assets/app-icon/ (all files) |
PhotoCraft app icon (nine-tailed kitsune) | The project owner (drawn in ArtCraft, vectorised) | Original work, see assets/app-icon/README.md |
MIT OR Apache-2.0, assets/app-icon/LICENSE.txt |
packaging/macos/dmg/ (all files) |
PhotoCraft DMG window background and layout | @XusBadia, from the PhotoCraft app icon | Original work, see packaging/macos/dmg/README.md |
MIT OR Apache-2.0, like the code |
crates/ui-egui/src/theme.rs (Solarized Dark palette) |
Solarized colour scheme used by the Solarized Dark theme | Ethan Schoonover | https://ethanschoonover.com/solarized/ | MIT, LICENSE-solarized.txt |
crates/ui-egui/src/theme.rs (Breeze Light and Breeze Dark themes) |
The Breeze Light and Breeze Dark themes are original colour values on PhotoCraft's Studio layout, chosen to look close to KDE Plasma's Breeze (cool blue-greys, blue accent, 5 px frame radius) so the app blends into a Plasma desktop. None of Breeze's colour values, files or code are copied; the values are a few levels away from its schemes and tuned for text contrast | PhotoCraft contributors | Inspired by the look of KDE Breeze, https://invent.kde.org/plasma/breeze (its colour schemes are LGPL-2.0-or-later) | Original work |
crates/ui-egui/src/theme.rs (Soft Dark and Soft Light themes) |
Original colour values and radii for two low-contrast themes on PhotoCraft's Studio layout; no third-party palette, file or code is used | PhotoCraft contributors | Original | Original work |
Optional build input: craft-fonts (not files in this repo)
Builds made with CRAFT_FONTS_DIR (all official releases) embed fonts from
storytold/craft-fonts at a pinned commit; no font file
from it is committed here. Per-file authors, sources and licences:
craft-fonts ATTRIBUTION.md.
| Font (embedded at build time) | Use | License |
|---|---|---|
| BIZ UDPGothic Regular, Bold (Morisawa) | Japanese UI and sans Type fallback (desktop) | SIL OFL 1.1, shipped as OFL-biz-ud-pgothic.txt |
| Shippori Mincho Regular (FONTDASU) | Japanese serif Type fallback (desktop) | SIL OFL 1.1, shipped as OFL-shippori-mincho.txt |
| BIZ UDMincho Regular (Morisawa) | Japanese serif Type fallback (desktop) | SIL OFL 1.1, shipped as OFL-biz-ud-mincho.txt |
The other built-in ICC profiles and the generated LUT looks are produced by code at runtime
(crates/cms/src/builtin.rs, crates/cms/src/lutfile.rs) and dedicated to the public domain
(CC0-1.0); they are not separate files.
Documentation and README
| Path | Title | Author | Source | License |
|---|---|---|---|---|
docs/brand/ (all files) |
ArtCraft name, wordmark and mark | ArtCraft Team | getartcraft.com | Not open source; trademarks of the ArtCraft Team, docs/brand/LICENSE-brand.txt |
docs/images/photocraft-*.jpg |
PhotoCraft screenshots | PhotoCraft contributors (UI) | Rendered offscreen with the snapshot example |
MIT OR Apache-2.0 (UI); the artwork in each is public domain, listed below |
docs/images/preferences-apply-*.png |
Preferences before and after adding Apply (no artwork) | PhotoCraft contributors | PhotoCraft control-channel capture and offscreen snapshot example |
MIT OR Apache-2.0 |
Artwork shown in the screenshots (all public domain, via Wikimedia Commons; details in
docs/images/SOURCES.md):
| Screenshot | Artwork | Source |
|---|---|---|
photocraft-demo.jpg |
The Great Wave off Kanagawa, Katsushika Hokusai, c. 1831 | Commons |
photocraft-layer-styles.jpg |
Earthrise, William Anders, Apollo 8, 1968 (NASA) | Commons |
photocraft-masks.jpg |
Girl with a Pearl Earring, Johannes Vermeer, c. 1665 | Commons |
photocraft-vector.jpg |
Water Lilies, Claude Monet, 1906 | Commons |
photocraft-filters.jpg |
The Starry Night, Vincent van Gogh, 1889 | Commons |
photocraft-adjustments.jpg |
Impression, Sunrise, Claude Monet, 1872 | Commons |
photocraft-transform.jpg |
The Tetons and the Snake River, Ansel Adams, 1942 (U.S. National Archives) | Commons |
photocraft-type.jpg |
Among the Sierra Nevada, California, Albert Bierstadt, 1868 | Commons |
photocraft-export-light.jpg |
The Kiss, Gustav Klimt, 1907–1908 | Commons |
Test data (not committed, not shipped)
corpus/ is gitignored and no test fixtures are committed to the repository.
cargo xtask corpus --all fetches every corpus at the pinned commits in xtask/src/corpus_pins.rs
and verifies each file against the sha256 lists in xtask/*.sha256, with the upstream licence
next to the files:
| Path (fetched) | Title | Author | Source | License |
|---|---|---|---|---|
corpus/photoshop/ (256 PSDs) |
Photoshop oracle corpus: smart filters, layer-style effects, type, adjustments in every mode and depth | PhotoCraft contributors (authored with Adobe Photoshop 2026 by a script) | https://github.com/storytold/photocraft-corpus (photoshop/, with its generator and README) |
MIT OR Apache-2.0 |
corpus/psd-tools/ (309 files) |
psd-tools test set | Kota Yamaguchi and contributors | psd-tools tests/psd_files |
MIT, Copyright (c) 2019 Kota Yamaguchi |
corpus/psd/ (170 files) |
Small selection of the psd-tools and ag-psd test files | Kota Yamaguchi; Agamnentzar | psd-tools (above) and ag-psd test/ |
MIT (both) |
corpus/heif/ (9 files, 0.1 MB) |
HEIC/HEIF test files: heic-rs/ checkerboards, RGB strips and a grid-tiled photo with EXIF and XMP (synthetic pixels encoded by macOS sips, each .ref.png Apple's decode); pillow-heif/ the 10-bit RGBA RGBA_10__29x100.heif and its source RGBA_16__29x100.png |
Thomas Braun (heic-rs); Pillow-Heif contributors | heic-rs tests/fixtures, pillow-heif tests/images |
MIT OR Apache-2.0 (heic-rs); BSD-3-Clause (pillow-heif) |
corpus/exr/ (5 files, 2.3 MB) |
The deep OpenEXR test images 11, 42, 64, multivariate and objectid.deep.exr |
Contributors to the OpenEXR Project | openexr src/test/bin/test_images |
BSD-3-Clause |
corpus/affinity/ (60 files) |
Public Affinity documents and PNG references: vector-art/ (9 documents), afdesignload/ (9), jac21/ (2), asset-store-template/ (1), and affinity-samples/ (18 CC0 documents plus exported references) |
samuel-etver; Nick Beeuwsaert; Jeremy Cantu; DAIKI (eviltwo); satoshoe-dev | vector-art simple/, AFDesignLoad testDesigns/, Jac21/Branding Logos/JC/DesignerFiles/Affinity, AssetStoreTemplate AssetStoreTemplate/, affinity-samples |
CC0-1.0 (vector-art and affinity-samples); MIT, Copyright (c) 2015 Nick Beeuwsaert; MIT, Copyright (c) 2018 Jeremy Cantu; MIT, Copyright (c) 2024 DAIKI |
corpus/pngsuite/ |
PngSuite | Willem van Schaik | http://www.schaik.com/pngsuite/ | Public domain |
corpus/pixls/ (7 files, 226 MB) |
Real camera raws, one per decode path: Canon PowerShot SX50 HS (CR2 and its DNG conversion), Nikon D3 uncompressed NEF, Sony DSC-RX0 cRAW ARW, Panasonic DC-G9 high-res RW2, Olympus E-1 GRBG ORF, plus the E-5 packed ORF as the documented known-unsupported case. Per file (each CC0, per its database entry): IMG_4059.CR2, CRW_4061.DNG, JD1_8203.NEF, DSC00009.ARW, P1000475.RW2, E_1__C106743_gredos.ORF, _7061961_copy.ORF | The photographers of the pixls.us raw samples database | raw.pixls.us data/, fetched per xtask/src/corpus_pins.rs |
CC0 / public domain, per file as linked |
Files copied into corpus/ by hand (tiff, exr, raw) must be MIT, BSD or CC0.