{"id":45324381,"url":"https://github.com/libpag/tgfx-displaylist","last_synced_at":"2026-02-21T08:30:19.578Z","repository":{"id":306183957,"uuid":"1024887645","full_name":"libpag/tgfx-displaylist","owner":"libpag","description":null,"archived":false,"fork":false,"pushed_at":"2025-12-16T09:07:11.000Z","size":18296,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-12-19T22:20:24.928Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"CSS","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/libpag.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","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":"2025-07-23T11:54:43.000Z","updated_at":"2025-08-05T11:00:52.000Z","dependencies_parsed_at":"2025-08-12T13:13:04.963Z","dependency_job_id":"836df28d-67b6-4b81-8e91-5a30bb9a9868","html_url":"https://github.com/libpag/tgfx-displaylist","commit_stats":null,"previous_names":["libpag/tgfx-displaylist"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/libpag/tgfx-displaylist","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libpag%2Ftgfx-displaylist","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libpag%2Ftgfx-displaylist/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libpag%2Ftgfx-displaylist/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libpag%2Ftgfx-displaylist/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/libpag","download_url":"https://codeload.github.com/libpag/tgfx-displaylist/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libpag%2Ftgfx-displaylist/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29677491,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-21T06:23:40.028Z","status":"ssl_error","status_checked_at":"2026-02-21T06:23:39.222Z","response_time":107,"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":[],"created_at":"2026-02-21T08:30:18.966Z","updated_at":"2026-02-21T08:30:19.571Z","avatar_url":"https://github.com/libpag.png","language":"CSS","funding_links":[],"categories":[],"sub_categories":[],"readme":"English | [简体中文](./README.zh_CN.md)\n\n## Introduction\n***\n\nThis project showcases the rendering capabilities of the [tgfx-layers](https://github.com/Tencent/tgfx/tree/main/include/tgfx/layers) module, \nincluding advanced caching mechanisms such as partial refresh and tile-based rendering. It supports building complex, \nlarge-scale layer rendering trees that allow users to interact through actions like dragging, zooming, selecting, and rotating. \nThis project provides an intuitive way to showcase the specific usage and performance of the [tgfx-layers](https://github.com/Tencent/tgfx/tree/main/include/tgfx/layers) module.\n\nYou can also visit [tgfx-displaylist](https://tgfx.org/displaylist) online to experience the rendering capabilities of [tgfx-layers](https://github.com/Tencent/tgfx/tree/main/include/tgfx/layers) in real-time.\n\n## Getting Started\n***\n\nBefore building the projects, please carefully follow the instructions in the\n[**Build Prerequisites**](https://github.com/Tencent/tgfx?tab=readme-ov-file#build-prerequisites)\nand [**Dependencies**](https://github.com/Tencent/tgfx?tab=readme-ov-file#dependencies) sections.\nThese will guide you through the necessary steps to set up your development environment.\n\n### Web\n\nTo get started, go to the `web/` directory and run the following command to install the necessary\nnode modules:\n\n```\nnpm install\n```\n\nThen, in the `web/` directory, run the following command to build the demo project:\n\n```\nnpm run build\n```\n\nThis will generate the `displaylist.js` and `displaylist.wasm` files in the `web/demo/wasm-mt` directory.\nNext, you can start an HTTP server by running the following command:\n\n```\nnpm run server\n```\n\nThis will open [http://localhost:8061/web/demo/index.html](http://localhost:8061/web/demo/index.html)\nin your default browser. You can also open it manually to view the demo.\n\nTo debug the C++ code, install the browser plugin:\n[**C/C++ DevTools Support (DWARF)**](https://chromewebstore.google.com/detail/cc++-devtools-support-dwa/pdcpmagijalfljmkmjngeonclgbbannb).\nThen, open Chrome DevTools, go to Settings \u003e Experiments, and enable the option\n**WebAssembly Debugging: Enable DWARF support**.\n\nNext, replace the previous build command with:\n\n```\nnpm run build:debug\n```\n\nWith these steps completed, you can debug C++ files directly in Chrome DevTools.\n\nTo build the demo project in CLion, open the `Settings` panel and go to `Build, Execution, Deployment` \u003e `CMake`.\nCreate a new build target and set the `CMake options` to:\n\n```\nDCMAKE_TOOLCHAIN_FILE=\"path/to/emscripten/emscripten/version/cmake/Modules/Platform/Emscripten.cmake\"\n```\n\nAfter creating the build target, adjust the `Configurations` to match the new build target. This will\nallow you to build the tgfx library in CLion.\n\nAdditionally, when using `ESModule` for your project, you need to manually include the generated\n`.wasm` file in the final web program. Common packing tools often ignore the `.wasm` file. Also,\nmake sure to upload the `.wasm` file to a server so users can access it.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flibpag%2Ftgfx-displaylist","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flibpag%2Ftgfx-displaylist","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flibpag%2Ftgfx-displaylist/lists"}