{"id":45434052,"url":"https://github.com/russlank/xpressformula","last_synced_at":"2026-03-02T00:01:32.015Z","repository":{"id":339845657,"uuid":"1163566589","full_name":"russlank/XpressFormula","owner":"russlank","description":"Windows C++/ImGui math plotting application for 2D curves, 3D surfaces, and implicit equations with export and installer packaging. Formula graphing desktop app built","archived":false,"fork":false,"pushed_at":"2026-02-26T23:24:28.000Z","size":4677,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-02-27T05:50:30.259Z","etag":null,"topics":["3d-visualization","cpp","desktop-app","directx11","equation-parser","formula-editor","graphing","imgui","math","mathematics","plotting","scientific-computing","win32","windows","wix-toolset"],"latest_commit_sha":null,"homepage":"https://www.digixoil.se","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/russlank.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":"2026-02-21T20:28:41.000Z","updated_at":"2026-02-26T23:18:50.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/russlank/XpressFormula","commit_stats":null,"previous_names":["russlank/xpressformula"],"tags_count":11,"template":false,"template_full_name":null,"purl":"pkg:github/russlank/XpressFormula","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/russlank%2FXpressFormula","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/russlank%2FXpressFormula/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/russlank%2FXpressFormula/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/russlank%2FXpressFormula/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/russlank","download_url":"https://codeload.github.com/russlank/XpressFormula/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/russlank%2FXpressFormula/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29987726,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-01T22:42:38.399Z","status":"ssl_error","status_checked_at":"2026-03-01T22:41:51.863Z","response_time":124,"last_error":"SSL_read: 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":["3d-visualization","cpp","desktop-app","directx11","equation-parser","formula-editor","graphing","imgui","math","mathematics","plotting","scientific-computing","win32","windows","wix-toolset"],"created_at":"2026-02-22T02:19:38.260Z","updated_at":"2026-03-02T00:01:31.750Z","avatar_url":"https://github.com/russlank.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!-- SPDX-License-Identifier: MIT --\u003e\n# XpressFormula\n\n[![Latest Release](https://img.shields.io/github/v/release/russlank/XpressFormula?display_name=tag\u0026sort=semver)](https://github.com/russlank/XpressFormula/releases/latest)\n[![Release Date](https://img.shields.io/github/release-date/russlank/XpressFormula)](https://github.com/russlank/XpressFormula/releases/latest)\n[![Release Packaging](https://img.shields.io/github/actions/workflow/status/russlank/XpressFormula/release-packaging.yml?branch=main\u0026label=release%20packaging)](https://github.com/russlank/XpressFormula/actions/workflows/release-packaging.yml)\n[![License](https://img.shields.io/github/license/russlank/XpressFormula)](LICENSE)\n[![Documentation](https://img.shields.io/badge/docs-index-blue)](doc/index.md)\n\nXpressFormula is a Windows desktop proof-of-concept for entering and plotting mathematical expressions with an ImGui-based UI.\n\nThe app supports:\n\n- `y=f(x)` 2D curves\n- `z=f(x,y)` 3D surfaces (with optional 2D heat-map view)\n- `F(x,y)=0` implicit 2D equations such as `x^2+y^2=100`\n- `f(x,y,z)` scalar-field cross-sections at configurable `z` slices\n- `F(x,y,z)=0` implicit 3D surfaces (e.g. spheres and torus equations)\n- Plot export dialog (size/aspect, color or grayscale, background color, include/exclude grid/coordinates/wires) with `.png`/`.bmp` save and clipboard copy\n- Startup/manual update checks against GitHub releases with quick link to the releases page\n- Versioned binary metadata and installer packaging (`.msi` + setup `.exe`)\n\n## Screenshots\n\n| Formula View | Surface/Heatmap View |\n|---|---|\n| ![XpressFormula screenshot 1](doc/images/image-01.png) | ![XpressFormula screenshot 2](doc/images/image-02.png) |\n\n## Project Goals\n\n- Fast interactive plotting in a native C++ application\n- Clear separation between parsing/evaluation logic and UI/rendering\n- Simple local development workflow (Visual Studio, VS Code, CLI)\n- Solid unit/integration test coverage for core math and transform logic\n\n## Requirements\n\n- Windows 10/11\n- Visual Studio 2022/2026 with C++ workload\n- Windows SDK (10.0+)\n\n## Quick Start\n\nUse the detailed guide:\n\n- [`doc/run-guide.md`](doc/run-guide.md)\n\nCommon path:\n\n1. Build `Debug|x64`\n2. Run `src\\x64\\Debug\\XpressFormula.exe`\n3. Run tests with `src\\x64\\Debug\\XpressFormula.Tests.exe`\n\n## Repository Layout\n\n- [`src/XpressFormula`](src/XpressFormula) application code\n- [`src/XpressFormula.Tests`](src/XpressFormula.Tests) test runner and tests\n- [`src/vendor/imgui`](src/vendor/imgui) vendored Dear ImGui\n- [`doc`](doc) project documentation\n- shared `VS Code` build/run/debug workspace configs in `.vscode/` (tasks, launch, extension recommendations, IntelliSense config, minimal workspace settings; optional alternative to Visual Studio)\n\n## Documentation\n\n- Documentation index: [`doc/index.md`](doc/index.md)\n- Run and debug guide: [`doc/run-guide.md`](doc/run-guide.md)\n- Architecture overview: [`doc/architecture.md`](doc/architecture.md)\n- Math API guide (internal math abstractions and APIs): [`doc/math-api-guide.md`](doc/math-api-guide.md)\n- Math API cheatsheet (quick reference + where used): [`doc/math-api-cheatsheet.md`](doc/math-api-cheatsheet.md)\n- Algorithms guide (parsing/rendering/meshing): [`doc/algorithms-guide.md`](doc/algorithms-guide.md)\n- ImGui implementation guide (UI architecture/patterns): [`doc/imgui-implementation-guide.md`](doc/imgui-implementation-guide.md)\n- Linux portability plan (ImGui/Linux migration roadmap): [`doc/linux-portability-plan.md`](doc/linux-portability-plan.md)\n- Expression language reference: [`doc/expression-language.md`](doc/expression-language.md)\n- Testing guide: [`doc/testing.md`](doc/testing.md)\n- Release and packaging guide: [`doc/release-packaging.md`](doc/release-packaging.md)\n- Windows code signing guide (Defender/SmartScreen mitigation): [`doc/code-signing.md`](doc/code-signing.md)\n- Vendor dependencies: [`doc/project-vendors.md`](doc/project-vendors.md)\n\n## Third-Party Dependencies\n\nThis repository vendors Dear ImGui.\nSee [`doc/project-vendors.md`](doc/project-vendors.md) for source, license, and update notes.\n\n## Notes\n\n- `dotnet build` is not the primary build path for this native C++ solution; use MSBuild/Visual Studio.\n- In Debug builds, the app attempts to use the Direct3D debug layer and falls back when unavailable.\n- Build metadata (`repo URL`, `branch`, `version`, `commit`) is shown in the application UI when provided by the build pipeline.\n\n## License\n\nThis project is licensed under the MIT License. See [`LICENSE`](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frusslank%2Fxpressformula","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frusslank%2Fxpressformula","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frusslank%2Fxpressformula/lists"}