{"id":51025,"name":"tromino-puzzle","description":"An algorithm, a software library, and a collection of apps, to solve and visualize the general right tromino tiling puzzle.","url":"https://github.com/oboukli/tromino-puzzle","last_synced_at":"2025-09-05T12:10:27.490Z","repository":{"id":38031581,"uuid":"386977464","full_name":"oboukli/tromino-puzzle","owner":"oboukli","description":"An algorithm, a software library, and a collection of apps, to solve and visualize the general right tromino tiling puzzle.","archived":false,"fork":false,"pushed_at":"2025-04-28T18:53:17.000Z","size":960,"stargazers_count":4,"open_issues_count":2,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-04-28T19:42:41.026Z","etag":null,"topics":["algorithm","c-algorithm","c11","cpp","cpp17","cpp20","cross-platform","divide-and-conquer","emscripten","puzzle","recreational-mathematics","recursion","sdl2","tessellation","tiling","tiling-problem","tromino","tromino-tiling-algorithm","vanilla-javascript","vanilla-js"],"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/oboukli.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":"CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2021-07-17T15:42:46.000Z","updated_at":"2025-04-28T18:53:14.000Z","dependencies_parsed_at":"2024-11-20T19:28:32.225Z","dependency_job_id":"4fb3bff9-8836-4968-a8f4-6063b9233777","html_url":"https://github.com/oboukli/tromino-puzzle","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/oboukli/tromino-puzzle","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oboukli%2Ftromino-puzzle","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oboukli%2Ftromino-puzzle/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oboukli%2Ftromino-puzzle/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oboukli%2Ftromino-puzzle/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/oboukli","download_url":"https://codeload.github.com/oboukli/tromino-puzzle/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oboukli%2Ftromino-puzzle/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273754376,"owners_count":25161931,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-05T02:00:09.113Z","response_time":402,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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"}},"owner":{"login":"oboukli","name":"Omar Boukli-Hacene","uuid":"25386049","kind":"user","description":"","email":"","website":null,"location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/25386049?v=4","repositories_count":4,"last_synced_at":"2023-03-06T06:03:55.819Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/oboukli","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-16T05:56:33.421Z","updated_at":"2023-03-06T06:03:55.833Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/oboukli","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/oboukli/repositories"},"packages":[],"commits":{"message":"Repository syncing started."},"issues_stats":{"full_name":"oboukli/tromino-puzzle","html_url":"https://github.com/oboukli/tromino-puzzle","last_synced_at":"2025-08-31T09:40:24.710Z","status":null,"issues_count":0,"pull_requests_count":32,"avg_time_to_close_issue":null,"avg_time_to_close_pull_request":143843.57142857142,"issues_closed_count":0,"pull_requests_closed_count":28,"pull_request_authors_count":1,"issue_authors_count":0,"avg_comments_per_issue":null,"avg_comments_per_pull_request":0.84375,"merged_pull_requests_count":28,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":0,"past_year_pull_requests_count":32,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":143843.57142857142,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":28,"past_year_pull_request_authors_count":1,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":0.84375,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":28,"created_at":"2025-08-30T10:15:21.897Z","updated_at":"2025-09-02T21:35:26.045Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/oboukli%2Ftromino-puzzle","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/oboukli%2Ftromino-puzzle/issues","issue_labels_count":{},"pull_request_labels_count":{},"issue_author_associations_count":{},"pull_request_author_associations_count":{"OWNER":50},"issue_authors":{},"pull_request_authors":{"oboukli":50},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2025-09-05T00:00:10.444Z","repositories_count":10098650,"issues_count":31447165,"pull_requests_count":97330651,"authors_count":10702032,"icon_url":"https://github.com/github.png","host_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories","owners_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/owners","authors_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors"},"past_year_issue_labels_count":{},"past_year_pull_request_labels_count":{},"past_year_issue_author_associations_count":{},"past_year_pull_request_author_associations_count":{"OWNER":47},"past_year_issue_authors":{},"past_year_pull_request_authors":{"oboukli":47},"maintainers":[{"login":"oboukli","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/oboukli"}],"active_maintainers":[{"login":"oboukli","count":47,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/oboukli"}]},"events":{"total":{"DeleteEvent":38,"IssueCommentEvent":56,"PushEvent":109,"PullRequestReviewEvent":1,"PullRequestReviewCommentEvent":2,"PullRequestEvent":74,"CreateEvent":35},"last_year":{"DeleteEvent":38,"IssueCommentEvent":56,"PushEvent":109,"PullRequestReviewEvent":1,"PullRequestReviewCommentEvent":2,"PullRequestEvent":74,"CreateEvent":35}},"keywords":["algorithm","c-algorithm","c11","cpp","cpp17","cpp20","cross-platform","divide-and-conquer","emscripten","puzzle","recreational-mathematics","recursion","sdl2","tessellation","tiling","tiling-problem","tromino","tromino-tiling-algorithm","vanilla-javascript","vanilla-js"],"dependencies":[{"ecosystem":"actions","filepath":".github/workflows/codeql-analysis.yml","sha":null,"kind":"manifest","created_at":"2023-02-09T13:46:16.014Z","updated_at":"2023-02-09T13:46:16.014Z","repository_link":"https://github.com/oboukli/tromino-puzzle/blob/main/.github/workflows/codeql-analysis.yml","dependencies":[{"id":7493331248,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":7493331249,"package_name":"github/codeql-action/init","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":7493331250,"package_name":"github/codeql-action/analyze","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/devskim-analysis.yml","sha":null,"kind":"manifest","created_at":"2023-02-09T13:46:16.082Z","updated_at":"2023-02-09T13:46:16.082Z","repository_link":"https://github.com/oboukli/tromino-puzzle/blob/main/.github/workflows/devskim-analysis.yml","dependencies":[{"id":7493332795,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":7493332796,"package_name":"microsoft/DevSkim-Action","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false},{"id":7493332797,"package_name":"github/codeql-action/upload-sarif","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/emscripten-build.yml","sha":null,"kind":"manifest","created_at":"2023-02-09T13:46:16.159Z","updated_at":"2023-02-09T13:46:16.159Z","repository_link":"https://github.com/oboukli/tromino-puzzle/blob/main/.github/workflows/emscripten-build.yml","dependencies":[{"id":7493332998,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":7493332999,"package_name":"actions/cache","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":7493333000,"package_name":"actions/upload-artifact","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":7493333001,"package_name":"actions/download-artifact","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/lint.yml","sha":null,"kind":"manifest","created_at":"2023-02-09T13:46:16.359Z","updated_at":"2023-02-09T13:46:16.359Z","repository_link":"https://github.com/oboukli/tromino-puzzle/blob/main/.github/workflows/lint.yml","dependencies":[{"id":7493336295,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/linux-build.yml","sha":null,"kind":"manifest","created_at":"2023-02-09T13:46:16.445Z","updated_at":"2023-02-09T13:46:16.445Z","repository_link":"https://github.com/oboukli/tromino-puzzle/blob/main/.github/workflows/linux-build.yml","dependencies":[{"id":7493337944,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/macos-build.yml","sha":null,"kind":"manifest","created_at":"2023-02-09T13:46:16.534Z","updated_at":"2023-02-09T13:46:16.534Z","repository_link":"https://github.com/oboukli/tromino-puzzle/blob/main/.github/workflows/macos-build.yml","dependencies":[{"id":7493338509,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":7493338511,"package_name":"actions/cache","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/sonarcloud.yml","sha":null,"kind":"manifest","created_at":"2023-02-09T13:46:16.717Z","updated_at":"2023-02-09T13:46:16.717Z","repository_link":"https://github.com/oboukli/tromino-puzzle/blob/main/.github/workflows/sonarcloud.yml","dependencies":[{"id":7493340500,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":7493340501,"package_name":"actions/setup-java","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":7493340502,"package_name":"actions/cache","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/windows-build.yml","sha":null,"kind":"manifest","created_at":"2023-02-09T13:46:16.791Z","updated_at":"2023-02-09T13:46:16.791Z","repository_link":"https://github.com/oboukli/tromino-puzzle/blob/main/.github/workflows/windows-build.yml","dependencies":[{"id":7493341775,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":7493341778,"package_name":"actions/cache","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":7493341780,"package_name":"microsoft/setup-msbuild","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/instrumentation.yml","sha":null,"kind":"manifest","created_at":"2023-09-22T04:04:06.213Z","updated_at":"2023-09-22T04:04:06.213Z","repository_link":"https://github.com/oboukli/tromino-puzzle/blob/main/.github/workflows/instrumentation.yml","dependencies":[{"id":13864849434,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/openssf-scorecard.yml","sha":null,"kind":"manifest","created_at":"2023-09-22T04:04:06.510Z","updated_at":"2023-09-22T04:04:06.510Z","repository_link":"https://github.com/oboukli/tromino-puzzle/blob/main/.github/workflows/openssf-scorecard.yml","dependencies":[{"id":13864849451,"package_name":"actions/checkout","ecosystem":"actions","requirements":"f43a0e5ff2bd294095638e18286ca9a3d1956744","direct":true,"kind":"composite","optional":false},{"id":13864849452,"package_name":"ossf/scorecard-action","ecosystem":"actions","requirements":"08b4669551908b1024bb425080c797723083c031","direct":true,"kind":"composite","optional":false},{"id":13864849453,"package_name":"github/codeql-action/upload-sarif","ecosystem":"actions","requirements":"e4262713b504983e61c7728f5452be240d9385a7","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/msvc-code-analysis.yml","sha":null,"kind":"manifest","created_at":"2024-04-20T14:39:18.521Z","updated_at":"2024-04-20T14:39:18.521Z","repository_link":"https://github.com/oboukli/tromino-puzzle/blob/main/.github/workflows/msvc-code-analysis.yml","dependencies":[{"id":17553672842,"package_name":"actions/checkout","ecosystem":"actions","requirements":"8ade135a41bc03ea155e62e844d188df1ea18608","direct":true,"kind":"composite","optional":false},{"id":17553672843,"package_name":"microsoft/msvc-code-analysis-action","ecosystem":"actions","requirements":"24c285ab36952c9e9182f4b78dfafbac38a7e5ee","direct":true,"kind":"composite","optional":false},{"id":17553672844,"package_name":"github/codeql-action/upload-sarif","ecosystem":"actions","requirements":"8e0b1c74b1d5a0077b04d064c76ee714d3da7637","direct":true,"kind":"composite","optional":false},{"id":17553672845,"package_name":"actions/upload-artifact","ecosystem":"actions","requirements":"a8a3f3ad30e3422c9c7b888a15615d19a852ae32","direct":true,"kind":"composite","optional":false}]}],"score":null,"created_at":"2025-09-04T15:51:26.618Z","updated_at":"2025-10-07T08:19:59.152Z","avatar_url":"https://github.com/oboukli.png","language":"C++","category":null,"sub_category":null,"monthly_downloads":0,"funding_links":[],"readme_doi_urls":[],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":[],"project_url":"https://science.ecosyste.ms/api/v1/projects/51025","html_url":"https://science.ecosyste.ms/projects/51025","bibtex_url":"https://science.ecosyste.ms/projects/51025/export.bibtex","apalike_url":"https://science.ecosyste.ms/projects/51025/export.apalike"}