Texture Candidate Generation
Generate or regenerate candidate artifacts for exact plan unit IDs. Embedded
generation is non-mutating: it cannot publish or replace the canonical asset.
When to Use
Use after provider-free preparation and an outer-authored plan selects
generate. For refinement, use only exact outer revise unit IDs.
Limitations
- A remote Texture Agent may be a leaf backend, never the workflow controller.
- Provider generation and deterministic supplied-image apply are mutually
exclusive. Neither mode falls back to the other.
- Reviewed unit artifacts are immutable preserved inputs during refinement.
- Generation cannot mutate geometry, physics, collision, or unrelated material state.
- A leaf backend cannot change the outer-accepted targets, appearance,
generator inputs, preservation constraints, or acceptance criteria.
Prerequisites
Load texture_preparation.json, the exact outer plan, and any explicitly
requested advisory proposal. A proposal is not required for other generator
leaves.
Instructions
- Verify
generate=requested; reject not_requested rather than silently
generating.
- Bind the outer plan's exact targets, semantic intent, reference identities,
and generator inputs. Do not replace them with advisory proposal values.
- Select exactly one execution mode. For
provider_generate, select the
provider/capability explicitly and record its provenance. For
apply_provided, bind one ordered outer_generated_candidate albedo PNG to
each exact unit, including its producer capability and invocation
provenance.
- Invoke only the selected leaf.
apply_provided performs deterministic USD
authoring and must not call Texture Agent, simple image generation, a model,
or another provider.
- Persist the generation result, candidate asset, unit artifacts, and digests
before deterministic evidence collection.
- Preserve reviewed artifacts byte-for-byte during bounded revision.
- Stop after generation. Do not render, critique, publish, or update the
canonical asset.
Command Reference
Run content-workflow-cli texture generate --preparation ... --outer-plan ...
with an explicitly exposed generator provider, or run
content-workflow-cli texture apply-provided --preparation ... --outer-plan ...
for outer-created images. The bundled Texture-service adapter opens an
execution session from the deterministic scope and exact outer generator
inputs. Pass the optional --provider-proposal to either command only when
propose=requested; it remains advisory and never drives mutation. The remote
service adapter requires a byte-self-contained source and fails closed when the
prepared USD has an external dependency closure it cannot upload. Typed Python
adapters can implement TextureGeneratorLeaf, while the public CLI supports
only its concrete named adapters. Do not claim arbitrary adapters are callable
until they are explicitly exposed.
Common Workflows
After refine, route immediately to content-texture-quality; never replay the
initial plan or reviewed candidates. Resume must reuse the exact persisted
candidate/result and cannot call the generator again.
Output Format
Retain texture_generation.json, the exact outer-plan and optional-proposal
bindings, execution mode, generator/apply capability, generator inputs,
candidate binding, per-unit artifacts, references, outer-provided image
bindings and producer provenance, and operation statuses.
Troubleshooting
If the provider returns unknown, missing, duplicated, or reordered unit IDs, or
if supplied images are missing, duplicated, stale, symlinked, reordered,
scope-mismatched, or not exact-size PNG albedo artifacts, stop. Do not translate
display names into plan-unit identities or treat references as candidates.
1---2name: content-texture-candidate3description: Generate, compare, and preview one bounded texture candidate set for exact texture-unit IDs. Use for initial generation or failed-unit regeneration without unrelated mutation.4---56# Texture Candidate Generation78Generate or regenerate candidate artifacts for exact plan unit IDs. Embedded9generation is non-mutating: it cannot publish or replace the canonical asset.1011## When to Use1213Use after provider-free preparation and an outer-authored plan selects14`generate`. For refinement, use only exact outer `revise` unit IDs.1516## Limitations1718- A remote Texture Agent may be a leaf backend, never the workflow controller.19- Provider generation and deterministic supplied-image apply are mutually20 exclusive. Neither mode falls back to the other.21- Reviewed unit artifacts are immutable preserved inputs during refinement.22- Generation cannot mutate geometry, physics, collision, or unrelated material state.23- A leaf backend cannot change the outer-accepted targets, appearance,24 generator inputs, preservation constraints, or acceptance criteria.2526## Prerequisites2728Load `texture_preparation.json`, the exact outer plan, and any explicitly29requested advisory proposal. A proposal is not required for other generator30leaves.3132## Instructions33341. Verify `generate=requested`; reject `not_requested` rather than silently35 generating.362. Bind the outer plan's exact targets, semantic intent, reference identities,37 and generator inputs. Do not replace them with advisory proposal values.383. Select exactly one execution mode. For `provider_generate`, select the39 provider/capability explicitly and record its provenance. For40 `apply_provided`, bind one ordered `outer_generated_candidate` albedo PNG to41 each exact unit, including its producer capability and invocation42 provenance.434. Invoke only the selected leaf. `apply_provided` performs deterministic USD44 authoring and must not call Texture Agent, simple image generation, a model,45 or another provider.465. Persist the generation result, candidate asset, unit artifacts, and digests47 before deterministic evidence collection.486. Preserve reviewed artifacts byte-for-byte during bounded revision.497. Stop after generation. Do not render, critique, publish, or update the50 canonical asset.5152## Command Reference5354Run `content-workflow-cli texture generate --preparation ... --outer-plan ...`55with an explicitly exposed generator provider, or run56`content-workflow-cli texture apply-provided --preparation ... --outer-plan ...`57for outer-created images. The bundled Texture-service adapter opens an58execution session from the deterministic scope and exact outer generator59inputs. Pass the optional `--provider-proposal` to either command only when60`propose=requested`; it remains advisory and never drives mutation. The remote61service adapter requires a byte-self-contained source and fails closed when the62prepared USD has an external dependency closure it cannot upload. Typed Python63adapters can implement `TextureGeneratorLeaf`, while the public CLI supports64only its concrete named adapters. Do not claim arbitrary adapters are callable65until they are explicitly exposed.6667## Common Workflows6869After `refine`, route immediately to `content-texture-quality`; never replay the70initial plan or reviewed candidates. Resume must reuse the exact persisted71candidate/result and cannot call the generator again.7273## Output Format7475Retain `texture_generation.json`, the exact outer-plan and optional-proposal76bindings, execution mode, generator/apply capability, generator inputs,77candidate binding, per-unit artifacts, references, outer-provided image78bindings and producer provenance, and operation statuses.7980## Troubleshooting8182If the provider returns unknown, missing, duplicated, or reordered unit IDs, or83if supplied images are missing, duplicated, stale, symlinked, reordered,84scope-mismatched, or not exact-size PNG albedo artifacts, stop. Do not translate85display names into plan-unit identities or treat references as candidates.