Skip to content

Formula Map — Workbook Coverage Status ​

This page maps each Excel sheet to its TypeScript engine counterpart and documents the implementation status. The machine-readable version of this data lives in engine-spec.json at the repo root.

Status key ​

StatusMeaning
implementedFull formula coverage — output matches workbook to parity-test tolerance
implemented-with-enhancementsFull formula coverage plus app-specific additions beyond the workbook
partialSome formulas implemented; known gaps documented below
re-expressedLogic is equivalent but the app has evolved beyond the workbook (new fields, consolidated types)
deferredNot yet implemented; tracked in GitHub issues
staticUI or guidance text only — no formulas to implement

Sheet coverage ​

Excel sheetTypeScript moduleKey functionStatusParity tests
How to Usesrc/pages/DocsPage.tsx—static—
Hardware Inputssrc/engine/hardware.tsvalidateHardwareInputs()implemented—
Workload Plannersrc/engine/workloads.ts, aks.ts, mabs.tscomputeWorkloadTotals()partial—
AVD Planningsrc/engine/avd.tscomputeAvd()re-expressed12 scenarios
SOFS Plannersrc/engine/sofs.tscomputeSofs()re-expressed8 scenarios
Volume Detailsrc/engine/volumes.tscomputeVolumeSummary(), toWacSize()implemented-with-enhancements—
Capacity Reportsrc/engine/capacity.tscomputeCapacity()implemented20 scenarios
Compute Reportsrc/engine/compute.tscomputeCompute()implemented6 scenarios
Final Reportsrc/components/FinalReport.tsx + src/exporters/FinalReport(), exportJson()implemented-with-enhancements—
Drive Layout Comparisonsrc/pages/DriveLayoutPage.tsx—implemented—
Thin Provisioningsrc/pages/ThinProvisioningPage.tsx—static—
Volume Health Checksrc/engine/healthcheck.tsrunHealthCheck()implementedengine.test.ts
Advanced Settingssrc/engine/types.tsDEFAULT_ADVANCED_SETTINGSpartial—
Referencessrc/pages/ReferencesPage.tsx—static—
To Do——static—

Intentional divergences ​

Hardware Inputs ​

  • Workbook uses a single DriveMedia dropdown. App expands this to capacityMediaType + cacheMediaType to support SSD/HDD capacity tiers.
  • Workbook uses YesNo strings; app uses boolean.
  • hostOsReservedRamGb moved from Hardware Inputs to Advanced Settings as systemReservedMemoryGB.

Workload Planner (partial) ​

  • Workbook has 6 scenario tabs. App consolidates Infra+Dev/Test+Custom into VmScenario and replaces Backup/Archive with a dedicated MABS planner.
  • Service presets (Arc SQL MI, IoT Operations, AI Foundry Local) and custom workload builder are app additions beyond the workbook.

AVD Planning (re-expressed) ​

  • App adds: user type mix (#59), Office Container (#59), data disk per host (#31), profile storage location selector (#33).
  • growthBuffer scale: workbook uses decimal (0.3), app uses integer percent (30).
  • Profile storage uses totalUsers, not concurrentUsers — correct per FSLogix guidance. Documented in computeAvd() and the AVD docs page.

SOFS Planner (re-expressed) ​

  • App adds: internal mirror compounding (#69), three container types (#45), auto-sizing (#43), IOPS estimates (#41).
  • sofsNodes is auto-calculated; workbook exposes it as a user input.

Advanced Settings (partial) ​

  • Workbook defines 38 override keys. App implements 4: driveUsableTb, avdSessionHostsNeeded, avdProfileLogicalTb, sofsProfileDemandTb.
  • 34 override keys are deferred. See engine-spec.json → overrideGap for the full list.

Type naming convention ​

src/engine/ uses kebab-case enums (e.g. 'three-way-mirror'). reference/temp/ uses title-case (e.g. 'Three-Way Mirror'). These represent the same concepts. All engine code, exports, and the plan manifest use kebab-case exclusively.

App-added modules (beyond workbook scope) ​

The following modules have no direct workbook counterpart. They are pure additions.

ModuleDescription
src/engine/aks.tsAKS on Azure Local cluster sizing — control plane + worker nodes
src/engine/mabs.tsMicrosoft Azure Backup Server sizing with internal mirror compounding
src/engine/service-presets.tsArc-enabled service preset catalog (SQL MI, IoT Operations, AI Foundry, Container Apps) + requiresAks dependency flag
src/engine/custom-workloads.tsUser-defined generic workload builder
src/engine/avd-pools.tsMulti-pool AVD session host group aggregation
src/engine/workload-volumes.tsWorkload-driven volume row generation
src/exporters/json.tsVersioned SurveyorPlan manifest export (#118)
src/exporters/powershell.tsPowerShell New-Volume script generation

OEM presets ​

Preset fileModels covered
src/engine/presets/dell-ax.tsAX-670, AX-770, AX-660, AX-760, AX-4510c, AX-4520c
src/engine/presets/lenovo-mx.tsMX630/MX650 V3 and V4, MX650a V4, MX455 V3 Edge
src/engine/presets/hpe-proliant.tsDL380 Gen12, DL360 Gen12, DL380 Gen11, DL145 Gen11
src/engine/presets/dataon.tsAZL-8208i, AZS-7224

See OEM planning presets for sources, tiers and sizing assumptions.

Architecture and engine-flow docs ​

For a deeper understanding of how these modules fit together, see:

Released under the MIT License.