Skip to content

feat: процедурный рендер конвейеров — стыковка, повороты, поток#16

Merged
AntonDot merged 2 commits into
mainfrom
feat/belts-procedural-render
Jul 24, 2026
Merged

feat: процедурный рендер конвейеров — стыковка, повороты, поток#16
AntonDot merged 2 commits into
mainfrom
feat/belts-procedural-render

Conversation

@AntonDot

Copy link
Copy Markdown
Member

Что

web/src/game/belts.ts переписан со спрайтового belt.png (один прямой тайл, повёрнутый на dir*90 — не стыковался на поворотах) на процедурный рендер через Pixi Graphics.

  • Neighbor-aware форма (beltShape): для каждого тайла по соседям определяется прямая/поворот. Чистая функция, граф-логику (buildGraph) не трогает — только визуал.
  • Дорожка кодом: полоса с двухтоновым бевелом-рельсами и заклёпками; повороты — кольцевой сектор (дуга радиуса TILE/2); поперечные насечки-сегменты. Всё под палитру Factory.exe.
  • Поток: циановые шевроны на единой глобальной фазе (шаг SPACING, делит TILE нацело) — непрерывны через стыки и повороты; движение вперёд (enter→exit); плавный fade у краёв вместо жёсткого появления/исчезновения (убирает рывок на каждой итерации).

Итерации по фидбеку: направление потока, детализация бортиков, смена жёлтого на циан, устранение пролага.

Проверка

  • pnpm typecheck ✓, pnpm build
  • Слит с актуальным main (манипулятор-спрайт и др.) — belts.ts апстрим не трогали, конфликтов нет
  • Браузером не гонял в этой сессии (Claude in Chrome отключён), но dev-сервер отдаёт свежий модуль

🤖 Generated with Claude Code

dotsenko-rgb and others added 2 commits July 25, 2026 01:13
belts.ts переписан со спрайтового belt.png на Pixi Graphics:
- neighbor-aware форма тайла (beltShape): прямая / поворот по соседям;
  граф-логику не трогает, чисто визуал.
- дорожка кодом: полоса с двухтоновым бевелом-рельсами и заклёпками,
  повороты — кольцевой сектор (дуга TILE/2), поперечные насечки-сегменты.
- поток: циановые шевроны на единой глобальной фазе (шаг SPACING|TILE) —
  непрерывны через стыки и повороты, движение вперёд (enter→exit),
  плавный fade у краёв вместо жёсткого появления/исчезновения.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings July 24, 2026 17:15
@AntonDot
AntonDot merged commit 106c6ec into main Jul 24, 2026
1 check passed
@AntonDot
AntonDot deleted the feat/belts-procedural-render branch July 24, 2026 17:15

Copilot AI 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.

Pull request overview

This PR updates the belt rendering in the web/ PixiJS game layer by replacing the previous sprite-based belt tile with procedural Graphics rendering, enabling neighbor-aware straight/corner shapes and a globally-phased animated flow overlay.

Changes:

  • Replaced sprite/animated-sprite belt rendering with procedural Graphics track rendering (straight + corner).
  • Added neighbor-aware belt shape detection (beltShape) and a unified path parametrization (makePath) for placing track details and flow markers.
  • Implemented a single shared-ticker animated “flow” using chevrons with edge fade-in/out.
Comments suppressed due to low confidence (1)

web/src/game/belts.ts:218

  • flowDist хранит фазу в пикселях (используется вместе с SPACING и сравнивается с TILE), но комментарий говорит про «тайл-единицы». Это может запутать при дальнейшем изменении SPACING/FLOW_PX_PER_SEC.
let flowDist = 0; // глобальная фаза потока в тайл-единицах пути

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread web/src/game/belts.ts
Comment on lines +20 to +23
const SPACING = TILE / 4; // шаг шевронов; делит TILE нацело → непрерывность через стыки
const POOL = TILE / SPACING + 1; // слотов шевронов на тайл (лишние прячутся на краях)
const FLOW_PX_PER_SEC = 34; // скорость потока (в тайл-единицах пути)
const FADE = SPACING * 0.9; // длина плавного появления/исчезновения у краёв тайла
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants