Move pdf-viewer-adapter-spike.tsx, scroll-job.ts (+test), highlight-styles.css
and debug-textlayer.css into src/pdf/ (the adapter boundary). Rewrite the
spike's @shared import to @citation-evidence/engine/shared and its ./types to
../types. Add src/css.d.ts so tsc accepts side-effect .css imports.
Decisions:
- adapter stays the explicitly-named PdfSpikeViewer spike; promotion to a
production PDFViewerAdapter is registered as T06 follow-on work
- viewer libs (pdfjs-dist, react, react-pdf-highlighter-plus) confined to
src/pdf/ and exposed only via the evidence-anchor/pdf subpath; the root
entrypoint stays pure. Boundary enforced by eslint no-restricted-imports.
- ported unit suites (pdf-selector-math round-trip + scroll-job retry) serve
as the inspectable harness for capture->selectors->resolve->scroll.
Verified: pnpm test (30 passed), typecheck, lint all green. README layout updated.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Add package.json (name evidence-anchor, exports . and ./pdf, scripts
test/typecheck/lint), tsconfig.json (mirrors engine, DOM+jsx), vitest.config.ts
(happy-dom + react plugin), eslint.config.js (confines viewer libs to src/pdf/),
.nvmrc, and placeholder src entrypoints. Depends on @citation-evidence/engine
via sibling-checkout link only; no citation-evidence internals.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>