mirror of
https://github.com/storytold/lightcraft.git
synced 2026-10-25 18:47:42 -06:00
- File > Back Up Library... (web): a zip of the catalog files and every stored original, built entry by entry; Restore Library from Backup... reads it into a new library folder and switches only when complete (the previous library stays in storage). - Failed flushes to browser storage make the catalog Store refuse writes, so changes show as unsaved (top-bar warning) and are retried every 2 s instead of being lost silently. - A picked/dropped photo whose bytes can't be stored is not added. - One tab per library (Web Locks); a second tab shows a message. - Notices: storage not persistent, library failed to open (temporary session), experimental build; ?reset asks first; a panic shows a message instead of a frozen page; long toasts wrap. - Hosting: _headers/.htaccess no longer mark the unhashed .js/.wasm immutable; HOSTING.md rewritten for the actual build. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
74 lines
1.8 KiB
TOML
74 lines
1.8 KiB
TOML
[package]
|
|
name = "lightcraft-web"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
license.workspace = true
|
|
publish = false
|
|
description = "LightCraft in the browser: the egui UI compiled to WASM (build with `cargo xtask web`)"
|
|
|
|
[lints]
|
|
workspace = true
|
|
|
|
[lib]
|
|
crate-type = ["cdylib", "rlib"]
|
|
|
|
[dependencies]
|
|
lightcraft-engine = { workspace = true }
|
|
lightcraft-ui-egui = { workspace = true }
|
|
lightcraft-codecs = { workspace = true }
|
|
lightcraft-raster = { workspace = true }
|
|
lightcraft-preview = { workspace = true }
|
|
serde = { workspace = true }
|
|
serde_json = { workspace = true }
|
|
log = { workspace = true }
|
|
crc32fast = { workspace = true }
|
|
|
|
[target.'cfg(target_arch = "wasm32")'.dependencies]
|
|
eframe = { workspace = true, features = ["default_fonts", "glow"] }
|
|
egui = { workspace = true }
|
|
wasm-bindgen = { workspace = true }
|
|
wasm-bindgen-futures = { workspace = true }
|
|
js-sys = { workspace = true }
|
|
web-sys = { workspace = true, features = [
|
|
"Blob",
|
|
"BlobPropertyBag",
|
|
"DedicatedWorkerGlobalScope",
|
|
"Document",
|
|
"DomStringList",
|
|
"Element",
|
|
"EventTarget",
|
|
"File",
|
|
"FileList",
|
|
"FileSystemCreateWritableOptions",
|
|
"FileSystemDirectoryHandle",
|
|
"FileSystemFileHandle",
|
|
"FileSystemGetDirectoryOptions",
|
|
"FileSystemGetFileOptions",
|
|
"FileSystemRemoveOptions",
|
|
"FileSystemWritableFileStream",
|
|
"HtmlAnchorElement",
|
|
"HtmlCanvasElement",
|
|
"HtmlElement",
|
|
"HtmlInputElement",
|
|
"IdbDatabase",
|
|
"IdbFactory",
|
|
"IdbKeyRange",
|
|
"IdbObjectStore",
|
|
"IdbOpenDbRequest",
|
|
"IdbRequest",
|
|
"IdbTransaction",
|
|
"IdbTransactionMode",
|
|
"IdbVersionChangeEvent",
|
|
"Location",
|
|
"MessageEvent",
|
|
"Navigator",
|
|
"Performance",
|
|
"StorageManager",
|
|
"Url",
|
|
"Window",
|
|
"Worker",
|
|
"WorkerOptions",
|
|
"WorkerType",
|
|
"WritableStream",
|
|
] }
|