develop
3
Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
d3378825d7
|
feat(renderer): bundle five OFL fonts for version 2 label text
Version 2 label scenes draw text in faces shipped inside the renderer, so a label needs no printer font, no installed font and no object storage: qqq-sans, qqq-sans-bold IBM Plex Sans Regular and Bold (@ibm/plex-sans@1.1.0) qqq-condensed-bold IBM Plex Sans Condensed Bold (@ibm/plex-sans-condensed@2.0.0) qqq-mono, qqq-mono-bold JetBrains Mono Regular and Bold (v2.304) The files are unmodified, taken from each project's official release archive. Each licence was confirmed as the SIL Open Font License 1.1 from the archive's own licence file, which is shipped byte for byte beside the fonts with a provenance note (release, archive URL and hash, path in the archive, font version). /fonts/SHA256SUMS lists the hashes. git is told never to rewrite anything under /fonts. THIRD-PARTY.md and NOTICE record the fonts. The OFL is not on the K22-DEP-02 allowlist; the maintainer approved one recorded exception for unmodified OFL fonts shipped as data, and the register entry is proposed with the pull request. Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com> |
||
|
|
ad6b0ffa88
|
feat(renderer): scene 2 core: layout in physical units, one canvas, diagnostics (P1)
A source with schema qqq-zpl-scene/2 is a label layout in millimetres, inches, points, percentages and dots that renders at 203, 300 or 600 dpi. The worker routes by the schema alone: version 1 takes exactly the path it always took (the compatibility corpus is unchanged and green), version 2 takes the new package com.kingsrook.qbits.renderer.scene2, and anything else is refused by name. - Length: parse, whole micrometres, dots by the rule of each use (position nearest, box size down, thickness nearest and at least one, module up, font size not rounded). - Layout: nine-point anchors, offsets inward from the anchored edge, omitted sizes, content alignment, groups four deep, percentages of the container. Coordinates start at the top left of the printable area. - Canvas and ZplEmitter: the whole label on one 1-bit canvas, emitted as trimmed ^GFA bands that pass the unchanged ZplOutputPolicy. - Diagnostics: every refusal is one diagnostic with a code, the element id, the box and named integers; SCENE_INVALID carries a JSON pointer. A diagnostic names only an id the scene declares and points only through schema names, indexes and declared ids. - box and group elements; overrides by resolution, checked for all three resolutions; samples accepted and ignored. Text, barcodes and images are parsed and placed and then refused as RENDERER_TOO_OLD by placeholder factories in their own sub-packages. - Renderer 0.2.0: optional targetDpi and "diagnostics": "COLLECT" on the request, diagnostics on the answer, detail on a version 2 error, the REFUSED outcome, and INSPECT_ASSET and UPGRADE_SCENE routed and refused as UNSUPPORTED_OPERATION. A version 1 scene with a target other than its stock's dpi is refused as TARGET_REQUIRES_SCENE_2. Tests: every length and rounding rule; all nine anchors; seeded property tests (mirrored anchors, boxes never leave the printable area, the bitmap rebuilt from the emitted fields equals the canvas); goldens at three resolutions as pictures and as ZPL, the ZPL also checked against the host gate in bridges/renderer; every refusal asserted as the whole diagnostic; a mutation campaign over the version 2 parser. The new package is at 100% line coverage. Also, from the review of the foundations: the mutation campaigns accept only declared refusals (a NullPointerException in a parser is now a finding), git no longer treats the stored corpus as text, and both compatibility tests pin the digest of the corpus manifest. Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com> |
||
|
|
ee782b7d6e |
chore: preserve unfinished document generation source and status
QRun-IO/ci-policy: ci / fork-guard (push) Skipped
QRun-IO/ci-policy: ci / head-profile (push) Skipped
QRun-IO/ci-policy: ci / application-template-0 (push) Skipped
QRun-IO/ci-policy: ci / gradle-1 (push) Skipped
QRun-IO/ci-policy: ci / java-docker-3 (push) Skipped
QRun-IO/ci-policy: ci / java-docker-4 (push) Skipped
QRun-IO/ci-policy: ci / java-frontend-browser-5 (push) Skipped
QRun-IO/ci-policy: ci / java-maven-6 (push) Skipped
QRun-IO/ci-policy: ci / java-maven-7 (push) Skipped
QRun-IO/ci-policy: ci / node-8 (push) Skipped
QRun-IO/ci-policy: ci / node-9 (push) Skipped
QRun-IO/ci-policy: ci / node-10 (push) Skipped
QRun-IO/ci-policy: ci / node-playwright-11 (push) Skipped
QRun-IO/ci-policy: ci / repository-policy-12 (push) Skipped
QRun-IO/ci-policy: ci / source-config-13 (push) Skipped
QRun-IO/ci-policy: ci / source-config-14 (push) Skipped
QRun-IO/ci-policy: ci / android-0 (push) Skipped
QRun-IO/ci-policy: ci / original-business (push) Skipped
QRun-IO/ci-policy: ci / original-mcp (push) Skipped
QRun-IO/ci-policy: ci / original-voyage (push) Skipped
QRun-IO/ci-policy: ci / original-cli (push) Skipped
QRun-IO/ci-policy: ci / not-enrolled (push) Failing after 7s
QRun-IO/ci-policy: native / fork-deny (push) Skipped
QRun-IO/ci-policy: native / dotnet-0 (push) Skipped
QRun-IO/ci-policy: ci / repository-policy (push) Skipped
QRun-IO/ci-policy: ci / java-core-2-head (push) Skipped
QRun-IO/ci-policy: ci / java-docker-3-head (push) Skipped
QRun-IO/ci-policy: ci / java-maven-6-head (push) Skipped
QRun-IO/ci-policy: ci / java-maven-7-head (push) Skipped
QRun-IO/ci-policy: ci / ci-result (push) Failing after 5s
QRun-IO/ci-policy: native / native-result (push) Successful in 6s
Checkpoint implementation at user-requested stop; document known failures and incomplete release qualification. Co-Authored-By: Claude <noreply@anthropic.com> Co-Authored-By: GPT-6 Codex <noreply@openai.com> |