com.thefibrehose.pattern

Structured metadata for a knitting/crochet pattern. The PDF itself lives either as a paired com.thefibrehose.pdf record (subject) or on thefibrehose's own backend (privatePdfId) - exactly one of the two must be set, enforced client-side only since atproto lexicon cannot express cross-field conditionals (same precedent as the yardage/meterage pair below).

Details · record, key tid
Kindrecord
Record keytid
Authoritythefibrehose.com
Indexed

Record

record · key tid

Properties

Freeform descriptive tags, e.g. textured, colorwork, top-down.

  • maxLength: 30
itemsstring
  • maxLength: 64

colorCount

requiredinteger

Number of distinct yarn colors used in the pattern.

  • minimum: 1

craftType

requiredstring

Whether this is a knitting, crochet, or other pattern.

  • enum: knitting | crochet | other

createdAt

requiredstring · datetime

Timestamp when this pattern record was created.

difficulty

integer

Optional difficulty rating, 1 (easiest) to 10 (hardest).

  • minimum: 1
  • maximum: 10

Recommended crochet hook size in millimeters (e.g. "5.0"). Relevant only when craftType is crochet. A string because atproto lexicon has no decimal numeric type.

  • maxLength: 16

language

requiredstring · language

BCP-47 language tag the pattern is written in (e.g. "en", "en-US").

meterage

integer

Yarn requirement in meters. Computed alongside yardage from whichever unit the uploader entered.

  • minimum: 0

name

requiredstring

The pattern's name/title, as given by the uploader.

  • maxLength: 200

Recommended knitting needle size in millimeters (e.g. "4.5"). Relevant only when craftType is knitting. A string because atproto lexicon has no decimal numeric type.

  • maxLength: 16

pdfFileName

requiredstring

The PDF's original filename, denormalized here so the list view can display it without an extra fetch regardless of where the file itself is hosted.

  • maxLength: 1024

photo

blob

Optional photo of the finished piece. Always an atproto blob regardless of where the PDF itself is hosted.

  • maxSize: 5242880
  • accept: image/png, image/jpeg, image/webp

Opaque id of the PDF as stored on thefibrehose's own access-controlled backend, when the PDF is not stored as an atproto blob. Mutually exclusive with subject; exactly one must be present.

  • maxLength: 64

Strong ref to the linked com.thefibrehose.pdf record holding the actual file, when the PDF is stored as an atproto blob. Mutually exclusive with privatePdfId; exactly one must be present.

uploaderDid

requiredstring · did

DID of the account that originally uploaded this pattern. Redundant with the record's own repo ownership today, but keeps provenance explicit and self-describing if this record is ever copied, reposted, or indexed outside its own repo.

yardage

integer

Yarn requirement in yards. Computed alongside meterage from whichever unit the uploader entered.

  • minimum: 0

yarnWeight

requiredinteger

Craft Yarn Council standard yarn weight, 0 (Lace) to 7 (Jumbo).

  • minimum: 0
  • maximum: 7

Similar lexicons

semantic match

Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.

  • social.craftsky.project.crochet

    not from the namespace authority

    Crochet-specific fields for a craft project post. Referenced from social.craftsky.project.defs#project.details as one variant of the open union. This file defines a referenced type (#details) only; no main record.

  • social.craftsky.project.knitting

    not from the namespace authority

    Knitting-specific fields for a craft project post. Referenced from social.craftsky.project.defs#project.details as one variant of the open union. This file defines a referenced type (#details) only; no main record.

  • Shared objects and tokens for craft project metadata. These are used by social.craftsky.feed.post and multiple social.craftsky.project.* detail lexicons.