--- id: SCH-20 family: GR-SCHEMA level: extended profiles: [storage-api, editor-client] posture: normative-target added: "1.0" changed: "1.0" source: https://flowdrop.io/spec/rules/gr-schema/sch-20 specification: FlowDrop Workflow Specification 1.0-draft licence: CC BY 4.0 --- # SCH-20 — Visual type is the node type's, and is offered where there is a choice *GR-SCHEMA (Part I) · level: extended · profiles: storage-api, editor-client · added in 1.0* ## The rule > **Normative.** This is the rule. > > 1. A node's visual type comes from its node type, never from a declared schema. > > 2. Where the node type supports more than one visual type, a reserved `nodeType` string property is written into the config schema (its `enum` the supported types, its `default` the node type's own visual type), and the same value is stored as that key's config default. > > 3. This write is unconditional: it overwrites a declared property of the same name. ## Related rules - Names: SCH-21 - Referenced by: SCH-21 --- Rule identifiers are permanent and are never renumbered. This specification carries no implementation status: each implementation publishes its own standing against these rules. Licensed CC BY 4.0.