v1.1.5 Latest May 2026
Calc-aware Drawing Tools
  • Tool disabling by layer type: Assign a layer to a calculator and set it to Surface, Perimeter, or Count. The toolbar immediately grays out tools that can't produce the right measurement type (e.g. Polygon grays on a Perimeter layer, Count grays on a Surface layer).
  • Hover tooltip: Hovering a grayed tool shows a tooltip explaining why it's disabled and which tool to use instead.
  • Live update: Changing the layer type (Surface ↔ Perimeter) or switching the active layer updates the toolbar instantly.
  • Surface/Perimeter labels: All layer type labels updated from generic "Area"/"Length" to "Surface / Area" and "Perimeter / Length" throughout the tag modal, layer cards, and push chooser. Labels are now unit-system aware — show ft² when the drawing is calibrated in feet.
  • Rebar area-only: Rebar calc removed from perimeter mode. Pushing a length layer to Rebar was silently producing empty output — now blocked at the toolbar level.
Roofing Calculator Improvements
  • Section-grouped inputs: Fields now grouped into Dimensions · Roof Type & Pitch · Materials & Spacing · Hip Roof Structure · Accessories · Price Overrides & Wastage.
  • Conditional hip fields: The "Hip Roof Structure" section and Hip Rafters field auto-hide for Gable and Shed forms.
  • Framing trace mode (Mode C): Trace truss chords or purlin runs as polylines on a framing plan. Truss: true slant = plan length × pitch multiplier. Purlin: plan = true length. Output: bar count + total length.
  • Gable single-shape warning: Amber warning appears when Gable is selected but only one rectangular slope is traced.
  • Auto pitch resolution: Shapes left on "Auto 25°" now push immediately without a modal prompt.
Plumbing Pipe Trace Mode
  • Pipe Spec inspector section: Plumbing layers in Perimeter mode show Material (PPR/PVC/CPVC/HDPE) and Pipe Size (15–100mm) in the Layers inspector. One spec per layer.
  • Isometric trace source toggle: Floor Plan mode warns that vertical runs are not included. Isometric mode confirms true length.
  • Push output: Bar count (total length ÷ 6m stock × 10% waste), pipe hangers (1 per 1.5m), solvent cement & primer for PVC/CPVC.
  • Count layers for fittings: Count dot layers still push to the field picker for fixtures and fittings (elbows, tees, P-traps, valves).
Electrical — PEC Schedule of Loads
  • PEC Article 2.20 demand factors: Replaces the old flat 75% estimate. General lighting + small appliance: first 3000VA at 100%, remainder at 35%. Fixed appliances (≥4 units): 75% demand. Largest motor: 125% added (PEC 2.20.50).
  • Schedule of Loads table: Circuit No., Description, Ampere Trip, Connected VA, Demand Factor, Demand VA. Footer shows Total Connected Load, Total Demand Load, and recommended service entrance ampacity at 220V / 0.85 PF.
ASEP Steel Weights + Rebar kg Output
  • Steel Sections — ASEP/PNS weight table: Per-profile per-thickness lookup from PNS 50 (angle bars), PNS 52 (hollow sections), PNS 51 (C-purlins). Replaces the old estimated scaling formula.
  • Rebar kg across all structural calcs: Bar count rows now followed by a kg weight row using DPWH unit weights (10mm=0.617, 12mm=0.888, 16mm=1.578, 20mm=2.466 kg/m) in Concrete Slab, CHB Wall, Rebar, Columns, Beams, Footings, Lintels, Concrete Road, and Septic Tank.
  • Metal Fab total frame weight: ASEP weight estimate for the full assembled frame added as an informational row.
Septic Tank — DPWH Guards + Dimension Output
  • Minimum volume: DPWH minimum 1.0m³ enforced regardless of occupancy.
  • Minimum depth: 1.5m for 2-chamber and concrete-box, 2.0m for Imhoff.
  • Maximum 50 users: Above 50, an STP warning row appears and output caps. DPWH requires engineered STP beyond this threshold.
  • Dimension output: Tank L × W × depth, chamber split (2-chamber: 67%/33%), net volume, and excavation plan (footprint + 0.3m working clearance each side) appear as informational rows at top of BOM.
v1.1.4 May 2026
Project-wide Spec Presets
  • Mix Grade preset: New dropdown in the Dimensions card. Set Lean Mix (1:3:6), Standard Mix (1:2:4), or Strong Mix (1:1.5:3) once — all concrete calculators update immediately. A purple Mix: Standard badge appears on each affected field.
  • Rebar Schedule preset: New dropdown in the Dimensions card. Set Light (4-12mm / 1-storey), Standard (4-16mm / 2-storey), or Heavy (6-20mm / commercial) — all structural calcs update at once. A green Rebar: Standard badge appears on affected fields.
  • Continuous inheritance: New calc cards added after a preset is set automatically inherit it.
  • Individual override still works: Change any calc's mix or rebar field directly. The preset badge remains but the value reflects your manual entry.
  • Saved with project: Both presets are included in project save/load.
Cross-Calculator Dependencies
  • Columns → Footings sync: "Size from Column" toggle in the Footings calc. When Yes: footing width, pedestal size, footing count, and pedestal bars auto-set from the Columns calc using NSCP minimum bearing area guidelines.
  • Columns → Beams width sync: "Width from Column" toggle in the Beams calc. Beam width matches column width for NSCP joint compatibility. A red warning banner appears if beam width is narrower than the column.
  • Columns → Staircase steps sync: "Auto-steps from Column Height" toggle. Step count is computed from column height ÷ riser height (175mm NSCP default).
  • Doors & Windows → Lintels nudge: A blue info banner appears in the D&W card when openings exist but no Lintels calc is present in the same phase.
Cascade Inputs
  • Septic Tank — size from bedrooms: "Size from Bedrooms" toggle. User count is auto-computed as bedrooms × 2.5 (DPWH residential standard).
  • Bedrooms in Dimensions card: New field that auto-fills the Septic calc's bedroom input when sizing mode is on.
  • Doors & Windows material cascade: Frame material now drives material-specific fixing hardware — aluminum frames get aluminum anchors + tek screws; uPVC gets fixing screws + expanding foam; and so on.
  • Frame mismatch warning: An amber banner appears when the selected frame material conflicts with the door type.
Bug Fixes
  • Rebar Schedule preset badge was breaking the calc card HTML due to a template literal injection conflict — fixed by pre-computing badge strings before the template.
  • window.recalcCard was never assigned on window — all 23 call sites were silent no-ops. Fixed by routing through window._recalcPhaseCard.
  • window.renderEstimateGroups was also unassigned — fixed via CustomEvent dispatch listened in project.js.
  • countGate fields (No. of Columns, No. of Steps) remained grayed after typing a value — now correctly ungates fields on input.
v1.1.3 May 2026
Smart Calculator Improvements
  • Calculator search: Type directly in the Smart Calc picker modal to find any calculator by name or PH construction term (e.g. "CHB", "rebar", "septic", "bubong"). Over 180 aliases mapped.
  • Doors & Windows — per-type row repeater: Each window type (awning, casement, sliding, fixed) supports multiple size rows.
  • Floor Zone Buildup calculator: New calc for computing gravel base, sand bedding, and concrete topping from floor zone spec and room footprint.
  • Roofing calculator overhaul: Pitch angle selector with 15°–40° presets. Trace the plan footprint, enter pitch and span, Vestimate computes actual roof area. Per-shape slope inputs in the Layer Inspector.
  • Auto-smart-route push: Layers pushed from Takeoff now route to the correct input field automatically based on layer type.
  • Count tool redesign: Each count group is its own layer. Sub-groups within a count layer each link to their own calculator.
Material Library Improvements
  • + Variant button: Add a price variant of any existing material directly from the library row or group header.
  • Unit auto-detection: The Add Material modal detects unit from the material name as you type (e.g. "cement" → bags, "rebar" → pcs).
  • Library feed in calc dropdowns: Calc selects tagged with libraryFeed show a "From Library" optgroup with your matching library variants.
Export Improvements
  • Standalone Purchase Guide PDF: New export mode — materials-only PDF formatted as a supplier purchase guide.
  • Store List mode (price-hidden): BOM panel toggle that hides unit prices — useful for sending a materials list to the hardware store without exposing your margin.
  • Three-way BOM panel toggle: Switch between Per Calc, Unified, and Store List views.
  • Revision visibility: Revision notes now appear across all export modes (Client PDF, Bid PDF, BOQ).
Bug Fixes
  • CHB block face constant corrected to actual 16×8 inch dimensions (was causing ~3% overcounting on CHB quantities).
  • fmtQty() utility added — count units (pcs, sets, bags) now display without decimal places in the BOM.
  • Deleted takeoff layer warning added to calc cards whose source layer was removed from the Takeoff tab.
v1.1.2 April 2026
UI Audit & Design System
  • Spacing token pass: All spacing across the estimate tab standardized to CSS variables (--sp-1 through --sp-6).
  • Button system consolidation: All buttons standardized to .btn base class with modifiers. Removed 40+ inline style overrides.
  • Tip/info bar unification: All info and warning banners now use .tip-bar + modifier classes for consistent padding, icon size, and color.
  • AI color tokenization: Replaced 387+ hardcoded hex values with CSS variables across 30 modules. Dark mode now works correctly throughout.
Dashboard Redesign
  • Layout changed from floating cards to a structured grid with dividers.
  • Three view modes: Summary (cost overview), BOM (materials list), Progress (phase completion).
  • Cost-per-m² benchmark shown alongside total — useful for reality-checking against PH market rates.
Smart Calculator Formula Fixes
  • Concrete road rebar axis swap fixed — was over-counting rebar by 3.2× due to transverse/longitudinal axis confusion.
  • Auto-BOM rebar formula fixed — off by ~14× due to incorrect unit conversion.
  • Suspended slab shore count fixed — was using area formula instead of perimeter for shore spacing.
  • Beam development length corrected — was using 12× bar diameter instead of NSCP-required 40× for hook development length.
  • Plastering sand factor corrected — off by ~37× due to unit mismatch between m² and m³.
Licensing & Security
  • LemonSqueezy licensing system implemented across 12 files. PDF export gated at 3/month on Free plan.
  • Machine activation via LemonSqueezy API with per-device instance tracking.
  • Self-healing license sync — license state recovers automatically on next launch if the activation check fails transiently.
v1.1.1 April 2026
Takeoff Tab — PDF Plan Tracing & Smart Calc Integration
  • Full takeoff workflow: Load a PDF plan, calibrate scale via the top bar, add layers, assign a Smart Calculator to each layer, trace shapes, and send measurements directly to the Estimate tab.
  • Three measurement types: Area (polygons, rectangles, arcs for floors/slabs), Length (polylines for wall runs, perimeters), Count (dot markers for columns, doors, fixtures).
  • Generate Bill of Materials: One-click batch push — all tagged layers send their traced values to their assigned calculators simultaneously.
  • Assign Calculator modal: Tag each layer to a Smart Calculator when creating it. The calculator picker filters to only compatible types.
  • Type mismatch detection: If a layer type conflicts with its assigned calculator, an amber Warning badge appears on the layer card.
  • Plan vs Elevation selector: When assigning a length-primary calc to a layer, choose Floor Plan or Elevation/Area.
  • Wall height prompt: For floor plan polyline traces tagged to CHB Wall or Fence, Vestimate intercepts the push and asks for wall height.
  • Multi-page PDF support, Bulk layer creation, Subtract shapes, Quantity multiplier.
  • DXF CAD support: Load DXF files alongside PDFs. CAD layers are imported with geometry pre-traced.
Assembly & Calc Group System
  • Save calc presets as Assemblies: Click the bookmark icon on any Smart Calc card to save its current inputs. Free: up to 5 saved assemblies. Pro: unlimited.
  • Calc Groups: Save all calc cards in a phase as a single named group and insert the full set into any project in one step.
  • Batch insert: Multi-select assemblies or Calc Groups in the library panel and add them all in one shot.
  • Takeoff → Assembly auto-sync: Assemblies saved from a Takeoff-pushed card remember the source layer. Re-push the layer and every bound Assembly in your estimate updates automatically.
  • Unlink binding: Remove the Takeoff link from a saved assembly without deleting it.
  • Export/import assembly packages (Pro): Share your entire library as a dated .json package. Import is de-duplicating by ID.
  • Inline rename: Click any assembly or Calc Group name to rename it in-place.
Estimate Tab & Advanced Drawing Tools
  • Section tabs: Estimate toolbar now shows named tabs (Project · Client · Dimensions · Materials · Labor) — visit in any order.
  • Move / Edit tool (V), Arc segment mode (A), 3-point Arc shape (Q), Ruler tool (K), Annotation tool (N).
  • 4 independent snap types: Vertex, Midpoint, Edge, and Grid — each toggleable. Polyline continue and axis lock included.
  • Layer Inspector: Expand any layer card to see measurement hero, shape list, and per-shape property grids (wall heights, steel profiles, roof slopes, count sub-groups).
  • Trade groups & batch layer operations: Assign layers to trade groups; multi-select for bulk show/hide, assign, export, or delete.
  • Output-based labor rates: Labor crews support DPWH productivity-based billing — enter quantity and trade preset, Vestimate calculates days and cost.
v1.0.7 April 2026
Smart Calculator — New Calculators & Fastener Fixes
  • New calculators: Concrete Beams, Wall Plastering, Excavation & Gravel Fill, Isolated Column Footings, Waterproofing, Door & Window Lintels, column formwork added to Concrete Columns.
  • Fastener price connections: 10 items (Tie Wire, GI Hanger Wire, Drywall Screws, etc.) now read from the master price list and respond to Fill Prices.
  • Smart Calc picker redesign: Reorganized into 5 construction-sequence categories with 3-column layout.
v1.0.6 April 2026
UI Consistency and Library Fixes
  • Unified CSS token system: Single orange accent, 5-step type scale, and semantic color tokens.
  • Professional fees: Excluded from markup base — now applied after markup.
  • State Sync: Material library state sync fixed across all 7 write paths.
v1.0.5 March 2026
Smart Calculator Expansion, BOQ Export, Compare & Currency
  • New calculators: Doors & Windows, Plumbing, Electrical, Staircase, and Septic Tank.
  • Multi-storey support: Calculators aggregate quantities across all defined floors.
  • Quantity Report (BOQ) XLSX export: DPWH INFR-17 format with Overhead & Misc, profit, and VAT (Pro).
  • Estimate comparison: 2- or 3-way side-by-side comparison with delta chips and AI summary (Pro).
  • Live currency conversion: Via Frankfurter (ECB) API with PHP revert.
v1.0.0 Initial Release February 2026
Initial Release
  • Official public release of Vestimate — local-first construction cost estimating for Philippine builders.
  • 130+ built-in materials and core Smart Calculators covering the full construction sequence.
  • PDF, XLSX, and CSV export functionality.