120 lines
4.0 KiB
JavaScript
120 lines
4.0 KiB
JavaScript
// Shared constants and schema defaults for the timeline editor.
|
|
export const IMAGE_TIMELINE_NODES = new Set([
|
|
"ETKLTXVTimelineImageEditor",
|
|
]);
|
|
export const TARGET_NODES = IMAGE_TIMELINE_NODES;
|
|
export const CUSTOM_AREA_TOP = 186;
|
|
export const TIMELINE_TOP_PAD = 34;
|
|
export const TIMELINE_TRACK_HEIGHT = 30;
|
|
export const TIMELINE_GAP = 20;
|
|
export const TIMELINE_CONTROLS_HEIGHT = 126;
|
|
export const TIMELINE_CONTROLS_GAP = 10;
|
|
export const TIMELINE_BOTTOM_PAD = 20;
|
|
export const PREVIEW_MIN_HEIGHT = 336;
|
|
export const TIMELINE_EDITOR_WIDGET = "__etk_ltxv_timeline_editor";
|
|
export const KEYFRAME_POSITIVE_PROMPT_WIDGET = "__etk_ltxv_keyframe_positive_prompt";
|
|
export const TEXT_LAYER_EDITOR_WIDGET = "__etk_ltxv_text_layer_editor";
|
|
export const UPLOAD_MODE_PROPERTY = "etk_ltxv_upload_mode";
|
|
export const LAYER_LOCK_PROPERTY = "etk_ltxv_timeline_layers_locked";
|
|
export const CONTROL_TAB_PROPERTY = "etk_ltxv_controls_tab";
|
|
export const CANVAS_SIZE_PROPERTY = "etk_ltxv_timeline_canvas_size";
|
|
export const OUTPUT_SETTINGS_PROPERTY = "etk_ltxv_timeline_output_settings";
|
|
export const CONTROL_TABS = [
|
|
{ id: "strength", label: "Strength", w: 72 },
|
|
{ id: "layers", label: "Layers", w: 62 },
|
|
{ id: "filters", label: "Filters", w: 62 },
|
|
];
|
|
export const CONTROL_HEADER_HEIGHT = 24;
|
|
export const CONTROL_TABS_HEIGHT = 22;
|
|
export const TIMELINE_EDITOR_HEIGHT =
|
|
TIMELINE_TOP_PAD + TIMELINE_TRACK_HEIGHT + TIMELINE_GAP + TIMELINE_CONTROLS_HEIGHT + TIMELINE_CONTROLS_GAP + PREVIEW_MIN_HEIGHT + TIMELINE_BOTTOM_PAD;
|
|
export const KEYFRAME_PROMPT_EDITOR_HEIGHT = 98;
|
|
export const KEYFRAME_PROMPT_EDITOR_MAX_HEIGHT = 220;
|
|
export const TEXT_LAYER_EDITOR_HEIGHT = 164;
|
|
export const TEXT_LAYER_EDITOR_MAX_HEIGHT = 250;
|
|
export const UI_INSTANCE_WIDGET = "ui_instance_id";
|
|
export const UI_INSTANCE_PROPERTY = "etk_ltxv_timeline_ui_instance_id";
|
|
export const MIN_LAYER_ZOOM = 0.01;
|
|
export const MAX_LAYER_ZOOM = 20;
|
|
export const WHEEL_ZOOM_STEP = 0.05;
|
|
export const SHIFT_WHEEL_ZOOM_STEP = 0.02;
|
|
export const CTRL_WHEEL_ZOOM_STEP = 0.002;
|
|
export const KEYBOARD_PAN_STEP = 0.05;
|
|
export const CTRL_KEYBOARD_PAN_IMAGE_PX = 1;
|
|
export const FIXED_PROMPT_WIDGET_NAMES = new Set(["global_positive_prompt", "global_negative_prompt", "prompt_schedule"]);
|
|
export const PROMPT_WIDGET_FIXED_HEIGHT = 72;
|
|
export const CHAIN_INPUT_NAME = "chain_in";
|
|
export const LOCAL_MEDIA_MANAGER_DROP_TYPE = "application/x-local-media-manager-image";
|
|
export const CHAIN_INHERITED_WIDGET_NAMES = new Set([
|
|
"width",
|
|
"height",
|
|
"global_positive_prompt",
|
|
"global_negative_prompt",
|
|
"positive_audio_prompt_weight",
|
|
"negative_audio_prompt_weight",
|
|
]);
|
|
export const TIMELINE_GLOBAL_LISTENER_STATE = "__etkTimelineGlobalListenerState";
|
|
export const TIMELINE_GLOBAL_LISTENER_TOKEN = {};
|
|
export const TIMELINE_STATUS_DURATION_MS = 4500;
|
|
export const TIMELINE_SCHEMA_VERSION = 2;
|
|
export const DEFAULT_TEXT_LAYER = Object.freeze({
|
|
text: "Text",
|
|
fontFamily: "sans-serif",
|
|
fontSize: 72,
|
|
bold: false,
|
|
italic: false,
|
|
align: "center",
|
|
color: "#ffffff",
|
|
outlineColor: "#000000",
|
|
outlineWidth: 0,
|
|
shadowColor: "#000000",
|
|
shadowBlur: 0,
|
|
shadowOffsetX: 0,
|
|
shadowOffsetY: 0,
|
|
});
|
|
|
|
export const TEXT_LAYER_FONT_OPTIONS = Object.freeze([
|
|
["sans-serif", "Sans"],
|
|
["serif", "Serif"],
|
|
["monospace", "Mono"],
|
|
["Arial", "Arial"],
|
|
["Helvetica", "Helvetica"],
|
|
["Verdana", "Verdana"],
|
|
["Georgia", "Georgia"],
|
|
["Times New Roman", "Times"],
|
|
["Courier New", "Courier"],
|
|
["Impact", "Impact"],
|
|
["DejaVu Sans", "DejaVu Sans"],
|
|
["DejaVu Serif", "DejaVu Serif"],
|
|
["DejaVu Sans Mono", "DejaVu Mono"],
|
|
["Liberation Sans", "Liberation Sans"],
|
|
["Liberation Serif", "Liberation Serif"],
|
|
["Liberation Mono", "Liberation Mono"],
|
|
]);
|
|
|
|
export const TEXT_LAYER_FIELDS = Object.freeze([
|
|
"text",
|
|
"fontFamily",
|
|
"font_family",
|
|
"fontSize",
|
|
"font_size",
|
|
"bold",
|
|
"italic",
|
|
"align",
|
|
"textAlign",
|
|
"text_align",
|
|
"color",
|
|
"outlineColor",
|
|
"outline_color",
|
|
"outlineWidth",
|
|
"outline_width",
|
|
"shadowColor",
|
|
"shadow_color",
|
|
"shadowBlur",
|
|
"shadow_blur",
|
|
"shadowOffsetX",
|
|
"shadow_offset_x",
|
|
"shadowOffsetY",
|
|
"shadow_offset_y",
|
|
]);
|