Skip to main content
Support

Browse by category

All categories
Home

Roadmap

A live view. Updated as tools ship and priorities shift.

Now

What we're actively building or recently shipped.

Finance tools in progress
4 / 5 shipped · 80%
  • Grow the relaunched Finance category with more file-aware, formula-precision tools
Show 4 more (0 planned, 4 shipped)

Shipped

Light mode completed
3 / 3 shipped · 100%

All planned tasks shipped — see history below.

Show 3 more (0 planned, 3 shipped)

Shipped

  • Light token palette (swap values, keep semantic names)
  • System-preference auto-pick + per-user toggle
  • Audit every tool surface in light mode
Compare PDF — best-in-class browser diff completed
45 / 54 shipped · 83%
  • v3.6 — move-pairing end-to-end visual confirm on a real relocated element (unit-verified; pending a non-contended browser)
  • v3.5 — Wang abstract table model + per-cell diff for mismatched-row-count tables (Tier 0.5 currently handles same-row-count only)
  • v3.5 — multilingual / CJK / RTL support (current whitespace-strip normalization breaks non-Latin)
  • v3.5 — phase-correlation image registration for image-only PDFs (no text anchors → no RANSAC path today)
  • v3.5 — confidence-% legend tooltip on chip count (UX clarity for tier debugging)
  • v3.5 — ?debug=1 verbose tier-by-tier console logging for QA
  • v3.5 — summary report PDF export (matched / changed / pages summary)
  • v3.5 — form-field diff on pages ≥ 2 (currently page 1 only)
  • v3.5 — tunable cross-page promote-similarity threshold slider in UI
Show 45 more (0 planned, 45 shipped)

Shipped

  • v1 — visual + overlay + text-diff modes with smartCompare pixel engine
  • v1 — dHash fast-reject + grayscale + pixelmatch + morph close + CCL + tone classifier
  • v1 — focal-point zoom, drag-pan, sync scroll, fullscreen, overlay slider
  • v2 — editor template port (chrome unification with PDF Editor family)
  • v2 — featured-tool landing page + homepage placement
  • v3 — lean rebuild on strategy substrate (one driver, three mode strategies)
  • v3 — shared lib/ primitives (align.ts RANSAC TSR, pixel-engine.ts, header-footer.ts, text-cache.ts)
  • v3 — right-pane ChangeList + filter chips + pulse-on-click + history panel
  • v3 — IndexedDB result cache with build-SHA invalidation
  • v3.1 — histogram-diff anchoring (Pearce / git xhistogram)
  • v3.1 — hyphenation merge (geometric, language-agnostic)
  • v3.1 — dmp linesToChars line-mode pre-pass
  • v3.1 — Heckel neighbor extension + duplicate-bucket nearest-y fallback
  • v3.1 — paragraph MOVE detection (consecutive-anchor consistent-dy clustering)
  • v3.1 — cross-page MOVE promotion via FNV-1a hash
  • v3.1 — row-level MODIFY with char-level sub-paint metadata
  • v3.1 — post-promotion 5-stage add/remove → MODIFY pass (Jaccard + dmp similarity)
  • v3.2 — per-side MODIFY emission (yellow lands at each panel's actual row position)
  • v3.2 — word-level yellow MODIFY (paint only on differing chars, Adobe-style)
  • v3.2 — fuzzy cross-page MODIFY promote (drifted paragraphs)
  • v3.2 — paragraph MOVE jitter tolerance + gap≤2 consecutive relaxation
  • v3.2 — hyphen unicode class (U+002D / U+00AD / U+2010 / U+2011 / U+2013)
  • v3.2 — pixel-fallback chip count + status-bar alignment
  • v3.2 — orphan page counting (13-pg vs 14-pg compare)
  • v3.2 — tighter post-promotion thresholds (PROMOTE_SIMILARITY 0.65, token-Jaccard floor 0.35)
  • v3.2 — pixel classifier threshold bumps (kills blueprint title-block flood)
  • v3.2 — table-cell positional MODIFY (Tier 0.5, identical-cell-ratio ≥ 0.3 gate)
  • v3.2 — histogram longest-run anchor pairing (Pearce HistogramDiff.java::tryLongestCommonSequence)
  • v3.2 — filename labels on Original / Modified panels (restored from v2)
  • v3.2 — additive pixel residual on mixed text+drawing pages (overlap-filter > 50% with text-tier)
  • v3.3 — pre-blur 2-px canvases before smartCompare (sub-pixel jitter mask)
  • v3.3 — drop oversize regions (> 15% canvas) prevents whole-drawing yellow blanket
  • v3.3 — skip morphClose by default (no more mega-CCL components)
  • v3.3 — RANSAC affine alignment via lib/align.ts (anchorPairs from document-mode → align B → smartCompare)
  • v3.4 — adaptive pre-blur on alignment quality (0 px when near-identity affine for same-template forms; 2 px when drift)
  • v3.4 — restored signature detection thresholds (CONTENT_CHANGE_THRESHOLD 50, MIN_REGION_AREA 12, morphClose default 1)
  • v3.4 — synthesized Change records from pixel-residual highlights (ChangeList + chip count + pulse navigation all see them)
  • v3.6 — re-adopted document-type selector (Document / AEC-Blueprint / Image-Scan) on splash + ?mode= hatch
  • v3.6 — AEC / Blueprint hybrid: word-level text pass + masked geometry pixel pass + RANSAC pre-align
  • v3.6 — in-place text revisions classify as MODIFY (overlapping leftover pair = same element edited; co-location beats similarity floor)
  • v3.6 — change-location tags (sheet region + XY) in the AEC change list
  • v3.6 — geometry MOVE detection (dHash + zero-mean NCC + high-freq interior gate, global mutual-best, square-pad blob crop)
  • v3.6 — Fonts panel populated (commonObjs iteration) + Form Fields empty-state hardening
  • v3.6 — per-panel ruler (independent A/B, px/in/mm) + toolbar Export (marked PDF) + plain-wheel scroll-zoom
  • v3.6 — hang guard: bounded timeouts on every pdfjs worker call (render/getTextContent/getPage/getDocument) + adaptive wall-clock; graceful 'timed out' recovery, timeout-aware page status, no silent 'no changes'
Open Anything — Specialty File Viewers in progress
19 / 32 shipped · 59%
  • Gerber Viewer — editor mode (select / move / copy / delete / add primitives / save Gerber out)
  • Gerber Viewer — netlist extract + IPC-D-356 compare
  • Gerber Viewer — DRC expansion (silk / mask / paste / inter-layer / sliver checks)
  • Gerber Viewer — ODB++ / IPC-2581 file format support
  • Visio .vsdx viewer
  • DICOM — medical imaging viewer
  • IFC — BIM model viewer
  • KiCad .kicad_pcb native viewer
  • Shapefile / GeoTIFF — GIS viewers
  • NIfTI / FITS — scientific image viewers
Show 22 more (3 planned, 19 shipped)

Planned

  • Rhino .3dm viewer
  • SPSS .sav viewer
  • MATLAB .mat viewer

Shipped

  • Gerber Viewer — open RS-274X / X2 / X3 + Excellon, archive auto-detect, layer auto-classify, realistic PCB palette
  • Gerber Viewer — pan / zoom / fit / 1:1 / mirror / 90° rotation, URL viewport snapshot, status bar with cursor coords
  • Gerber Viewer — measure tool with snap-to-pad, distance + angle + reference-pad-anchored mode
  • Gerber Viewer — three-pane CAM350 layout: layer rail, canvas, inspector accordion (Job info, Apertures, Drill table, DRC, PnP, Test, Measurements, About)
  • Gerber Viewer — World-View minimap with click-to-recenter
  • Gerber Viewer — command palette (⌘/) + Find modal (⌘F: D-code / refdes / coords) + Print snapshot
  • Gerber Viewer — DRC checks (trace width, drill, annular ring, copper-to-edge, trace clearance, shorts, pour-to-trace) with fab presets
  • Gerber Viewer — diff mode: slider + XOR comparison of two archives
  • Gerber Viewer — trace pick (click net → BFS highlight, cross-layer via drill correlation)
  • Gerber Viewer — 3D board preview with CSG drill cuts + orbit controls
  • Gerber Viewer — flex / rigid-flex detection, stackup pane with IPC-2223 bend radius, vertical bend slider in 3D
  • Gerber Viewer — WebGL2 polygon-mesh GPU renderer (opt-in)
  • Gerber Viewer — pick-and-place / CPL overlay (.pos / CSV)
  • Gerber Viewer — Fab-readiness score + drill CSV + aperture CSV downloads
  • Gerber Viewer — exports: PNG / SVG / DXF / Print
  • STEP / DXF — CAD drawing viewer (engine v0.1: Rust→WASM monstertruck kernel, 6 mesh formats, section view, assembly tree, HOOPS Exchange compat)
  • CAD viewers v0.2 — top-floating measure rail (4 modes + path toggle + cursor coach), per-snap-type glyphs, polygon ghost + close-ring, smooth camera tween, Pan / Zoom-Window / Home / Bookmarks / TreeSearch, face-flood-fill selection + right-click context menu, STEP explode, display + lighting + render-quality presets, canonical editor primitives extracted (useEditorHistory, ContextMenu, measure-math, edge-adjacency)
  • CAD viewers v0.3 (engine) — STEP unit-context parsing (mixed INCH+MILLI/METRE), STEP PRODUCT NULL-description deser fix, STEP arc parametric surfacing for 1-click radius auto-detect
  • CAD viewers v0.4 — canonical top-bar layout across the 8-viewer family: FILE | MODE | NAV | DISPLAY | ACTIONS | ⌘K group order with dividers + TopBarSpacer primitive, Dims→Bbox / PNG→Screenshot naming sweep
PDF Editor — Tier-1 epic app completed
27 / 34 shipped · 79%
  • v1.3 — font picker beyond Helvetica / Times / Courier (current toolbar exposes only those three; should expose every embedded NotoSans variant + family detection from the doc)
  • v1.3 — paragraph reflow that actually works on real-world PDFs (the v1.2 wrap + push-down logic ships but doesn't trigger correctly when a paragraph's line count changes from a long edit — line detection or trigger heuristic needs a rebuild against a real-PDF corpus)
  • v1.3 — digital signature (WebCrypto)
  • v1.3 — faithful Word (.docx) export
  • v1.3 — measure tool
  • v1.3 — mid-word break on overflow wrap
  • v1.3 — cross-page overflow (push content to new page instead of clipping)
Show 27 more (0 planned, 27 shipped)

Shipped

  • v1 — eight modes wired (Select / Edit / Add / Sign / Redact / Annotate / Fill Forms / OCR)
  • v1 — continuous-scroll virtualised canvas
  • v1 — Photoshop-style history timeline
  • v1 — find / search with scrollbar marker column
  • v1 — Save via FS Access API + download fallback
  • v1.1 — Watermark mode with live current-page preview
  • v1.1 — Bates numbering
  • v1.1 — Header / Footer with token resolve
  • v1.1 — Numeric-precision page crop
  • v1.1 — Bookmarks editor (read pdfjs / write pdf-lib)
  • v1.1 — Metadata editor
  • v1.1 — Excel export via pdf-table-detect
  • v1.1 — Markdown export (headings + lists + tables)
  • v1.1 — True byte-level redact (page rasterisation)
  • v1.1 — PII auto-detect (SSN / email / phone / CC / IBAN)
  • v1.1 — Move tool (Adobe Hand) + 8× zoom + edge-accessible pan
  • v1.1 — Edit-text drag-select for substring edits
  • v1.1 — Right pane single-active accordion + pinned history
  • v1.2 — true in-place text edit (pdfium-wasm content-stream rewrite)
  • v1.2 — click-to-edit with caret at click position (Acrobat-style)
  • v1.2 — same-line sibling shift when edit width changes
  • v1.2 — line wrap at right margin + push paragraphs down (reflow)
  • v1.2 — preserve original font / color / matrix on edit
  • v1.2 — base-14 font fallback for subset miss
  • v1.2 — NotoSans embed for non-base-14 families (bold + italic variants)
  • v1.2 — toast warning when reflow clips past page bottom
  • v1.2 — smallest-text-object-containing-click matching
PDF tools completed
33 / 33 shipped · 100%

All planned tasks shipped — see history below.

Show 33 more (0 planned, 33 shipped)

Shipped

Next

Coming up in the next month or two.

Borderline tool polish — moat-strengthening for the keepers planned
0 / 9 shipped · 0%
  • audio-speed-changer — verify pitch-preserving DSP works end-to-end on long files; add export presets (podcast 1.5x / 1.7x / 2x)
  • audio-pitch-changer — confirm pitch shift is independent of tempo; add musical-interval shortcuts (semitones, octaves) instead of raw cents
  • uuid-generator — bulk mode (generate N uuids, copy as list) is the moat; verify the bulk path is one click, not buried
  • hash-generator — surface the privacy story explicitly (file never uploaded); add file-drop input alongside text input so HIPAA / legal users can hash binary files
  • qr-code-generator — logo embedding is the moat vs commodity QR generators; verify error-correction levels work with embedded logos at common sizes
  • altitude-baking-calculator — niche but real chemistry stakes; add elevation lookup by ZIP / postal code so users don't have to know their elevation
  • canning-calculator — botulism safety stakes; cross-check pressure / time tables against USDA Complete Guide to Home Canning (current source of truth?)
  • photo-collage-maker — Canva-replacement competitor; needs template library (3x3, 2x4, polaroid, etc.) before it can compete; otherwise revisit cull
  • compare-pdf — already a featured tool; needs annotated diff PDF export (currently only renders the diff visually) — Adobe Acrobat / Draftable both export annotated PDFs
PWA v1.3 — version-aware update follow-ups planned
1 / 15 shipped · 7%
  • PDF Editor programmatic invoke() — decouple render-state extraction from the React shell so window.loft.tools.invoke('pdf-editor', { file, ops }) drives the editor headless
  • Gerber Viewer programmatic invoke() — emit structured render-state JSON (layer count, outline, net summary) without mounting the React shell
  • JSON-LD potentialAction per tool — EditAction / AnalyzeAction / ViewAction so AI crawlers see action targets
  • Remove unsafe-inline from CSP script-src — requires Astro experimental.csp + per-island hash sweep
  • Trusted Types policy — require-trusted-types-for 'script' + loft-default policy wrapping changelog body set:html
  • Cloudflare Insights beacon SRI gate (PR #355 lands the env-gated path; weekly CI job to auto-PR fresh beacon hashes is still TBD)
  • Spec-digest-vs-version drift warning in scripts/build-version-manifest.mjs
  • Full WebMCP transport once the spec stabilizes (Chrome 146+ stable, Anthropic draft solidifies)
  • Narrow CSP connect-src from https://*.cloudflare.com to https://static.cloudflareinsights.com (only origin we actually use)
  • Clear verifiedWasmUrls cache on SW activate so a manifest update surfaces fresh hashes
Show 5 more (4 planned, 1 shipped)

Planned

  • OCR download progress (percent / bytes) instead of just a spinner — meaningful for 25 MB Paddle models on slow connections
  • OCR cache size: surface 'cache status unknown' instead of '—' when iOS Safari opaque response strips content-length
  • OCR Remove button: add confirm dialog (easy misclick after a 100 MB download)
  • Validate tool IDs in scripts/build-version-manifest.mjs against SAFE_TOOL_ID regex (defense in depth — SW already validates at the message boundary)

Shipped

Translations — Spanish & Portuguese first planned
0 / 7 shipped · 0%
  • Locale routing under /{locale}/tools/{slug}
  • hreflang tags on every page
  • Spanish (es) translation pass — full tool catalog
  • Portuguese (pt) translation pass — full tool catalog
  • French (fr) — after es / pt prove out
  • German (de) — after es / pt prove out
  • Japanese (ja) — after es / pt prove out