Skip to content

fix(spell): normalize the web cone direction with quot - #210

Open
mparrett wants to merge 1 commit into
mainfrom
fix/web-cone-quot
Open

mparrett wants to merge 1 commit into
mainfrom
fix/web-cone-quot

Conversation

@mparrett

@mparrett mparrett commented Oct 7, 2026

Copy link
Copy Markdown
Collaborator

r-web turns the caster-to-target offset into a -1/0/1 step with (int (/ ddx len)). For an off-axis target, / on two Ints returns a Ratio ((/ 1 3) is 1/3), which int then truncates to 0. quot returns the same Int without the intermediate Ratio.

Behavior is unchanged. For offsets (1,3), (-2,3), (4,0), (0,0), and (-5,-5), the old and new forms both return [0 1], [0 1], [1 0], [0 0], and [-1 -1], and the test suite passes on lg v1.13.0 (the pin).

This came up running xsofy on a let-go runtime without a Ratio type, where the division raised and Web crashed when cast off-axis. r-push divides by the Float from math/sqrt, so it never makes a Ratio and stays as is.

🤖 Generated with Claude Code

r-web truncated (/ ddx len) with int. For an off-axis target the
division makes a Ratio first, e.g. (/ 1 3) is 1/3 before int turns
it into 0. quot gives the same truncated Int without the Ratio, which
is what the "normalize to -1/0/1" comment meant all along, and it no
longer depends on the runtime having a Ratio type.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

This branch has not been deployed

No deployments
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