ObjectField now carries an `id` separate from its display name. Combo choices become [ComboChoice] (id + name pairs). Generated .d.ts uses ids for keys and emits the human name as a JSDoc comment.