Skip to content

[ЭКСПЕРЕМЕНТ] Оптимизация Атмоса и Ауксмоса через ИИ#3049

Draft
MrPe4henika wants to merge 7 commits into
BlueMoon-Labs:masterfrom
MrPe4henika:atmos-auxmos-automation-pr
Draft

[ЭКСПЕРЕМЕНТ] Оптимизация Атмоса и Ауксмоса через ИИ#3049
MrPe4henika wants to merge 7 commits into
BlueMoon-Labs:masterfrom
MrPe4henika:atmos-auxmos-automation-pr

Conversation

@MrPe4henika

@MrPe4henika MrPe4henika commented Apr 7, 2026

Copy link
Copy Markdown

Невероятный Нейрослоп от ИИ.

Вроде бы он работает.

@coderabbitai

coderabbitai Bot commented Apr 7, 2026

Copy link
Copy Markdown

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: eea7099c-9028-4c54-a8eb-d89e009f083a

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions github-actions Bot added the Code label Apr 7, 2026

@DuLL-FoX DuLL-FoX left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Короче основной риск - пропуск __update_auxtools_turf_adjacency_info(). Это не "лишний вызов", а механизм синхронизации DM с нативным auxmos. Без него любой рассинхрон (рантайм, нештатная ситуация) не будет исправлен и приведёт к призрачным стенам или утечкам атмоса. Кэш adjacent_turfs на скраббере не покрывает изменения окружения (двери, стены, объекты рядом) - в оригинале это решается пересчётом каждые 2 секунды, который тут частично порезан. В остальном, тестируй, пробуй, но могут возникнуть много проблем

UNSETEMPTY(atmos_adjacent_turfs)
src.atmos_adjacent_turfs = atmos_adjacent_turfs
__update_auxtools_turf_adjacency_info()
if(!atmos_adjacent_lists_equal(old_atmos_adjacent_turfs, atmos_adjacent_turfs))

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

То же - безусловный sync это не баг, а страховка

if(!(vertical ? CANVERTICALATMOSPASS(O, src) : CANATMOSPASS(O, src)))
return FALSE

/proc/atmos_adjacent_lists_equal(list/old_adjacent_turfs, list/new_adjacent_turfs)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

А есть уверенность что итерация по старому списку + сравнение каждого элемента дешевле одного FFI-вызова? Без профайла это может быть дороже того что экономим

. = FALSE
if(blocks_air || T.blocks_air)
. = FALSE
if(!.)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

В оригинале ранний return тут не делается специально - проверяются все объекты в обоих тайлах. Ещё изменился порядок: теперь сначала src.contents, потом T.contents, а не единый список. Вряд ли это сломает что-то прямо сейчас, но контракт прока поменялся

Comment on lines +113 to +114
if(old_reverse_adjacency != new_reverse_adjacency)
current_turf.__update_auxtools_turf_adjacency_info()

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

__update_auxtools_turf_adjacency_info() синхронит всё состояние тайла в auxmos, не только одну запись. Оригинал вызывает его безусловно не просто так - auxmos может разойтись с DM после рантайма или любой нештатной ситуации. Безусловный вызов это чинит. Без него получим ситуации где газ не проходит через открытый тайл (или наоборот), и воспроизвести это будет невозможно

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants