Build Windows portable / build (push) Canceled after 0s
File Canva gói toàn bộ nội dung trang vào 1 Form XObject nên chế độ sửa không thấy gì để sửa. Engine giờ liệt kê PHẲNG đệ quy vào form (FPDFFormObj_CountObjects/GetObject qua pdfium-render), mỗi mục có path [i,j,...] + tích ma trận form để quy toạ độ/cỡ chữ về trang; index của ObjectInfo/EditOp = vị trí trong danh sách phẳng (trang không form thì trùng index trang — tương thích ngược, UI không đổi cách gửi op). - SetText in-place/substitute + ReflowText + Delete hoạt động với run trong form; xoá trong form = set_text chuỗi rỗng (FPDFFormObj_RemoveObject chưa mở ở wrapper cho pdfium_7543), object mới vẽ ở cấp trang với matrix đã compose. - Đã xác minh trước: PDFium regenerate stream form khi con bị sửa (ProcessForm / HasDirtyStreams) — canary test round-trip kèm theo. - ObjectInfo thêm nested/expanded; UI bỏ khung form phủ trang + chặn kéo run trong form (Transform chưa hỗ trợ). - 4 test integration mới với fixture Form XObject tự dựng bằng lopdf (dev-dependency mới); CI thêm bước cargo test -p ff-engine trước build (máy dev không có Rust — CI là nơi duy nhất chạy test), cache thêm target/. Chi tiết: docs/12-phase4-summary.md (Iteration 4). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
32 lines
880 B
TOML
32 lines
880 B
TOML
[package]
|
|
name = "ff-engine"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
license.workspace = true
|
|
description = "FoFreeXit engine: render/edit/io over PDFium + QPDF"
|
|
|
|
[dependencies]
|
|
ff-cos = { path = "../ff-cos" }
|
|
ff-pdmodel = { path = "../ff-pdmodel" }
|
|
anyhow.workspace = true
|
|
thiserror.workspace = true
|
|
pdfium-render = "0.8"
|
|
image = "0.25"
|
|
lopdf = "0.36"
|
|
ttf-parser = "0.25"
|
|
# Phase 5 iteration 2 — chữ ký số (PKCS#7/CMS detached, RSA-SHA256):
|
|
rsa = { version = "0.9", features = ["sha2"] }
|
|
sha2 = "0.10"
|
|
cms = { version = "0.2", features = ["builder"] }
|
|
x509-cert = { version = "0.2", features = ["builder"] }
|
|
rcgen = "0.13"
|
|
pkcs8 = { version = "0.10", features = ["pem"] }
|
|
der = "0.7"
|
|
spki = "0.7"
|
|
signature = "2"
|
|
const-oid = { version = "0.9", features = ["db"] }
|
|
|
|
[dev-dependencies]
|
|
# Dựng PDF fixture (Form XObject...) trong integration test.
|
|
lopdf = "0.36"
|