Skip to content

Commit

Permalink
Updated blend1 from monorepo commit de766ee25550247a9344e7775cb76a592…
Browse files Browse the repository at this point in the history
…52078a9
  • Loading branch information
mpreisler committed Sep 29, 2023
1 parent f5b1bfc commit 4ef2c6e
Show file tree
Hide file tree
Showing 18 changed files with 435 additions and 19 deletions.
1 change: 1 addition & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
* @polygoniq
37 changes: 37 additions & 0 deletions .github/ISSUE_TEMPLATE/01_BUG_REPORT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
---
name: Bug Report
about: Create a report to help blend1 improve
title: "bug: "
labels: "bug"
assignees: ""
---

# Bug Report

**blend1 version:**

<!-- Please specify commit or tag version. -->

**Current behavior:**

<!-- Describe how the bug manifests. -->

**Expected behavior:**

<!-- Describe what you expect the behavior to be without the bug. -->

**Steps to reproduce:**

<!-- Explain the steps required to duplicate the issue, especially if you are able to provide a sample application. -->

**Related code:**

<!-- If you are able to illustrate the bug or feature request with an example, please provide it here. -->

```
insert short code snippets here
```

**Other information:**

<!-- List any other information that is relevant to your issue. Related issues, suggestions on how to fix, Stack Overflow links, forum links, etc. -->
35 changes: 35 additions & 0 deletions .github/ISSUE_TEMPLATE/02_FEATURE_REQUEST.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
---
name: Feature Request
about: Suggest an idea for this project
title: "feat: "
labels: "enhancement"
assignees: ""
---

# Feature Request

**Describe the Feature Request**

<!-- A clear and concise description of what the feature request is. Please include if your feature request is related to a problem. -->

**Describe Preferred Solution**

<!-- A clear and concise description of what you want to happen. -->

**Describe Alternatives**

<!-- A clear and concise description of any alternative solutions or features you've considered. -->

**Related Code**

<!-- If you are able to illustrate the bug or feature request with an example, please provide it here. -->

**Additional Context**

<!-- List any other information that is relevant to your issue. Stack traces, related issues, suggestions on how to add, use case, Stack Overflow links, forum links, screenshots, OS if applicable, etc. -->

**If the feature request is approved, would you be willing to submit a PR?**
_(Help can be provided if you need assistance submitting a PR)_

- [ ] Yes
- [ ] No
7 changes: 7 additions & 0 deletions .github/ISSUE_TEMPLATE/03_CODEBASE_IMPROVEMENT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
name: Codebase improvement
about: Provide your feedback for the existing codebase. Suggest a better solution for algorithms, development tools, etc.
title: "dev: "
labels: "enhancement"
assignees: ""
---
9 changes: 9 additions & 0 deletions .github/ISSUE_TEMPLATE/04_SUPPORT_QUESTION.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
name: Support Question
about: Question on how to use this project
title: "support: "
labels: "question"
assignees: ""
---

# Support Question
2 changes: 2 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
---
blank_issues_enabled: false
40 changes: 40 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
<!--- Please provide a general summary of your changes in the title above -->

## Pull Request type

<!-- Please try to limit your pull request to one type; submit multiple pull requests if needed. -->

Please check the type of change your PR introduces:

- [ ] Bugfix
- [ ] Feature
- [ ] Code style update (formatting, renaming)
- [ ] Refactoring (no functional changes, no API changes)
- [ ] Build-related changes
- [ ] Documentation content changes
- [ ] Other (please describe):

## What is the current behavior?

<!-- Please describe the current behavior that you are modifying, or link to a relevant issue. -->

Issue Number: N/A

## What is the new behavior?

<!-- Please describe the behavior or changes that are being added by this PR. -->

-
-
-

## Does this introduce a breaking change?

- [ ] Yes
- [ ] No

<!-- If this does introduce a breaking change, please describe the impact and migration path for existing applications below. -->

## Other information

<!-- Any other information that is important to this PR, such as screenshots of how the component looks before and after the change. -->
163 changes: 144 additions & 19 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,29 +1,154 @@
# blend1
<h1 align="center">
<a href="https://github.com/polygoniq/blend1">
<img src="docs/images/logo.svg" alt="Logo" width="100" height="100">
</a>
</h1>

The inbuilt backup mechanism in [Blender](https://blender.org) saves `.blend1`, `.blend2`, ... files
next to the original. If you are using Google Drive, OneDrive, Samba, NFS or other cloud or remote
mounted filesystem, this can be very wasteful. You will end up uploading `.blend1` as well as the
original when you hit `CTRL+S`. If you use more than 1 backup version you will end up with a ton of
uploads every time you save your project!
<div align="center">
blend1
<br />
<a href="#about"><strong>Check out the screenshots »</strong></a>
<br />
<br />
<a href="https://github.com/polygoniq/blend1/issues/new?assignees=&labels=bug&template=01_BUG_REPORT.md&title=bug%3A+">Report a Bug</a>
·
<a href="https://github.com/polygoniq/blend1/issues/new?assignees=&labels=enhancement&template=02_FEATURE_REQUEST.md&title=feat%3A+">Request a Feature</a>
·
<a href="https://github.com/polygoniq/blend1/issues/new?assignees=&labels=question&template=04_SUPPORT_QUESTION.md&title=support%3A+">Ask a Question</a>
</div>

<p align="center">
<div align="center">
<br />

![Google Drive endlessly uploading backups](README_gdfs_uploads.png)
[![Project license](https://img.shields.io/github/license/polygoniq/blend1.svg?style=flat-square)](LICENSE)
[![Pull Requests welcome](https://img.shields.io/badge/PRs-welcome-ff69b4.svg?style=flat-square)](https://github.com/polygoniq/blend1/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22)
[![Discord](https://img.shields.io/discord/742363791643115531)](https://polygoniq.com/discord/)
[![Buy on BlenderMarket](https://img.shields.io/badge/Buy_on-BlenderMarket-orange)](https://blendermarket.com/products/blend1/)
[![Buy on Gumroad](https://img.shields.io/badge/Buy_on-Gumroad-blue)](https://polygoniq.gumroad.com/l/blend1/)

</p>
</div>

This free open source addon replaces the inbuilt mechanism with its own. It lets you set a
backup directory to be different from where you have the blend file you work on. That way you can
work on a remote drive and have backups on your local drive to save internet bandwidth for other
things you need.
<details open="open">
<summary>Table of Contents</summary>

> Local backups while working on cloud-backed files!
- [About](#about)
- [Getting Started](#getting-started)
- [Prerequisites](#prerequisites)
- [Installation](#installation)
- [Download the addon ZIP](#download-the-addon-zip)
- [Install ZIP in Blender](#install-zip-in-blender)
- [Updating](#updating)
- [Usage](#usage)
- [Roadmap](#roadmap)
- [Support](#support)
- [Project assistance](#project-assistance)
- [Contributing](#contributing)
- [License](#license)

The addon comes with a panel in the N-menu that lets the user set how many backups they want. It
also lists the backups with their timestamps and the user can recall any of them with an operator.
</details>

<p align="center">
---

![panel of the blend1 addon](README_ui.png)
## About

</p>
> <img align="right" src="docs/images/gdfs_uploads.png" title="Google Drive uploading" width="20%">
>
> The inbuilt backup mechanism in [Blender](https://blender.org) saves `.blend1`, `.blend2`, ...
> files next to the original. If you are using Google Drive, OneDrive, Samba, NFS or other cloud
> or remote mounted filesystem, this can be very wasteful. You will end up uploading `.blend1` as
> well as the original when you hit `CTRL+S`. If you use more than 1 backup version you will end
> up with a ton of uploads every time you save your project!
>
> At [polygoniq](https://polygoniq.com) we use [Google Drive](https://www.google.com/drive/) for
> all our customer projects. And even though we have a very fast internet connection we ended up
> saturating it with all the backup uploads. That's why we decided to create this addon.
> We have only the main .blend stored on Google Drive while we save backups locally.
> That way backups are available in case something goes wrong and at the same time uploads
> are fast and collaborating on large blends over Google Drive is possible.
<details>
<summary>Screenshots</summary>
<br>

| Addon Panel | Recall Backup |
| :--------------------------------------------------------------------------: | :--------------------------------------------------------------------------: |
| <img src="docs/images/ui_overview.png" title="Addon Panel" width="100%"> | <img src="docs/images/recall_backup.png" title="Recall Backup" width="100%"> |

| Backup Folder | Inside a Backup Folder |
| :--------------------------------------------------------------------------: | :--------------------------------------------------------------------------: |
| <img src="docs/images/backup_folder.png" title="Backup Folder" width="100%"> | <img src="docs/images/backup_inside.png" title="Recall Backup" width="100%"> |

</details>

## Getting Started

### Prerequisites

> You need [Blender 3.3 LTS or higher](https://blender.org). Windows, macOS 10 and Linux are
> supported.
### Installation

#### Download the addon ZIP

| Stable Release | Unstable Master Branch |
| :--------------------------------------------------------------------------------------: | :--------------------------------------------------------------: |
| Head over to [Releases](https://github.com/polygoniq/blend1/releases) for a stable ZIP. | Click `Code` -> `Download ZIP` if you are feeling adventurous. |

#### Install ZIP in Blender

Go to `Edit` -> `Preferences`. And select `Add-ons` in the left bar. Click the `Install...` button
in the top section. Select the ZIP file you just downloaded and click `Install Add-on`. After the
installation finishes, check the checkbox next to the `blend1` addon.

### Updating

The addon can auto-update itself to latest stable or even unstable master version. Head over to
`Edit` -> `Preferences` and select `Add-ons` in the left bar. Type `blend1` into the search bar
and then expand the addon section of `blend1`. Scroll down to the auto update section to set up
update intervals or even update manually.

## Usage

> Set up the `Save versions` to the desired number of backups of your work. Work in Blender as
> usual. If you need to recall a backup, open the `N` menu and look for the `blend1` panel. Use
> the `Recall` operator to recall a backup.
## Roadmap

See the [open issues](https://github.com/polygoniq/blend1/issues) for a list of proposed features (and known issues).

- [Top Feature Requests](https://github.com/polygoniq/blend1/issues?q=label%3Aenhancement+is%3Aopen+sort%3Areactions-%2B1-desc) (Add your votes using the 👍 reaction)
- [Top Bugs](https://github.com/polygoniq/blend1/issues?q=is%3Aissue+is%3Aopen+label%3Abug+sort%3Areactions-%2B1-desc) (Add your votes using the 👍 reaction)
- [Newest Bugs](https://github.com/polygoniq/blend1/issues?q=is%3Aopen+is%3Aissue+label%3Abug)

## Support

Reach out to the maintainers at one of the following places:

- Joining our [Discord community](https://polygoniq.com/discord/) for the fastest support.
- [GitHub issues](https://github.com/polygoniq/blend1/issues/new?assignees=&labels=question&template=04_SUPPORT_QUESTION.md&title=support%3A+)
- Contact options listed on [this GitHub profile](https://github.com/polygoniq)

## Project assistance

If you want to say **thank you** or/and support active development of blend1:

- Add a [GitHub Star](https://github.com/polygoniq/blend1) to the project.
- Tweet about blend1.

Together, we can make blend1 **better**!

## Contributing

First of, thanks for taking the time to contribute! Contributions are what make the open-source
community such an amazing place to learn, inspire, and create. Any contributions you make will
benefit everybody else and are **greatly appreciated**.

Please read [our contribution guidelines](docs/CONTRIBUTING.md), and thank you for being involved!

## License

This project is licensed under the **GNU General Public License v3**.

See [LICENSE](LICENSE) for more information.
2 changes: 2 additions & 0 deletions __init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -196,6 +196,8 @@ def draw(self, context):
col = row.column()
addon_updater_ops.update_settings_ui(self, context, col)

polib.ui_bpy.draw_settings_footer(self.layout)


ADDON_CLASSES.append(Preferences)

Expand Down
45 changes: 45 additions & 0 deletions docs/CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# Contributor Covenant Code of Conduct

## Our Pledge

In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to make participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, religion, or sexual identity and orientation.

## Our Standards

Examples of behavior that contributes to creating a positive environment include:

* Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences
* Gracefully accepting constructive criticism
* Focusing on what is best for the community
* Showing empathy towards other community members

Examples of unacceptable behavior by participants include:

* The use of sexualized language or imagery and unwelcome sexual attention or advances
* Trolling, insulting/derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or electronic address, without explicit permission
* Other conduct which could reasonably be considered inappropriate in a professional setting

## Our Responsibilities

Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.

Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.

## Scope

This Code of Conduct applies within all project spaces, and it also applies when an individual is representing the project or its community in public spaces. Examples of representing a project or community include using an official project email address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.

## Enforcement

Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project maintainer using any of the [private contact addresses](https://github.com/polygoniq/blend1#support). All complaints will be reviewed and investigated and will result in a response that is deemed necessary and appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.

Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.

## Attribution

This Code of Conduct is adapted from the [Contributor Covenant](https://www.contributor-covenant.org), version 1.4, available at <https://www.contributor-covenant.org/version/1/4/code-of-conduct.html>

For answers to common questions about this code of conduct, see <https://www.contributor-covenant.org/faq>
Loading

0 comments on commit 4ef2c6e

Please sign in to comment.