cutan¶
cutan: cut-out animation, as a genre package on the an core.
an is the core of structured animation (scene documents, the timing kernel,
renderers, audio, storage, verification). A genre adds what one kind of
animation needs and registers it with the core; cutan is the first genre to
leave an: rigged characters, faces and expressions, lip-sync visemes, swap
sets and views, cut-out styles and impacts (ADR 0001 in an’s
misc/docs/adr/, tracked by an#225 under the epic an#231).
Rigged characters (cutan.characters), faces (cutan.expression), impacts
(cutan.impacts), the cut-out compile passes (cutan.compile), lip-sync
providers (cutan.audio), the style lint (cutan.verify) and the genre object
(cutan.genre) lived inside an until the P8 move (an#225); an keeps
warning aliases at the old import paths. Install it with pip install "an[cutout]";
an finds it through the an.genres entry point.
The identifiers below are the genre’s persisted names (ADR 0001 decision 9): they are written into documents, stores and entry-point metadata, and none of them changes when code moves between distributions.
>>> GENRE_NAME
'cutout_animation'
>>> ENTRY_POINT_GROUP, ENTRY_POINT_NAME
('an.genres', 'cutout_animation')
>>> RENDERER_NAME, LIBRARY_NAME
('cutout', 'cutan')
Module Attributes
the |
|
The entry-point group |
|
the name |
|
Where the entry point points. |
|
The persisted renderer name of cut-out shots ( |
|
The package whose data root holds the genre's asset library and projects ( |
|
The lowest |
Functions
Refuse, with an upgrade hint, to load against an |
|
|
The style spec |
The names of the style specs that ship with |
- cutan.ENTRY_POINT_NAME: str = 'cutout_animation'¶
the name
anused to declare for the in-distribution genre, so the handover was by name.- Type:
The entry-point name this distribution declares (
pyproject.toml)
- cutan.GENRE_NAME: str = 'cutout_animation'¶
the
an.genresentry-point name and thenwgenre id.- Type:
The genre’s slug
- cutan.LIBRARY_NAME: str = 'cutan'¶
The package whose data root holds the genre’s asset library and projects (
~/.local/share/cutanby default;CUTAN_HOMEoverrides it).
- cutan.RENDERER_NAME: str = 'cutout'¶
The persisted renderer name of cut-out shots (
an.stageclaims it).
- cutan.REQUIRED_AN_API_LEVEL: int = 6¶
The lowest
an.genres.API_LEVELthiscutanruns against (“the lowestanit supports”, ADR 0001 decision 8, said without a version pin:an’s version is assigned by CI at merge). Level 2 is the move itself:Genre.services,ActionKind.lowering,EntityKind.swap_declarationandan.stage.rig. Level 3 is the public rig builder (an#338):an.stage.rig.build_rig_subtree,rig_origin,RigDocumentandomit_unset_rig_fields. Level 4 is the rest pose (an#339):register_rest_pose_migrationandrig_rest_problems. Level 5 is nested chains (an#340):build_rig_subtree(skip_slots=),slot_parent_chain,slot_node_paths,rig_affordances,RigError. Level 6:rest_pose_protection(an#407), whichvalidate_charactersays aloud.
- cutan.require_an()[source]¶
Refuse, with an upgrade hint, to load against an
anolder than thiscutanneeds.>>> require_an()- Return type:
Modules
The cut-out genre's lip-sync providers: letters, Rhubarb and word timings to mouth shapes. |
|
The cut-out genre's bench corpus: eight scenes that use characters, and their goldens. |
|
Carve: a photo or a video frame in, a matted, normalised, provenance-carrying cut-out part out (cutan#10). |
|
Character art system: Spine-shaped descriptor + SVG sidecars. |
|
The cut-out genre's compile passes, their lowering hooks and the visuals of its runtime. |
|
Doctest collection for |
|
Facial expression for the cutout face (an#98, epic #9 Wave 6). |
|
The cut-out animation genre, declared as one object. |
|
Synthetic impact clips with exact ground truth, for scoring sub-frame timing. |
|
The character analyser: legs, arms, views and mouth chart, derived from the rig. |
|
The cut-out genre's motion presets: moves that name a rig's parts or swap its views. |
|
Where a cutan project's files are read from: a disk folder or S3, by configuration. |
|
JavaScript the cut-out genre adds to the stage runtime ( |
|
The named cut-out style specs, shipped as package data (cutan#4). |
|
The cut-out style lint: measures a render against a named style spec. |