<!--
{
  "availability" : [
    "iOS: 15.0.0 -",
    "iPadOS: 15.0.0 -",
    "macCatalyst: 15.0.0 -",
    "macOS: 12.0.0 -",
    "tvOS: 17.0.0 -",
    "visionOS: 1.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "PHASE",
  "identifier" : "/documentation/PHASE/PHASEEnvelope/domain",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Property",
  "symbol" : {
    "kind" : "Instance Property",
    "modules" : [
      "PHASE"
    ],
    "preciseIdentifier" : "c:objc(cs)PHASEEnvelope(py)domain"
  },
  "title" : "domain"
}
-->

# domain

The range of the envelope’s possible input values.

```
var domain: PHASENumericPair { get }
```

## Discussion

This property is an ordered pair that describes input values along the *x* axis for which the [`evaluate(x:)`](/documentation/PHASE/PHASEEnvelope/evaluate(x:)) function can produce a non-zero output. The first number in the pair is the minimum input value, and the second number in the pair is the maximum input value.

When an envelope graphs volume over time, the framework scales the domain by [`unitsPerSecond`](/documentation/PHASE/PHASEEngine/unitsPerSecond).  Likewise, when an envelope graphs volume over distance, the framework scales this property by [`unitsPerMeter`](/documentation/PHASE/PHASEEngine/unitsPerMeter).

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)