hf-dev-01 commited on
Commit
60fe26e
·
verified ·
1 Parent(s): 8e32035

Add verified PP-DocLayoutV3 FP32 candidate

Browse files

Additive non-default candidate selected by the bounded FP32 precision experiment. The default medium profile and legacy Layout-L rollback remain unchanged.

README.md CHANGED
@@ -26,7 +26,7 @@ This repository packages converted artifacts only. Each model's `contract.json`
26
  | OCR detection | `ppocr-v6-medium-det-jaxjs` | FP32 | 61,974,931 |
27
  | OCR recognition | `ppocr-v6-medium-rec-jaxjs` | FP32 | 76,474,177 |
28
 
29
- The selection is defined by [`model-sets/medium.json`](model-sets/medium.json). The filtered runtime manifest is [`models-jaxjs/manifest.json`](models-jaxjs/manifest.json).
30
 
31
  ## Repository Layout
32
 
@@ -56,7 +56,7 @@ Every artifact directory includes:
56
  Preserve the repository paths when resolving files. A browser loader can use a pinned Hub commit as its artifact base URL:
57
 
58
  ```ts
59
- const repo = "OWNER/pj-ocr-jaxjs-medium";
60
  const revision = "PINNED_COMMIT_SHA";
61
  const artifactBase = `https://huggingface.co/${repo}/resolve/${revision}/`;
62
 
@@ -81,3 +81,8 @@ Use a commit SHA rather than `main` in production so contracts, metadata, sideca
81
 
82
  The selected upstream PaddlePaddle model repositories declare Apache-2.0 licensing. See each `contract.json` for its exact upstream repository and revision. The repository-level license text is provided in [`LICENSE`](LICENSE).
83
 
 
 
 
 
 
 
26
  | OCR detection | `ppocr-v6-medium-det-jaxjs` | FP32 | 61,974,931 |
27
  | OCR recognition | `ppocr-v6-medium-rec-jaxjs` | FP32 | 76,474,177 |
28
 
29
+ The selection is defined by [`model-sets/medium.json`](model-sets/medium.json). The non-default [`model-sets/medium-v3-candidate.json`](model-sets/medium-v3-candidate.json) adds the gated FP32 PP-DocLayoutV3 candidate without changing the default. The filtered runtime manifest is [`models-jaxjs/manifest.json`](models-jaxjs/manifest.json).
30
 
31
  ## Repository Layout
32
 
 
56
  Preserve the repository paths when resolving files. A browser loader can use a pinned Hub commit as its artifact base URL:
57
 
58
  ```ts
59
+ const repo = "hf-dev-01/pj-ocr-jaxjs-medium";
60
  const revision = "PINNED_COMMIT_SHA";
61
  const artifactBase = `https://huggingface.co/${repo}/resolve/${revision}/`;
62
 
 
81
 
82
  The selected upstream PaddlePaddle model repositories declare Apache-2.0 licensing. See each `contract.json` for its exact upstream repository and revision. The repository-level license text is provided in [`LICENSE`](LICENSE).
83
 
84
+
85
+
86
+ ## Candidate Layout
87
+
88
+ `pp-doclayout-v3-jaxjs` is an additive FP32 candidate with 25 explicit labels, polygons, and learned order. See [the candidate report](docs/pp-doclayout-v3.md). It is not selected by the default `medium` profile while the promotion decision remains on hold.
SHA256SUMS CHANGED
@@ -1,32 +1,42 @@
1
- f0319ebaffb3908afeb740eb79cebf9e3e2ae62b573731eb4fc5096bc890ace6 ./.gitattributes
2
- caafcb75ca9f0a55b67ad98232bb8ea46418875f1bf1deeff341587a9d28933d ./.gitignore
3
- cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 ./LICENSE
4
- 9a5a9dc5e0342cac2eb4f41fedfbdede6c9c65e0f16d5de5314806af45a94429 ./README.md
5
- bf029047f4363625e7589d0968534e9b0a86141a20f493f8bea5f5c82697cf08 ./model-sets/medium.json
6
- b453973fcd475466af344ccb7529544eb28473a313745e73711728064ed10278 ./models-jaxjs/manifest.json
7
- e6fc2c623b214eb283567c918be21e9cebf2b23dd95c2c26f2076610d3e5f093 ./models-jaxjs/pp-doclayout-l-fp16-jaxjs/constants/0000-eager_tmp_2_deepcopy_547.bool.bin
8
- c93a864055f4bf604782e680d65b5dc2a6dd19c8a7666ea28593b967f05388fb ./models-jaxjs/pp-doclayout-l-fp16-jaxjs/constants/index.json
9
- ae2dc317cab819de7e6ab912b7390a1c00b41c2f437dd6f7ab3dd5c8e8fefa2e ./models-jaxjs/pp-doclayout-l-fp16-jaxjs/contract.json
10
- 88d573f6bff717f138d6b735d52fc7663a7db81cc920e77b34575f10ad5b3e9b ./models-jaxjs/pp-doclayout-l-fp16-jaxjs/metadata.json
11
- f2dae4643151c4b236c5173ef3d960e2b0f7a5471f1615a96ca9a6fe0ba5568a ./models-jaxjs/pp-doclayout-l-fp16-jaxjs/sidecars/config.json
12
- fbdbb903efd3d82db5800f9ae3e2477d2d84525956ef410ffe8e64bbaad02fa5 ./models-jaxjs/pp-doclayout-l-fp16-jaxjs/sidecars/inference.yml
13
- 7e9b393176a11d358b9e5c5d3243b7cef96bb5ba2565b5a71bdd0b0e1c072178 ./models-jaxjs/pp-doclayout-l-fp16-jaxjs/weights.safetensors
14
- 4343743dfa26312018bb3d5208e7512c625102234a3a007b54c9fdc7d82f0848 ./models-jaxjs/pp-formulanet-plus-s-fp16-jaxjs/contract.json
15
- b7752be778e8343f90400d82cacc209ddcae15cfb581486c3eac831449043ff8 ./models-jaxjs/pp-formulanet-plus-s-fp16-jaxjs/metadata.json
16
- ddf1f951ceeb10c2b9de3ae255b62de59299b1028f87878177e86c9604fe3610 ./models-jaxjs/pp-formulanet-plus-s-fp16-jaxjs/sidecars/config.json
17
- 96062655d94c21d39274328dbc82c1a487e66addb8425f5a7fd5b7dfb2421ec3 ./models-jaxjs/pp-formulanet-plus-s-fp16-jaxjs/sidecars/inference.yml
18
- 38be6ae5f469d4c622f616f47c3b2ebe893ec4e42b1aa81195de58e6245b0780 ./models-jaxjs/pp-formulanet-plus-s-fp16-jaxjs/weights.safetensors
19
- df161327d9334d32b8c39fdffcead9062e747ba033fcbc358bee5727d5a897dd ./models-jaxjs/ppocr-v6-medium-det-jaxjs/contract.json
20
- ce153054c98e3dced306c11b0d72fb6a34e30d98bb5b331c2533ffde0ca1aa74 ./models-jaxjs/ppocr-v6-medium-det-jaxjs/metadata.json
21
- 7298d5ead546584af2504d03355f881ac7a7bc0eb1e282d3e159277c1d0af871 ./models-jaxjs/ppocr-v6-medium-det-jaxjs/sidecars/inference.yml
22
- 01fde77b9bf46640ea52c97892b8669618b3109ac760d0be85005526da585a8a ./models-jaxjs/ppocr-v6-medium-det-jaxjs/weights.safetensors
23
- 5fbf9217cfab61fc908a4b7219debe7eea2d2089235306bcf3c54bceebc40ae7 ./models-jaxjs/ppocr-v6-medium-rec-jaxjs/contract.json
24
- 0e8ab9d8fe73b0d5271b4846944e82d3df2974b2db0230b6b5ffc87d25611cb9 ./models-jaxjs/ppocr-v6-medium-rec-jaxjs/metadata.json
25
- 991b700facf5b50a7de193468207d5f4255b538dde0d312ae3b7c7a9b6873129 ./models-jaxjs/ppocr-v6-medium-rec-jaxjs/sidecars/inference.yml
26
- b654abe03b4b2a87c9e36974a06c101fa8b8bfc9b508f5de0e7eb8588ca3c5e5 ./models-jaxjs/ppocr-v6-medium-rec-jaxjs/weights.safetensors
27
- caf7124e7cf8faa8e290f942ad7cbb04de49020028573ec735eb5bfccdff2032 ./models-jaxjs/slanet-plus-table-jaxjs/contract.json
28
- 38dc30f6e7b9d24ff83e35560429b54fa606b58146f1f140e1cfcefc80b9013d ./models-jaxjs/slanet-plus-table-jaxjs/metadata.json
29
- de63f29e0096cbfc7dcf772ae7dabc47c3e5348f29e949d9b4dda8875e90ea31 ./models-jaxjs/slanet-plus-table-jaxjs/sidecars/config.json
30
- 8a6372d3269a6f112fe13a2da7952a84da6e112c10a3146cbb43de5bd01d19fa ./models-jaxjs/slanet-plus-table-jaxjs/sidecars/inference.yml
31
- 68d344a84b726e043f390122240ff2b2ced2949b2a80ce9b61ae955054d190ef ./models-jaxjs/slanet-plus-table-jaxjs/sidecars/table_structure_dict_ch.txt
32
- f2fdc8b6f8377b6b448e6c18771790a4b4dd9090c62f8bad8dcd0c2952234033 ./models-jaxjs/slanet-plus-table-jaxjs/weights.safetensors
 
 
 
 
 
 
 
 
 
 
 
1
+ f0319ebaffb3908afeb740eb79cebf9e3e2ae62b573731eb4fc5096bc890ace6 .gitattributes
2
+ cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE
3
+ af6722cd71ddca7c1cbd0b0636b84254ccfd2dc65f63158855a0464a291e850f README.md
4
+ 2f3f7b87a104517fdd49dc7ee65cbfe612ffa1af68567dd32e64fdb388e9390e docs/pp-doclayout-v3.md
5
+ e24621605c8280219f2a16c1b782521afe597ae11b0d7f74a70ac1ea174e7407 model-sets/medium-v3-candidate.json
6
+ bf029047f4363625e7589d0968534e9b0a86141a20f493f8bea5f5c82697cf08 model-sets/medium.json
7
+ 50251c1fbba94a188cde03e88179a9b17d63e468d12ba37968923017d097f6e6 models-jaxjs/manifest.json
8
+ e6fc2c623b214eb283567c918be21e9cebf2b23dd95c2c26f2076610d3e5f093 models-jaxjs/pp-doclayout-l-fp16-jaxjs/constants/0000-eager_tmp_2_deepcopy_547.bool.bin
9
+ c93a864055f4bf604782e680d65b5dc2a6dd19c8a7666ea28593b967f05388fb models-jaxjs/pp-doclayout-l-fp16-jaxjs/constants/index.json
10
+ ae2dc317cab819de7e6ab912b7390a1c00b41c2f437dd6f7ab3dd5c8e8fefa2e models-jaxjs/pp-doclayout-l-fp16-jaxjs/contract.json
11
+ 88d573f6bff717f138d6b735d52fc7663a7db81cc920e77b34575f10ad5b3e9b models-jaxjs/pp-doclayout-l-fp16-jaxjs/metadata.json
12
+ f2dae4643151c4b236c5173ef3d960e2b0f7a5471f1615a96ca9a6fe0ba5568a models-jaxjs/pp-doclayout-l-fp16-jaxjs/sidecars/config.json
13
+ fbdbb903efd3d82db5800f9ae3e2477d2d84525956ef410ffe8e64bbaad02fa5 models-jaxjs/pp-doclayout-l-fp16-jaxjs/sidecars/inference.yml
14
+ 7e9b393176a11d358b9e5c5d3243b7cef96bb5ba2565b5a71bdd0b0e1c072178 models-jaxjs/pp-doclayout-l-fp16-jaxjs/weights.safetensors
15
+ dfdd60e211d277092c5eb020e65ae461dc65b2daefa236e22443b017e8306116 models-jaxjs/pp-doclayout-v3-jaxjs/constants/0000-eager_tmp_2_deepcopy_547.bool.bin
16
+ 0782478ee59752b01fe74895d9097a96e6616cfef6eb66fd453c28e2fd8a7f29 models-jaxjs/pp-doclayout-v3-jaxjs/constants/index.json
17
+ 243033a54f1aeb6db5aaa75e5c81767fe476726a65f839b3d076be0bd2c5edcb models-jaxjs/pp-doclayout-v3-jaxjs/contract.json
18
+ df6d110faaecdae18ba34408ccc129c23ea82b81dfde581ea83f97c7599ed03c models-jaxjs/pp-doclayout-v3-jaxjs/metadata.json
19
+ 8483bc2af32658aae3d38ddec2b7186f94f925481b70ae9e9034daaf80e6b9e1 models-jaxjs/pp-doclayout-v3-jaxjs/sidecars/README.md
20
+ 506fcfac13b3b546ae40d7886b44126420f392adb694e3f8bb6a6286a1f90fdc models-jaxjs/pp-doclayout-v3-jaxjs/sidecars/inference.yml
21
+ 13492ac1f96d5340caa0f75e8c894a3b7d8e95d7c2e485fd5b671bee9a3df6f3 models-jaxjs/pp-doclayout-v3-jaxjs/weights.safetensors
22
+ 4343743dfa26312018bb3d5208e7512c625102234a3a007b54c9fdc7d82f0848 models-jaxjs/pp-formulanet-plus-s-fp16-jaxjs/contract.json
23
+ b7752be778e8343f90400d82cacc209ddcae15cfb581486c3eac831449043ff8 models-jaxjs/pp-formulanet-plus-s-fp16-jaxjs/metadata.json
24
+ ddf1f951ceeb10c2b9de3ae255b62de59299b1028f87878177e86c9604fe3610 models-jaxjs/pp-formulanet-plus-s-fp16-jaxjs/sidecars/config.json
25
+ 96062655d94c21d39274328dbc82c1a487e66addb8425f5a7fd5b7dfb2421ec3 models-jaxjs/pp-formulanet-plus-s-fp16-jaxjs/sidecars/inference.yml
26
+ 38be6ae5f469d4c622f616f47c3b2ebe893ec4e42b1aa81195de58e6245b0780 models-jaxjs/pp-formulanet-plus-s-fp16-jaxjs/weights.safetensors
27
+ df161327d9334d32b8c39fdffcead9062e747ba033fcbc358bee5727d5a897dd models-jaxjs/ppocr-v6-medium-det-jaxjs/contract.json
28
+ ce153054c98e3dced306c11b0d72fb6a34e30d98bb5b331c2533ffde0ca1aa74 models-jaxjs/ppocr-v6-medium-det-jaxjs/metadata.json
29
+ 7298d5ead546584af2504d03355f881ac7a7bc0eb1e282d3e159277c1d0af871 models-jaxjs/ppocr-v6-medium-det-jaxjs/sidecars/inference.yml
30
+ 01fde77b9bf46640ea52c97892b8669618b3109ac760d0be85005526da585a8a models-jaxjs/ppocr-v6-medium-det-jaxjs/weights.safetensors
31
+ 5fbf9217cfab61fc908a4b7219debe7eea2d2089235306bcf3c54bceebc40ae7 models-jaxjs/ppocr-v6-medium-rec-jaxjs/contract.json
32
+ 0e8ab9d8fe73b0d5271b4846944e82d3df2974b2db0230b6b5ffc87d25611cb9 models-jaxjs/ppocr-v6-medium-rec-jaxjs/metadata.json
33
+ 991b700facf5b50a7de193468207d5f4255b538dde0d312ae3b7c7a9b6873129 models-jaxjs/ppocr-v6-medium-rec-jaxjs/sidecars/inference.yml
34
+ b654abe03b4b2a87c9e36974a06c101fa8b8bfc9b508f5de0e7eb8588ca3c5e5 models-jaxjs/ppocr-v6-medium-rec-jaxjs/weights.safetensors
35
+ caf7124e7cf8faa8e290f942ad7cbb04de49020028573ec735eb5bfccdff2032 models-jaxjs/slanet-plus-table-jaxjs/contract.json
36
+ 38dc30f6e7b9d24ff83e35560429b54fa606b58146f1f140e1cfcefc80b9013d models-jaxjs/slanet-plus-table-jaxjs/metadata.json
37
+ de63f29e0096cbfc7dcf772ae7dabc47c3e5348f29e949d9b4dda8875e90ea31 models-jaxjs/slanet-plus-table-jaxjs/sidecars/config.json
38
+ 8a6372d3269a6f112fe13a2da7952a84da6e112c10a3146cbb43de5bd01d19fa models-jaxjs/slanet-plus-table-jaxjs/sidecars/inference.yml
39
+ 68d344a84b726e043f390122240ff2b2ced2949b2a80ce9b61ae955054d190ef models-jaxjs/slanet-plus-table-jaxjs/sidecars/table_structure_dict_ch.txt
40
+ f2fdc8b6f8377b6b448e6c18771790a4b4dd9090c62f8bad8dcd0c2952234033 models-jaxjs/slanet-plus-table-jaxjs/weights.safetensors
41
+ d535c0790fdc717707966aec6476f8763fa0d0ee7a913aa541674c8fc3d48fff reports/pp-doclayout-v3/precision-experiment.json
42
+ 0bfa79053da041d13732bf433464ed57b3a50681233c4f2b491dcc89160385a4 reports/pp-doclayout-v3/promotion-decision.json
docs/pp-doclayout-v3.md ADDED
@@ -0,0 +1,26 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # PP-DocLayoutV3 JAXJS candidate
2
+
3
+ This additive candidate contains the FP32 artifact selected by OCR JS task `R90AA10-022`.
4
+ FP16 storage is not published: JAXJS/WASM widens it during upload, increases runtime cost, and failed the bounded warm-run RSS gate.
5
+
6
+ - Upstream: `PaddlePaddle/PP-DocLayoutV3`
7
+ - Upstream revision: `7b48a7566925fa464281f930c58eee04fe2c862a`
8
+ - Weight SHA-256: `13492ac1f96d5340caa0f75e8c894a3b7d8e95d7c2e485fd5b671bee9a3df6f3`
9
+ - Weight dtype: `float32`
10
+ - License: Apache-2.0
11
+ - Precision report: [`reports/pp-doclayout-v3/precision-experiment.json`](../reports/pp-doclayout-v3/precision-experiment.json)
12
+ - Promotion decision: [`reports/pp-doclayout-v3/promotion-decision.json`](../reports/pp-doclayout-v3/promotion-decision.json)
13
+
14
+ The model is published as a non-default candidate. The canonical `medium` profile remains unchanged until every promotion gate passes.
15
+
16
+ ## Reproduce
17
+
18
+ From the OCR JS workspace with the pinned Paddle source available:
19
+
20
+ ```bash
21
+ pnpm jaxjs:convert-pp-doclayout-v3
22
+ pnpm --filter @ocr-js/pipeline-runner verify:pp-doclayout-v3
23
+ node scripts/stage-v3-release.mjs ../pj-ocr-jaxjs-medium
24
+ ```
25
+
26
+ No WebGPU execution is required for conversion or the frozen WASM oracle checks.
model-sets/medium-v3-candidate.json ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "schemaVersion": 1,
3
+ "name": "medium-v3-candidate",
4
+ "description": "Non-default medium OCR candidate using the R90AA10-022-approved FP32 PP-DocLayoutV3 artifact.",
5
+ "models": {
6
+ "layout.det": "pp-doclayout-v3-jaxjs",
7
+ "formula.rec": "pp-formulanet-plus-s-fp16-jaxjs",
8
+ "table.rec": "slanet-plus-table-jaxjs",
9
+ "ocr.det": "ppocr-v6-medium-det-jaxjs",
10
+ "ocr.rec": "ppocr-v6-medium-rec-jaxjs"
11
+ }
12
+ }
models-jaxjs/manifest.json CHANGED
The diff for this file is too large to render. See raw diff
 
models-jaxjs/pp-doclayout-v3-jaxjs/constants/0000-eager_tmp_2_deepcopy_547.bool.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:dfdd60e211d277092c5eb020e65ae461dc65b2daefa236e22443b017e8306116
3
+ size 13125
models-jaxjs/pp-doclayout-v3-jaxjs/constants/index.json ADDED
@@ -0,0 +1,20 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "schemaVersion": 1,
3
+ "format": "raw-bool-shards",
4
+ "encoding": "uint8-bool",
5
+ "tensors": [
6
+ {
7
+ "name": "eager_tmp_2_deepcopy_547",
8
+ "shape": [
9
+ 1,
10
+ 13125,
11
+ 1
12
+ ],
13
+ "dtype": "bool",
14
+ "encoding": "uint8-bool",
15
+ "path": "constants/0000-eager_tmp_2_deepcopy_547.bool.bin",
16
+ "sha256": "dfdd60e211d277092c5eb020e65ae461dc65b2daefa236e22443b017e8306116",
17
+ "sizeBytes": 13125
18
+ }
19
+ ]
20
+ }
models-jaxjs/pp-doclayout-v3-jaxjs/contract.json ADDED
The diff for this file is too large to render. See raw diff
 
models-jaxjs/pp-doclayout-v3-jaxjs/metadata.json ADDED
The diff for this file is too large to render. See raw diff
 
models-jaxjs/pp-doclayout-v3-jaxjs/sidecars/README.md ADDED
@@ -0,0 +1,107 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: apache-2.0
3
+ pipeline_tag: image-segmentation
4
+ tags:
5
+ - PaddleOCR
6
+ - PaddlePaddle
7
+ - image-segmentation
8
+ - ocr
9
+ - layout
10
+ - layout_detection
11
+ language:
12
+ - en
13
+ - zh
14
+ - multilingual
15
+ library_name: PaddleOCR
16
+ ---
17
+
18
+ <div align="center">
19
+
20
+
21
+ <h1 align="center">
22
+
23
+ Unified Layout Module for PaddleOCR-VL 1.5/1.6 & GLM-OCR.
24
+
25
+ </h1>
26
+
27
+ [![repo](https://img.shields.io/github/stars/PaddlePaddle/PaddleOCR?color=ccf)](https://github.com/PaddlePaddle/PaddleOCR)
28
+ [![HuggingFace](https://img.shields.io/badge/HuggingFace-black.svg?logo=data:image/png;base64,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&labelColor=white)](https://huggingface.co/PaddlePaddle/PP-DocLayoutV3)
29
+ [![ModelScope](https://img.shields.io/badge/ModelScope-black?logo=data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjIzIiBoZWlnaHQ9IjIwMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KCiA8Zz4KICA8dGl0bGU+TGF5ZXIgMTwvdGl0bGU+CiAgPHBhdGggaWQ9InN2Z18xNCIgZmlsbD0iIzYyNGFmZiIgZD0ibTAsODkuODRsMjUuNjUsMGwwLDI1LjY0OTk5bC0yNS42NSwwbDAsLTI1LjY0OTk5eiIvPgogIDxwYXRoIGlkPSJzdmdfMTUiIGZpbGw9IiM2MjRhZmYiIGQ9Im05OS4xNCwxMTUuNDlsMjUuNjUsMGwwLDI1LjY1bC0yNS42NSwwbDAsLTI1LjY1eiIvPgogIDxwYXRoIGlkPSJzdmdfMTYiIGZpbGw9IiM2MjRhZmYiIGQ9Im0xNzYuMDksMTQxLjE0bC0yNS42NDk5OSwwbDAsMjIuMTlsNDcuODQsMGwwLC00Ny44NGwtMjIuMTksMGwwLDI1LjY1eiIvPgogIDxwYXRoIGlkPSJzdmdfMTciIGZpbGw9IiMzNmNmZDEiIGQ9Im0xMjQuNzksODkuODRsMjUuNjUsMGwwLDI1LjY0OTk5bC0yNS42NSwwbDAsLTI1LjY0OTk5eiIvPgogIDxwYXRoIGlkPSJzdmdfMTgiIGZpbGw9IiMzNmNmZDEiIGQ9Im0wLDY0LjE5bDI1LjY1LDBsMCwyNS42NWwtMjUuNjUsMGwwLC0yNS42NXoiLz4KICA8cGF0aCBpZD0ic3ZnXzE5IiBmaWxsPSIjNjI0YWZmIiBkPSJtMTk4LjI4LDg5Ljg0bDI1LjY0OTk5LDBsMCwyNS42NDk5OWwtMjUuNjQ5OTksMGwwLC0yNS42NDk5OXoiLz4KICA8cGF0aCBpZD0ic3ZnXzIwIiBmaWxsPSIjMzZjZmQxIiBkPSJtMTk4LjI4LDY0LjE5bDI1LjY0OTk5LDBsMCwyNS42NWwtMjUuNjQ5OTksMGwwLC0yNS42NXoiLz4KICA8cGF0aCBpZD0ic3ZnXzIxIiBmaWxsPSIjNjI0YWZmIiBkPSJtMTUwLjQ0LDQybDAsMjIuMTlsMjUuNjQ5OTksMGwwLDI1LjY1bDIyLjE5LDBsMCwtNDcuODRsLTQ3Ljg0LDB6Ii8+CiAgPHBhdGggaWQ9InN2Z18yMiIgZmlsbD0iIzM2Y2ZkMSIgZD0ibTczLjQ5LDg5Ljg0bDI1LjY1LDBsMCwyNS42NDk5OWwtMjUuNjUsMGwwLC0yNS42NDk5OXoiLz4KICA8cGF0aCBpZD0ic3ZnXzIzIiBmaWxsPSIjNjI0YWZmIiBkPSJtNDcuODQsNjQuMTlsMjUuNjUsMGwwLC0yMi4xOWwtNDcuODQsMGwwLDQ3Ljg0bDIyLjE5LDBsMCwtMjUuNjV6Ii8+CiAgPHBhdGggaWQ9InN2Z18yNCIgZmlsbD0iIzYyNGFmZiIgZD0ibTQ3Ljg0LDExNS40OWwtMjIuMTksMGwwLDQ3Ljg0bDQ3Ljg0LDBsMCwtMjIuMTlsLTI1LjY1LDBsMCwtMjUuNjV6Ii8+CiA8L2c+Cjwvc3ZnPg==&labelColor=white)](https://modelscope.cn/models/PaddlePaddle/PP-DocLayoutV3)
30
+ [![HuggingFace](https://img.shields.io/badge/Demo_on_HuggingFace-black.svg?logo=data:image/png;base64,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&labelColor=white)](https://huggingface.co/spaces/PaddlePaddle/PaddleOCR-VL-1.5_Online_Demo)
31
+ [![ModelScope](https://img.shields.io/badge/Demo_on_ModelScope-black?logo=data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjIzIiBoZWlnaHQ9IjIwMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KCiA8Zz4KICA8dGl0bGU+TGF5ZXIgMTwvdGl0bGU+CiAgPHBhdGggaWQ9InN2Z18xNCIgZmlsbD0iIzYyNGFmZiIgZD0ibTAsODkuODRsMjUuNjUsMGwwLDI1LjY0OTk5bC0yNS42NSwwbDAsLTI1LjY0OTk5eiIvPgogIDxwYXRoIGlkPSJzdmdfMTUiIGZpbGw9IiM2MjRhZmYiIGQ9Im05OS4xNCwxMTUuNDlsMjUuNjUsMGwwLDI1LjY1bC0yNS42NSwwbDAsLTI1LjY1eiIvPgogIDxwYXRoIGlkPSJzdmdfMTYiIGZpbGw9IiM2MjRhZmYiIGQ9Im0xNzYuMDksMTQxLjE0bC0yNS42NDk5OSwwbDAsMjIuMTlsNDcuODQsMGwwLC00Ny44NGwtMjIuMTksMGwwLDI1LjY1eiIvPgogIDxwYXRoIGlkPSJzdmdfMTciIGZpbGw9IiMzNmNmZDEiIGQ9Im0xMjQuNzksODkuODRsMjUuNjUsMGwwLDI1LjY0OTk5bC0yNS42NSwwbDAsLTI1LjY0OTk5eiIvPgogIDxwYXRoIGlkPSJzdmdfMTgiIGZpbGw9IiMzNmNmZDEiIGQ9Im0wLDY0LjE5bDI1LjY1LDBsMCwyNS42NWwtMjUuNjUsMGwwLC0yNS42NXoiLz4KICA8cGF0aCBpZD0ic3ZnXzE5IiBmaWxsPSIjNjI0YWZmIiBkPSJtMTk4LjI4LDg5Ljg0bDI1LjY0OTk5LDBsMCwyNS42NDk5OWwtMjUuNjQ5OTksMGwwLC0yNS42NDk5OXoiLz4KICA8cGF0aCBpZD0ic3ZnXzIwIiBmaWxsPSIjMzZjZmQxIiBkPSJtMTk4LjI4LDY0LjE5bDI1LjY0OTk5LDBsMCwyNS42NWwtMjUuNjQ5OTksMGwwLC0yNS42NXoiLz4KICA8cGF0aCBpZD0ic3ZnXzIxIiBmaWxsPSIjNjI0YWZmIiBkPSJtMTUwLjQ0LDQybDAsMjIuMTlsMjUuNjQ5OTksMGwwLDI1LjY1bDIyLjE5LDBsMCwtNDcuODRsLTQ3Ljg0LDB6Ii8+CiAgPHBhdGggaWQ9InN2Z18yMiIgZmlsbD0iIzM2Y2ZkMSIgZD0ibTczLjQ5LDg5Ljg0bDI1LjY1LDBsMCwyNS42NDk5OWwtMjUuNjUsMGwwLC0yNS42NDk5OXoiLz4KICA8cGF0aCBpZD0ic3ZnXzIzIiBmaWxsPSIjNjI0YWZmIiBkPSJtNDcuODQsNjQuMTlsMjUuNjUsMGwwLC0yMi4xOWwtNDcuODQsMGwwLDQ3Ljg0bDIyLjE5LDBsMCwtMjUuNjV6Ii8+CiAgPHBhdGggaWQ9InN2Z18yNCIgZmlsbD0iIzYyNGFmZiIgZD0ibTQ3Ljg0LDExNS40OWwtMjIuMTksMGwwLDQ3Ljg0bDQ3Ljg0LDBsMCwtMjIuMTlsLTI1LjY1LDBsMCwtMjUuNjV6Ii8+CiA8L2c+Cjwvc3ZnPg==&labelColor=white)](https://modelscope.cn/studios/PaddlePaddle/PaddleOCR-VL-1.5_Online_Demo/summary)
32
+ [![Discord](https://img.shields.io/badge/Discord-ERNIE-5865F2?logo=discord&logoColor=white)](https://discord.gg/JPmZXDsEEK)
33
+ [![X](https://img.shields.io/badge/X-PaddlePaddle-6080F0)](https://x.com/PaddlePaddle)
34
+ [![License](https://img.shields.io/badge/license-Apache_2.0-green)](./LICENSE)
35
+
36
+ **🔥 [Official Website](https://www.paddleocr.com)** |
37
+ **📝 [Technical Report](https://arxiv.org/abs/2606.23344)**
38
+
39
+ </div>
40
+
41
+
42
+
43
+
44
+ ## Introduction
45
+
46
+ This is the PP-Doclayoutv3 model weights for the PaddlePaddle framework. Get safetensors weights at [PP-DocLayoutV3_safetensors](https://huggingface.co/PaddlePaddle/PP-DocLayoutV3_safetensors)
47
+
48
+ **PP-DocLayoutV3 is specifically engineered to handle non-planar document images. It can directly predict multi-point bounding boxes for layout elements—as opposed to standard two-point boxes—and determine logical reading orders for skewed and curved surfaces within a single forward pass, significantly reducing cascading errors.** This model is an essential component of PaddleOCR-VL-1.5, providing crucial layout analysis for the high-precision parsing of various real-world documents in PaddleOCR-VL.
49
+
50
+ This work has been accepted to ECCV 2026! 🎉
51
+
52
+
53
+
54
+
55
+ ### **Model Architecture**
56
+
57
+ <div align="center">
58
+ <img src="https://raw.githubusercontent.com/cuicheng01/PaddleX_doc_images/refs/heads/main/images/paddleocr_vl_1_5/PP-DocLayoutV3.png" width="800"/>
59
+ </div>
60
+
61
+
62
+ ## Visualization
63
+
64
+
65
+ ### Light Variation
66
+
67
+ <div align="center">
68
+ <img src="https://raw.githubusercontent.com/cuicheng01/PaddleX_doc_images/refs/heads/main/images/paddleocr_vl_1_5/layout_lighting.jpg" width="800"/>
69
+ </div>
70
+
71
+
72
+ ### Skewing
73
+
74
+ <div align="center">
75
+ <img src="https://raw.githubusercontent.com/cuicheng01/PaddleX_doc_images/refs/heads/main/images/paddleocr_vl_1_5/layout_skew.jpg" width="800"/>
76
+ </div>
77
+
78
+
79
+ ### Screen-photo
80
+
81
+ <div align="center">
82
+ <img src="https://raw.githubusercontent.com/cuicheng01/PaddleX_doc_images/refs/heads/main/images/paddleocr_vl_1_5/layout_screen.jpg" width="800"/>
83
+ </div>
84
+
85
+
86
+ ### Curving
87
+
88
+ <div align="center">
89
+ <img src="https://raw.githubusercontent.com/cuicheng01/PaddleX_doc_images/refs/heads/main/images/paddleocr_vl_1_5/layout_curv.jpg" width="800"/>
90
+ </div>
91
+
92
+
93
+ ## Citation
94
+
95
+ If you find PP-DocLayoutV3 helpful, feel free to give us a star and citation.
96
+
97
+ ```bibtex
98
+ @misc{cui2026rtdoclayoutrealtimeendtoenddocument,
99
+ title={RT-DocLayout: Real-Time End-to-End Document Layout Analysis with Reading Order in the Wild},
100
+ author={Cheng Cui and Tingquan Gao and Xueqing Wang and Changda Zhou and Hongen Liu and Ting Sun and Yubo Zhang and Zelun Zhang and Jiaxuan Liu and Manhui Lin and Yue Zhang and Suyin Liang and Yiqing Xiang and Yi Liu},
101
+ year={2026},
102
+ eprint={2606.23344},
103
+ archivePrefix={arXiv},
104
+ primaryClass={cs.CV},
105
+ url={https://arxiv.org/abs/2606.23344},
106
+ }
107
+ ```
models-jaxjs/pp-doclayout-v3-jaxjs/sidecars/inference.yml ADDED
@@ -0,0 +1,100 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ mode: paddle
2
+ draw_threshold: 0.5
3
+ metric: COCO
4
+ use_dynamic_shape: false
5
+ Global:
6
+ model_name: PP-DocLayoutV3
7
+ arch: DETR
8
+ min_subgraph_size: 3
9
+ Preprocess:
10
+ - interp: 2
11
+ keep_ratio: false
12
+ target_size:
13
+ - 800
14
+ - 800
15
+ type: Resize
16
+ - mean:
17
+ - 0.0
18
+ - 0.0
19
+ - 0.0
20
+ norm_type: none
21
+ std:
22
+ - 1.0
23
+ - 1.0
24
+ - 1.0
25
+ type: NormalizeImage
26
+ - type: Permute
27
+ label_list:
28
+ - abstract
29
+ - algorithm
30
+ - aside_text
31
+ - chart
32
+ - content
33
+ - display_formula
34
+ - doc_title
35
+ - figure_title
36
+ - footer
37
+ - footer_image
38
+ - footnote
39
+ - formula_number
40
+ - header
41
+ - header_image
42
+ - image
43
+ - inline_formula
44
+ - number
45
+ - paragraph_title
46
+ - reference
47
+ - reference_content
48
+ - seal
49
+ - table
50
+ - text
51
+ - vertical_text
52
+ - vision_footnote
53
+ Hpi:
54
+ backend_configs:
55
+ paddle_infer:
56
+ trt_dynamic_shapes: &id001
57
+ image:
58
+ - - 1
59
+ - 3
60
+ - 800
61
+ - 800
62
+ - - 1
63
+ - 3
64
+ - 800
65
+ - 800
66
+ - - 8
67
+ - 3
68
+ - 800
69
+ - 800
70
+ scale_factor:
71
+ - - 1
72
+ - 2
73
+ - - 1
74
+ - 2
75
+ - - 8
76
+ - 2
77
+ trt_dynamic_shape_input_data:
78
+ scale_factor:
79
+ - - 2
80
+ - 2
81
+ - - 1
82
+ - 1
83
+ - - 0.67
84
+ - 0.67
85
+ - 0.67
86
+ - 0.67
87
+ - 0.67
88
+ - 0.67
89
+ - 0.67
90
+ - 0.67
91
+ - 0.67
92
+ - 0.67
93
+ - 0.67
94
+ - 0.67
95
+ - 0.67
96
+ - 0.67
97
+ - 0.67
98
+ - 0.67
99
+ tensorrt:
100
+ dynamic_shapes: *id001
models-jaxjs/pp-doclayout-v3-jaxjs/weights.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:13492ac1f96d5340caa0f75e8c894a3b7d8e95d7c2e485fd5b671bee9a3df6f3
3
+ size 130847572
reports/pp-doclayout-v3/precision-experiment.json ADDED
@@ -0,0 +1,157 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "schemaVersion": 1,
3
+ "kind": "pp-doclayout-v3-precision-experiment",
4
+ "generatedAt": "2026-07-12T05:58:00Z",
5
+ "runtime": {
6
+ "name": "jaxjs-wasm",
7
+ "threads": 1,
8
+ "wasmLinearMemoryBytes": 536870912,
9
+ "processRssBudgetBytes": 805306368,
10
+ "isolation": "fresh process per cold fixture; same detector and process for warm probe"
11
+ },
12
+ "artifacts": {
13
+ "fp32": {
14
+ "id": "pp-doclayout-v3-jaxjs",
15
+ "weightsSha256": "13492ac1f96d5340caa0f75e8c894a3b7d8e95d7c2e485fd5b671bee9a3df6f3",
16
+ "weightsSizeBytes": 130847572,
17
+ "status": "selected"
18
+ },
19
+ "fp16": {
20
+ "id": "pp-doclayout-v3-fp16-jaxjs",
21
+ "parentId": "pp-doclayout-v3-jaxjs",
22
+ "weightsSha256": "da8613530ea128d8e85d00be530fe02a29830e59308f6dc6c67e12fdb03e6a8f",
23
+ "weightsSizeBytes": 65459939,
24
+ "sizeRatio": 0.5002762985926862,
25
+ "status": "rejected-runtime"
26
+ }
27
+ },
28
+ "conversion": {
29
+ "report": "fp16-conversion-audit.json",
30
+ "byteReproducible": true,
31
+ "floatingTensorCount": 738,
32
+ "retainedFloat32TensorCount": 0,
33
+ "retainedNativeTensorCount": 1,
34
+ "mixedPrecisionTensorCount": 0,
35
+ "normalizationSensitiveTensorCount": 464,
36
+ "overflowCount": 0,
37
+ "underflowToZeroCount": 1445,
38
+ "maxAbsError": 1.197265625,
39
+ "rmse": 0.0006262482094378353
40
+ },
41
+ "qualityThresholds": {
42
+ "classExact": true,
43
+ "maximumThresholdCrossings": 0,
44
+ "relativeOrderExact": true,
45
+ "minimumBoxIou": 0.995,
46
+ "minimumPolygonIou": 0.95,
47
+ "minimumMaskIou": 0.995,
48
+ "maximumScoreAbsError": 0.003,
49
+ "minimumPositiveClassRecall": 1
50
+ },
51
+ "quality": {
52
+ "fp16Academic": {
53
+ "report": "fp16-academic.json",
54
+ "classExact": true,
55
+ "thresholdCrossingCount": 0,
56
+ "relativeOrderExact": true,
57
+ "maximumAbsoluteOrderDelta": 2,
58
+ "minimumBoxIou": 0.9991102898194166,
59
+ "minimumPolygonIou": 0.9642857142857143,
60
+ "minimumMaskIou": 0.9962546816479401,
61
+ "meanMaskIou": 0.9998196085124901,
62
+ "maximumScoreAbsError": 0.0004281950245667021,
63
+ "formulaRecall": 1,
64
+ "formulaNumberRecall": 1,
65
+ "tableRecall": null,
66
+ "tableRecallStatus": "not-evaluable-no-table-positive-in-frozen-v3-oracle"
67
+ },
68
+ "fp16Curved": {
69
+ "report": "fp16-curved.json",
70
+ "classExact": true,
71
+ "thresholdCrossingCount": 0,
72
+ "relativeOrderExact": true,
73
+ "maximumAbsoluteOrderDelta": 2,
74
+ "minimumBoxIou": 0.9978265928684884,
75
+ "minimumPolygonIou": 0.9645151633776222,
76
+ "minimumMaskIou": 0.9982293050022134,
77
+ "meanMaskIou": 0.9997030696791581,
78
+ "maximumScoreAbsError": 0.0024748477961731297
79
+ },
80
+ "fp32Academic": {
81
+ "report": "fp32-academic-warm.json",
82
+ "classExact": true,
83
+ "thresholdCrossingCount": 0,
84
+ "relativeOrderExact": true,
85
+ "maximumAbsoluteOrderDelta": 2,
86
+ "minimumBoxIou": 0.9990843017788482,
87
+ "minimumPolygonIou": 0.9642857142857143,
88
+ "minimumMaskIou": 0.9962546816479401,
89
+ "meanMaskIou": 0.9998269382768598,
90
+ "maximumScoreAbsError": 0.00038713593536376933,
91
+ "formulaRecall": 1,
92
+ "formulaNumberRecall": 1
93
+ },
94
+ "page4Ownership": {
95
+ "fixture": "../1512.00809v4/page-4-formula-ownership.json",
96
+ "layoutFormulaLabelsExact": true,
97
+ "inlineFormulaRecall": 1,
98
+ "displayFormulaRecall": 1,
99
+ "formulaNumberRecall": 1,
100
+ "normalizedDuplicateCandidateCount": 0,
101
+ "nestedInlineDisplayConflictCount": 0,
102
+ "materialTextFormulaOverlapCount": 0,
103
+ "oneToOneOwnership": true,
104
+ "projectionConsistency": true
105
+ }
106
+ },
107
+ "performance": {
108
+ "fp32": {
109
+ "coldLatencyMs": 343516.373041,
110
+ "warmLatencyMs": 303129.631833,
111
+ "coldParameterUploadMs": 29.407006999719556,
112
+ "warmParameterUploadMs": 32.0894330003066,
113
+ "artifactFetchMs": 63.44441599999993,
114
+ "weightsParseMs": 1.22362499999997,
115
+ "peakRssBytes": 737345536,
116
+ "warmCompleted": true
117
+ },
118
+ "fp16": {
119
+ "coldAcademicLatencyMs": 345001.211625,
120
+ "coldCurvedLatencyMs": 346552.886208,
121
+ "coldAcademicParameterUploadMs": 1937.737654999974,
122
+ "coldCurvedParameterUploadMs": 1909.9433300003657,
123
+ "artifactFetchMs": 35.69737499999985,
124
+ "weightsParseMs": 11.531665999999973,
125
+ "maximumColdPeakRssBytes": 778125312,
126
+ "warmCompleted": false,
127
+ "warmStopReport": "fp16-warm-stop.json",
128
+ "warmStopPeakRssBytes": 805961728
129
+ }
130
+ },
131
+ "gates": {
132
+ "conversionReproducible": true,
133
+ "tensorPolicyExplainable": true,
134
+ "qualityPassed": true,
135
+ "coldRssPassed": true,
136
+ "warmRssPassed": false,
137
+ "runtimeMemoryImprovedOverFp32": false,
138
+ "parameterUploadImprovedOverFp32": false,
139
+ "artifactSizeImproved": true,
140
+ "webgpuRequired": false,
141
+ "webgpuAttempted": false
142
+ },
143
+ "decision": {
144
+ "selectedArtifactId": "pp-doclayout-v3-jaxjs",
145
+ "selectedPrecision": "float32",
146
+ "fp16Candidate": "reject",
147
+ "reason": "FP16 storage preserves semantics and halves download bytes, but JAXJS/WASM widens parameters during upload, increases cold peak RSS and upload time, and fails the bounded same-process warm run while FP32 completes both cold and warm runs.",
148
+ "candidateIntegrationAllowed": false,
149
+ "publicationAllowed": false,
150
+ "dependentTasksMustConsume": "pp-doclayout-v3-jaxjs"
151
+ },
152
+ "safety": {
153
+ "webgpuAttempted": false,
154
+ "reason": "WASM gates fully determine rejection and prior machine-safety policy prohibits unbounded WebGPU work",
155
+ "liveResourcesAfterExperiment": 0
156
+ }
157
+ }
reports/pp-doclayout-v3/promotion-decision.json ADDED
@@ -0,0 +1,78 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "schemaVersion": 1,
3
+ "kind": "pp-doclayout-v3-promotion-decision",
4
+ "generatedAt": "2026-07-12T06:31:00.000Z",
5
+ "candidate": {
6
+ "id": "pp-doclayout-v3-jaxjs",
7
+ "precision": "float32",
8
+ "weightsSha256": "13492ac1f96d5340caa0f75e8c894a3b7d8e95d7c2e485fd5b671bee9a3df6f3",
9
+ "weightsSizeBytes": 130847572
10
+ },
11
+ "rollback": {
12
+ "id": "pp-doclayout-l-fp16-jaxjs",
13
+ "weightsSha256": "7e9b393176a11d358b9e5c5d3243b7cef96bb5ba2565b5a71bdd0b0e1c072178"
14
+ },
15
+ "policy": {
16
+ "allMandatoryGatesMustPass": true,
17
+ "mineruIsTruthAuthority": false,
18
+ "fullDocumentWebGpuAllowed": false,
19
+ "missingEvidenceCountsAsPass": false
20
+ },
21
+ "gates": [
22
+ {
23
+ "id": "frozen-academic-and-curved-oracles",
24
+ "mandatory": true,
25
+ "status": "pass",
26
+ "evidence": ["precision-experiment.json", "fp32-academic-warm.json"],
27
+ "summary": "Classes, threshold membership, relative order, boxes, polygons, masks, and scores meet the frozen Paddle tolerances."
28
+ },
29
+ {
30
+ "id": "page4-formula-ownership",
31
+ "mandatory": true,
32
+ "status": "pass",
33
+ "evidence": ["../1512.00809v4/page-4-formula-ownership.json", "../1512.00809v4/stage-aware-evidence.json"],
34
+ "summary": "Formula/formula-number recall is 1 and normalized ownership has zero duplicates, nested conflicts, or material text overlap."
35
+ },
36
+ {
37
+ "id": "deterministic-wasm",
38
+ "mandatory": true,
39
+ "status": "pass",
40
+ "evidence": ["fp32-academic-warm.json"],
41
+ "summary": "Two same-process FP32 runs preserve decoded classes, geometry, order, and masks under the bounded WASM supervisor."
42
+ },
43
+ {
44
+ "id": "cli-web-contract-parity",
45
+ "mandatory": true,
46
+ "status": "pass",
47
+ "evidence": ["source-tests:modelRuntime,nodeJaxJs,layoutModelOutput"],
48
+ "summary": "CLI and web select the same factory and preserve explicit labels, formula numbers, polygons, and learned order through one output mapper."
49
+ },
50
+ {
51
+ "id": "corpus-text-table-image-formula-recall",
52
+ "mandatory": true,
53
+ "status": "not-evaluated",
54
+ "evidence": ["../1512.00809v4/stage-aware-evidence.json"],
55
+ "summary": "The frozen V3 oracle has formulas and text but no table-positive or image-positive curated case; absent classes are not counted as success."
56
+ },
57
+ {
58
+ "id": "bounded-browser-runtime",
59
+ "mandatory": true,
60
+ "status": "not-evaluated-safety",
61
+ "evidence": ["source-tests:modelRuntime"],
62
+ "summary": "Browser contract tests pass, but live WebGPU inference was deliberately not run after the prior machine crash."
63
+ },
64
+ {
65
+ "id": "startup-and-memory-budget",
66
+ "mandatory": true,
67
+ "status": "not-approved",
68
+ "evidence": ["fp32-academic-warm.json", "precision-experiment.json"],
69
+ "summary": "FP32 is bounded but the approximately 343.5 s cold and 303.1 s warm WASM runs and 130.8 MB weights lack an approved browser/startup budget comparison against Layout-L."
70
+ }
71
+ ],
72
+ "decision": {
73
+ "status": "hold",
74
+ "promoteToMedium": false,
75
+ "reason": "Mandatory corpus class-recall, live bounded browser, and comparative startup/memory gates are not passed. Missing or intentionally unrun evidence cannot be converted into approval.",
76
+ "nextSafeAction": "Complete table/image-positive Paddle or bounded WASM corpus evidence and define an acceptable startup budget; keep live WebGPU disabled until a separately authorized crash-contained smoke environment exists."
77
+ }
78
+ }