Skip to content

Mobile/pdf render debug and mobile ux#2

Open
solrachix wants to merge 15 commits intomainfrom
mobile/pdf-render-debug-and-mobile-ux
Open

Mobile/pdf render debug and mobile ux#2
solrachix wants to merge 15 commits intomainfrom
mobile/pdf-render-debug-and-mobile-ux

Conversation

@solrachix
Copy link
Copy Markdown
Owner

@solrachix solrachix commented Apr 1, 2026

Summary

This PR focuses on the mobile reading experience and the Android PDF rendering regression introduced during the mobile shell work.

It currently includes:

  • restoring Android PDF rendering for native/mobile PDF documents
  • reverting the web reader back to the legacy layout
  • adding mobile shell state contracts in the shared store/types layer
  • introducing the first mobile reading shell surfaces for React Native
  • moving notes into the left mobile dock
  • adding local phase-1 validation tooling for lint and Vitest flows

Mobile UX changes

  • adds a ReadingShell for mobile with floating top controls
  • adds a floating progress/page pill
  • adds a split bottom dock for primary mobile actions
  • adds dedicated mobile surfaces for:
    • search overlay
    • search results sheet
    • info sheet
    • document actions sheet
    • overflow sheet
  • refactors the mobile right sheet to better handle pages, contents, progress, and notes

Bug fix

  • fixes Android native PDF rendering by ensuring page dimensions are read from an opened page before layout/render decisions are made

Packages affected

The diff against main currently touches these publishable packages:

  • @papyrus-sdk/core
  • @papyrus-sdk/engine-native
  • @papyrus-sdk/types
  • @papyrus-sdk/ui-react-native
  • @papyrus-sdk/ui-react

Other non-package changes are in:

  • examples/mobile
  • examples/web
  • root validation/tooling files (package.json, pnpm-lock.yaml, eslint.config.js, vitest.config.ts, vitest.setup.ts)

Release impact

Recommended packages to bump from this branch:

  • @papyrus-sdk/engine-native
    • Android PDF rendering fix + mobile/native entrypoint adjustments
  • @papyrus-sdk/types
    • new mobile shell state contracts
  • @papyrus-sdk/core
    • store changes to support the mobile shell
  • @papyrus-sdk/ui-react-native
    • primary UX surface changes for mobile
  • @papyrus-sdk/ui-react
    • export surface changed during the web revert path

Validation

Validated locally with:

  • pnpm --filter @papyrus-sdk/engine-native build
  • pnpm --filter @papyrus-sdk/ui-react-native build
  • pnpm lint:phase1
  • cd examples/mobile && pnpm lint
  • cd examples/mobile && pnpm exec jest --runInBand App.test.tsx
  • cd examples/mobile && npx react-native bundle --platform android --dev true --entry-file index.js --bundle-output .bundle/index.android.bundle --assets-dest .bundle/assets --reset-cache
  • mobile manual validation for restored PDF rendering on Android emulator

Notes

  • the web redesign experiment is intentionally not part of the final direction in this PR
  • the PR is part of a larger mobile-only UX refinement track

@vercel
Copy link
Copy Markdown

vercel bot commented Apr 1, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
papyrus Ready Ready Preview, Comment Apr 4, 2026 0:00am

@solrachix
Copy link
Copy Markdown
Owner Author

@chatgpt-codex-connector review

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant