refactor: merge workspace (core/ + ui/) into a single flat binary crate

integrate CLI into main.rs, no lib.rs by design (YAGNI)
This commit is contained in:
mow 2026-03-10 19:20:57 +01:00
parent 9ec407d9aa
commit 1a0b8c49aa
27 changed files with 171 additions and 249 deletions

View file

@ -1,8 +1,73 @@
# SPDX-License-Identifier: GPL-3.0-or-later
# Cargo.toml
#
# Workspace manifest for the Noctua project.
# Noctua COSMIC desktop application
[workspace]
members = ["core", "ui"]
resolver = "2"
[package]
name = "noctua"
version = "0.1.0"
edition = "2021"
description = "Noctua a document viewer for the COSMIC™ desktop"
repository = "https://codeberg.org/wfx/noctua"
authors = ["Wolfgang Morawetz <wfx@mailbox.org>"]
license = "GPL-3.0-or-later"
[features]
default = ["image", "vector", "portable"]
image = ["dep:image", "dep:kamadak-exif"]
vector = ["dep:resvg"]
portable = ["dep:pdfium-render"]
full = ["image", "vector", "portable"]
[dependencies]
# Serialization
serde = { version = "1", features = ["derive"] }
ron = "0.8"
# Feature-gated document backends
image = { version = "0.25", optional = true }
kamadak-exif = { version = "0.5", optional = true }
pdfium-render = { version = "0.8", optional = true }
resvg = { version = "0.45", optional = true }
# Logging
log = "0.4"
env_logger = "0.11"
# i18n / localization
i18n-embed = { version = "0.16", features = [
"fluent-system",
"desktop-requester",
] }
i18n-embed-fl = "0.10"
# Resource embedding
rust-embed = "8"
# Open files/URLs with the system default application
open = "5"
# Thumbnail cache (freedesktop.org spec)
dirs = "5.0"
md5 = "0.7"
png = "0.17"
# CLI argument parsing
clap = { version = "4", features = ["derive"] }
# Async runtime (required by libcosmic)
tokio = { version = "1", features = ["rt", "rt-multi-thread", "macros"] }
[dependencies.libcosmic]
git = "https://github.com/pop-os/libcosmic.git"
features = [
"a11y",
"about",
"dbus-config",
"multi-window",
"single-instance",
"tokio",
"winit",
"wayland",
"wgpu",
]