{% extends "layout.html" %} {% block content %}

Edit Preset: {{ preset.name }}

Cancel
{% macro toggle_group(name, val) %} {# 3-way toggle: OFF / RNG / ON — renders as Bootstrap btn-group radio #} {% set v = val | string | lower %}
{% endmacro %} {% macro entity_select(name, items, id_attr, current_val, include_random=true) %} {% endmacro %}
{% set d = preset.data %} {% set char_cfg = d.get('character', {}) %} {% set char_fields = char_cfg.get('fields', {}) %} {% set id_fields = char_fields.get('identity', {}) %} {% set def_fields = char_fields.get('defaults', {}) %} {% set wd_cfg = char_fields.get('wardrobe', {}) %} {% set wd_fields = wd_cfg.get('fields', {}) %}
Basic Information
Character
{{ entity_select('char_character_id', characters, 'character_id', char_cfg.get('character_id')) }}
{% for k in ['base_specs','hair','eyes','hands','arms','torso','pelvis','legs','feet','extra'] %}
{{ k | replace('_', ' ') }} {{ toggle_group('id_' + k, id_fields.get(k, true)) }}
{% endfor %}
{% for k in ['expression','pose','scene'] %}
{{ k }} {{ toggle_group('def_' + k, def_fields.get(k, false)) }}
{% endfor %}
{% for k in ['full_body','headwear','top','bottom','legwear','footwear','hands','gloves','accessories'] %}
{{ k | replace('_', ' ') }} {{ toggle_group('wd_' + k, wd_fields.get(k, true)) }}
{% endfor %}
{% set act = d.get('action', {}) %}
Action
{{ entity_select('action_id', actions, 'action_id', act.get('action_id')) }}
{% for k in ['full_body','additional','head','eyes','arms','hands'] %}
{{ k | replace('_', ' ') }} {{ toggle_group('act_' + k, act.get('fields', {}).get(k, true)) }}
{% endfor %}
{% set sty = d.get('style', {}) %}
Style
{{ entity_select('style_id', styles, 'style_id', sty.get('style_id')) }}
{% set det = d.get('detailer', {}) %}
Detailer
{{ entity_select('detailer_id', detailers, 'detailer_id', det.get('detailer_id')) }}
{% set lk = d.get('look', {}) %}
Look (overrides char LoRA)
{{ entity_select('look_id', looks, 'look_id', lk.get('look_id')) }}
{% set scn = d.get('scene', {}) %}
Scene
{{ entity_select('scene_id', scenes, 'scene_id', scn.get('scene_id')) }}
{% for k in ['background','foreground','furniture','colors','lighting','theme'] %}
{{ k }} {{ toggle_group('scn_' + k, scn.get('fields', {}).get(k, true)) }}
{% endfor %}
{% set out = d.get('outfit', {}) %}
Outfit
{{ entity_select('outfit_id', outfits, 'outfit_id', out.get('outfit_id')) }} Selecting an outfit overrides the character's wardrobe.
{% set ckpt = d.get('checkpoint', {}) %}
Checkpoint
Cancel
{% endblock %}