Skip to content

Rebuild HALO meta-divination engine#10

Draft
Apocky wants to merge 2 commits intomasterfrom
codex/write-halo-dice-based-decision-engine-wsosrb
Draft

Rebuild HALO meta-divination engine#10
Apocky wants to merge 2 commits intomasterfrom
codex/write-halo-dice-based-decision-engine-wsosrb

Conversation

@Apocky
Copy link
Copy Markdown
Owner

@Apocky Apocky commented Dec 11, 2025

Summary

  • rebuild the HALO engine around Wu Xing archetype cards, oracle-driven encounters, deterministic seeds, and refreshed gacha/state persistence
  • redesign the mobile-first shell with a main menu, run panel, deck/codex views, and relay-ready multiplayer controls
  • update the README with the new core loop, build path, and relay guidance for the rebuilt experience

Testing

  • npm run build

Codex Task

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread halo.js
Comment on lines +571 to +575
function sendChat(text) {
const state = window.haloState;
if (!state.online.enabled || !text) return;
sendRelay({ type: "chat", from: state.profile.pilot || "anon", text });
state.online.log.push({ sender: state.profile.pilot || "me", message: text });
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Relay chat payload uses mismatched field name

sendChat publishes chat messages with a text field and renders incoming chat from msg.text, but the relay server introduced in this commit forwards chat using message (scripts/server.js lines 56‑57). With online mode enabled, peers will receive packets where message is undefined, so inbound chat never appears for other clients. Aligning the field names on either side is needed for chat to work.

Useful? React with 👍 / 👎.

Comment thread halo.js
Comment on lines +579 to +583
function syncDepth() {
const state = window.haloState;
if (!state.run) return;
sendRelay({ type: "sync", depth: state.run.depth, seed: state.profile.seed });
}
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Run depth sync never reaches peers

syncDepth emits { type: 'sync', depth, seed }, while the relay server rebroadcasts payload: data.payload (scripts/server.js 51‑53) and the client later reads msg.depth when handling sync messages. Because depth is nested under neither payload nor depth in the broadcast, other clients never receive the run depth, so multiplayer syncing is effectively broken whenever the relay is used.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Owner Author

@Apocky Apocky left a comment

Choose a reason for hiding this comment

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

.

@Apocky Apocky self-assigned this Dec 11, 2025
@Apocky Apocky marked this pull request as draft December 11, 2025 09:38
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.

1 participant