Skip to content

Add JunctionRef bindings for hyperedge routing#36

Open
kumilingus wants to merge 1 commit intoAksem:new-emsdk-and-embindfrom
kumilingus:feature/junction-ref-bindings
Open

Add JunctionRef bindings for hyperedge routing#36
kumilingus wants to merge 1 commit intoAksem:new-emsdk-and-embindfrom
kumilingus:feature/junction-ref-bindings

Conversation

@kumilingus
Copy link
Copy Markdown
Contributor

@kumilingus kumilingus commented Mar 23, 2026

Implements #35.

Summary

  • Add JunctionRef embind bindings: constructor, position(), setPositionFixed(), positionFixed(), recommendedPosition()
  • Add Router.deleteJunction() binding for cleanup
  • Update TypeScript typings with deleteJunction
  • Add node example demonstrating junction-based hyperedge routing (router-optimized vs fixed position)

Note

Unfortunately, shapeBufferDistance doesn't seem to have any effect on junction placement. The optimizer just keeps pulling it toward the minimum-length Steiner point no matter what.
For now, setPositionFixed(true) might be the only way to keep the junction where the developer wants it, though I'm not 100% sure there isn't something else I'm missing.

Expose JunctionRef class (constructor, position, setPositionFixed,
positionFixed, recommendedPosition) and Router.deleteJunction via
embind. Update TypeScript typings. Add node example demonstrating
junction-based hyperedge routing.

Closes Aksem#35

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
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