d3.forceLimit?
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 35/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Stale
- Tech stack
- javascript
- Domain
- data-visualization
Research direction
Read the force implementations and simulation force registration to understand how a new force fits the existing API. The issue provides a proposed forceLimit implementation and an Observable example; compare that approach with project conventions and tests. Done means a maximum speed limit can be added as a simulation force and its behavior is covered by tests.
Written by the indexing model from the issue text.
Description
A way to limit the maximum instantaneous force (speed) of nodes.
function forceLimit(limit) {
let nodes;
function force() {
for (const node of nodes) {
const speed = Math.hypot(node.vx, node.vy);
if (speed > limit) {
node.vx = node.vx / speed * limit;
node.vy = node.vy / speed * limit;
}
}
}
force.limit = function(_) {
return arguments.length ? (limit = +_, force) : limit;
};
force.initialize = function (_) {
nodes = _;
};
return force;
}
To use:
simulation.force("limit", forceLimit(8));
- Dominant language
- JavaScript
- Stars
- 2k
- Forks
- 395
- Avg merge
- 5h 46m
- Merged PRs (30d)
- 1
Getting set up
This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from d3/d3-force
-
Difficulty 5/5 Over a week Newbie friendliness 18/100
-
`README` links to deprecated notebookPossibly taken @hirehamir claimed this 1200 days ago. Open
Difficulty 1/5 Under an hour Newbie friendliness 20/100
-
Difficulty 3/5 1-2 days Newbie friendliness 35/100
-
Difficulty 4/5 3-5 days Newbie friendliness 35/100
-
Difficulty 3/5 1-2 days Newbie friendliness 35/100
Similar issues
-
maintenance
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
assistant-ui/assistant-ui#10496 · 1 comment · 1 reaction ·
Maintainers usually reply within 1 day
-
ai bug design good first issue
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
neomjs/neo-agent-institution#927 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
gramps-project/gramps-web#1671 ·
Maintainers usually reply within 1 day
-
bug good first issue priority: P2 status: ready
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
RhinoLink-Tech/data-fabric#502 ·
Maintainers usually reply within 1 day
-
Difficulty 1/5 Under an hour Newbie friendliness 75/100
cline/mcp-marketplace#3708 ·