mirror of
https://github.com/vegu-ai/talemate.git
synced 2026-09-02 20:20:40 +02:00
87 lines
3.3 KiB
Markdown
87 lines
3.3 KiB
Markdown
|
|
# Packaging Nodes
|
||
|
|
|
||
|
|
Package node modules for reuse and installation into scenes — see [Package](../../core-concepts/package.md) for the packaging workflow.
|
||
|
|
|
||
|
|
<!-- glossary:generated - everything below this line is generated by `python -m talemate.game.engine.nodes.tools glossary --write` - do not edit -->
|
||
|
|
|
||
|
|
|
||
|
|
_4 nodes._
|
||
|
|
|
||
|
|
| Node | Registry path |
|
||
|
|
| --- | --- |
|
||
|
|
| [Dynamic Storyline Package](#dynamic-storyline-package) | `package/talemate/DynamicStoryline` |
|
||
|
|
| [Install Node Module](#install-node-module) | `util/packaging/InstallNodeModule` |
|
||
|
|
| [Package](#package) | `util/packaging/Package` |
|
||
|
|
| [Promote Config](#promote-config) | `util/packaging/PromoteConfig` |
|
||
|
|
|
||
|
|
## Dynamic Storyline Package
|
||
|
|
|
||
|
|
`package/talemate/DynamicStoryline`
|
||
|
|
|
||
|
|
Node module (base type `util/packaging/Package`) defined in `src/talemate/game/engine/nodes/modules/scene/dynamic-storyline-package.json`.
|
||
|
|
|
||
|
|
**Properties**
|
||
|
|
|
||
|
|
| Property | Type | Default | Description |
|
||
|
|
| --- | --- | --- | --- |
|
||
|
|
| `package_name` | `str` | `"Dynamic Storyline"` | The name of the node module |
|
||
|
|
| `author` | `str` | `"Talemate"` | The author of the node module |
|
||
|
|
| `description` | `str` | `"Generate a random story premise at the beginning of the scene."` | The description of the node module |
|
||
|
|
| `installable` | `bool` | `True` | Whether the node module is installable to the scene |
|
||
|
|
| `restart_scene_loop` | `bool` | `True` | Whether the scene loop should be restarted after the package is installed |
|
||
|
|
|
||
|
|
## Install Node Module
|
||
|
|
|
||
|
|
`util/packaging/InstallNodeModule`
|
||
|
|
|
||
|
|
Marks a node module for installation when placed inside a Package graph.
|
||
|
|
|
||
|
|
When the package is installed to a scene, each InstallNodeModule node causes
|
||
|
|
the referenced node module to be instantiated and added to the scene loop.
|
||
|
|
|
||
|
|
**Properties**
|
||
|
|
|
||
|
|
| Property | Type | Default | Description |
|
||
|
|
| --- | --- | --- | --- |
|
||
|
|
| `node_registry` | `str` | `unset` | The registry path of the node module to package |
|
||
|
|
|
||
|
|
## Package
|
||
|
|
|
||
|
|
`util/packaging/Package`
|
||
|
|
|
||
|
|
Graph that defines an installable package of node modules for easy scene
|
||
|
|
installation.
|
||
|
|
|
||
|
|
Place InstallNodeModule nodes inside it to mark node modules for
|
||
|
|
installation, and PromoteConfig nodes to expose module properties as
|
||
|
|
package configuration.
|
||
|
|
|
||
|
|
**Properties**
|
||
|
|
|
||
|
|
| Property | Type | Default | Description |
|
||
|
|
| --- | --- | --- | --- |
|
||
|
|
| `package_name` | `str` | `""` | The name of the node module |
|
||
|
|
| `author` | `str` | `""` | The author of the node module |
|
||
|
|
| `description` | `str` | `""` | The description of the node module |
|
||
|
|
| `installable` | `bool` | `True` | Whether the node module is installable to the scene |
|
||
|
|
| `restart_scene_loop` | `bool` | `False` | Whether the scene loop should be restarted after the package is installed |
|
||
|
|
|
||
|
|
## Promote Config
|
||
|
|
|
||
|
|
`util/packaging/PromoteConfig`
|
||
|
|
|
||
|
|
Promotes a single module property to be configurable through the scene once the package is installed.
|
||
|
|
|
||
|
|
Place inside a Package graph alongside the InstallNodeModule node whose
|
||
|
|
module property should be exposed.
|
||
|
|
|
||
|
|
**Properties**
|
||
|
|
|
||
|
|
| Property | Type | Default | Description |
|
||
|
|
| --- | --- | --- | --- |
|
||
|
|
| `node_registry` | `str` | `unset` | The registry path of the node module to package |
|
||
|
|
| `property_name` | `str` | `unset` | Property Name |
|
||
|
|
| `exposed_property_name` | `str` | `unset` | Exposed Property Name |
|
||
|
|
| `required` | `bool` | `False` | Whether the property is required |
|
||
|
|
| `label` | `str` | `""` | Label |
|