# GSLayer Interpolation

*API Collection*

Axis coordinates and rules that place layers in a design space.

## Overview

An Intermediate layer contributes interpolation data at explicit coordinates. Its coordinates can include font axes and glyph-local axes used by smart components. Omitted coordinates resolve to the associated master or the axis default where the API provides a complete location. Axis discovery generally requires the layer to be attached to a glyph and font.

An Alternative layer replaces the layer associated with the same master when its axis rules match. Rule bounds are inclusive and use internal axis values.

## Topics

### Variation Axes

- [`GSLayer axes`](/Core/GlyphsCore/GSLayer/axes) — Axes used to locate the layer in its design space.
- [`GSLayer axisInternalValueValueForId:`](/Core/GlyphsCore/GSLayer/axisInternalValueValueForId:) — Internal value for an axis.
- [`GSLayer rule:matchesCoordinates:`](/Core/GlyphsCore/GSLayer/rule:matchesCoordinates:) — Whether axis values satisfy all bounds in a set of Alternative-layer rules.

### Intermediate Layers

- [`GSLayer.coordinates`](/Core/GlyphsCore/GSLayer/coordinates) — Explicit Intermediate-layer coordinates keyed by axis ID.
- [`GSLayer coordinateForAxisId:`](/Core/GlyphsCore/GSLayer/coordinateForAxisId:) — Returns an explicit Intermediate-layer coordinate, or `NSNotFound` when no coordinate is set for the axis.
- [`GSLayer braceCoordinateAxes`](/Core/GlyphsCore/GSLayer/braceCoordinateAxes) — Axes represented by Intermediate-layer coordinates.
- [`GSLayer braceAxesValuesList:axes:`](/Core/GlyphsCore/GSLayer/braceAxesValuesList:axes:) — Copies explicit Intermediate-layer coordinates into an axis-value buffer.
- [`GSLayer axesValuesList:axes:`](/Core/GlyphsCore/GSLayer/axesValuesList:axes:) — Copies the internal values for the requested axes into a buffer.
- [`GSLayer keyForAttributeCoordinates`](/Core/GlyphsCore/GSLayer/keyForAttributeCoordinates) — A stable key describing the complete Intermediate-layer location.
- [`GSLayer descriptionForAttributeCoordinates`](/Core/GlyphsCore/GSLayer/descriptionForAttributeCoordinates) — A display description of the explicit Intermediate-layer coordinates.

### Alternative Layers

- [`GSLayer.axisRules`](/Core/GlyphsCore/GSLayer/axisRules) — Alternative-layer axis rules keyed by axis ID.
- [`GSLayer axisRuleString:rule:`](/Core/GlyphsCore/GSLayer/axisRuleString:rule:) — A display string for an axis rule.
- [`GSLayer descriptionForAttributeAxisRules`](/Core/GlyphsCore/GSLayer/descriptionForAttributeAxisRules) — A display description of the Alternative-layer axis rules.

## See Also

- [GSLayer Kind](/Core/GlyphsCore/GSLayer-Kind) — The different roles that a layer can serve.
- [GSLayer Shapes](/Core/GlyphsCore/GSLayer-Shapes) — The paths and components that form the outline of a layer.
- [GSLayer Bounds](/Core/GlyphsCore/GSLayer-Bounds) — Bounding rectangles of outlines, selections, and metrics.
- [GSLayer Metrics](/Core/GlyphsCore/GSLayer-Metrics) — Side bearings, baseline offsets, layer box, and metrics keys.
- [GSLayer Grid](/Core/GlyphsCore/GSLayer-Grid) — Setting for rounding coordinates on a layer.
- [GSLayer Background](/Core/GlyphsCore/GSLayer-Background) — Background content and reference images associated with a layer.
- [GSLayer Anchors](/Core/GlyphsCore/GSLayer-Anchors) — Named attachment points on a layer.
- [GSLayer Hints](/Core/GlyphsCore/GSLayer-Hints) — Manual and generated hint data on a layer.
- [GSLayer Guides](/Core/GlyphsCore/GSLayer-Guides) — Layer-local guides used while editing outlines.
- [GSLayer Kerning](/Core/GlyphsCore/GSLayer-Kerning) — Spacing adjustment between specific layers.
- [GSLayer Annotations](/Core/GlyphsCore/GSLayer-Annotations) — Layer-local notes displayed with a glyph.
- [GSLayer Color](/Core/GlyphsCore/GSLayer-Color) — Colors used to draw a layer.
- [GSLayer Attributes](/Core/GlyphsCore/GSLayer-Attributes) — Additional values stored for a layer.
- [GSLayer Inspection](/Core/GlyphsCore/GSLayer-Inspection) — Intersections between layer outlines and line segments.
- [GSLayer Editing](/Core/GlyphsCore/GSLayer-Editing) — Operations for modifying outlines and other layer content.

