~rycwo/forge

e9a9001a0cc1520279e84b278d31df058dd1a3b8 — Ryan Chan 3 months ago 6359007
Rename umbrella project Tau -> Forge

Forge is now the official name for the project.
3 files changed, 76 insertions(+), 21 deletions(-)

M README.md
M include/forge/stretchy_buffer.h
M meson.build
M README.md => README.md +73 -18
@@ 1,8 1,38 @@
**Forge** is a suite of artist tools for creating 2d/3d content. The tools are
simple and [**really fast**](). They are developed with an emphasis on [clarity
and simplicity][wiki]. Forge software is, and always will be, committed to being
[free][].

Popular content creation applications are monolithic, they all tend to do a
large number of things rather poorly.

Forge aims to provide individual, **purpose-built** tools that each solve a
particular problem well. The magic here is in the flexible data model that allow
multiple tools to read and write different attributes of the same data
**simultaneously**. This enables artist teams to collaborate in real-time and
creates the opportunity for seamless workflows between each stage of the content
creation pipeline. No more saving of your work to some generic intercharge
format (OBJ, Alembic, etc.) in order to transfer it between content creation
packages.

Forge is hand-crafted by developers with years of experience in the VFX and
animation industry.

Many thanks to [@davreev](https://github.com/davreev) for the endless help and
patience.

[wiki]: https://man.sr.ht/~rycwo/forge/
[free]: https://www.fsf.org/about/what-is-free-software

## Overview

[![builds.sr.ht status](https://builds.sr.ht/~rycwo/forge.svg)](https://builds.sr.ht/~rycwo/forge?)

Foundation library for [Tau][tau] tools.
This repo is the foundation library for [Forge][forge] tools.

[forge]: https://sr.ht/~rycwo/forge/

## Objectives
### Objectives

- Lightweight
- GPU-accelerated


@@ 14,11 44,11 @@ Foundation library for [Tau][tau] tools.
- ISO C11
- Portability\*

\*POSIX compatible. No Microsoft Windows support.
\*POSIX compatible. Microsoft Windows support is a non-feature.

## Build

Tau projects build using [Meson][meson] and [Ninja][ninja].
Forge projects build using [Meson][meson] and [Ninja][ninja].

```sh
meson build  # meson setup --help for more options


@@ 26,11 56,48 @@ cd build
ninja
```

You may specify your own C compiler by setting `CC` as usual.

[meson]: https://mesonbuild.com/
[ninja]: https://ninja-build.org/

## Mailing list

Subscribe to release and security announcements at [forge-announce][]. You can
also track current and upcoming tasks through our public [kanban].

[forge-announce]: https://lists.sr.ht/~rycwo/forge-announce/
[kanban]: https://kanban.rycwo.xyz/public/board/fe9381b4a60a81b74489106faafeceb6574d19735f606c1f616b21fe35b8

## Contributing

### Submitting changes

Patches should be submitted to [forge-devel][].

[forge-devel]: https://lists.sr.ht/~rycwo/forge-devel/

### Formatting your commits

Work as you like locally, then use [`git rebase`][git-rebase]
([man][git-rebase-man]) to tidy-up your changes. Ensure each commit is
meaningful before submitting patches.

Here is a helpful checklist to mentally run through. Each of your commits should
be able to tick-off the following questions. Imagine each question uses the
format, _"Does the commit [...]?"_

- have a message following [this format][git-commit]
- only include changes relevant to this unit of work
  - make sense to be split into more granular commits
- leave the software in a working state

Drew DeVault wrote a [helpful guide/explanation][git-discipline] mirroring the
points made here.

[git-commit]: https://chris.beams.io/posts/git-commit/
[git-discipline]: https://drewdevault.com/2019/02/25/Using-git-with-discipline.html
[git-rebase-man]: https://git-scm.com/book/en/v2/Git-Branching-Rebasing
[git-rebase]: https://git-rebase.io/

## License

This project is licensed under [GNU General Public License v3.0 only](LICENSE)


@@ 46,15 113,3 @@ This project is licensed under [GNU General Public License v3.0 only](LICENSE)
  - [Freetype Project License](https://www.freetype.org/license.html)
- [Manrope](https://manropefont.com/)
  - [SIL Open Font License 1.1](https://scripts.sil.org/OFL)

## Contributing

Patches welcome! Please refer to the [Tau project hub][tau] for contribution
guidelines.

- [Issue tracker][todo]
- [Public kanban][kanban]

[kanban]: https://kanban.rycwo.xyz/public/board/fe9381b4a60a81b74489106faafeceb6574d19735f606c1f616b21fe35b8
[tau]: https://sr.ht/~rycwo/tau/
[todo]: https://todo.sr.ht/~rycwo/forge

M include/forge/stretchy_buffer.h => include/forge/stretchy_buffer.h +1 -1
@@ 198,7 198,7 @@
#define stb__sbgrow(a,n)      (*((void **)&(a)) = stb__sbgrowf((a), (n), sizeof(*(a))))

#include <stdlib.h>
#ifdef TAU_USE_JEMALLOC
#ifdef FORGE_USE_JEMALLOC
#include <jemalloc/jemalloc.h>
#endif


M meson.build => meson.build +2 -2
@@ 26,7 26,7 @@ jemalloc_dep = dependency(

if jemalloc_dep.found()
    deps += jemalloc_dep
    add_project_arguments('-DTAU_USE_JEMALLOC', language : 'c')
    add_project_arguments('-DFORGE_USE_JEMALLOC', language : 'c')
endif

includes = include_directories('include')


@@ 131,7 131,7 @@ pkgconfig.generate(
    name : lib.name(),
    version : meson.project_version(),
    filebase : meson.project_name(),
    description : 'Foundation library for Tau tools.',
    description : 'Foundation library for Forge tools.',
    url : 'https://git.sr.ht/~rycwo/forge/')

subdir('test')