apps/photos (lib + bin) puts libs/image_tiles' TileGrid in a tile: it opens a baked library found by name (IMAGE_TILES_HOME, the cwd's local/image-tiles, the checkout the binary was built in — the smbc collection first), shows a status line with the bake command when there is none, and exposes photos.search (every query word in a title or link), photos.show (the camera glides onto one picture) and photos.summary — the same answer for the port and for the module's executor. PhotosModule mints the view inside an isolate with an open schema that takes a collection name, never a path; the WM links it behind app-photos and lists it in the menu. image_tiles learned to decode GIF and WebP and to read a manifest's pictures from disk, so the bake can take local/smbc's mirror: the last 300 comics are baked under local/image-tiles/smbc (293; seven of the mirror's files are saved error pages). fabric joins the launcher with a title and a polite close. Driven hidden: the wall in a process tile beside the left pane, panned and zoomed; search and show cards; the same wall as an in-process module; fabric launched and closed; standalone photos with the F10 overlay on the left. photos 7, image_tiles 5, wm 152; the photos lib checks for wasm32. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
46 lines
1.9 KiB
TOML
46 lines
1.9 KiB
TOML
# photos — the picture wall as an app, part of the Makepad family (wm hosts
|
|
# it as a tile or in-process as a module; terminal, files, sheets are its
|
|
# siblings). The wall is the stock `TileGrid` from makepad-image-tiles over
|
|
# a baked library; this crate adds the app around it: the library choice,
|
|
# the search over what the pictures say, and the tools the assistant calls.
|
|
#
|
|
# photos runs standalone, and unmodified inside makepad-wm / Studio tiles via
|
|
# the shared --stdin-loop client runtime every Makepad app has — and as a
|
|
# module (src/module.rs) the window manager seats in an isolate of its own.
|
|
|
|
[package]
|
|
name = "makepad-photos"
|
|
version = "0.1.0"
|
|
edition = "2021"
|
|
default-run = "photos"
|
|
|
|
[[bin]]
|
|
name = "photos"
|
|
path = "src/main.rs"
|
|
required-features = ["standalone"]
|
|
|
|
[lib]
|
|
name = "makepad_photos"
|
|
path = "src/lib.rs"
|
|
|
|
[features]
|
|
default = ["standalone"]
|
|
# The standalone window: the F10 overlay and the port toward it. A host
|
|
# that links the MODULE (makepad-wm) leaves this off and gets the lib only.
|
|
standalone = ["dep:makepad-aichat", "dep:makepad-wm-api"]
|
|
|
|
[dependencies]
|
|
makepad-widgets = { path = "../../widgets" }
|
|
makepad-wm-theme = { path = "../../libs/wm_theme" }
|
|
# The wall itself: the baked tape library and the pannable, zoomable grid.
|
|
makepad-image-tiles = { path = "../../libs/image_tiles" }
|
|
# The assistant: the F10 overlay in this window, and the tools the wall
|
|
# exposes to it (src/ai.rs).
|
|
makepad-aichat = { path = "../aichat", optional = true }
|
|
# The window manager's vocabulary for the standalone window: the bar's
|
|
# title and the polite close (the module has no window of its own).
|
|
makepad-wm-api = { path = "../../libs/wm_api", optional = true }
|
|
makepad-ai-services = { path = "../../libs/ai/services" }
|
|
makepad-strict-json = { path = "../../libs/strict_json" }
|
|
# The module contract: what the window manager seats in-process (src/module.rs).
|
|
makepad-app-module = { path = "../../libs/app_module" }
|