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
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
Forge is hand-crafted by developers with years of experience in the VFX and
Many thanks to [@davreev](https://github.com/davreev) for the endless help and
Foundation library for [Tau][tau] tools.
This repo is the foundation library for [Forge][forge] tools.
@@ 14,11 44,11 @@ Foundation library for [Tau][tau] tools.
- ISO C11
\*POSIX compatible. No Microsoft Windows support.
\*POSIX compatible. Microsoft Windows support is a non-feature.
Tau projects build using [Meson][meson] and [Ninja][ninja].
Forge projects build using [Meson][meson] and [Ninja][ninja].
meson build # meson setup --help for more options
@@ 26,11 56,48 @@ cd build
You may specify your own C compiler by setting `CC` as usual.
## Mailing list
Subscribe to release and security announcements at [forge-announce]. You can
also track current and upcoming tasks through our public [kanban].
### Submitting changes
Patches should be submitted to [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.
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)
- [SIL Open Font License 1.1](https://scripts.sil.org/OFL)
Patches welcome! Please refer to the [Tau project hub][tau] for contribution
- [Issue tracker][todo]
- [Public kanban][kanban]
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))))
M meson.build => meson.build +2 -2
@@ 26,7 26,7 @@ jemalloc_dep = dependency(
deps += jemalloc_dep
add_project_arguments('-DTAU_USE_JEMALLOC', language : 'c')
add_project_arguments('-DFORGE_USE_JEMALLOC', language : 'c')
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/')