# GSLayer State

*API Collection*

Layer state management.

## Overview

## Topics

### Layer State

- [`GSLayer.active`](/Core/GlyphsCore/GSLayer/active) — Whether the layer participates in interpolation and export.
- [`GSLayer.visible`](/Core/GlyphsCore/GSLayer/visible) — Whether the layer is displayed with other layers in Edit view.
- [`GSLayer.locked`](/Core/GlyphsCore/GSLayer/locked) — Whether clients should prevent editing the layer.

### Update State

- [`GSLayer.lastUpdate`](/Core/GlyphsCore/GSLayer/lastUpdate) — The time of the most recent geometry invalidation.
- [`GSLayer.lastOperation`](/Core/GlyphsCore/GSLayer/lastOperation) — The most recent update affecting the layer or its referenced content.
- [`GSLayer lastOperation:`](/Core/GlyphsCore/GSLayer/lastOperation:) — The most recent update affecting the layer or its referenced content, while avoiding component cycles.
- [`GSLayer.upToDate`](/Core/GlyphsCore/GSLayer/upToDate) — Whether derived representations are newer than changes that affect the layer.
- [`GSLayer.isUpdatingMetrics`](/Core/GlyphsCore/GSLayer/isUpdatingMetrics) — Whether the layer is currently updating its side bearings.
- [`GSLayer.content`](/Core/GlyphsCore/GSLayer/content) — A KVO dependency key for changes to any content of the layer.

### Update Control

- [`GSLayer.disableUpdates`](/Core/GlyphsCore/GSLayer/disableUpdates) — Whether updates and change notifications are deferred.
- [`GSLayer ignoreUpdates`](/Core/GlyphsCore/GSLayer/ignoreUpdates) — Suppresses update tracking for current and subsequent changes.
- [`GSLayer isIgnoringUpdates`](/Core/GlyphsCore/GSLayer/isIgnoringUpdates) — Whether update tracking is suppressed.
- [`GSLayer stopUpdates`](/Core/GlyphsCore/GSLayer/stopUpdates) — Defers updates and change notifications.
- [`GSLayer startUpdates`](/Core/GlyphsCore/GSLayer/startUpdates) — Processes deferred updates and sends combined change notifications.
- [`GSLayer enableFutureUpdates`](/Core/GlyphsCore/GSLayer/enableFutureUpdates) — Resumes updates without reporting changes made while updates were disabled or ignored.

### Marking Updates

- [`GSLayer elementDidChange:`](/Core/GlyphsCore/GSLayer/elementDidChange:) — Notifies the layer that one of its elements changed.
- [`GSLayer setNeedUpdateShapes`](/Core/GlyphsCore/GSLayer/setNeedUpdateShapes) — Marks representations derived from the layer geometry as needing an update.
- [`GSLayer setNeedUpdateMetrics`](/Core/GlyphsCore/GSLayer/setNeedUpdateMetrics) — Marks the cached side bearings as needing an update.
- [`GSLayer setNeedUpdateMetricsFast`](/Core/GlyphsCore/GSLayer/setNeedUpdateMetricsFast) — Marks the cached side bearings as needing an update without locking.
- [`GSLayer preloadContent`](/Core/GlyphsCore/GSLayer/preloadContent) — Loads content referenced by components in preparation for subsequent access.

### Undo

- [`GSLayer.undoManager`](/Core/GlyphsCore/GSLayer/undoManager) — The undo manager of the containing glyph when the layer belongs to that glyph.
- [`GSLayer.undoManagerCheck`](/Core/GlyphsCore/GSLayer/undoManagerCheck) — The undo manager of the containing glyph when undo registration is enabled.

### Locking

- [`GSLayer initLock`](/Core/GlyphsCore/GSLayer/initLock) — Enables thread synchronization for a layer created without locks.
- [`GSLayer disableLock`](/Core/GlyphsCore/GSLayer/disableLock) — Disables thread synchronization for the layer.

## 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 Interpolation](/Core/GlyphsCore/GSLayer-Interpolation) — Axis coordinates and rules that place layers in a design space.
- [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.

