
Form Renderer builds backend-driven or config-driven forms from a FormConfig. It creates the Angular FormGroup, renders fields from elements, places them through layout, applies validators and cross validators, handles initialValue, visibleWhen, disabled state, and emits valueChanges, formSubmit, and initialized.
Use it when the backend or an admin configuration defines the form structure: dynamic settings, surveys, onboarding schemas, profile or config forms, CMS forms, tenant-specific forms, and feature-specific forms. Do not use it for normal static forms where fields are known in Angular code; build those manually with Tailwind grid/flex layout and one ngs-form-field per control.