Imported from yashashwi-s/padratnakar (
AGENTS.md). Install upstream withnpx skills add yashashwi-s/padratnakar. Copyright stays with the author.
Pad Ratnakar project
- Offline React/Vite reader; no production backend or API credentials.
- Corpus data and the inner pad typography are implemented. Keep inner-reader changes isolated from the surrounding application UI unless the user asks for that broader design pass.
- Use
npm ci,npm run dev, andnpm run check(lint, JS tests, full JSON data checks, production build). npm run data:rebuildneeds Python withrequirements.txtplus Node. It is deterministic and offline. Source inputs are indata/source/; entrypoint isscripts/corpus/build.py.- Never use old OCR as a benchmark for the user-accepted PDF font decoding. Preserve human review overrides and provenance. Do not silently rewrite devotional text.
- Read
docs/data-corpus.mdanddocs/print-layout.mdbefore changing data. The layout test requires every canonical heading/verse line to have a source position. - Keep Shodash Geet display rules separate from canonical pads. Use
src/lib/corpus.js; resolve shared footnotes throughgetFootnotes. src/lib/print-layout.jslazily loads 16 geometry chunks. Do not insert repeated spaces into canonical text to simulate print alignment.src/components/PadTypography.jsxandsrc/lib/fixed-print.jsrender fixed source-positioned Unicode lines. The user explicitly replaced wrapping with fit-to-width and inner-page pinch zoom (no size or percentage controls). Preserve printed line endings, source positions plus intentional line/stanza breathing room, margins and horizontal zoom panning. Do not describe Noto Serif Devanagari as an exact PDF font match or facsimile.- White reading surface, black text, paper-colored surround, supplied logo; no dark mode or gradients. Preserve accessibility font scaling.
- Native directories are development shells, not signed/tested releases.
npm run native:synccopies current web assets; it does not test native builds. - Never read or commit
.env, SDK machine paths, signing secrets, or external research archives. No credentials are needed here.