Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Rotate is not bit-exact in a radian scene or for multi-channel results

Open
#128 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
22/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Active
Tech stack
rust

Research direction

The payload names no files or tests, so locate the Rotate code path and its history entry first, looking for where radians are converted to degrees and back. Reproduce by rotating in a radian scene and comparing the stored value with baseline plus delta. Done when that value is bit-exact and untouched channels stay byte-identical, including for multi-channel Euler results. The issue suggests storing the requested value in scene units, which is a design change, so check with the maintainer first.

Written by the indexing model from the issue text.

Description

bug

Rotate works internally in degrees. A Rotate that changes exactly one channel by the requested delta now stores baseline + delta in the scene's declared unit, bit for bit (object-space X ring, single-channel numeric entry, and Y/Z or world rotations whose decomposition changes one channel within the snap tolerance).

Still computed rather than exact, within about 1 ulp:

  • A radian scene: a requested radian angle is converted to degrees and back.
  • A Y/Z ring or world rotation that genuinely changes several channels (Euler decomposition).

Goal of this issue: make the radian path exact, for example by carrying the requested value in scene units through the history instead of converting to degrees. Untouched channels are preserved byte for byte.

Dominant language
Rust
Stars
4
Forks
2
Avg merge
2h 28m
Merged PRs (30d)
76

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from cristim/AztecCraft

All issues in cristim/AztecCraft

Similar issues

More Rust issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.