Open
Conversation
- Add PuzzleType enum (Icebarn, Aqre) to bpz module - Add region field to Cell for AQRE region groupings - Add REGION and RECT-REGION instructions to BPZ parser - Update editor state with AqreShading draw mode for click-to-shade interaction - Add region-aware border rendering in cell component - Add aqre-shaded CSS class for shaded cell visual feedback - Disable line-drawing and right-click marking for AQRE puzzles - Add 6 sample AQRE puzzle files (Basic, Paint, Spiral, Binario variants) - Pass puzzle_type through State, PuzzleEditor, and multiplayer components Co-Authored-By: Oliver Ni <oliver.ni@gmail.com>
Author
🤖 Devin AI EngineerI'll be helping with this pull request! Here's what you should know: ✅ I will automatically:
Note: I can only respond to comments from users who have write access to this repository. ⚙️ Control Options:
|
- Make class:marked conditional on non-AQRE puzzles to prevent diagonal hatching stripes from overlapping the solid gray AQRE shading - Switch rmp_serde::to_vec to to_vec_named for map-based MessagePack serialization, preventing field position breakage - Add #[serde(default)] to new fields (puzzle_type, region) so existing stored room data deserializes correctly Co-Authored-By: Oliver Ni <oliver.ni@gmail.com>
…rialization Old room data was serialized with positional (array) MessagePack encoding. Having puzzle_type as the first field would cause a type mismatch when deserializing old data (Pos parsed as PuzzleType). Moving it to the end means old positional data deserializes correctly for the first 5 fields, and #[serde(default)] kicks in when the array is exhausted for the 6th. Co-Authored-By: Oliver Ni <oliver.ni@gmail.com>
Author
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds full AQRE puzzle type support to icebarn-rs, including:
PuzzleTypeenum (Icebarn,Aqre) with#[serde(default)]for backward-compatible deserializationPUZZLE-TYPE aqre,REGION row col id,RECT-REGION bl_row bl_col tr_row tr_col idrmp_serde::to_vec→to_vec_namedso new fields don't break existing stored room datamarked/toggle_markmechanismReview & Testing Checklist for Human
to_vec_named+#[serde(default)]should handle it, but worth verifying with real DB data)Notes
interactive()method onCellhasn't been updated for AQRE — all non-removed cells are interactive by default since they haveShading::Default, which passes the existing checktext-sm font-medium) to fit region count cluesLink to Devin session: https://app.devin.ai/sessions/d1ea1cd3b93444dda95af5fc775be43a
Requested by: @oliver-ni