Commit graph

633 commits

Author SHA1 Message Date
38feca50a1 ci(cad): UI-15 runtime matrix plus CORE/UI truth gates
Some checks failed
cad / cad-truth-gates (push) Has been cancelled
cad / cad-core-checks (push) Has been cancelled
cad / cad-consumers (push) Has been cancelled
repo hygiene / hygiene (push) Has been cancelled
UI-15: project_lifecycle (create/open/edit/save/restart/switch/undo
with A/B isolation and fail-closed corrupt/future/legacy cases),
script_limits (adversarial corpus), bvh_differential (randomized
brute-force comparison with tie discipline), export_interop
(queue discipline, STL/DXF/GLB semantics, grid termination),
runtime_ui (full lifecycle plus desktop/mobile budgets and soak).
cad.yml: CORE canonical-module gates, UI session-module gates
(switch/rebuild/journal/sandbox/ai/cache/BVH/coords/capture/exports),
integration-lane ownership notes; lanes otherwise unchanged.
2026-09-26 05:04:20 +03:00
fca70f96f5 fix(cad-ui): UI-07/09/12/13 backend correctness, valid BVH, bounded exports, honest formats
UI-09: BVH rewritten over a stable primitive-index permutation with
explicit child indices, structural validator, and differential tests
(the old tree walked prims directly and assumed adjacent children).
UI-07: AI worker constructs the selected backend (local fails closed
without a loopback/https endpoint instead of sending prompts to
Claude); streaming is preview-only (never replaces the editor
mid-stream); stale post-cancel events discarded; AI-sized responses
checked against the script ceiling before apply.
UI-06: script source ceiling enforced before VM creation; output
triangle ceiling before cache/export.
UI-12: export dispatch bounded (1 active + 2 queued, explicit reject).
UI-13: GLB preserves hierarchy/scale/visibility/units; PDF uses real
CSG mesh bounds (never fabricated 1x1) and validated grid spacing; SVG
fits viewBox to bounds with validated bounded grids.
Also: corrected PDF CSG test to real bounds, tightened the disabled-copy
test to success markers, FileLock Debug for green lib-test compile.
project_repo.rs/capabilities.rs ride along concurrent fmt/test fixes in
the same files.
2026-09-26 05:04:09 +03:00
22ffa30e8c feat(cad-ui): UI-03b/04/05/06/07/08/10/11/12/14 session modules
UI-03b switch transactions (drain jobs, reset all document-owned
handles, A/B sentinel isolation). UI-04 two-phase rebuild coordinator
(identity/base-revision commits, empty-clears, stale discards). UI-05
universal command journal (per-family round trips, stale refusal,
deterministic budget eviction). UI-06 script sandbox budgets (source,
instructions, depth, dimensions, native cost; identical for all
origins). UI-07 correlated AI (backend-matched factories, preview
buffer, stale/cancel rejection, consent summary, log redaction). UI-08
revisioned bounded caches (canonical identity, digest-verified hits,
LRU bytes, purge on close). UI-10 one coordinate/work-plane model
(right-handed, revision-keyed snap, documented marquee rule). UI-11
capture correlation (bounded resolutions, revision matching, synthetic
gradient guard). UI-12 bounded export coordinator (1+2+reject,
cancel-is-cancelled, switch-stale, no partial success). UI-14
lifecycle gates (hidden/idle/terminal do no work, generation
coalescing, content-free metrics).
2026-09-26 05:03:24 +03:00
f7c4d041b7 fix(cad-core): CORE-11/12 exact URL policy, evidence tests, toolchain hygiene
CORE-11: parsed scheme/host identity replaces string-prefix trust;
loopback is exactly localhost/127/8/::1; plaintext http only for
loopback; lookalikes, user-info, bad ports, fragments rejected.
CORE-12: resource_limits, format_interop (independent parsers), and
migration_corpus integration targets.
Hygiene for green gates under the pinned toolchain: unused-import
cleanup, derivable Default impls, needless-range/manual-contains
fixes, type aliases, fixture-literal allows (no numeric changes).
2026-09-26 05:03:10 +03:00
846d4c5214 fix(cad-core): CORE-08/09/10 bounded STL/DXF and STEP quarantine
CORE-08/09: STL/DXF on the canonical path (graph validation, full
parent-to-world transforms, inherited visibility, triangle/output
budgets, finiteness gates, structured completion metadata, declared
units, preserved sanitized layer names, escaped text).
CORE-10: STEP quarantined behind non-default experimental-step feature
(default builds refuse with a structured error); exact quantized-triple
vertex dedup (no hash collisions), honest open/closed shells (never
asserts a closed manifold without proof), checked entity numbers,
escaped strings, ExperimentalStep naming.
2026-09-26 05:03:09 +03:00
1467d871ad fix(cad-core): CORE-06/07 atomic scene edits and bounded world-mesh stream
CORE-06: DocumentEdit/ScenePatch transactions against base revisions;
failed patches leave byte-identical state, stale bases rejected, undo
via inverse patches, refuse/cascade deletion policy.
CORE-07: one canonical bounded world-mesh stream (hierarchy, full
transforms, inherited visibility, named unit conversion, triangle
budgets, chunked cancellation with no partial success).
2026-09-26 05:02:56 +03:00
0bce180c8c fix(cad-core): CORE-04/05 validated polygon pipeline and mesh hardening
CORE-04: one validated polygon pipeline replaces both fan triangulators
(finite coords, closure/dupe/collinear policy, self-intersection
rejection, ear clipping with area-equality property tests).
CORE-05: mesh validation before use (finite positions, index range,
budget), checked subdivision, None-not-NaN centroid/bounds, chunked
cancellation checkpoints.
2026-09-26 05:02:55 +03:00
0af5d9bc64 fix(cad-core): CORE-01/02/03 structured errors, budgets, checked ids, canonical graph, versioned document
CORE-01: CadError with kind/entity-path, ValidationPolicy/GeometryBudget
hard ceilings enforced before allocation, opaque typed ids with checked
supply, explicit remap tables; missing material/layer refs are hard
errors, never silent fallbacks.
CORE-02: identity transform is translation 0/rotation 0/scale 1
(Default no longer collapses to zero scale); single local/world matrix
convention T*Rz*Ry*Rx*S with iterative validation (duplicates, dangling,
cycles, depth 1024) and inherited visibility.
CORE-03: versioned lossless CadDocument with tagged EntityKind, explicit
units, deterministic canonical bytes, future-version quarantine, and
explicit legacy migration warnings.
Verified in worktree at 64ae8d7: cad-core 319 tests green, clippy/fmt clean.
2026-09-26 05:02:43 +03:00
64ae8d75ab feat(cad-ui): UI-03a project repository with injected roots and atomic saves 2026-09-25 18:57:49 +03:00
081121957e fix(cad-core): UI-02 domain builders record kind_hint (demo goes green) 2026-09-25 17:03:23 +03:00
d4ec1edd34 feat(cad-ui): UI-02 single session authority plus truth gate 2026-09-25 15:01:12 +03:00
b2937ddc83 feat(cad-ui): UI-01 contain STEP/F12/render2d/RayTrace behind capability matrix 2026-09-25 12:52:26 +03:00
a00a7b6790 ci(cad): UI-00 ignored-test inventory plus truth gates and lane split 2026-09-25 12:44:48 +03:00
b3a9005795 feat(pdf): image ink colorants + downsample/pixels + shading/interpreter ports
Some checks failed
nigig-site / SITE-02 native provider/filesystem (macos-latest) (push) Successful in 41m47s
nigig-site / Owned paths and honest test contracts (push) Has been cancelled
nigig-site / Cargo check-all-targets (push) Has been cancelled
nigig-site / Cargo clippy-site-owned (push) Has been cancelled
nigig-site / Cargo contained-media-export-fixtures (push) Has been cancelled
nigig-site / Cargo containment-storage-crypto (push) Has been cancelled
nigig-site / Cargo integration-non-live (push) Has been cancelled
nigig-site / Cargo production-dependency-containment (push) Has been cancelled
nigig-site / Cargo site02-crypto (push) Has been cancelled
nigig-site / Cargo site02-repository (push) Has been cancelled
nigig-site / Cargo site02-store (push) Has been cancelled
nigig-site / Cargo unit (push) Has been cancelled
nigig-site / SITE-02 native provider/filesystem (ubuntu-latest) (push) Has been cancelled
nigig-site / SITE-02 native provider/filesystem (windows-latest) (push) Has been cancelled
nigig-site / SITE-02 desktop runtime and normal shutdown (push) Has been cancelled
nigig-site / SITE-02 migration, recovery, and fault corpus (push) Has been cancelled
nigig-site / Media limits (explicitly skipped until enabled) (push) Has been cancelled
nigig-site / Real server interoperability (explicitly skipped until enabled) (push) Has been cancelled
nigig-site / Security and supply-chain baseline (push) Has been cancelled
PDF engine / engine (push) Has been cancelled
PDF engine / makepad-integration (push) Has been cancelled
PDF engine / fuzz (push) Has been cancelled
repo hygiene / hygiene (push) Has been cancelled
nigig-site / Release capability gate (push) Has been cancelled
2026-09-14 09:46:52 +03:00
Arena Agent
75ec2f9f20 fix(nigig-site): harden macOS native evidence
Some checks failed
nigig-site / Owned paths and honest test contracts (push) Has been cancelled
nigig-site / Cargo check-all-targets (push) Has been cancelled
nigig-site / Cargo clippy-site-owned (push) Has been cancelled
nigig-site / Cargo contained-media-export-fixtures (push) Has been cancelled
nigig-site / Cargo containment-storage-crypto (push) Has been cancelled
nigig-site / Cargo integration-non-live (push) Has been cancelled
nigig-site / Cargo production-dependency-containment (push) Has been cancelled
nigig-site / Cargo site02-crypto (push) Has been cancelled
nigig-site / Cargo site02-repository (push) Has been cancelled
nigig-site / Cargo site02-store (push) Has been cancelled
nigig-site / Cargo unit (push) Has been cancelled
nigig-site / SITE-02 native provider/filesystem (ubuntu-latest) (push) Has been cancelled
nigig-site / SITE-02 native provider/filesystem (windows-latest) (push) Has been cancelled
nigig-site / SITE-02 desktop runtime and normal shutdown (push) Has been cancelled
nigig-site / SITE-02 migration, recovery, and fault corpus (push) Has been cancelled
nigig-site / Media limits (explicitly skipped until enabled) (push) Has been cancelled
nigig-site / Real server interoperability (explicitly skipped until enabled) (push) Has been cancelled
nigig-site / Security and supply-chain baseline (push) Has been cancelled
nigig-site / Release capability gate (push) Has been cancelled
nigig-site / SITE-02 native provider/filesystem (macos-latest) (push) Has been cancelled
repo hygiene / hygiene (push) Has been cancelled
2026-09-14 06:31:57 +00:00
Arena Agent
41259b096a ci(nigig-site): budget clean native builds honestly
Some checks failed
nigig-site / SITE-02 native provider/filesystem (macos-latest) (push) Failing after 2h0m16s
nigig-site / Owned paths and honest test contracts (push) Has been cancelled
nigig-site / Cargo check-all-targets (push) Has been cancelled
nigig-site / Cargo clippy-site-owned (push) Has been cancelled
nigig-site / Cargo contained-media-export-fixtures (push) Has been cancelled
nigig-site / Cargo containment-storage-crypto (push) Has been cancelled
nigig-site / Cargo integration-non-live (push) Has been cancelled
nigig-site / Cargo production-dependency-containment (push) Has been cancelled
nigig-site / Cargo site02-crypto (push) Has been cancelled
nigig-site / Cargo site02-repository (push) Has been cancelled
nigig-site / Cargo site02-store (push) Has been cancelled
nigig-site / Cargo unit (push) Has been cancelled
nigig-site / SITE-02 native provider/filesystem (ubuntu-latest) (push) Has been cancelled
nigig-site / SITE-02 native provider/filesystem (windows-latest) (push) Has been cancelled
nigig-site / SITE-02 desktop runtime and normal shutdown (push) Has been cancelled
nigig-site / SITE-02 migration, recovery, and fault corpus (push) Has been cancelled
nigig-site / Media limits (explicitly skipped until enabled) (push) Has been cancelled
nigig-site / Real server interoperability (explicitly skipped until enabled) (push) Has been cancelled
nigig-site / Security and supply-chain baseline (push) Has been cancelled
nigig-site / Release capability gate (push) Has been cancelled
repo hygiene / hygiene (push) Has been cancelled
2026-09-13 16:26:31 +00:00
Arena Agent
3c9dc7943a classify Site schema versions before decoding
Some checks failed
nigig-site / SITE-02 migration, recovery, and fault corpus (push) Has been cancelled
nigig-site / Media limits (explicitly skipped until enabled) (push) Has been cancelled
nigig-site / Real server interoperability (explicitly skipped until enabled) (push) Has been cancelled
nigig-site / Security and supply-chain baseline (push) Has been cancelled
nigig-site / Release capability gate (push) Has been cancelled
repo hygiene / hygiene (push) Has been cancelled
email / gates (push) Has been cancelled
nigig-map / test (push) Has been cancelled
sms / gates (push) Has been cancelled
spreadsheet / engine-coverage (push) Has been cancelled
traffic / gates (push) Has been cancelled
traffic / nigig-traffic (push) Has been cancelled
traffic / supply-chain (push) Has been cancelled
doc-engine / engine (push) Has been cancelled
doc-engine / coverage (push) Has been cancelled
doc-engine / consumer (push) Has been cancelled
email / email-domain (push) Has been cancelled
email / nigig-email (push) Has been cancelled
email / supply-chain (push) Has been cancelled
nigig-build (CAD) / supply-chain (push) Has been cancelled
nigig-build (CAD) / cad-module (push) Has been cancelled
nigig-build (CAD) / full-crate-check (push) Has been cancelled
nigig-build (CAD) / cad-engine-coverage (push) Has been cancelled
nigig-build (CAD) / doc-workspace-coverage (push) Has been cancelled
sms / robius-sms (push) Has been cancelled
sms / supply-chain (push) Has been cancelled
spreadsheet / ui-controller-coverage (push) Has been cancelled
nigig-build (CAD) / cad-widget-coverage (push) Has been cancelled
sms / android (push) Has been cancelled
sms / nigig-sms (push) Has been cancelled
2026-09-13 07:22:38 +00:00
Arena Agent
bbce8fb015 harden SITE-02 repository and native vault contracts 2026-09-13 06:51:39 +00:00
Arena Agent
92f1508325 site: verify native vault and production dependency trust 2026-09-12 23:03:56 +00:00
Arena Agent
c568a99948 site: exercise abrupt SITE-02 publication exits 2026-09-12 22:21:22 +00:00
Arena Agent
8c786ae163 site: define blocked SITE-02 key lifecycle review 2026-09-12 22:18:22 +00:00
Arena Agent
6d6f887ba6 site: harden SITE-02 process and scope boundaries 2026-09-12 22:11:59 +00:00
Arena Agent
a7a057f44a site: gate SITE-02 runtime and security review 2026-09-12 21:54:30 +00:00
Arena Agent
aa10b06d9b site: prove locked legacy migration contracts 2026-09-12 21:47:35 +00:00
Arena Agent
8dbfae8f72 site: add SITE-02 encrypted repository candidate 2026-09-12 21:44:00 +00:00
Arena Agent
1cb6ad289b docs(nigig-site): record SITE-00 and SITE-01 publication
Some checks failed
nigig-site / Owned paths and honest test contracts (push) Has been cancelled
nigig-site / Cargo check-all-targets (push) Has been cancelled
nigig-site / Cargo clippy-site-owned (push) Has been cancelled
nigig-site / Cargo contained-media-export-fixtures (push) Has been cancelled
nigig-site / Cargo containment-storage-crypto (push) Has been cancelled
nigig-site / Cargo integration-non-live (push) Has been cancelled
nigig-site / Cargo production-dependency-containment (push) Has been cancelled
nigig-site / Cargo unit (push) Has been cancelled
nigig-site / Runtime UI (explicitly skipped until enabled) (push) Has been cancelled
nigig-site / Migration and recovery (explicitly skipped until enabled) (push) Has been cancelled
nigig-site / Media limits (explicitly skipped until enabled) (push) Has been cancelled
nigig-site / Real server interoperability (explicitly skipped until enabled) (push) Has been cancelled
nigig-site / Security and supply-chain baseline (push) Has been cancelled
nigig-site / Release capability gate (push) Has been cancelled
repo hygiene / hygiene (push) Has been cancelled
2026-09-12 15:50:05 +00:00
Arena Agent
5d2d890f70 feat(nigig-site): enforce SITE-01 fail-closed containment
Some checks failed
nigig-site / Migration and recovery (explicitly skipped until enabled) (push) Has been cancelled
nigig-site / Media limits (explicitly skipped until enabled) (push) Has been cancelled
nigig-site / Real server interoperability (explicitly skipped until enabled) (push) Has been cancelled
nigig-site / Security and supply-chain baseline (push) Has been cancelled
nigig-site / Release capability gate (push) Has been cancelled
repo hygiene / hygiene (push) Has been cancelled
doc-engine / engine (push) Has been cancelled
doc-engine / coverage (push) Has been cancelled
doc-engine / consumer (push) Has been cancelled
email / gates (push) Has been cancelled
email / email-domain (push) Has been cancelled
email / nigig-email (push) Has been cancelled
email / supply-chain (push) Has been cancelled
nigig-build (CAD) / supply-chain (push) Has been cancelled
nigig-build (CAD) / cad-module (push) Has been cancelled
nigig-build (CAD) / full-crate-check (push) Has been cancelled
nigig-build (CAD) / cad-engine-coverage (push) Has been cancelled
nigig-build (CAD) / doc-workspace-coverage (push) Has been cancelled
nigig-build (CAD) / cad-widget-coverage (push) Has been cancelled
nigig-map / test (push) Has been cancelled
sms / gates (push) Has been cancelled
sms / robius-sms (push) Has been cancelled
sms / android (push) Has been cancelled
sms / nigig-sms (push) Has been cancelled
sms / supply-chain (push) Has been cancelled
spreadsheet / engine-coverage (push) Has been cancelled
spreadsheet / ui-controller-coverage (push) Has been cancelled
traffic / gates (push) Has been cancelled
traffic / nigig-traffic (push) Has been cancelled
traffic / supply-chain (push) Has been cancelled
Contain production capabilities, remove the production sync surface, and keep legacy media/export/transport implementations test-only.

Require authenticated existing-key storage with preservation-first recovery and sticky write disablement, backed by deterministic fault and concurrency tests plus dependency and workflow contracts.
2026-09-12 15:46:30 +00:00
Arena Agent
f49d8b16ac ci(nigig-site): establish truthful SITE-00 gates
Some checks failed
nigig-site / Owned paths and honest test contracts (push) Has been cancelled
nigig-site / Cargo check-all-targets (push) Has been cancelled
nigig-site / Cargo clippy-site-owned (push) Has been cancelled
nigig-site / Cargo integration-non-live (push) Has been cancelled
nigig-site / Cargo media-export-baseline (push) Has been cancelled
nigig-site / Cargo storage-crypto-baseline (push) Has been cancelled
nigig-site / Cargo unit (push) Has been cancelled
nigig-site / Runtime UI (explicitly skipped until enabled) (push) Has been cancelled
nigig-site / Migration and recovery (explicitly skipped until enabled) (push) Has been cancelled
nigig-site / Media limits (explicitly skipped until enabled) (push) Has been cancelled
nigig-site / Real server interoperability (explicitly skipped until enabled) (push) Has been cancelled
nigig-site / Security and supply-chain baseline (push) Has been cancelled
nigig-site / Release capability gate (push) Has been cancelled
repo hygiene / hygiene (push) Has been cancelled
2026-09-12 09:08:22 +00:00
Arena Agent
672fdd54b7 style(nigig-site): establish SITE-00 formatting baseline
Some checks failed
repo hygiene / hygiene (push) Has been cancelled
2026-09-12 09:04:00 +00:00
Arena Agent
bae671f357 docs(nigig-traffic): add correctness remediation execution plan
Some checks failed
repo hygiene / hygiene (push) Has been cancelled
traffic / gates (push) Has been cancelled
traffic / nigig-traffic (push) Has been cancelled
traffic / supply-chain (push) Has been cancelled
2026-09-12 07:59:51 +00:00
Arena Agent
16a98334f1 docs(nigig-site): add security remediation execution plan
Some checks failed
repo hygiene / hygiene (push) Has been cancelled
2026-09-12 07:59:51 +00:00
Arena Agent
5297c94180 docs(nigig-build): add audited remediation execution plan
Some checks failed
repo hygiene / hygiene (push) Has been cancelled
nigig-build (CAD) / supply-chain (push) Has been cancelled
nigig-build (CAD) / cad-module (push) Has been cancelled
nigig-build (CAD) / full-crate-check (push) Has been cancelled
nigig-build (CAD) / cad-engine-coverage (push) Has been cancelled
nigig-build (CAD) / doc-workspace-coverage (push) Has been cancelled
nigig-build (CAD) / cad-widget-coverage (push) Has been cancelled
2026-09-12 07:59:51 +00:00
Arena Agent
4665973b57 docs(cad-ui): add audited remediation execution plan
Some checks failed
repo hygiene / hygiene (push) Has been cancelled
2026-09-12 07:59:51 +00:00
Arena Agent
3666c6ce3a docs(cad-core): add audited remediation execution plan
Some checks failed
repo hygiene / hygiene (push) Has been cancelled
2026-09-12 07:59:51 +00:00
e899a271c6 feat(pdf): shading port test (12 passed) + function updates
Some checks failed
repo hygiene / hygiene (push) Has been cancelled
PDF engine / engine (push) Has been cancelled
PDF engine / makepad-integration (push) Has been cancelled
PDF engine / fuzz (push) Has been cancelled
2026-09-12 09:22:48 +03:00
cea969cce5 feat(pdf): function module updates
Some checks failed
PDF engine / engine (push) Has been cancelled
PDF engine / makepad-integration (push) Has been cancelled
PDF engine / fuzz (push) Has been cancelled
repo hygiene / hygiene (push) Has been cancelled
2026-09-12 09:14:08 +03:00
c66a8ec9db docs+test(site,pdf): assessment update + font_info port cases
Some checks failed
PDF engine / engine (push) Has been cancelled
PDF engine / makepad-integration (push) Has been cancelled
PDF engine / fuzz (push) Has been cancelled
repo hygiene / hygiene (push) Has been cancelled
Verified: font_info_port 22 passed.
2026-09-12 08:55:20 +03:00
5614121eae feat(site+pdf): report editor video + font ports
Some checks failed
PDF engine / engine (push) Has been cancelled
PDF engine / makepad-integration (push) Has been cancelled
PDF engine / fuzz (push) Has been cancelled
repo hygiene / hygiene (push) Has been cancelled
- nigig-site: video module, report editor WYSIWYG updates.
- pdf-graphics: colorant_raster, font_text, unicode_names modules +
  colorant raster port test; font + font_info test updates.
Verified: nigig-site + pdf-graphics check clean; pdf-graphics tests
all pass (20 suites, 0 failures).
2026-09-12 08:45:35 +03:00
2142e1834b fix(nigig-site): report editor WYSIWYG wiring for new makepad API
Some checks failed
repo hygiene / hygiene (push) Has been cancelled
- Use WidgetRef::borrow_mut/borrow directly for the DocEditor host
  (new Widget derive: borrow has no generics on refs, as_* only on
  WidgetRefExt; WidgetExt blanket impl covers View lookups).
- Semicolon fix for RefMut temporary lifetime in set_rich_mode.
2026-09-12 08:22:43 +03:00
a620609ff9 feat(cad-ui): sun position controls
Some checks failed
repo hygiene / hygiene (push) Has been cancelled
2026-09-12 07:21:51 +03:00
ac8f8aa002 chore: sync full working tree to gitdab
Some checks failed
nigig-build (CAD) / cad-module (push) Has been cancelled
nigig-build (CAD) / full-crate-check (push) Has been cancelled
nigig-build (CAD) / cad-engine-coverage (push) Has been cancelled
nigig-build (CAD) / doc-workspace-coverage (push) Has been cancelled
nigig-build (CAD) / cad-widget-coverage (push) Has been cancelled
traffic / gates (push) Has been cancelled
traffic / nigig-traffic (push) Has been cancelled
traffic / supply-chain (push) Has been cancelled
doc-engine / engine (push) Has been cancelled
doc-engine / coverage (push) Has been cancelled
doc-engine / consumer (push) Has been cancelled
email / gates (push) Has been cancelled
email / email-domain (push) Has been cancelled
email / nigig-email (push) Has been cancelled
email / supply-chain (push) Has been cancelled
nigig-map / test (push) Has been cancelled
sms / gates (push) Has been cancelled
sms / robius-sms (push) Has been cancelled
sms / android (push) Has been cancelled
sms / nigig-sms (push) Has been cancelled
sms / supply-chain (push) Has been cancelled
spreadsheet / engine-coverage (push) Has been cancelled
spreadsheet / ui-controller-coverage (push) Has been cancelled
p2p-intel / engine (push) Has been cancelled
p2p-intel / notifications (push) Has been cancelled
p2p-intel / coverage (push) Has been cancelled
p2p-intel / makepad-app (push) Has been cancelled
p2p-intel / exchange-tab (push) Has been cancelled
Payment domain, storage, platform and UI / isolated-payment-tests (push) Has been cancelled
Payment domain, storage, platform and UI / payment-ui-tests (push) Has been cancelled
Whole-tree sync: cad-core/cad-ui split sources, nigig-build
construction_frame migration, pdf port progress, mpesa/pay/uikit/doc
updates, workspace members/profiles/lock, CI workflows and reviews.
See individual file history for details.
2026-09-12 07:15:24 +03:00
338b8c818f fix(android): enable cad-ui on mobile + new-API fixes
Some checks failed
nigig-build (CAD) / supply-chain (push) Has been cancelled
nigig-build (CAD) / cad-module (push) Has been cancelled
nigig-build (CAD) / full-crate-check (push) Has been cancelled
nigig-build (CAD) / cad-engine-coverage (push) Has been cancelled
nigig-build (CAD) / doc-workspace-coverage (push) Has been cancelled
nigig-build (CAD) / cad-widget-coverage (push) Has been cancelled
repo hygiene / hygiene (push) Has been cancelled
spreadsheet / engine-coverage (push) Has been cancelled
spreadsheet / ui-controller-coverage (push) Has been cancelled
- nigig-build: cad-ui + construction_frame back on unconditionally.
  The host-only gate is dropped: cad-ui now compiles for aarch64, and
  pageflipnav mobile needs ConstructionScreen / BuildProjectsPage
  (CAD/Docs/Spreadsheet buttons) — gating produced the white screen.
- cad-ui: ScriptVmHost for standalone eval (no more vm.std / () host),
  std::thread workers (Cx::spawn_thread removed upstream).
- viewport: same worker fix + section_state helper for the CPU cull path.
- script_bindings: new script/geometry binding module.
- spreadsheet grid + invoice Walk literals: ..Default::default() for
  new aspect/cell/deferred fields; explicit style::CellAlign import
  (makepad added its own CellAlign).
Verified: pageflipnav aarch64 release links with 0 errors; APK built,
installed (54M) and running with home screen drawing.
2026-09-12 00:26:43 +03:00
5ae5d5a84c fix(android): gate cad-ui host-only + port map to new makepad API
Some checks failed
nigig-build (CAD) / supply-chain (push) Has been cancelled
nigig-build (CAD) / cad-module (push) Has been cancelled
nigig-build (CAD) / full-crate-check (push) Has been cancelled
nigig-build (CAD) / cad-engine-coverage (push) Has been cancelled
nigig-build (CAD) / doc-workspace-coverage (push) Has been cancelled
nigig-build (CAD) / cad-widget-coverage (push) Has been cancelled
repo hygiene / hygiene (push) Has been cancelled
nigig-map / test (push) Has been cancelled
- nigig-build: cad-ui + construction_frame host-only (DO NOT enable
  unconditionally: CadViewport Script derive fails ScriptApply for
  aarch64 and breaks every pageflipnav android build).
- map: vendor TagThreadPool (removed upstream with the task-pool
  scheduler) into thread_pool.rs; Walk literals gain
  ..Default::default() for new aspect/cell/deferred fields.
Verified by pageflipnav aarch64 release rust build (0 errors).
2026-09-11 08:46:05 +03:00
b1045d79d4 feat(pdf): graphics/document port progress + android gates
Some checks failed
nigig-build (CAD) / supply-chain (push) Has been cancelled
nigig-build (CAD) / cad-module (push) Has been cancelled
nigig-build (CAD) / full-crate-check (push) Has been cancelled
nigig-build (CAD) / cad-engine-coverage (push) Has been cancelled
nigig-build (CAD) / doc-workspace-coverage (push) Has been cancelled
nigig-build (CAD) / cad-widget-coverage (push) Has been cancelled
repo hygiene / hygiene (push) Has been cancelled
PDF engine / engine (push) Has been cancelled
PDF engine / makepad-integration (push) Has been cancelled
PDF engine / fuzz (push) Has been cancelled
- pdf-graphics: new cff, truetype, cjk_cmap, disk_cache, document_ai,
  path, reflow, text_diff modules + port tests (all green); syntax/type
  fixes for the aarch64 build (stray brace, &u8 derefs, f2dot14 assign).
- pdf-document: ocr, pdf_a, xmp modules + roundtrip tests; annotation
  editor updates.
- pdf-makepad: handle RenderCommand::SetOverprint (report via
  TransparencyError per ADR 0009, no silent drop); renderer/page_view
  updates for the new recording ops.
- matrix_client: nimanyatta native module (ungated; the aarch64 wrapper
  needs it unconditionally).
- pageflipnav home_screen: project_store sync is host-only until
  cad-ui's Widget Script derive is fixed for aarch64.

Verified: cargo check on all four crates clean at fork 66cc4f15f;
nigig-pdf-graphics tests pass; pageflipnav aarch64 release links.
2026-09-11 05:09:11 +03:00
c901f1d4f1 chore(deps): bump makepad fork rev to b9a083c26 + workspace updates
Some checks failed
doc-engine / engine (push) Has been cancelled
doc-engine / coverage (push) Has been cancelled
doc-engine / consumer (push) Has been cancelled
email / gates (push) Has been cancelled
email / email-domain (push) Has been cancelled
email / nigig-email (push) Has been cancelled
email / supply-chain (push) Has been cancelled
nigig-build (CAD) / supply-chain (push) Has been cancelled
nigig-build (CAD) / cad-module (push) Has been cancelled
nigig-build (CAD) / full-crate-check (push) Has been cancelled
nigig-build (CAD) / cad-engine-coverage (push) Has been cancelled
nigig-build (CAD) / doc-workspace-coverage (push) Has been cancelled
nigig-build (CAD) / cad-widget-coverage (push) Has been cancelled
nigig-map / test (push) Has been cancelled
repo hygiene / hygiene (push) Has been cancelled
sms / gates (push) Has been cancelled
sms / robius-sms (push) Has been cancelled
sms / android (push) Has been cancelled
sms / nigig-sms (push) Has been cancelled
sms / supply-chain (push) Has been cancelled
spreadsheet / engine-coverage (push) Has been cancelled
spreadsheet / ui-controller-coverage (push) Has been cancelled
Fork nigig-makepad-test-android now at b9a083c26 (upstream merge +
robot secondary-dex bundling + app_main wrapper fix, on top of the
game-libs/arcade port). All 16 workspace makepad revs follow.

Also takes the in-tree workspace updates: exclude nested
crates/nimanyatta workspace, add crates/apps/nigig-site member, and
PERF-OPS Phase 1 profile tuning (thin LTO + engine opt-level 3).
cad-core/cad-ui split and nigig-traffic members stay WIP.
2026-09-10 16:36:11 +03:00
12dff81b05 fix(build): make cad-ui host-only for Android
Some checks failed
nigig-build (CAD) / supply-chain (push) Has been cancelled
nigig-build (CAD) / cad-module (push) Has been cancelled
nigig-build (CAD) / full-crate-check (push) Has been cancelled
nigig-build (CAD) / cad-engine-coverage (push) Has been cancelled
nigig-build (CAD) / doc-workspace-coverage (push) Has been cancelled
nigig-build (CAD) / cad-widget-coverage (push) Has been cancelled
repo hygiene / hygiene (push) Has been cancelled
cad-ui's Widget Script derive (CadViewport) needs LiveHook fix for
aarch64; until then, gate it behind cfg(not(target_os="android"))
in nigig-build so pageflipnav's aarch64 wrapper (which pulls
nigig-build) can link without cad-ui. Host builds still include
cad-ui. Unblocks pageflipnav aarch64 release.
2026-09-08 22:28:11 +03:00
212abe6e8b refactor(cad): port AI subsystem from makepad-ai Agent API to makepad-ai-hub worker-thread ChatProvider model (adopt upstream example/cad), bump makepad fork rev to 7bddebb
Some checks failed
doc-engine / engine (push) Has been cancelled
doc-engine / coverage (push) Has been cancelled
doc-engine / consumer (push) Has been cancelled
email / gates (push) Has been cancelled
email / email-domain (push) Has been cancelled
email / nigig-email (push) Has been cancelled
email / supply-chain (push) Has been cancelled
nigig-build (CAD) / supply-chain (push) Has been cancelled
nigig-build (CAD) / cad-module (push) Has been cancelled
nigig-build (CAD) / full-crate-check (push) Has been cancelled
nigig-build (CAD) / cad-engine-coverage (push) Has been cancelled
nigig-build (CAD) / doc-workspace-coverage (push) Has been cancelled
nigig-build (CAD) / cad-widget-coverage (push) Has been cancelled
nigig-map / test (push) Has been cancelled
repo hygiene / hygiene (push) Has been cancelled
sms / gates (push) Has been cancelled
sms / robius-sms (push) Has been cancelled
sms / android (push) Has been cancelled
sms / nigig-sms (push) Has been cancelled
sms / supply-chain (push) Has been cancelled
spreadsheet / engine-coverage (push) Has been cancelled
spreadsheet / ui-controller-coverage (push) Has been cancelled
2026-09-03 08:39:07 +03:00
560116189c fix(cad-build): land CAD workspace on project dashboard, not a blank editor
Some checks failed
repo hygiene / hygiene (push) Has been cancelled
nigig-build (CAD) / supply-chain (push) Has been cancelled
nigig-build (CAD) / cad-module (push) Has been cancelled
nigig-build (CAD) / full-crate-check (push) Has been cancelled
nigig-build (CAD) / cad-engine-coverage (push) Has been cancelled
nigig-build (CAD) / doc-workspace-coverage (push) Has been cancelled
nigig-build (CAD) / cad-widget-coverage (push) Has been cancelled
The CAD dashboard's CadDashboard node never realized as a widget, so
tapping 'CAD Workspace' opened to a blank/editor-only sheet. Empirical
device dumps showed the first child after the root realizes reliably
while a sibling placed after the editor AdaptiveView does not, and a
root ':=' widget child alone never realizes here.

- Place dashboard_layer as the FIRST direct child of CadWorkspaceBase,
  wrapping mod.widgets.CadDashboard so it is a reliably-realizable,
  togglable View layer (matching the working doc workspace pattern).
- Wrap the editor AdaptiveView in editor_layer (a plain View) and toggle
  editor_layer/dashboard_layer visibility from apply_dashboard_visibility
  instead of toggling the AdaptiveView variants, which always draw their
  active variant regardless of visible.
- Add use mod.widgets.* to the CadDashboard script_mod (matches the
  CadEditorSheet registration that realizes inside this workspace).
- Add regression test candlands_on_dashboard asserting the dashboard
  title and + New Project button land when opening the workspace.
2026-09-02 09:06:20 +03:00
e16d1d1d44 feat(robius-notification): a zero-dependency D-Bus notifier, and p2p-intel's last limit closes on Linux
Some checks failed
p2p-intel / engine (push) Has been cancelled
p2p-intel / notifications (push) Has been cancelled
p2p-intel / coverage (push) Has been cancelled
p2p-intel / makepad-app (push) Has been cancelled
p2p-intel / exchange-tab (push) Has been cancelled
repo hygiene / hygiene (push) Has been cancelled
sms / gates (push) Has been cancelled
sms / robius-sms (push) Has been cancelled
sms / android (push) Has been cancelled
sms / nigig-sms (push) Has been cancelled
sms / supply-chain (push) Has been cancelled
doc-engine / engine (push) Has been cancelled
doc-engine / coverage (push) Has been cancelled
doc-engine / consumer (push) Has been cancelled
spreadsheet / engine-coverage (push) Has been cancelled
spreadsheet / ui-controller-coverage (push) Has been cancelled
email / gates (push) Has been cancelled
email / email-domain (push) Has been cancelled
email / nigig-email (push) Has been cancelled
email / supply-chain (push) Has been cancelled
nigig-build (CAD) / supply-chain (push) Has been cancelled
nigig-build (CAD) / cad-module (push) Has been cancelled
nigig-build (CAD) / full-crate-check (push) Has been cancelled
nigig-build (CAD) / cad-engine-coverage (push) Has been cancelled
nigig-build (CAD) / doc-workspace-coverage (push) Has been cancelled
nigig-build (CAD) / cad-widget-coverage (push) Has been cancelled
nigig-map / test (push) Has been cancelled
ADR 0035 left one of p2p-intel's four limits open: no OS notification
backend, so alerts stopped when the window closed. The seam existed with one
implementation that truthfully did nothing. This is the crate that fills it.

Posting a notification on Linux is one D-Bus method call. Three ways to make
it were measured rather than assumed: notify-rust with libdbus is twelve
crates but a C library, which needs pkg-config and breaks the Android and
iOS cross-compile this crate family keeps clean; notify-rust with zbus is
pure Rust and 169 crates including an async executor; writing the wire
format out is about 250 lines and nothing at all. robius-sms deleted polkit
and gio for exactly this reason -- its E9 note records they were the sole
source of two RUSTSEC advisories and an LGPL question for every consumer --
so pulling a 169-crate tree back into the same family for one method call
would reverse that decision for a worse reason.

The cost of hand-rolling is that the protocol has to be exactly right, and a
mistake makes the daemon disconnect with no diagnostic. That cost was paid
in tests: the suite starts a private dbus-daemon per test and talks to it.
This matters more than it sounds. The marshaller and the parser were written
from the same reading of the specification, so them agreeing with each other
proves only that I was consistently wrong or consistently right; only a
third party can say which.

It found three bugs no unit test would have.

The first is the one worth dwelling on. Every error reply parsed as success.
The header-field walk assumed all fields were strings, but REPLY_SERIAL is a
u32, and reading its four bytes as a string length desynchronised the cursor
so ERROR_NAME was never reached. `post` returned Ok against a bus with no
notification service running. That is precisely the bug this crate was
written to eliminate -- a notifier that reports success and delivers nothing
-- reintroduced by accident inside its own parser. I cannot think of a
stronger argument for testing against something you did not write.

Second, is_available() was true on a bare bus, because NameHasOwner
*succeeds* and answers false in its body; checking only for an error
reported a working notifier on a machine with no notification daemon.

Third, replies were not correlated. The bus sends NameAcquired unprompted
right after Hello, so "read the next message" consumed a signal and treated
it as the answer. Replies are now matched on REPLY_SERIAL, and a single read
carrying several messages is walked rather than truncated.

The suite also serialises every test that mutates DBUS_SESSION_BUS_ADDRESS
behind a mutex. The variable is process-wide and cargo runs tests in
parallel threads; three consecutive parallel runs are now green.
--test-threads=1 would have made the failures go away too, and would have
hidden a real hazard from whoever reads the file next.

On the four platforms, honestly. Linux is implemented and tested. Android is
implemented and *compiles* -- cargo check and clippy both pass for
aarch64-linux-android -- but has never run on a device, and the module says
so in its first paragraph. It handles the two things Android drops silently,
missing POST_NOTIFICATIONS on API 33+ and a missing channel on API 26+,
because both are the same accepted-and-discarded failure this crate exists
to remove.

Apple and Windows are deliberately not written. Neither could be compiled
here -- no macOS or Windows toolchain and no way to add one -- and objc2
message sends or WinRT calls that no compiler has ever seen are not an
implementation. They are plausible-looking text that would sit in the same
crate as tested code and be read as equally finished. Both return
PermanentlyUnavailable with a reason naming ADR 0036, and their module docs
record the call sequence so the next person starts from a design rather than
a blank file. The support table says "written" and "verified" in separate
columns for the same reason.

p2p-intel's dashboard now uses SystemNotifications instead of
UnavailableNotifications. The latter stays: on a platform with no backend it
is still the truthful answer, and a test needs something that reliably
cannot deliver. Alerts are tagged per fiat so a market replaces its own
previous notification rather than stacking -- a 30-second poll would
otherwise fill the shade, and a full shade is what makes someone turn
notifications off for the app entirely, which costs more than the feature is
worth. Two new tests pin the invariant that a sink must never report
delivery it did not achieve.

CI gains a notifications job that installs dbus and sets
ROBIUS_NOTIFICATION_REQUIRE_DBUS=1. The bus-backed tests skip when
dbus-daemon is absent so the suite stays green on a bare machine, but a
silent skip in CI would mean the integration tests quietly stopped running
while the build stayed green. I verified the guard fails by hiding
dbus-daemon behind a stub that exits 127.

50 tests in the new crate, 225 in p2p-intel, clippy clean on host and
Android, and the app still starts under Xvfb.
2026-09-01 18:43:07 +00:00
da326142bf fix(pay-ui): stop re-setting ussd/phone-perm toggles on refresh so manual user state is preserved
Some checks failed
repo hygiene / hygiene (push) Has been cancelled
Payment domain, storage, platform and UI / payment-ui-tests (push) Has been cancelled
Payment domain, storage, platform and UI / isolated-payment-tests (push) Has been cancelled
2026-09-01 21:40:49 +03:00