{"id":42517933,"url":"https://github.com/rxdu/quickviz","last_synced_at":"2026-01-28T15:07:56.343Z","repository":{"id":54178141,"uuid":"316537197","full_name":"rxdu/quickviz","owner":"rxdu","description":"Data visualization and GUI framework for robotics development","archived":false,"fork":false,"pushed_at":"2025-09-10T15:28:56.000Z","size":7540,"stargazers_count":3,"open_issues_count":0,"forks_count":4,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-09-10T19:41:37.704Z","etag":null,"topics":["cairo","gui","imgui","visualization"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rxdu.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2020-11-27T15:28:31.000Z","updated_at":"2025-08-15T09:57:24.000Z","dependencies_parsed_at":"2024-10-16T19:42:04.241Z","dependency_job_id":"32b9d9c3-08d3-4a02-88bb-7f0bfcb2dd1c","html_url":"https://github.com/rxdu/quickviz","commit_stats":null,"previous_names":["rxdu/quickviz"],"tags_count":11,"template":false,"template_full_name":null,"purl":"pkg:github/rxdu/quickviz","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rxdu%2Fquickviz","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rxdu%2Fquickviz/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rxdu%2Fquickviz/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rxdu%2Fquickviz/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rxdu","download_url":"https://codeload.github.com/rxdu/quickviz/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rxdu%2Fquickviz/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28846121,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-28T13:02:32.985Z","status":"ssl_error","status_checked_at":"2026-01-28T13:02:04.945Z","response_time":57,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cairo","gui","imgui","visualization"],"created_at":"2026-01-28T15:07:55.471Z","updated_at":"2026-01-28T15:07:56.321Z","avatar_url":"https://github.com/rxdu.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# QuickViz\n\n![GitHub Workflow Status](https://github.com/rxdu/quickviz/workflows/default/badge.svg)\n\nThis repository provides a collection of C++ libraries for creating data visualization and basic UI applications, primarily focused on use cases in robotics.\n\n* For UI design, `imview` includes automatic layout management and widgets such as buttons, sliders, and text boxes.\n* For data visualization, `imview` and `renderer` provide a set of API functions to easily plot 2D time-series data, draw 2D primitives and render 3D objects in real-time.\n\nThe design of the libraries is documented in [docs/imview_design.md](docs/imview_design.md) and [docs/renderer_design.md](docs/renderer_design.md). If you are interested in using the libraries in your own project, it's recommended to read the design documents first. Additionally, an app named \"quickviz\" is included with commonly used data visualization functions (to support development of [libxmotion](https://github.com/rxdu/libxmotion)). It also serves as an example to demonstrate the usage of the `imview` library.\n\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003cimg src=\"docs/screenshots/quickviz.png\" alt=\"GUI Sample\"\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003cimg src=\"docs/screenshots/cairo.png\" alt=\"Cairo Sample\"\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003cimg src=\"docs/screenshots/pointcloud.png\" alt=\"Pointcloud Sample\"\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003cimg src=\"docs/screenshots/opengl_2d.png\" alt=\"OpenGL 2D Sample\"\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003cimg src=\"docs/screenshots/plot.png\" alt=\"Plot Sample\"\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003cimg src=\"docs/screenshots/tui.png\" alt=\"TUI Sample\"\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n## Build\n\n### Linux\n\nThe code in this repository should build on any recent linux distributions with a compiler supporting C++11/14/17. Note\nthat the yoga library for layout management requires certain C++20 features, and you will need to disable automatic\nlayout feature if you are using an older compiler (such as the gcc that comes with Ubuntu 20.04 or older).\n\n**Setup toolchain**\n\n```\n$ sudo apt install build-essential cmake\n```\n\nIf the version of cmake bundled with your system is too low, you can install a newer version\nfrom [Kitware PPA](https://apt.kitware.com/) or build and install from [source](https://cmake.org/download/).\n\n**Install dependencies**\n\n```\n$ sudo apt-get install libgl1-mesa-dev libglfw3-dev libcairo2-dev\n```\n\nPlease refer to [CI configuration](.github/workflows/default.yml) for the up-to-date dependency installation\ninstructions.\n\n**Download code**\n\n```\n$ git clone --recursive https://github.com/rxdu/quickviz.git\n```\n\nOr you can clone and then update the submodules manually\n\n```\n$ git clone https://github.com/rxdu/quickviz.git\n$ cd quickviz\n$ git submodule update --init --recursive\n```\n\n**Configure CMake and compile**\n\n```\n$ cd quickviz\n$ mkdir build \u0026\u0026 cd build\n$ cmake ..\n$ make -j8\n```\n\n### Windows\n\n(Windows support is experimental and may not be as stable as the Linux setup.)\n\nOn Windows, vcpkg is used to manage dependencies. The following instructions are tested on Windows 11 with Visual Studio 2022.\n\n**Setup toolchain**\n\n* Install Visual Studio (MinGW is not tested and may not work)\n* Install [git](https://gitforwindows.org/)\n* Install [cmake](https://cmake.org/download/)\n\nMake sure both git and cmake are added to the system PATH. This should be done automatically for you if you use an installer \nwith default installation settings. Otherwise, you can add the paths manually if you prefer installing them with binary archives.\n\n**Install vcpkg**\n\nRefer to the [vcpkg documentation](https://learn.microsoft.com/en-us/vcpkg/get_started/get-started?pivots=shell-bash) for more details.\n\n```\n$ git clone https://github.com/microsoft/vcpkg.git\n$ cd vcpkg\n$ .\\bootstrap-vcpkg.bat # if you are using powershell\n```\n\nMake sure the following two environment variables are set:\n\n```\nexport VCPKG_ROOT=/path/to/vcpkg\nexport PATH=$VCPKG_ROOT:$PATH\n```\n\nYou can add the two variables in \"Environment Variables\" in Windows settings to make them persistent. Note that you should use\n`%VCPKG_ROOT%` instead of `$VCPKG_ROOT` when appending it to the PATH variable.\n\n**Build package**\n\nDepending on the IDE you use, the configuration steps may vary.\n\nFor Visual Studio, open \"Build\"-\"Cmake Settings for quickfiz\" and add the following line to \"CMake command arguments\":\n\n```\n-DCMAKE_TOOLCHAIN_FILE=\u003cyour-vcpkg-path\u003e/scripts/buildsystems/vcpkg.cmake\n```\n\nThen you should be able to configure and build the project successfully.\n\n## Reference\n\nThe library is built on top of a few third-party libraries, you can refer to their documentation for more details:\n\n* imgui demo: src/third_party/imcore/imgui/imgui_demo.cpp\n* implot demo: src/third_party/imcore/implot/implot_demo.cpp\n* cairo docs: https://cairographics.org/documentation/\n* yoga layout docs: https://www.yogalayout.dev/docs/styling/\n\nOnline demo of imgui and implot:\n\n* [imgui demo](https://greggman.github.io/doodles/glfw-imgui/out/glfw-imgui.html)\n* [implot demo](https://traineq.org/implot_demo/src/implot_demo.html)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frxdu%2Fquickviz","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frxdu%2Fquickviz","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frxdu%2Fquickviz/lists"}