1.8 KiB
1.8 KiB
OpenSpec Change: enterprise-qrcode
- Change ID: enterprise-qrcode
- Package:
@suaveplan/qrcode - Category: universal
- Target path:
universal/media/qrcode - Status: PROPOSED
- Date: 2026-04-19
- Reference spec:
/mnt/s/web/suaveplan/enterprise/qrcode.md
Summary
QR code generator + reader: numeric / alphanumeric / byte modes, ECC levels L/M/Q/H, module-shape styling, colour gradients, logo overlay with quiet-zone preservation, SVG / PNG / Data URL export, and batch generation with progress reporting.
Current-state audit (genesis)
Package does not exist yet — fresh build.
Dependencies
- Workspace:
@suaveplan/error,@suaveplan/types - External (via catalog):
zod,tslib,@opentelemetry/api - Dev (via catalog):
vitest,@vitest/coverage-istanbul,fast-check,mitata
Preserved public surface
QrGenerator,QrError,QrErrorCodeQrReadergenerateBatch,generateBatchAsync,generateBatchWithProgresstoDataUrl,toSvggenerateStyledSvg,getLogoModuleArea- Codes:
QrCodeErrorCode,registerQrErrorCodes - Types:
AlignmentPatternPositions,BatchItem,BatchOptions,BatchProgressCallback,EcInfo,ErrorCorrectionLevel,ModuleShape,QrCode,QrExportOptions,QrGradient,QrImageData,QrLogoOptions,QrMatrix,QrMode,QrOptions,QrSegment,StyledQrOptions
New genesis additions
- Codes:
QRCODE.ENCODE_FAILED,QRCODE.DECODE_FAILED,QRCODE.CAPACITY_EXCEEDED,QRCODE.LOGO_TOO_LARGE. - Zod schemas for every option type.
- OTel histograms
qrcode.encode.duration_ms,qrcode.decode.duration_ms; counters. - Property tests:
QrReader.read(QrGenerator.generate(x)) === xat ECC level H.
Impact
- Adds one new package:
universal/media/qrcode - Adds one new spec capability:
qrcode