# Generated Items

## Stability

Internal / Unsupported Level: Advanced

## Goal

Use the Generated Items window to inspect, rescan, and regenerate Flow Core generated outputs when editor search, custom values, instructions, conditions, or registries look stale.

## When To Use This

Use this page after running one of the codegen workflows, changing generator settings, merging branches, or noticing that a generated output no longer matches the source type. This page explains the maintenance workflow. It does not make generated files a supported extension surface.

For deciding which generator to run first, use [Codegen Generators](/flow-core-docs/documentation/api-extension-guide/codegen-generators.md). For the full generation sequence, use [Codegen Pipeline](/flow-core-docs/documentation/api-extension-guide/codegen-pipeline.md).

## Where To Find It

Open **Project Settings > Flow Core > Maintain > Generated Items**.

The window scans generated outputs and groups files by generator metadata. It is useful when you need to answer: "What generated files exist, what produced them, and can they be regenerated safely?"

## What It Lists

Generated Items scans files that carry Flow Core generated metadata, including `FlowGenerated` headers and hash markers. Items may represent member outputs, custom type outputs, enum outputs, registries, drawer registries, or grouped generator artifacts.

The list is content-driven. It does not rely only on folder names or asmdef names. Files without generated metadata are ignored, even if they live near generated outputs.

## Workflow

1. Rescan.

   Click **Rescan** after changing branches, moving generated files, running a generator, or editing generator settings. Rescan rebuilds the window's view from disk and refreshes the generated output index.
2. Search for the affected item.

   Use Search to filter by generated type, member, registry, or file group. If the item is not listed, confirm the file has generated metadata and that the generator actually wrote an output.
3. Select the intended items.

   Use the row checkbox, **Select Filtered**, or **Clear** to control the regeneration set. Keep the selection narrow when investigating one missing instruction, condition, enum, or custom type.
4. Regenerate.

   Use the row **Regenerate** button for one item, or **Regenerate Selected** for the selected set. The window shows a summary before regeneration so you can confirm the outputs.
5. Handle modified generated files.

   If generated files were changed manually or their hash marker is missing, choose an overwrite option deliberately:

   | Choice        | Use when                                                          |
   | ------------- | ----------------------------------------------------------------- |
   | Overwrite     | You want this item regenerated and manual edits are disposable.   |
   | Skip          | You want to inspect this item before replacing it.                |
   | Overwrite All | The remaining selected generated files are safe to replace.       |
   | Skip All      | You want to stop replacing modified files but continue reviewing. |
   | Cancel        | You need to inspect the situation before any more regeneration.   |
6. Verify in the editor.

   After regeneration, reopen the relevant graph editor, Blackboard UI, node search, instruction search, or condition search. If the generated item affects registries, make sure the registry generator step has also run.

## Common Scenarios

| Symptom                                             | Likely cause                                                               | Action                                                                         |
| --------------------------------------------------- | -------------------------------------------------------------------------- | ------------------------------------------------------------------------------ |
| Custom Blackboard type is missing from UI.          | Custom type output or serializer registry is stale.                        | Run the relevant generator, then Rescan and check Generated Items.             |
| Instruction or condition does not appear in search. | Member output or registry output is missing.                               | Run Member Generator and Registry Generator, then verify generated items.      |
| Enum does not appear in dropdowns.                  | Enum resolver or serializer registry is stale.                             | Run Enum Resolver Generator and Registry Generator.                            |
| Generated file changed after a merge.               | Branch merge produced stale or modified generated output.                  | Rescan, regenerate the affected item, and verify the editor search result.     |
| Regeneration prompts about modified files.          | A generated file was edited manually or the hash marker no longer matches. | Prefer Skip if you need to preserve the file, otherwise Overwrite from source. |

## What Regeneration Does

Generated Items delegates back to the generator metadata on the selected item:

* Member items rerun member generation for tracked member keys.
* Custom type items rerun custom type generation for tracked types.
* Enum items rerun enum resolver generation for tracked enum keys.
* Registry items rebuild registry groups for instructions, conditions, enums, serializers, or drawers.
* Drawer items rebuild drawer outputs or drawer registries.

Generated Items does not invent new candidates. If a source type is not selected by generator settings or required attributes, fix the generator input first.

## Common Mistakes

* Editing generated files manually and expecting those edits to survive regeneration.
* Regenerating one output but forgetting the registry step that makes it discoverable.
* Assuming a missing item means the window is broken before clicking Rescan.
* Selecting a broad filtered set when only one output is under investigation.
* Treating generated files as a stable public API surface.

## Related

* [Codegen Pipeline](/flow-core-docs/documentation/api-extension-guide/codegen-pipeline.md)
* [Codegen Generators](/flow-core-docs/documentation/api-extension-guide/codegen-generators.md)
* [Flow Core Settings](/flow-core-docs/documentation/reference/flow-core-settings.md)
* [Auto UI Tags](/flow-core-docs/documentation/reference/auto-ui-tags.md)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://flow-core.gitbook.io/flow-core-docs/documentation/api-extension-guide/generated-items.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
