Purpose
HashLips Art Engine is a tool used to generate multiple different instances of artwork based on provided layers. It uses the Canvas API and Node.js to create generative art and is often used to produce avatar-style collection works.
Main Capabilities
- Generate different combinations of works according to rarity weights in layer folders and file names (such as example element#70.png).
- Configure parameters such as layer order, output size, and generation quantity through src/config.js.
- Support multiple sets of layerConfigurations, each of which can have a different layer order, reuse layers, or introduce new layers.
- Can shuffle the saving order of layerConfigurations (shuffleLayerConfigurations).
- Can enable debug logs (debugLogs).
- Can set blend modes for layers (blend: MODE.colorBurn, etc.), opacity (opacity: 0.7), bypass DNA uniqueness checks (bypassDNA: true), and custom attribute display names (displayName).
- Can add extra key-value pairs to each metadata file (extraMetadata).
- Can update baseUri and description.
- Can generate preview collages, pixelated images, and GIFs (repeat, quality, and delay can be set).
- Provides an experimental rarity data printing feature.
How to Use
- Install Node.js (v10.18.0).
- If cloning the project, first run the installation command; you can also download the source code from the releases page to skip this step. Use yarn or node to run the corresponding commands in the project root directory.
- Create folders by layer under the layers directory and put the assets in them. File names must include a rarity weight. The default delimiter is #, which can be changed in rarityDelimiter in src/config.js.
- In src/config.js, update the layersOrder array of layerConfigurations, filling in the layer folder names in order from back layer to front layer.
- Set the output size (format size) and growEditionSizeTo (generation quantity) for each configuration set.
- Run the generation command. Images are output to build/images, JSON is output to build/json, and _metadata.json containing the entire set of metadata is generated.
- If you need to update baseUri and description, run the corresponding command.
- If you need preview collages, pixelated images, or GIFs, run the corresponding commands.
Applicable Scenarios
Suitable for creators who need to batch-generate large numbers of different combinations of artwork based on layers, such as avatar collections, collectible series, and so on.
Limitations
The materials do not provide information about fees, pricing, platform support scope, performance limits, or effect guarantees. Node.js (v10.18.0) must be installed before use. Some features (such as rarity data printing) are marked as experimental.