import eb_engine

def main():
    e = eb_engine.Engine()
    e.main_loop()

if __name__ == "__main__":
    # pydantic instead of dataclasses?
    # Отрисовка голой сетки, прокрутка, масштаб +
    # Отрисовка спрайтов:
    #  - сделать масштабирование в соотв. с клеткой +
    #  - посмотреть класс спрайта или сделать свой +
    #  - добавить отрисовку существ и предметов с анимацией +
    # почитать про Surface, Display, доку к pygame-gui
    # Начало гуя:
    # - общая идея гуя 
    # - кнопка отключить сетку
    # - строка ввода
    # - клик
    # - вывод stdout на отдельную панель, полный экран, потом масштабирование всего под размер экрана
    # Поиск пути, очередь задач для существ
    # Редактор карты
    # Охотник -> деревня
    # Простой, но основательный гуй внизу экрана, глобальная карта и перемещение
    # деревня на соседской локации и торговля с ней
    # перемещение по воде, течение

    #техдолг:
    #проверить дефолтдикт field и None = None
    # техдолг - draw_data to dd
    # изучить pypmler
    # настроить логирование всего
    #SLOP: 
    
    # проверить у ллм на ошибки - РЕГУЛЯРНАЯ АКТИВНОСТЬ:
    #  - deepcopy +
    #  - общие +
    main()

    # добавил гуй, динамическая консоль, всё работает, но:
    # - слоп, почистить
    # - мини-баг - если первые вводимые буквы совпадают с клавишами управления, один раз успевает проскочить до лока. некритично.
    # - при вводе текста нет прокрутки к концу
    # - плавающий баг - если повводить текст, а потом закрыть консоль, игра не закроется по эскейпу.