Shapes (.fshape)

Named vector outlines with proportions and editable Bézier geometry.

Reviewed against the application source on 5 October 2026. Focale is in active development; available commands and published packages may differ by build.

Use in the application

Use the custom-shape catalogue to import or export user shapes. Draw a preset as a shape layer to retain editable geometry. Removing a catalogue entry does not change shapes already placed in documents.

File structure

UTF-8 JSON with an explicit format tag and version. The current reader and writer use version 1. The example shows the library envelope; the full reference describes the complete value schemas.

presets contains id, name, sourceAspectRatio, groupPath, sortOrder and outline. Subpaths contain normalized anchors with relative inX/inY and outX/outY handles, closure, combination operations and fill rules. There are no raster pixels in the library.

File structure
FieldValue
Extension.fshape
formatfocale-custom-shape-presets
version1
EncodingJSON UTF-8
{
  "format": "focale-custom-shape-presets",
  "version": 1,
  "presets": [
    {
      "version": 1,
      "id": "shape.user.01234567-89ab-cdef-0123-456789abcdef",
      "name": "Leaf",
      "sourceAspectRatio": 2,
      "groupPath": [
        "Nature"
      ],
      "sortOrder": 4,
      "outline": {
        "id": "shape.user.01234567-89ab-cdef-0123-456789abcdef",
        "name": "Leaf",
        "subpaths": [
          {
            "closed": true,
            "anchors": [
              {
                "x": 0,
                "y": 0.5,
                "outX": 0.2,
                "outY": -0.5
              },
              {
                "x": 1,
                "y": 0.5,
                "inX": -0.2,
                "inY": -0.5
              },
              {
                "x": 0.5,
                "y": 1
              }
            ]
          }
        ]
      }
    }
  ]
}

Validation and limits

The library is limited to 128 MiB and 8,192 presets; one preset to 16 MiB and 100,000 anchors. Names, coordinates and hierarchy are bounded. An identity collision receives a fresh id; malformed entries reject the library.

Photoshop interchange

CSH import and export retain supported outlines, handles, proportions, ordering, groups and fill operations. .fcshape is an internal per-entry cache; use .fshape for exchange.

Complete format references

Download the full Markdown specifications in English, including schemas, validation rules and compatibility details.

Other documentation pages