# Property Editor / Property Schema v1

`ComponentDefinition.propertySchema` defines how Inspector renders and validates component properties.

```json
{
  "name": "label",
  "type": "text",
  "label": "Label",
  "labelKey": "property.label",
  "category": "basic",
  "required": false,
  "description": "Optional human-readable description"
}
```

## Supported editor types

- `text` / `string`
- `number` / `size`
- `boolean`
- `select` / `enum`
- `lines`
- `color`
- `expression`
- `code`

The `PropertyEditorRegistry` can register additional editor definitions. The generic `PropertyGridView` renders common editors and emits `propertyChanged` events; the owning Control applies the change through Command/Canvas state.

## Categories

The current built-in categories are:

- `basic`
- `data`
- `style`
- `layout`
- `events`

Applications may add categories, but should keep common component definitions compatible with these categories.
