{"id":60749,"library":"nodesoup","title":"nodesoup","description":"Force-directed graph layout with Fruchterman-Reingold","status":"active","version":"2023-06-12","language":"cpp","source_language":null,"source_url":null,"tags":["graph","layout","visualization","algorithm"],"install":[{"cmd":"vcpkg install nodesoup","lang":"bash","label":"vcpkg"},{"cmd":"# CMakeLists.txt\nfind_package(nodesoup CONFIG REQUIRED)\ntarget_link_libraries(main PRIVATE nodesoup::nodesoup)","lang":"cmake","label":"CMake"}],"dependencies":[],"imports":[{"symbol":"nodesoup/nodesoup.hpp","correct":"#include <nodesoup/nodesoup.hpp>"}],"quickstart":{"code":"#include <nodesoup/nodesoup.hpp>\n#include <iostream>\n\nint main() {\n    // Example: create a simple graph and layout\n    nodesoup::Graph g;\n    g.add_edge(0, 1);\n    g.add_edge(1, 2);\n    auto positions = nodesoup::fruchterman_reingold(g, 800, 600);\n    std::cout << \"Layout computed for \" << positions.size() << \" nodes\" << std::endl;\n    return 0;\n}","lang":"cpp","description":"Compute force-directed layout for a small graph"},"warnings":[],"env_vars":null,"search_vec":"'algorithm':14 'direct':4 'forc':3 'force-direct':2 'fruchterman':9 'fruchterman-reingold':8 'graph':5,11 'layout':6,12 'nodesoup':1 'reingold':10 'visual':13","created_at":"2026-06-17T04:26:43.752593+00:00","updated_at":"2026-06-17T04:26:43.752593+00:00","problems":[],"ecosystem":"vcpkg","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":null,"cli_name":null,"cli_version":null,"type":"library","homepage":null,"github":null,"docs":null,"changelog":null,"pypi":null,"npm":null,"openapi_spec":null,"status_page":null,"smithery":null,"categories":["other"],"base_url":null,"auth_type":null,"provenance":{"verified_status":null,"verified_at":null,"last_verified":"2026-06-17","next_check":"2026-12-14","install_tag":null}}