Commit Graph
250 Commits
Author SHA1 Message Date
furqan 46ec78e9b4 Merge pull request 'feat: implement PDF page parsing, text extraction, and document modeling logic' (#74) from azeem into dev
Reviewed-on: https://gitea.maskantech.in/gitea_admin/pdf/pulls/74
2026-07-08 09:47:32 +00:00
azeeee05 99f87eb7cf feat: implement PDF page parsing, text extraction, and document modeling logic 2026-07-07 19:03:11 +05:30
furqan a383bd8704 Merge pull request 'azeem' (#72) from azeem into dev
Reviewed-on: https://gitea.maskantech.in/gitea_admin/pdf/pulls/72
2026-07-01 09:39:29 +00:00
azeeee05 90027823e4 chore: remove obsolete feature inventory documentationl 2026-07-01 15:07:38 +05:30
azeeee05 5b034c97b8 Merge branch 'dev' of https://gitea.maskantech.in/gitea_admin/pdf into azeem 2026-07-01 15:06:08 +05:30
azeeee05 bc3ed20a8b done the signature module 2026-07-01 15:05:37 +05:30
furqan abcd407c35 Merge pull request 'furqan' (#71) from furqan into dev
Reviewed-on: https://gitea.maskantech.in/gitea_admin/pdf/pulls/71
2026-06-30 15:49:48 +00:00
Furqan-14 56f538214f Merge branch 'dev' of https://gitea.maskantech.in/gitea_admin/pdf into furqan 2026-06-30 21:19:09 +05:30
Furqan-14 17023abf27 feat: updated text handling bugs 2026-06-30 21:18:46 +05:30
azeeee05 afa8c0a702 feat: implement PDF toolbar, viewer components, and redaction support layer 2026-06-30 11:32:15 +05:30
furqan 8d4fa109ff Merge pull request 'furqan' (#70) from furqan into dev
Reviewed-on: https://gitea.maskantech.in/gitea_admin/pdf/pulls/70
2026-06-29 05:23:56 +00:00
Furqan-14 bc92adfb0c Merge branch 'dev' of https://gitea.maskantech.in/gitea_admin/pdf into furqan 2026-06-29 10:51:23 +05:30
Furqan-14 3b1c36d645 fix: code refactor 2026-06-29 10:51:04 +05:30
furqan a434607276 Merge pull request 'furqan' (#69) from furqan into dev
Reviewed-on: https://gitea.maskantech.in/gitea_admin/pdf/pulls/69
2026-06-26 06:04:37 +00:00
Furqan-14 e795eed63e feat: updated font handling in older pdfs, along with tables 2026-06-26 11:33:28 +05:30
Furqan-14 52b45d82ea Merge branch 'dev' of https://gitea.maskantech.in/gitea_admin/pdf into furqan 2026-06-24 10:42:26 +05:30
Furqan-14 e6e1e0ba7c fix: font handling in revista 2026-06-24 10:42:05 +05:30
furqan 6b5c22130f Merge pull request 'saqib' (#68) from saqib into dev
Reviewed-on: https://gitea.maskantech.in/gitea_admin/pdf/pulls/68
2026-06-22 11:25:33 +00:00
saqib mir 23b162f3c2 create the api for the display list 2026-06-22 16:23:59 +05:30
saqib mir caf3feea15 fix 2026-06-22 15:24:05 +05:30
saqib mir d290e65685 Path construction interpreter (m l c re S f B) 2026-06-22 15:21:39 +05:30
furqan 0ce4759e20 Merge pull request 'fix: code cleanup' (#67) from furqan into dev
Reviewed-on: https://gitea.maskantech.in/gitea_admin/pdf/pulls/67
2026-06-22 09:50:27 +00:00
Furqan-14 e8620947a5 fix: code cleanup 2026-06-22 15:18:47 +05:30
furqan f1b427d66e Merge pull request 'saqib' (#66) from saqib into dev
Reviewed-on: https://gitea.maskantech.in/gitea_admin/pdf/pulls/66
2026-06-22 05:22:32 +00:00
saqib mir ac5a1cc516 Merge branch 'dev' of https://gitea.maskantech.in/gitea_admin/pdf into saqib 2026-06-22 10:48:57 +05:30
furqan f4c4fc08d8 Merge pull request 'furqan' (#65) from furqan into dev
Reviewed-on: https://gitea.maskantech.in/gitea_admin/pdf/pulls/65
2026-06-22 05:18:42 +00:00
Furqan-14 c0bcfe47a2 fix: additional font handling, with operators font issues 2026-06-22 10:48:00 +05:30
saqib mir e7fad0f09d Merge branch 'dev' of https://gitea.maskantech.in/gitea_admin/pdf into saqib 2026-06-22 10:18:00 +05:30
saqib mir e1e1c91736 fix the issue 2026-06-22 10:17:51 +05:30
saqib mir 8e9b0c8dfb test: verify image xobjects 2026-06-19 17:08:36 +05:30
Furqan-14 c4f5012351 Merge branch 'dev' of https://gitea.maskantech.in/gitea_admin/pdf into furqan 2026-06-18 18:25:11 +05:30
Furqan-14 c46b462dd0 feat: implemented multiple new fonts 2026-06-18 18:25:05 +05:30
furqan a14b09b8ac Merge pull request 'saqib' (#64) from saqib into dev
Reviewed-on: https://gitea.maskantech.in/gitea_admin/pdf/pulls/64
2026-06-18 12:32:58 +00:00
saqib mir 7e6e7ef32d Merge branch 'dev' of https://gitea.maskantech.in/gitea_admin/pdf into saqib 2026-06-18 17:31:53 +05:30
furqan d77437b966 Merge pull request 'furqan' (#63) from furqan into dev
Reviewed-on: https://gitea.maskantech.in/gitea_admin/pdf/pulls/63
2026-06-18 11:30:30 +00:00
Furqan-14 edb991606e Merge branch 'dev' of https://gitea.maskantech.in/gitea_admin/pdf into furqan 2026-06-18 17:00:00 +05:30
Furqan-14 0e028e870a fix: plans cleanup 2026-06-18 16:59:53 +05:30
furqan 686d82ef01 Merge pull request 'furqan' (#62) from furqan into dev
Reviewed-on: https://gitea.maskantech.in/gitea_admin/pdf/pulls/62
2026-06-18 11:19:25 +00:00
Furqan-14 c8ec1feb7f Merge branch 'dev' of https://gitea.maskantech.in/gitea_admin/pdf into furqan 2026-06-18 16:48:55 +05:30
Furqan-14 a124a43877 feat: implemented multi page reflow 2026-06-18 16:48:29 +05:30
saqib mir e677da3064 Image XObject handler (Do operator) update 2026-06-18 16:14:50 +05:30
saqib mir b3d3ac4469 Image XObject handler (Do operator) 2026-06-18 16:14:29 +05:30
furqan 661600075a Merge pull request 'furqan' (#61) from furqan into dev
Reviewed-on: https://gitea.maskantech.in/gitea_admin/pdf/pulls/61
2026-06-18 04:34:08 +00:00
Furqan-14 ff0962b111 Merge branch 'dev' of https://gitea.maskantech.in/gitea_admin/pdf into furqan 2026-06-18 10:03:25 +05:30
Furqan-14 bd6ba9205f fix: updated text reflow bugs 2026-06-18 10:03:10 +05:30
Furqan-14andClaude Opus 4.8 63369d4259 fix(reflow): wrapped bullet continuation got bullet-gap spacing instead of wrap spacing
buildBulletItem computed `leading` as the median over ALL paragraph line gaps. In a bullet list
the bullet-to-bullet gap (~14.2pt) is larger than the within-bullet wrap gap (~12.2pt) and dominates
the median, so a newly-wrapped continuation line was placed ~2pt too low (visible extra spacing
between e.g. the Architecture line and its "Design Patterns…" continuation).

Use the WRAP spacing instead: prefer the edited item's own internal line gap (if it already wraps),
then any hanging-continuation gap in the block, then the all-lines median, then font*1.2. Only
affects multi-line (wrapped) bullet items; single-line edits emit no continuation so are unchanged.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-17 21:40:59 +05:30
Furqan-14andClaude Opus 4.8 6edec0cf22 fix(reflow): inserted bullet text picked up the bold label font
Typing at a run boundary (e.g. near "Async" in a bullet) often lands the new text in a
browser-created wrapper element whose only child is that text. resolveStyleEl's sibling-only
search then found no data-fid run and fell back to dominantFid — which for a bullet is the bold
LABEL run (its first run) — so the inserted text rendered bold.

Make resolveStyleEl CLIMB toward the editor root and scan siblings at each level (nearest
preceding run first, then following), so it reaches the real run spans alongside the wrapper and
the inserted text continues the adjacent run's font. data-advances is still read only from the
exact wrapping span, so inherited fonts correctly re-measure. Text typed inside an existing run
is unaffected (step 1 returns its span immediately).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-17 20:49:30 +05:30
Furqan-14andClaude Opus 4.8 839add269a fix(reflow): center/right edits 422'd and silently reverted
Two bugs made centered/right-aligned heading edits vanish on commit:

1. Gateway: ReflowParagraphData.align was Literal["left","justify"], so a center/right reflow
   commit failed Pydantic validation -> 422 Unprocessable Entity. Widened to include
   "center","right" (matches the frontend + engine, which already handle them).

2. Frontend: gatewayService.applyEdits caught ALL errors (incl. HTTP 422/403/500) and returned
   fake success with a phantom `${documentId}_edited` id. The app then adopted that id and 404'd
   on every fetch, so the edit silently reverted instead of showing an error. Now only genuine
   network failures use the offline fallback; real HTTP errors throw the gateway's detail so the
   caller toasts a clear message and stays on the current document.

Gateway runs with --reload (auto-picks up the model change); frontend needs a refresh.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-17 20:37:18 +05:30
Furqan-14andClaude Opus 4.8 ddbafbcd43 fix(build): build_wasm.ps1 builds the real wasm-pdfium engine + deploys pdfium-engine.{mjs,wasm}
build_wasm.ps1 built the `wasm` STUB preset (PDFENGINE_WITH_PDFIUM=OFF, reflow #ifdef'd out)
and deployed it to the UNUSED pdfengine.{mjs,wasm}. The frontend actually loads
pdfium-engine.{mjs,wasm} (the `wasm-pdfium` preset). So "rebuild the WASM" silently shipped a
reflow-less stub to the wrong file — engine changes never reached the browser.

- Build the `wasm-pdfium` preset (PDFium ON) into pdfeng-build/wasm-pdfium (outside OneDrive).
- Deploy bin/pdfengine.{mjs,wasm} -> public/pdfium-engine.{mjs,wasm} (the rename the frontend expects).
- Set EMSDK_QUIET before sourcing emsdk_env.ps1 (its stderr tripped $ErrorActionPreference='Stop').
- Run a new pdfium-engine.smoke.mjs (buildInfo + live-preview exports) instead of pdfengine.test.mjs,
  which targets the stub facade (mock render / engineHasSkia / getDocumentFonts) and can't pass here.
- Relax EAP around the smoke node call so a real failure reports cleanly, not as NativeCommandError.
- pdfengine.test.mjs: de-brittle the buildInfo assertion (was pinned to a stale exact phrase).

Verified: scripts/build_wasm.ps1 runs green end-to-end and deploys pdfium-engine.wasm (md5 53d1ec9f).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-17 19:24:45 +05:30
Furqan-14andClaude Opus 4.8 aff19ac027 build(wasm): deploy the REAL pdfium-engine.wasm with reflow fixes (caret x0, center/right)
The live-preview engine the frontend loads is pdfium-engine.wasm, built by the
`wasm-pdfium` CMake preset (PDFENGINE_WITH_PDFIUM=ON). The reflow code is inside
`#ifdef PDFENGINE_WITH_PDFIUM`, so the `wasm` stub preset (PDFium OFF) — which
scripts/build_wasm.ps1 builds and copies to the UNUSED pdfengine.wasm — never
contained reflow at all. Result: every prior "WASM rebuilt" step updated the wrong,
reflow-less artifact, so the caret x0 fix (and center/right) never reached the browser.

Rebuilt the wasm-pdfium preset and deployed bin/pdfengine.{mjs,wasm} ->
public/pdfium-engine.{mjs,wasm} (md5 now 53d1ec9f, reflow object 631KB vs the 18KB
stub). Bumped the cache-buster so browsers fetch the new engine.

Engine .pyd + overlay-diff gate unchanged (1.70%/1.69%, render identical); the x0
change is caret-only metadata.

Follow-up: build_wasm.ps1 builds the wrong (stub) preset and deploys the wrong file.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-17 19:12:44 +05:30