Add grid image system with multi-panel support and SPA routing

- Grid images: photograph component boxes in sub-sections, assemble
  into one logical grid via perspective warp (homography)
- Source image gallery: bulk upload photos separately from grid setup
- Grid drafts: persist partial work, resume across sessions
- Multi-panel grids: define rows/cols per photo, system computes panel
  layout; process partially configured grids, edit individual panels
- Pan/zoom canvas editor (HiDPI-aware, touch support) for corner alignment
- SPA routing with canonical URLs (history.pushState, server catch-all)
- Express error visibility: uncaughtException/unhandledRejection handlers
  and 4-arg error middleware
- Original filename stored on source image upload
- Various null-safety fixes and CSS [hidden] override fixes

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-20 23:30:17 +00:00
parent ef2e53ea18
commit cf37759893
11 changed files with 2835 additions and 250 deletions

View File

@@ -2,11 +2,15 @@
"name": "electronics-inventory",
"version": "0.1.0",
"type": "module",
"engines": { "node": ">=25" },
"engines": {
"node": ">=25"
},
"scripts": {
"start": "node server.mjs"
},
"dependencies": {
"express": "^5.2.1"
"express": "^5.2.1",
"multer": "^2.1.1",
"sharp": "^0.34.5"
}
}