Моделирование насос-форсунки EUI
作者
# =============================================================================
# state.jl — Инициализация глобального состояния и загрузка данных
# =============================================================================
"""
init_state!()
Сбрасывает глобальные переменные состояния в значения по умолчанию.
Вызывается один раз при старте проекта.
"""
function init_state!()
global uid = ""
global USE_CUBIC_SPLINE = true
global FINAL_WEB_DISP = Float64[]
global USER_SLIDER_DELTAS = zeros(N_SLIDERS)
return nothing
end
"""
load_project_data!(source_file = SOURCE_FILE)
Загружает исходный профиль и кладёт NamedTuple `data` в глобальную область.
"""
function load_project_data!(source_file::String = SOURCE_FILE)
global data = prepare_data(source_file)
return data
end
"""
reset_for_new_ui!()
Полный сброс состояния перед перерисовкой UI + генерация нового uid.
Возвращает сгенерированный uid.
"""
function reset_for_new_ui!()
# ИСПОЛЬЗУЕМ Base.time(), чтобы избежать конфликта с переменной time из симуляции
global uid = string(trunc(Int, Base.time() * 1000))
global USE_CUBIC_SPLINE = true
global FINAL_WEB_DISP = Float64[]
global USER_SLIDER_DELTAS = zeros(N_SLIDERS)
return uid
end