Defines the field schema for a section type. Used by the validator to check that section content matches the expected structure.
@type field_def() :: %{ type: atom(), required: boolean(), of: atom() | [String.t()] | nil }
@type t() :: %Brix.SectionTemplate{ fields: %{required(String.t()) => field_def()} | nil, name: String.t() | nil }