Skip to content

Commit

Permalink
PR: Studio Config Generator (#59)
Browse files Browse the repository at this point in the history
* Improve "Config" vs "config" usage consistency.

Signed-off-by: Thomas Mansencal <[email protected]>

* Implement initial support for "Studio" config generator.

Signed-off-by: Thomas Mansencal <[email protected]>

* Implement support for straightforward update of the config mapping files.

Signed-off-by: Thomas Mansencal <[email protected]>

* Implement support for "BuiltinTransform" from "CG" and "Studio" config mapping files.

Signed-off-by: Thomas Mansencal <[email protected]>

* Varnish "CLF" transforms generation code.

- Ensure that all the "CLF" transforms are discovered and classified.
- Ensure that all the module can be imported from base namespace.
- Improve implementation consistency refactor access to common attributes.
- Ensure that relevant definitions have a return value.
- Improve documentation.
- Refactor tasks.
Signed-off-by: Thomas Mansencal <[email protected]>

* Use more internal "CLF" data to generate colorspace names.

Improve overall code and documentation consistency across the board.
Improve transform names consistency across the board.
Use factories to produce "CLF" transforms to benefit from logging.

Signed-off-by: Thomas Mansencal <[email protected]>

* Implement initial support for programmatic alias generation.

Signed-off-by: Thomas Mansencal <[email protected]>

* Update "pyproject.toml" file.

Signed-off-by: Thomas Mansencal <[email protected]>

* Update "README.rst" and docs.

Signed-off-by: Thomas Mansencal <[email protected]>

* Raise package version to 0.3.0.

Signed-off-by: Thomas Mansencal <[email protected]>
  • Loading branch information
KelSolaar authored Aug 8, 2022
1 parent f8954ee commit ebd5df1
Show file tree
Hide file tree
Showing 83 changed files with 2,848 additions and 1,046 deletions.
9 changes: 9 additions & 0 deletions .github/workflows/configuration-artifacts.yml
Original file line number Diff line number Diff line change
Expand Up @@ -84,3 +84,12 @@ jobs:
name: config-cg
path: |
build/config/aces/cg/
- name: Generation - Config - ACES Studio
run: |
poetry run invoke build-config-studio
shell: bash
- uses: actions/upload-artifact@v2
with:
name: config-studio
path: |
build/config/aces/studio/
71 changes: 52 additions & 19 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,19 @@
OpenColorIO Configuration for ACES
==================================

.. image:: https://via.placeholder.com/720x320.png?text=WARNING: This+repository+is+under+construction!
.. start-badges
|actions| |artefacts|

.. |actions| image:: https://github.com/AcademySoftwareFoundation/OpenColorIO-Config-ACES/actions/workflows/continuous-integration-quality-unit-tests.yml/badge.svg
:target: https://github.com/AcademySoftwareFoundation/OpenColorIO-Config-ACES/actions/workflows/continuous-integration-quality-unit-tests.yml
:alt: Continuous Integration - Quality & Unit Tests

.. |artefacts| image:: https://github.com/AcademySoftwareFoundation/OpenColorIO-Config-ACES/actions/workflows/configuration-artifacts.yml/badge.svg
:target: https://github.com/AcademySoftwareFoundation/OpenColorIO-Config-ACES/actions/workflows/configuration-artifacts.yml
:alt: Configuration Artifacts

.. end-badges
The `OpenColorIO Configuration for ACES <https://github.com/AcademySoftwareFoundation/OpenColorIO-Config-ACES/>`__
is an open-source `Python <https://www.python.org/>`__ package implementing
Expand Down Expand Up @@ -33,8 +45,7 @@ The following features are available:
- Discovery of *aces-dev* *CTL* transforms.
- Generation of the *CTL* transforms graph.

- Configurable generator producing the *OCIO* **CG** and **Studio**
configurations.
- Generators producing the *OCIO* **CG** and **Studio** configurations.
- Included *CLF* transforms along with generator and discovery support.

User Guide
Expand Down Expand Up @@ -194,22 +205,44 @@ Listing the tasks is done as follows::

invoke --list

Assuming the dependencies are satisfied, the task to build the **Reference**
configuration is::

invoke build-config-reference

Alternatively, with the docker container built::

invoke docker-run-build-config-reference

Likewise, for the **CG** configuration::

invoke build-config-cg

Or::

invoke docker-run-build-config-cg
Reference Config
****************

+-----------------------+--------------------------------------------+
| Task | Command |
+-----------------------+--------------------------------------------+
| Build | `invoke build-config-reference` |
+-----------------------+--------------------------------------------+
| Build (Docker) | `invoke docker-run-build-config-reference` |
+-----------------------+--------------------------------------------+
| Updating Mapping File | `invoke update-mapping-file-reference` |
+-----------------------+--------------------------------------------+

CG Config
*********

+-----------------------+-------------------------------------+
| Task | Command |
+-----------------------+-------------------------------------+
| Build | `invoke build-config-cg` |
+-----------------------+-------------------------------------+
| Build (Docker) | `invoke docker-run-build-config-cg` |
+-----------------------+-------------------------------------+
| Updating Mapping File | `invoke update-mapping-file-cg` |
+-----------------------+-------------------------------------+

Reference Config
****************

+-----------------------+-----------------------------------------+
| Task | Command |
+-----------------------+-----------------------------------------+
| Build | `invoke build-config-studio` |
+-----------------------+-----------------------------------------+
| Build (Docker) | `invoke docker-run-build-config-studio` |
+-----------------------+-----------------------------------------+
| Updating Mapping File | `invoke update-mapping-file-studio` |
+-----------------------+-----------------------------------------+

API Reference
-------------
Expand Down
Binary file removed docs/_static/Logo_Medium_001.png
Binary file not shown.
Binary file removed docs/_static/Logo_Small_001.png
Binary file not shown.
2 changes: 0 additions & 2 deletions docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,6 @@
},
],
}
html_logo = "_static/Logo_Small_001.png"
html_static_path = ["_static"]
htmlhelp_basename = f"{basename}Doc"

Expand All @@ -88,7 +87,6 @@
"manual",
),
]
latex_logo = "_static/Logo_Medium_001.png"

# -- Options for manual page output ---------------------------------------
man_pages = [
Expand Down
5 changes: 1 addition & 4 deletions docs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,6 @@
OpenColorIO Configuration for ACES
==================================

.. image:: https://via.placeholder.com/720x320.png?text=WARNING: This+repository+is+under+construction!

The `OpenColorIO Configuration for ACES <https://github.com/AcademySoftwareFoundation/OpenColorIO-Config-ACES/>`__
is an open-source `Python <https://www.python.org/>`__ package implementing
support for the generation of the *OCIO* configurations for the
Expand All @@ -29,8 +27,7 @@ The following features are available:
- Discovery of *aces-dev* *CTL* transforms.
- Generation of the *CTL* transforms graph.

- Configurable generator producing the *OCIO* **CG** and **Studio**
configurations.
- Generators producing the *OCIO* **CG** and **Studio** configurations.
- Included *CLF* transforms along with generator and discovery support.

User Guide
Expand Down
19 changes: 18 additions & 1 deletion docs/opencolorio_config_aces.clf.rst
Original file line number Diff line number Diff line change
Expand Up @@ -28,4 +28,21 @@ Common LUT Format Generation
.. autosummary::
:toctree: generated/

generate_clf
generate_clf_transform

**Ancillary Objects**

``opencolorio_config_aces.clf``

.. currentmodule:: opencolorio_config_aces.clf

.. autosummary::
:toctree: generated/

generate_clf_transforms_bmdfilm
generate_clf_transforms_davinci
generate_clf_transforms_itu
generate_clf_transforms_ocio
generate_clf_transforms_utility
generate_clf_transforms_panasonic
generate_clf_transforms_red
4 changes: 2 additions & 2 deletions docs/opencolorio_config_aces.config.rst
Original file line number Diff line number Diff line change
Expand Up @@ -37,8 +37,6 @@ Factories
named_transform_factory
produce_transform
transform_factory
transform_factory_clf_transform_to_group_transform
transform_factory_default
view_transform_factory

Reference Configuration
Expand Down Expand Up @@ -113,3 +111,5 @@ Reference Configuration

.. autosummary::
:toctree: generated/

generate_config_studio
4 changes: 3 additions & 1 deletion docs/opencolorio_config_aces.utilities.rst
Original file line number Diff line number Diff line change
Expand Up @@ -33,4 +33,6 @@ Common
matrix_3x3_to_4x4
multi_replace
regularise_version
validate_method
validate_method
google_sheet_title
slugify
54 changes: 38 additions & 16 deletions docs/usage.rst
Original file line number Diff line number Diff line change
Expand Up @@ -17,19 +17,41 @@ Listing the tasks is done as follows::

invoke --list

Assuming the dependencies are satisfied, the task to build the **Reference**
configuration is::

invoke build-config-reference

Alternatively, with the docker container built::

invoke docker-run-build-config-reference

Likewise, for the **CG** configuration::

invoke build-config-cg

Or::

invoke docker-run-build-config-cg
Reference Config
****************

+-----------------------+--------------------------------------------+
| Task | Command |
+-----------------------+--------------------------------------------+
| Build | `invoke build-config-reference` |
+-----------------------+--------------------------------------------+
| Build (Docker) | `invoke docker-run-build-config-reference` |
+-----------------------+--------------------------------------------+
| Updating Mapping File | `invoke update-mapping-file-reference` |
+-----------------------+--------------------------------------------+

CG Config
*********

+-----------------------+-------------------------------------+
| Task | Command |
+-----------------------+-------------------------------------+
| Build | `invoke build-config-cg` |
+-----------------------+-------------------------------------+
| Build (Docker) | `invoke docker-run-build-config-cg` |
+-----------------------+-------------------------------------+
| Updating Mapping File | `invoke update-mapping-file-cg` |
+-----------------------+-------------------------------------+

Reference Config
****************

+-----------------------+-----------------------------------------+
| Task | Command |
+-----------------------+-----------------------------------------+
| Build | `invoke build-config-studio` |
+-----------------------+-----------------------------------------+
| Build (Docker) | `invoke docker-run-build-config-studio` |
+-----------------------+-----------------------------------------+
| Updating Mapping File | `invoke update-mapping-file-studio` |
+-----------------------+-----------------------------------------+
14 changes: 5 additions & 9 deletions opencolorio_config_aces/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,6 @@
named_transform_factory,
produce_transform,
transform_factory,
transform_factory_clf_transform_to_group_transform,
transform_factory_default,
view_transform_factory,
)
from .config import (
Expand Down Expand Up @@ -59,15 +57,15 @@
ColorspaceDescriptionStyle,
generate_config_aces,
)
from .config import generate_config_cg
from .config import generate_config_cg, generate_config_studio
from .clf import (
discover_clf_transforms,
classify_clf_transforms,
unclassify_clf_transforms,
filter_clf_transforms,
print_clf_taxonomy,
)
from .clf import generate_clf
from .clf import generate_clf_transform

__author__ = "OpenColorIO Contributors"
__copyright__ = "Copyright Contributors to the OpenColorIO Project."
Expand All @@ -84,8 +82,6 @@
"named_transform_factory",
"produce_transform",
"transform_factory",
"transform_factory_clf_transform_to_group_transform",
"transform_factory_default",
"view_transform_factory",
]
__all__ += [
Expand Down Expand Up @@ -115,20 +111,20 @@
"ColorspaceDescriptionStyle",
"generate_config_aces",
]
__all__ += ["generate_config_cg"]
__all__ += ["generate_config_cg", "generate_config_studio"]
__all__ += [
"discover_clf_transforms",
"classify_clf_transforms",
"unclassify_clf_transforms",
"filter_clf_transforms",
"print_clf_taxonomy",
]
__all__ += ["generate_clf"]
__all__ += ["generate_clf_transform"]

__application_name__ = "OpenColorIO Configuration for ACES"

__major_version__ = "0"
__minor_version__ = "2"
__minor_version__ = "3"
__change_version__ = "0"
__version__ = ".".join(
(__major_version__, __minor_version__, __change_version__)
Expand Down
22 changes: 14 additions & 8 deletions opencolorio_config_aces/clf/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,13 @@
print_clf_taxonomy,
)
from .transforms import (
create_matrix,
create_conversion_matrix,
create_gamma,
generate_clf,
generate_clf_transform,
generate_clf_transforms_bmdfilm,
generate_clf_transforms_davinci,
generate_clf_transforms_itu,
generate_clf_transforms_ocio,
generate_clf_transforms_panasonic,
generate_clf_transforms_red,
)

__all__ = [
Expand All @@ -23,8 +26,11 @@
"print_clf_taxonomy",
]
__all__ += [
"create_matrix",
"create_conversion_matrix",
"create_gamma",
"generate_clf",
"generate_clf_transform",
"generate_clf_transforms_bmdfilm",
"generate_clf_transforms_davinci",
"generate_clf_transforms_itu",
"generate_clf_transforms_ocio",
"generate_clf_transforms_panasonic",
"generate_clf_transforms_red",
]
Loading

0 comments on commit ebd5df1

Please sign in to comment.