{"id":51462594,"url":"https://github.com/codenlighten/wavelab","last_synced_at":"2026-07-06T07:01:19.664Z","repository":{"id":360772246,"uuid":"1251387620","full_name":"codenlighten/wavelab","owner":"codenlighten","description":null,"archived":false,"fork":false,"pushed_at":"2026-05-27T21:13:07.000Z","size":164,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-27T21:17:06.676Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/codenlighten.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2026-05-27T14:26:01.000Z","updated_at":"2026-05-27T21:13:11.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/codenlighten/wavelab","commit_stats":null,"previous_names":["codenlighten/wavelab"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/codenlighten/wavelab","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codenlighten%2Fwavelab","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codenlighten%2Fwavelab/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codenlighten%2Fwavelab/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codenlighten%2Fwavelab/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/codenlighten","download_url":"https://codeload.github.com/codenlighten/wavelab/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codenlighten%2Fwavelab/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35180933,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-06T02:00:07.184Z","response_time":106,"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"}},"keywords":[],"created_at":"2026-07-06T07:01:16.223Z","updated_at":"2026-07-06T07:01:19.537Z","avatar_url":"https://github.com/codenlighten.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# wavelab\n\nWave-based molecular geometry engine. Treats a protein pocket as an\noptical medium and probes it with a simulated light field (FDTD) to\nextract geometric, energetic, and spectral features for docking.\n\nSee [`overview.md`](overview.md) for the full equation map.\n\n## Status\n\n**Phase 0** — project skeleton. Core types (`Grid\u003cD\u003e`, `Field\u003cT,D\u003e`),\nCMake build, doctest unit tests, empty GUI window via raylib + ImGui.\n\nThe phased implementation plan lives at\n`~/.claude/plans/composed-snuggling-corbato.md`.\n\n## Building\n\n### Prerequisites\n\n- CMake ≥ 3.24\n- C++20 compiler (GCC 13+, Clang 16+, MSVC 19.30+)\n- For the GUI app on Linux/X11 (skip with `-DWAVELAB_BUILD_GUI=OFF`):\n\n```sh\nsudo apt install libgl1-mesa-dev libx11-dev libxrandr-dev \\\n    libxinerama-dev libxcursor-dev libxi-dev libxkbcommon-dev\n```\n\n### Configure + build\n\n```sh\ncmake -S . -B build -DCMAKE_BUILD_TYPE=Release\ncmake --build build -j\nctest --test-dir build --output-on-failure\n```\n\nHeadless / core-only build (no X11 deps required):\n\n```sh\ncmake -S . -B build -DWAVELAB_BUILD_GUI=OFF\ncmake --build build -j\n```\n\n### Run\n\n```sh\n./build/bin/wavecli            # headless smoke test\n./build/bin/wavelab            # GUI window (Phase 0: ImGui hello)\n```\n\n## Build options\n\n| Option                       | Default | Effect                                       |\n| ---------------------------- | ------- | -------------------------------------------- |\n| `WAVELAB_BUILD_TESTS`        | ON      | Compile + register unit tests with CTest     |\n| `WAVELAB_BUILD_GUI`          | ON      | Compile `wavelab` (raylib + ImGui)           |\n| `WAVELAB_BUILD_CLI`          | ON      | Compile `wavecli` (headless runner)          |\n| `WAVELAB_BUILD_BENCH`        | OFF     | Compile benchmark harness                    |\n| `WAVELAB_DOUBLE_PRECISION`   | OFF     | Field scalar = `double` instead of `float`   |\n| `WAVELAB_USE_OPENMP`         | ON      | Link OpenMP for parallel kernels             |\n| `WAVELAB_SANITIZE`           | OFF     | Enable ASan + UBSan in Debug builds          |\n| `WAVELAB_WERROR`             | ON      | Treat warnings as errors                     |\n\n## Layout\n\n```\nsrc/      core/, fdtd/, medium/, source/, molecule/, score/, io/, viz/\napps/     wavelab/ (GUI), wavecli/ (headless)\ntests/    unit/, integration/\nbench/    perf harness\ndata/     configs/, pdb/, synthetic/\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodenlighten%2Fwavelab","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcodenlighten%2Fwavelab","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodenlighten%2Fwavelab/lists"}