OpenSite/Reference/Features/Quantities and expressions

From BathAfrica Documentation
Revision as of 13:11, 29 October 2026 by BathAfrica (talk | contribs) (Use BathAfrica sidebar contents without duplicate inline contents box)
Jump to navigation Jump to search


Review notice: Development documentation for OpenSite 0.0.1, source snapshot 77c3fee (Phase 13C). Reviewed against implementation on 29 October 2026. Tests and the Windows desktop were not rerun for this publication; this is not a released-product support claim.

Store a physical value in canonical SI with a dimension and a quantity kind.

Stable identifier
document.quantities

Status reported by source

Implemented in the reviewed development source. Historical test evidence is recorded by the repository; no test rerun or product release is claimed by this publication.

Units

Metre, kilogram, second, ampere, kelvin, mole, candela, and radian. Angle is an exponent. Absolute temperature is a kind. Celsius and Fahrenheit use documented offsets.

Behavior

Callers parse one number and one unit expression, convert with a registered unit, and format through a profile without changing the stored value. The rectangular section consumes these quantities.

Errors

incompatible_dimension, non_finite_value, unknown_unit, ambiguous_unit, unit_conflict, exponent_overflow, and parse_error.

Limitations

The quantity parser accepts numbers and unit expressions; property expressions are a separate document feature. Restricted formulas and opt-in Python property expressions exist in this snapshot. Python source is retained without automatic execution on load; evaluation requires consent and the shared runtime. Negative kelvin may be accepted by the quantity layer and is not an engineering-domain validation. Unit profiles are not design-code checks.

Available hosts

GUI-independent C++ foundation, CLI and embedded Python, consumed by desktop quantity editors and the property inspector on the Windows development configuration.

Licensing and access

The units engine is OpenSite code. It does not check an entitlement. Presentation changes do not change the stored SI value.

Verification evidence

Repository evidence references (not rerun for this publication): CTest foundation.quantity and foundation.units. ADR-0008.


Documentation basis

Source-reviewed against development commit 77c3fee13944bcc4b5d487c77eb1f82fbe4c6ea7, branch feature/phase-13c-properties-python-expressions. This review inspected the implementation and repository evidence; it did not run the Windows application or repeat CTest.

  • src/foundation/quantity_parser.cpp
  • src/document/expression.cpp
  • src/python/bindings.cpp
  • docs/verification/Phase-13C-Integration.md

OpenSite overview · Reference · Guides