Repository navigation
Releases: userfypp/plan-measure
Releases · userfypp/plan-measure
Release list
Plan Measure v2.11.0
What's new
- Close the current project from the app bar to return to the start screen; a project that could not be saved asks before it is discarded. (#315)
- Collapse a measurement group by clicking anywhere on its header. (#315)
- Delete scales from the Scales panel. (#315)
- Draw revision clouds without a scale and measure them only on request. (#315)
- Edit one side of a rectangle or ellipse at a time. (#315)
- Fade plans, menus, popovers, tooltips and the Pages panel in instead of flashing placeholders. (#315)
- Filter measurements by this page, page, type, the active scale of the page on screen, classification (including unclassified), visibility and selection, with a count for each value. (#315)
- Pick the color of measurement labels, which now stay readable over the plan. (#315)
- Redesigns the start screen as a calm card on the viewer dot grid: title, Open PDF, Try a sample, and a single note. When saved projects exist, a matching Recent projects card (up to five rows, plus All projects) appears beside it. The Projects dialog no longer opens by itself on startup when a session is recovered, since the projects are now on the screen. (#314)
- The bundled sample is now Orchard House, a six-sheet A3/A4 drawing set with a measured project that exercises every tool, several scales, classifications and a revision cloud.
scripts/generate-sample-pdf.mjsregenerates the PDF deterministically;tests/sampleProject.test.tsis rewritten for the new contract (embedded PDF identical to the.pdf, counts per page, values within 2% of the drawn geometry). (#312)
Improvements and fixes
- Ask for both X and Y distances before naming a new scale. (#315)
- Calibrate the sample project's scales to their exact ratios. (#315)
- Confirm before opening a saved project over a memory-only one (#308) (0a78a81), closes #260.
- Fixes an intermittent CI failure in
src/features/calibration/scaleCheck.test.ts: the ODS export embeds the current time, so two exports straddling a two-second tick differed. The test now freezesDate. Only the test changes. (#313) - Keep measurement drags from being cancelled before they end. (#315)
- Keep neighbouring labels in place when a measurement is selected or confirmed. (#315)
- Keep the keyboard cursor across tool changes and focus the plan after creating a scale. (#315)
- Keep viewer dialogs above the keyboard help card and portrait page previews whole in the Pages panel. (#315)
- Lock rectangle, ellipse and cloud in the tool rail until the page has a scale. (#315)
- Open a PDF in memory after continuing without recovery (#309) (46cfa73), closes #261.
- Preview measurement labels with every number setting. (#315)
- Select a measurement when clicking the empty space beside its eye. (#315)
- Stack the start screen panels and tighten the Scales panel and measurement list alignment. (#315)
- Download less on startup by replacing SheetJS with a built-in XLSX writer and bundling only the canvas code the viewer uses. (#315)
- Draw, select, drag and pan faster with large measurement sets by skipping unchanged measurements, labels and layer redraws. (#315)
- Open plans without a loading state by preloading the viewer and PDF.js from the start screen. (#315)
- Open the project library, settings, the Pages panel and other panels without placeholders. (#315)
Documentation
- Added a centered logo header to the README and group the Open, Try a sample, CI, license and release badges in a single row, with the
CIbadge from shields.io so all five share one flat style. (#311) - Document the canvas and panel performance rules and a checklist for new features. (#315)
- Replaces
assets/screenshots/plan-measure-overview.pngwith a screenshot of the redesigned UI and removes the four unused screenshots of the previous UI (plan-measure-classifications-workspace.png,plan-measure-classifications.png,plan-measure-empty-state.pngandplan-measure-scales.png). (#290)
Validation
- Automated tests, lint and production build passed.
- GitHub Pages deployment verified for ff6822a.
- Workflow run.
Plan Measure v2.10.0
What's new
- Added rectangle, ellipse and revision cloud measurements (#239) (820e495), closes #228.
- Redesigns the app UI around shared design tokens and a new
Select,PopoverandTooltipbase: a compact app bar, an icon-based context toolbar and a Settings dialog with per-device preferences (interface, accessibility, measurements, drawing, view, canvas, confirmations, shortcuts, performance), including aWider sidebaroption. (#286) - Measurements can be grouped into nested groups by several classification dimensions, with tree guides, single-child groups fused into one row, and unassigned values folded into a single "No A · B" group. The search box, filters and grouping are compact icon controls with popovers, and every measurement or group has an eye button to hide or show it. (#286)
Improvements and fixes
- Prevented extreme revision-cloud geometry from blocking the application by bounding decorative outline generation and using the control polygon when the budget is exceeded, while preserving stored vertices and measurement results. (#241)
- Prevented unsaved edits from being silently lost during project transitions, block editing while another project loads, coordinate page-exit saves, and allow confirmed replacement of projects held only in memory after a failed browser save. (#242)
- Prevents module loading errors from emptying the app, allows you to retry while keeping the project and keeps tooltips within the screen. (#244)
- Avoid previous drags overwriting the geometry after undo, correct the preview of rectangles and ellipses, and synchronize notes when undoing or redoing. (#243)
- Improved Takeoff and Details of Count response with large lists by 50-row pagination and construction of transfer destinations only when opening the menu. (#245)
- Loads the Settings, project library and scale dialogs only when opened, keeping the initial download within the size budget. (#286)
Documentation
- Added a
?sample=1link that opens the sample project when the app starts empty. It does nothing if a project or a recovery prompt is already present, and it removes the parameter from the URL. (#258) - Show the Open, Try a sample project, User guide and Contributing links in the README as badge buttons, and remove the redundant demo badge. (#259)
- Updated the roadmap with open audit issues grouped by area. (#282)
Validation
- Automated tests, lint and production build passed.
- GitHub Pages deployment verified for 148dbb3.
- Workflow run.
Plan Measure v2.9.1
What's new
- Added
Check scaleso users can compare an existing scale against a second known distance and view the measured length, known length, signed absolute difference, and percentage difference without changing scales or existing measurements. (#225, #214) - Added a Pages browser to the viewer dock: search page labels, jump to a physical page number with Go to page, and browse lazily loaded thumbnails of the visible rows; for large or slow-to-render PDFs, the current page still gets its thumbnail and Load previews loads the others on request. (#226, #213)
- Added a compact save status for open projects that confirms local saves, identifies saving failures and repair or conflict states, and provides quick access to editable
.planmeasurebackups containing the PDF and current project data. (#223, #215)
Improvements and fixes
- Improves wheel zoom with many measurements: annotations keep the previous zoom (and, when the whole page is visible, a cached bitmap) while the wheel is active, then re-plan once after an idle window scaled to the cost of each step. With 5,000 measurements it goes from 10 to 58 fps (3 to 53 fps at 4x CPU throttle); with 1,000 at 4x, from 12 to 58 fps. (#227)
Validation
- Automated tests, lint and production build passed.
- GitHub Pages deployment verified for dce9960.
- Workflow run.
Plan Measure v2.9.0
What's new
- Exported selected project totals and breakdowns by page, type or classification. (#218, #211)
- Added scale-free item counts with multiple markers, item editing and transfers, Undo/Redo, persistence, Takeoff totals, and exports. (#222, #210)
- Added “Try a sample” to open a prepared, editable project with scales and measurements while preserving existing saved projects. (#217, #209)
- Open source measurements from Takeoff totals and breakdown groups, navigate to their page and details, and inspect why excluded measurements cannot be calculated. (#221, #212)
Improvements and fixes
- Improved the Takeoff panel with a compact layout, clearer project totals and grouped results, consistent spacing, and balanced horizontal margins. (#200)
- Reduce label collision lookup cost, prevent unnecessary session-context renders in measurement shapes, and shorten the first CSV export dialog opening delay while preserving label placement, CSV output, and editing behavior. (#220)
- Improved performance with large measurement sets by virtualizing rows and groups, reducing off-screen annotation rendering, reusing validated autosave snapshots, batching CSV generation, and deferring export code until needed. (#219)
Documentation
- Simplify repository documentation with a concise README and a task-based user guide covering scales, editing, exports, recovery, and keyboard controls. (#198)
Validation
- Automated tests, lint and production build passed.
- GitHub Pages deployment verified for 1488340.
- Workflow run.
Plan Measure v2.8.0
What's new
- Added optional keyboard geometry creation and editing. (#187)
Improvements and fixes
- Allowed Escape to cancel active or prepared measurement, group, and vertex drags without saving a movement when the mouse is released. (#191)
- Show a clear explanation and instructions to use an unencrypted copy when an encrypted PDF cannot be exported with measurement annotations. (#192)
- Identify the sheet, row, field and reason when unsupported text prevents XLSX or ODS export, helping users locate the data to edit or choose CSV or JSON. (#195)
- Improved input placeholder contrast in light and dark themes by displaying the existing secondary text color at full opacity. (#193)
- Normalize measurement and classification CSV download filenames using the shared filename helper, replacing path separators and falling back to
planwhen the base name is empty. (#194) - Preserved Undo and Redo history when measurement geometry, names, or notes are unchanged, or a geometry update is rejected. (#189)
- Prevented repeated vertices from blocking polygon drafts, allowing users to continue drawing after a click or keyboard placement resolves to an existing draft vertex. (#190)
Validation
- Automated tests, lint and production build passed.
- GitHub Pages deployment verified for 4bcb445.
- Workflow run.
Plan Measure v2.7.1
Improvements and fixes
- Reject markedly diagonal X/Y references when creating, recalibrating, or editing scales, and clarify that reference distances are measured along their axes while preserving saved calibration results. (#177)
- Allowed subsequent project reads and saves to reopen IndexedDB after an unexpected connection termination instead of repeatedly using a closed connection. (#181)
- Added recovery actions when autosave fails: retry saving, export the current project, or reload saved projects after confirmation, while preserving unsaved work in memory. (#182)
- Keep autosave recoverable when undoing a historical measurement or classification repair: pause while the restored data is invalid and resume automatically after repairing it or using Redo. (#180)
- Speed up large polygon validation so existing projects with many vertices can import and reopen more quickly without new size limits or changes to their geometry. (#178)
Validation
- Automated tests, lint and production build passed.
- GitHub Pages deployment verified for c383a9f.
- Workflow run.
Plan Measure v2.7.0
What's new
- Added a Feedback dropdown so users can give feedback, request a feature, or report a bug through the existing GitHub discussion and issue templates. (#169, #150)
- Added reusable classification templates so users can save active project dimensions and values in their browser, preview them in a compact library, and apply them to other projects. (#172, #114)
- Added XLSX and ODS workbooks with measurement and classification assignment sheets, plus a complete versioned JSON export containing measurements, geometry, calibrations, page labels, and classifications. (#170, #105)
- Allowed users to delete active or archived classification dimensions and values, removing their assignments throughout the project while preserving measurements and supporting Undo/Redo. (#174, #173)
- Added measurement multi-selection with contextual bulk classification, visibility, deletion, movement, duplication, and copy/paste actions. (#175, #108)
Improvements and fixes
- Make tool, Snap, Ortho, zoom, and measurement deletion shortcuts available outside the PDF viewer without requiring an extra click. (#163)
- Fixed disappearing and flickering PDF viewer cursors in Safari on macOS during stationary-pointer shortcuts and Space-drag panning, preserving the appearance and hotspots of macOS cursors. (#161, #84, #2)
Documentation
- Make project documentation clearer and more concise, remove repeated release guidance, and update the README screenshot to show the current interface with named measurements. (#168, #165, #164)
Validation
- Automated tests, lint and production build passed.
- GitHub Pages deployment verified for 2b53b80.
- Workflow run.
Plan Measure v2.6.0
What's new
- Added portable
.planmeasureproject import and export, including the source PDF and complete project state, with validation and safe local persistence. (#154, #112) - Added bounded undo and redo history for measurement, scale, and classification edits. (#151, #106)
- Added annotated PDF export that preserves the original PDF pages and overlays currently visible measurement geometry and value labels. (#156, #113)
- Added a local project library so users can keep and reopen multiple PDF plans. (#153, #111)
Improvements and fixes
- Wait for saved project summaries to refresh before a successful PDF or project activation resolves, keeping project state synchronized with persistence. (#155)
Validation
- Automated tests, lint and production build passed.
- GitHub Pages deployment verified for 92c6a48.
- Workflow run.
Plan Measure v2.5.1
Improvements and fixes
- Reuse oversized PDF rasters.
- Align calibration previews and fit references to page bounds.
- Hide stale PDF page after load failure.
- Preserve measurement workflows across page changes and touch.
- Prevent mobile layout overflow.
- Unify keyboard focus navigation across browsers.
Validation
- Automated tests,
lintandproduction buildpassing. - GitHub Pages deployment passing.
Plan Measure v2.5.0
What's new
- Added measurement search and filters.
- Added measurement totals and takeoff summaries.
- Added notes to measurements.
- Compact filtering and grouping controls.
- Copy scales across PDF pages.
- Group measurements by multiple dimensions.
Improvements and fixes
- Improved drawing, navigation, and measurement responsiveness.
- Center settings icon and align app bar spacing.
- Improve the visual hierarchy of classifications and grouped measurements.
- Polish measurement details, grouped visibility, and classifications.
Validation
- Automated tests, lint and production build passing.
- GitHub Pages deployment passing.