makepad/apps/photos/Cargo.toml
Admin 82ac76882e photos: the picture wall as an app — the SMBC archive on the tile engine, a module from its first line; fabric in the launcher
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>
2026-09-02 17:59:12 +02:00

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" }