<div align="center">
    <img width="25%" src="Assets/app-logo.png">
    <h1>
        Memola
    </h1>
    <div>
        <a href="https://apps.apple.com/app/memola/id6738171174">
            <img height="35px" src="Assets/ios-app-store.svg">
        </a>
        <a href="https://apps.apple.com/app/memola/id6738171174">
            <img height="35px" src="Assets/mac-app-store.svg">
        </a>
    </div>
</div>
<br>

<p>
    <img src="https://img.shields.io/badge/iOS-17+-blue.svg" />
    <img src="https://img.shields.io/badge/macOS-14+-blue.svg" />
    <a href="https://github.com/dscyrescotti/Memola/releases/latest">
        <img src="https://img.shields.io/github/v/release/dscyrescotti/Memola?color=green&label=latest%20release&sort=semver&style=flat-round" />
    </a>
    <a href="https://github.com/dscyrescotti/Memola/stargazers">
        <img src="https://img.shields.io/github/stars/dscyrescotti/Memola?color=red&style=flat-round" />
    </a>
    <a href="https://github.com/dscyrescotti/Memola/forks">
        <img src="https://img.shields.io/github/forks/dscyrescotti/Memola?style=flat-round&color=red" />
    </a>
</p>

Memola is an open-source note-taking application, fully built using the Metal framework, allowing you to seamlessly jot down ideas and sketch your visions across iOS, iPadOS, and macOS.

<p align="center">
<img width="100%" src="Assets/app-demo.png">
</p>

## Table of Contents
- [Motivation](#motivation)
- [Roadmap](#ro)
- [Community](#community)
- [Contributing](#contributing)
- [Credits](#credits)
- [License](#license)

## Motivation
Metal is a fascinating framework where we can leverage the optimal power of GPUs through compute shaders and rendering shaders to build advanced applications powered by GPUs. This raised multiple questions like "How is the render pipeline constructed?" and "How are renders generated?" which led to an adventurous journey of crafting a 2D render engine. 

That's how Memola started to dive into the world of GPU programming.

## Roadmap
Our goal for Memola is to create a fully functional open-source note-taking application built with Metal. To dive deeper into the development progress and priorities, check out the following:
- Visit the [GitHub Project](https://github.com/users/dscyrescotti/projects/12) to explore the backlog and see what tasks are in progress or planned.
- Check the [Milestones](https://github.com/dscyrescotti/Memola/milestones) section for prioritized goals and timelines to understand our development focus.


## Community
We encourage open and constructive discussions within our [GitHub Discussions](https://github.com/dscyrescotti/Memola/discussions) to help improve the project, share ideas, and address challenges together. Whether you’re looking for help, proposing new features, or sharing your insights, our community is here to collaborate and grow. 

## Contributing
Memola welcomes all developers to contribute! Share your enhancement ideas or report bugs by opening an issue with detailed information. Your input is invaluable to the project’s success!

Before contributing, please review our [Contributing Guideline](/CONTRIBUTING.md) for more information.

## Credits
Memola wouldn’t exist without the incredible work of these repositories.
- [BezierKit](https://github.com/hfutrell/BezierKit)
- [FastDraw](https://github.com/collinzrj/FastDraw)
- [hand-drawing-swift-metal](https://github.com/owengombas/hand-drawing-swift-metal)
- [ios_metal_bezier_renderer](https://github.com/eldade/ios_metal_bezier_renderer)
- [MaLiang](https://github.com/Harley-xk/MaLiang)
- [MetalPaint](https://github.com/rydermackay/MetalPaint)
- [MetalScroller](https://github.com/chunkyguy/MetalScroller)
- [Metal2DScrollable](https://github.com/codelynx/Metal2DScrollable)
- [rbush](https://github.com/mourner/rbush)
- [RTree](https://github.com/imbcmdth/RTree)
- [Sketch](https://github.com/daihase/Sketch)
- [THST](https://github.com/tuxalin/THST)

## License
Memola is available under the MIT license. See the [LICENSE](/LICENSE) file for more info.
