в полудрёму. Балансируя между сном и полуявью, словно что-то не хотело отпускать меня и удерживало на самой поверхности подсознания, словно пятнышки растопленного желтого жира на поверхности горячего дымящегося куриного бульона.
Я осторожно помешал бульон ложкой, чтобы посмотреть, что там, и в золотистой прозрачной жидкости супа замелькали кусочки курятины, кружочки морковки, спиральки лапши, колечки зелёного лука. Всё это проплывало перед моими глазами, постепенно оседая на дно.
Я снова помешал ложкой в кастрюле, и ингредиенты супа поплыли в своём неповторяющемся круговороте…
Стоп! Вот оно, неповторяющемся, верно? Кажется, я понял, как добиться неповторяющихся рецептов. Сон мгновенно выветрился из головы. Я осторожно снял руку Рейчел, чтобы не разбудить её, и тихонько встал с кровати.
В мастерской я сразу же сделал себе большую чашку кофе, потому что понял, что сегодня уже не засну. Мысли просто роились в моей голове, и мне нужно было как-то поймать и систематизировать их.
Несколько глотков обжигающе горячего кофе помогли мне сфокусироваться на главной проблеме. Разнообразие. Это сделать не трудно, мне не нужно выпускать несколько похожих рецептов, нет. Всего один рецепт для каждого блюда, но я буду выпускать постоянные обновления, и каждое последующее приготовление по одному и тому же рецепту будет особым, и результат будет отличаться.
Как это сделать технически – это другой вопрос. В идеале стоило бы заложить модуль обновления в сам рецепт, чтобы он случайным образом менял параметры приготовления в заранее заданных пределах настроек для каждой характеристики данного блюда.
Немного больше или меньше прожарку, лёгкую вариативность формы, небольшие колебания вкуса и консистенции, заранее оттестированные в лаборатории. Но большинство существующих 3D-варок не смогут с таким работать, потому что воспримут активный модуль рецепта, как угрозу безопасности или вирус.
Возможно, пока. Может быть, позже я смогу поговорить об этом с производителями, и мы что-то придумаем. Но сейчас это можно решить постоянным выпуском обновлений. Как только 3D-варка приготовила блюдо по определённому рецепту, запускать проверку обновлений. И к следующему циклу, она уже получит крошечное изменение в рецептуре и режимах. Так что даже два приготовленных подряд одинаковых блюда уже будут отличаться.
Правда, мой сервер не выдержит такую нагрузку. Придётся на первое время подключить мощный виртуальный сервер, генерирующий обновления и рассылающий всем пользователям. Это почти гениально. Нет, будь я проклят, это гениально. Главное, чтобы это работало на практике.
Я взял за основу недавний рецепт глазуньи, выставил настройки отклонений параметров для белка и корочки, желтка, формы, консистенции, вкуса и аромата. Подключил генератор случайных значений для вариации этих настроек. Установил порог обновления рецепта сразу после использования. И создал локальное соединение своей лабораторной и кухонной 3D-варок с выделенным сервером, раздающим обновления.
Первая же полученная глазунья оказалась неидеальной. Нет, она была великолепна,