mirror of
https://github.com/storytold/lightcraft.git
synced 2026-10-24 10:09:01 -06:00
Engine (crates/engine/src/segment/):
- One worker thread owns the model and the encoded photo; the session
sends jobs (with the render job for the model input) and gets results
over channels, never locking what the model holds. In the app
(Segmenter::background) clicks, descriptions, prepares and detail
passes return at once and Session::segment_poll applies results (one
undo step per settled selection, pending clicks shown on the photo);
the CLI/MCP wait for them. Newer requests for the same selection
supersede queued ones.
- Every job runs under catch_unwind: a candle panic becomes an error and
the model is reloaded next time; busy counters are reset by drop
guards; a dead worker is restarted. The model unloads after 10 min idle.
- segment.model.status / .download {acknowledged: true} / .cancel: the
download runs on its own thread; status via atomics (try_lock only).
Without the model every AI request fails at once with "The SAM 3 model
is not installed…"; renders/exports never need it; `seg` params make
AI masks from stored segmentations without it.
- Hostile documents: at most 4 detail patches per component (capped on
deserialize and in the renderer), at most 64 Object clicks.
UI: Object / Describe without the model open "Download the SAM 3
Model?" (size, folder, SAM License link; Not Now / Download, progress,
cancel, Try Again with the reason, Continue once installed); progress in
the Masking panel when the dialog is closed. Reverted the PR's unrelated
default change (mask overlay off + hover-red) to main's behaviour.
tools/install-sam3.*: --fail so error pages never land in files, 416
restarts instead of looping, the weights are verified before they are
moved into place (a bad file is deleted, never resumed from).
Docs: docs/ai-masks.md (in-app download, mirrors, SAM License summary,
no weights in the repo), NOTICE, parity LR-MASK-OBJECTS, What's New,
ROADMAP.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
35 lines
2.0 KiB
Plaintext
35 lines
2.0 KiB
Plaintext
LightCraft
|
|
Copyright (c) 2026 ArtCraft Team and the LightCraft contributors.
|
|
Licensed under the MIT License or the Apache License, Version 2.0, at your option
|
|
(LICENSE-MIT, LICENSE-APACHE).
|
|
|
|
The ArtCraft name, wordmark and logos in docs/brand/ are trademarks of the ArtCraft Team. They are
|
|
not open source and are not covered by the license above; their terms are in
|
|
docs/brand/LICENSE-brand.txt.
|
|
|
|
Third-party material
|
|
|
|
This product bundles third-party material under its own licenses, listed below. The per-file
|
|
list (author, source, license) is in assets/ATTRIBUTION.md.
|
|
|
|
Inter (assets/fonts/Inter-*.ttf) — SIL Open Font License 1.1. See assets/fonts/OFL-Inter.txt.
|
|
Showcase photographs by Ansel Adams, Dorothea Lange and NASA (docs/images/) — public domain. See assets/ATTRIBUTION.md.
|
|
|
|
crates/segment (lightcraft-segment) ports the SAM 3 model code of Hugging Face Transformers
|
|
(https://github.com/huggingface/transformers, src/transformers/models/sam3 and sam3_tracker),
|
|
Copyright The HuggingFace Team and Meta Platforms, Inc., licensed under the Apache License 2.0.
|
|
The port was modified by the LightCraft contributors (2026): translated from Python/PyTorch to
|
|
Rust on candle and restructured; each ported file says so. Because of this, crates/segment is
|
|
licensed under the Apache License 2.0 only (LICENSE-APACHE), not under the MIT option.
|
|
|
|
The SAM 3 weights are not part of LightCraft and are never distributed with it. A user downloads
|
|
the facebook/sam3 checkpoint only when they choose to (in the app, or by hand), under Meta's SAM
|
|
License (https://github.com/facebookresearch/sam3/blob/main/LICENSE), a separate, non-OSI
|
|
licence. See docs/ai-masks.md.
|
|
|
|
Builds made with craft-fonts (the optional CRAFT_FONTS_DIR build input; all official releases)
|
|
also embed the fonts listed in https://github.com/storytold/craft-fonts/blob/main/ATTRIBUTION.md
|
|
(the Japanese fonts BIZ UDPGothic, BIZ UDMincho and Shippori Mincho; the web build embeds only BIZ
|
|
UDPGothic Regular), under the SIL Open Font License 1.1. Release packages include each font's
|
|
licence as OFL-<family>.txt.
|