namespace FlatRender.StudioSvc.Models.Requests; public record CreateSavedProjectRequest( Guid OriginalProjectId, string? Name, Guid? PresetStoryId, bool CopyDefaultValues = true ); public record UpdateSavedProjectRequest( string? Name, string? Image, string? Type, Guid? MusicFileId, Guid? MusicTrackId, decimal? MusicVolume, Guid? VoiceoverFileId, decimal? VoiceoverVolume, bool? VoiceoverRecordedInBrowser, decimal? SfxVolume, bool? SfxEnabled, string? AudioVisualizerMusicUrl, decimal? AudioVisualizerDurationSec, bool? ManualColorPicker, Guid? SelectedPresetStoryId, string? LastEditStep, string? EditState ); public record SaveSceneRequest( Guid? OriginalSceneId, string Key, string? Title, string? Image, string? SceneColorSvg, string SceneType, int Sort, decimal SceneLengthSec, decimal? MinDurationSec, decimal? MaxDurationSec, decimal OverlapAtEndSec, bool CanHandleDuration, bool ManualColorSelection, List Contents, List Colors, List SharedColors, List SharedLayers ); public record SaveSceneContentRequest( string Key, string? Title, string Type, string? Value, Guid? ValueFileId, string? InsertedFileType, string? FontFace, string? FontFaceName, int? FontSize, int? DefaultFontSize, string? DefaultFontFace, string? Justify, int PositionInContainer, int DirectionLayerValue, bool IsTextBox, string? AiInputType, int? SelectedDp, string? RepeaterItemKey, int? RepeaterIndex, bool IsFocused, string? MappedList, string? Thumbnail, int Sort ); public record SaveSceneColorRequest( string ElementKey, string? Title, string? Icon, string AttrValue, string Value, bool IsSelected, int Sort ); public record SaveSharedColorRequest( string ElementKey, string? Title, string? Icon, string AttrValue, string Value, bool IsSelected, int Sort ); public record SaveSharedLayerRequest( string Key, string? Title, string Type, string? Value, Guid? ValueFileId, string? FontFace, string? FontFaceName, int? FontSize, string? Justify, int PositionInContainer, int DirectionLayerValue, bool IsTextBox, string? AiInputType, string? MappedList, string? Thumbnail, int? Width, int? Height, bool IsFocused, bool IsFontChangeable, bool IsFontSizeChangeable, int Sort ); public record SavedProjectListRequest( int Page = 1, int PageSize = 20, string? Q = null, string? Type = null ); /// Lightweight update of individual scene-input values — the studio editor /// writes the user's edits here (by content key) so the render binder picks them up. public record UpdateContentsRequest(List Items); public record UpdateContentItem(string Key, string? Value, Guid? ValueFileId); /// Update the project-wide theme colours (the studio theme picker) by /// element key (accentColor/secondaryColor/backgroundColor/textColor) so the /// FlexStory render binder reads them from saved_shared_colors. public record UpdateColorsRequest(List Items); public record UpdateColorItem(string Key, string Value);