nigig-org/crates/apps/makepad_table/Cargo.toml
andodeki c7c0ec7582 makepad: centralize fork deps in workspace + bump to 4a166606c
Declare the 12 makepad crate deps once in root [workspace.dependencies]
pointing at the gitdab fork rev 4a166606c (which now also carries
[workspace.dependencies] into the android wrapper manifest). Member
crates switch to workspace = true; 5 non-member workspaces get an inline
rev bump. Fix 9 nigig-app script_mod indent errors surfaced by the newer
upstream macro parser.

The fork rev includes: NIGIG test-mode forwarding, custom AndroidManifest
hook, ortho camera support, and the wrapper workspace-deps fix.
2026-08-28 10:49:41 +03:00

63 lines
3 KiB
TOML

[package]
name = "makepad-table"
version = "0.1.0"
edition = "2021"
authors = ["Makepad Table Scaffold <info@example.com>"]
description = "Notion-style manipulable table widget for Makepad + receipt/quote/invoice platform"
license = "MIT OR Apache-2.0"
[dependencies]
# Pinned to the same fork revision the rest of the repo uses. This crate
# previously tracked `github.com/makepad/makepad` branch `dev`, which is a
# moving target: the same commit of this repo would build against a
# different makepad from one day to the next, and against a *different*
# makepad from every other crate here. Verified to compile against the pin.
# For local makepad dev, replace with:
# makepad-widgets = { path = "../../widgets" }
makepad-widgets = { git = "https://gitdab.com/andodeki/makepad", rev = "4a166606c08867de216125ae34909bc0a1115251" }
# Image format sniffing for attached cells, matching what the Robrix-derived
# app in this repo (`pageflipnav/src/utils.rs`) uses. Zero transitive
# dependencies: it reads a header and names a format, nothing more.
imghdr = "0.7.0"
# ---------------------------------------------------------------------------
# Optional: the host capabilities behind `CellAttachmentProvider`.
# ---------------------------------------------------------------------------
#
# `nigig-uikit` supplies the camera and location widgets that item 6's cell
# menu offers. It is optional because it is expensive: measured, it takes the
# dependency tree from 88 crates to 274.
#
# That is not packaging waste. `camera_widget` imports `send_geocode_request`
# and `request_map_tile` from `nigig-core`, both of which call `spawn_async`
# -- the shared Tokio runtime -- and the first makes an HTTPS call to
# Nominatim. The widget genuinely needs an async runtime and an HTTP client.
#
# So the cost is real and it is opt-in. With the feature off the widget
# depends on `makepad-widgets` and `imghdr` alone, and the attachment menu
# reports camera and location as unavailable rather than pretending. Any app
# turning it on already depends on `nigig-core`, so its own tree grows by
# nothing.
nigig-uikit = { path = "../../nigig-uikit", optional = true }
[features]
default = []
## Camera and location attachments, via `nigig-uikit`. See the dependency
## comment above for what this costs and why.
capabilities = ["dep:nigig-uikit"]
[workspace]
# Workspace members: the table widget lib itself + the doc-model and pdf-export
# crates + the invoicer makepad app.
#
# The table_demo demo lives at apps/invoicer/examples/table_demo.rs and runs
# via `cargo run -p makepad-invoicer --example table_demo` — it inherits
# makepad-invoicer's [dependencies], so no separate Cargo.toml is needed.
members = [
".", # makepad-table lib (the Table widget)
"crates/doc-model", # shared data types
"crates/pdf-export", # pdf-writer based exporter
"apps/invoicer", # makepad UI app (also hosts the table_demo example)
"examples/table_demo", # standalone demo; the drop-into-makepad template
]