Skip to content

generator: non-collinear fire-beacon fields (dress_focal v2 + beacon-geometry bar, #1618)#1621

Merged
100yenadmin merged 1 commit into
mainfrom
beacon-geometry
Jul 16, 2026
Merged

generator: non-collinear fire-beacon fields (dress_focal v2 + beacon-geometry bar, #1618)#1621
100yenadmin merged 1 commit into
mainfrom
beacon-geometry

Conversation

@100yenadmin

Copy link
Copy Markdown
Member

What & why (#1618)

The dwing recovery (2026-07-16) proved the focal braziers double as plate-registration beacons: a 2-point similarity solve+warp corrected room_0 from 1.66 → 0.17 cells. It also found the limit — room_1's two braziers flank the lane on the same row, a collinear pair that is blind to vertical scale, so a 0.07-cell beacon error coexisted with ~1.5 cells of bottom-wall misfit (plate unfixable by warping). Beacon geometry is part of room design.

This is the generator half of #1618 (no rendering/painting).

Changes

  • dress_focal v2 (tools/dungen_to_fixtures.py): after the door-count plan lands its two lane/shrine braziers, author a third fire beacon (a corner watch-brazier) at the connectivity-safe cell that maximises the three-beacon triangle area. Deterministic (max-area, ties by row/col), reusing the existing candidate + landing-exclusion + flood-fill connectivity machinery. Narrative plans (dead-end altar+braziers; lane flank; hub crossing) unchanged.
  • check_dressing_bars third bar: rooms must carry ≥3 fire-kind props (brazier/campfire) whose best triangle area ≥ 2.0 cell², else fail loud (beacon-geometry class). --allow-undressed still skips all bars. Fire counts only fire kinds — an altar is a focal mass but casts no fire blob.
  • Tests (qa/test_generate_town.py): every committed wing room now asserted to carry ≥3 fire beacons with triangle area ≥ 2.0; the bar unit-tested on crafted geos (2 fire → fail; 3 collinear → fail; 3 non-collinear → pass); the existing test_dressing_bars_fail_loud… updated faithfully for the third bar.

Evidence — end-to-end regen (exit 0)

generate_town.py … --rooms room_0,room_1,room_2 --town-id dwing --material stone → exit 0 with the new bars enforced. Per-room prop-kind counts + fire triangle areas:

room doors fire beacons triangle area (cell²) prop kinds
room_0 1 3 brazier 12.00 crate×14, altar×1, brazier×3, pillar×2
room_1 2 3 brazier 5.00 crate×8, brazier×3, pillar×1
room_2 4 3 brazier 11.00 crate×18, brazier×3, pillar×1

All three rooms: check_dressing_bars empty (green).

Tests

uv run --directory servers/engine --group dev python -m pytest qa/test_generate_town.py -q -p no:xdist13 passed.

Sequencing

Based on focal-dressing (PR #1611, which introduces dress_focal v1 + check_dressing_bars). Lands after #1611; retarget base to main once #1611 merges.

@coderabbitai

coderabbitai Bot commented Jul 16, 2026

Copy link
Copy Markdown

Warning

Review limit reached

You’ve reached a temporary PR review limit under our Fair Usage Limits Policy.

Your recent review volume is higher than typical usage, so adaptive limits are currently applied.

Next review available in: 12 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 567dc5bd-90f3-4962-a492-2e28a73c1f78

📥 Commits

Reviewing files that changed from the base of the PR and between 9281a9b and ff4091c.

📒 Files selected for processing (2)
  • qa/test_generate_town.py
  • tools/dungen_to_fixtures.py
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch beacon-geometry

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

Base automatically changed from focal-dressing to main July 16, 2026 09:53
…geometry bar, #1618)

The dwing recovery proved the focal braziers double as plate-registration
beacons. Two braziers on the same row are a collinear pair, blind to vertical
scale in the 2-point similarity fit (room_1: 0.07-cell beacon error beside
~1.5 cells of wall misfit — plate unfixable by warping).

dress_focal v2: after the door-count plan lands its two lane/shrine braziers,
author a THIRD fire beacon (corner watch-brazier) at the connectivity-safe
cell that maximises the three-beacon triangle area — deterministic, reusing
the existing candidate/landing-exclusion/flood-fill machinery.

check_dressing_bars gains a third bar: >=3 fire-kind props with best triangle
area >= 2.0 cell^2, or fail loud (beacon-geometry class). --allow-undressed
still skips all bars.

Tests: every committed wing room now carries 3 fire beacons (areas 12/5/11);
the bar unit-tested on 2-fire, 3-collinear, 3-non-collinear geos; existing
dressing-bar test updated for the third bar.

Refs #1618 (lands after #1611).
@evaos-code-review-bot

evaos-code-review-bot Bot commented Jul 16, 2026

Copy link
Copy Markdown

evaOS review status: completed

PR: #1621 - generator: non-collinear fire-beacon fields (dress_focal v2 + beacon-geometry bar, #1618)
Head: ff4091ca37c571d98c5223e3932f5203ce5d0804
Updated: 2026-07-16T10:05:52.233Z

evaOS review completed for this PR head.

Automation note: agents should wait for this comment to reach completed, stale_head, closed_or_merged_before_review, skipped, or failed before treating evaOS review as settled for this head. provider_deferred means evaOS still intends to retry.

PR URL: #1621

Review URL: #1621 (review)

@evaos-code-review-bot evaos-code-review-bot Bot 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.

Walkthrough

PR: #1621 - generator: non-collinear fire-beacon fields (dress_focal v2 + beacon-geometry bar, #1618)
Head: ff4091ca37c571d98c5223e3932f5203ce5d0804 into main. Review event: COMMENT.
Provider: GLM/Z.ai through ZCode (zcode-glm, zcode, model GLM-5.2).

Estimated review effort: 1/5 (~12 min)

Changed Files

File Status Churn Purpose Risk
qa/test_generate_town.py modified +58/-8 Test coverage Low

Review Signal

No validated inline findings.
Dropped findings before posting: 0. High-severity findings: 0.

Risk Taxonomy

No finding categories.

Validation and Proof

1 required validation/proof recommendation(s) selected from changed files.

  • required: Unity editor or Play Mode smoke - WorldOS repo profile implies Unity runtime risk. Proof: Unity editor smoke; Play Mode log; scene/prefab screenshot or recording.
    Proof status: missing - 1 required validation/proof recommendation(s) missing from PR metadata.
    Profile validation hints: Prefer correctness, persistence, CI, release, and regression findings over style-only feedback.
    Profile proof expectations: Look for Unity editor, play-mode, fixture, or focused smoke evidence when runtime behavior changes.

Related Context

Related issues/PRs: #1618, #1611.
Suggested labels: tests.
Suggested reviewers: none from current metadata.

Review Settings Preview

  • Profile: assertive
  • Enabled sections: Review summary (inline_review); Walkthrough (inline_review); Changed-files table (walkthrough); Effort estimate (walkthrough); Related issues/PRs (walkthrough); Suggested labels (suggestion_only); Review status comment (sticky_status)
  • Path instructions: Assets/** - Prioritize scene, prefab, save-state, asset-reference, and gameplay regressions.
  • Path instructions: ProjectSettings/** - Treat build, platform, input, graphics, and release behavior changes as high risk.
  • Label suggestions: unity, gameplay, regression-hardening
  • Reviewer suggestions: none
  • Suggestion behavior: suggestions only; labels and reviewers are not auto-applied.
  • Roadmap-only settings: auto-apply labels; auto-request reviewers; required status checks

Pre-merge checklist

  • Inline comments target current RIGHT-side diff lines.
  • No secret-like content survived into posted inline comments.
  • REQUEST_CHANGES is only used when eligible P0/P1 findings survive validation.
  • Required behavior proof is present or not applicable.
  • Labels and reviewers are suggestions only; the bot did not auto-apply them.

@100yenadmin
100yenadmin merged commit fd23e97 into main Jul 16, 2026
30 of 36 checks passed
@100yenadmin
100yenadmin deleted the beacon-geometry branch July 16, 2026 10:11
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.

1 participant