Skip to content

Add pdf-world static frontend (Three.js + PDF.js + IndexedDB) - #1

Open
PGuuu wants to merge 2 commits into
mainfrom
codex/create-pdf-world-frontend-project
Open

Add pdf-world static frontend (Three.js + PDF.js + IndexedDB)#1
PGuuu wants to merge 2 commits into
mainfrom
codex/create-pdf-world-frontend-project

Conversation

@PGuuu

@PGuuu PGuuu commented Feb 9, 2026

Copy link
Copy Markdown
Owner

Motivation

  • Create a new pdf-world static frontend project that converts dropped PDFs into 3D books and previews them in a right-side viewer.
  • Integrate a lightweight stack using Three.js for 3D, PDF.js for rendering, and IndexedDB for offline storage.
  • Ensure the site runs on a local static server / Live Server and provide steps for GitHub Pages deployment.

Description

  • Added pdf-world/index.html which wires up styles, an importmap for three, and loads pdfjs-dist as a module and app.js via type="module".
  • Added pdf-world/style.css implementing the HUD layout, viewer, pager, and drop overlay styles used by the UI.
  • Added pdf-world/db.js implementing simple IndexedDB helpers: dbPut, dbGetAll, dbDelete, and dbClear for storing PDF ArrayBuffers.
  • Added pdf-world/app.js implementing the app logic: drag-&-drop import, IndexedDB persistence, Three.js scene and book meshes, click-to-select, and PDF viewer + paging using window.__pdfjsLib.

Testing

  • Launched a local static server with python -m http.server in pdf-world/ and confirmed it served index.html on http://127.0.0.1:8000/ successfully.
  • Executed a Playwright script that opened http://127.0.0.1:8000/index.html and captured a full-page screenshot saved to artifacts/pdf-world.png, which completed successfully.
  • Committed the new files to the repo (pdf-world/) and created the PR; automated checks described above succeeded.

Codex Task

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

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant