Álvaro Tejero Cantero 13229dd94e
Fill unset graph columns from the consumer's field defaults
A Penpot file omits an attribute whose value equals its default, so a
shape that is not blocked carries no `blocked` key at all. Projected as
it stands, that column reads NULL, and a reader cannot tell a missing
feature from a false one.

`app.graph.schema.beadpot` reads the schema manifest the parity consumer
exports, checked in at `backend/resources/app/graph/beadpot-schema.json`,
and `nodes/apply-defaults` fills every unset column that the manifest
gives a default for. The default is withheld when the column's Ladybug
type differs from the manifest's, because a default is expressed in its
column's type.

Applied after validation: a default belongs to the graph column, not to
the Penpot schema the attributes were checked against.

This stays off `graph-backend`. Penpot should declare these defaults
from its own model rather than import another project's manifest, which
is W24 on the workplan.

AI-assisted-by: mixed models
2026-08-18 23:30:20 +02:00
..
2024-05-29 19:05:04 +02:00