Giter Club home page Giter Club logo

hashlips_art_engine's Introduction

Welcome to HashLips ๐Ÿ‘„

All the code in these repos was created and explained by HashLips on the main YouTube channel.

To find out more please visit:

๐Ÿ“บ YouTube

๐Ÿ‘„ Discord

๐Ÿ’ฌ Telegram

๐Ÿฆ Twitter

โ„น๏ธ Website

HashLips Art Engine ๐Ÿ”ฅ

Create generative art by using the canvas api and node js. Before you use the generation engine, make sure you have node.js(v10.18.0) installed.

Installation ๐Ÿ› ๏ธ

If you are cloning the project then run this first, otherwise you can download the source code on the release page and skip this step.

git clone https://github.com/HashLips/hashlips_art_engine.git

Go to the root of your folder and run this command if you have yarn installed.

yarn install

Alternatively you can run this command if you have node installed.

npm install

Usage โ„น๏ธ

Create your different layers as folders in the 'layers' directory, and add all the layer assets in these directories. You can name the assets anything as long as it has a rarity weight attached in the file name like so: example element#70.png. You can optionally change the delimiter # to anything you would like to use in the variable rarityDelimiter in the src/config.js file.

The 'weight' you assign to an individual item, after the '#', is NOT a percentage, as explained in the video tutorial linked elsewhere.

Let's say you would like to have 0.15 % chance of occurrence of example trait blueeyes and 99.85 % of occurrence of browneyes. If the program would have supported fractions, you would want to name the files:

blueeyes#0.15.png browneyes#99.85.png

Because the program adds all the weights together and calculates the odds by dividing the weight by the total sum we however can achieve this by naming the files:

blueeyes#15.png browneyes#9985.png

The program first adds all the weights (15 + 9985 = 10000) and calculates the odds of occurrence by dividing the individual weight by the total sum (15 / 10000). Because we multiplied the numerator and denominator by the same factor, the ratio remains the same, in other words, ( 0.15 / 99.85 ) = (15 / 9985)

TLDR; if you want to use weights smaller than 1, multiply all weights by 10^(number of decimals of the smallest weight)

- edenheijer

Once you have all your layers, go into src/config.js and update the layerConfigurations objects layersOrder array to be your layer folders name in order of the back layer to the front layer.

Example: If you were creating a portrait design, you might have a background, then a head, a mouth, eyes, eyewear, and then headwear, so your layersOrder would look something like this:

const layerConfigurations = [
  {
    growEditionSizeTo: 100,
    layersOrder: [
      { name: "Head" },
      { name: "Mouth" },
      { name: "Eyes" },
      { name: "Eyeswear" },
      { name: "Headwear" },
    ],
  },
];

The name of each layer object represents the name of the folder (in /layers/) that the images reside in.

Optionally you can now add multiple different layerConfigurations to your collection. Each configuration can be unique and have different layer orders, use the same layers or introduce new ones. This gives the artist flexibility when it comes to fine tuning their collections to their needs.

Example: If you were creating a portrait design, you might have a background, then a head, a mouth, eyes, eyewear, and then headwear and you want to create a new race or just simple re-order the layers or even introduce new layers, then you're layerConfigurations and layersOrder would look something like this:

const layerConfigurations = [
  {
    // Creates up to 50 artworks
    growEditionSizeTo: 50,
    startEditionFrom: 50,
    layersOrder: [
      { name: "Background" },
      { name: "Head" },
      { name: "Mouth" },
      { name: "Eyes" },
      { name: "Eyeswear" },
      { name: "Headwear" },
    ],
  },
  {
    // Creates an additional 100 artworks
    growEditionSizeTo: 150,
    layersOrder: [
      { name: "Background" },
      { name: "Head" },
      { name: "Eyes" },
      { name: "Mouth" },
      { name: "Eyeswear" },
      { name: "Headwear" },
      { name: "AlienHeadwear" },
    ],
  },
];

Update your format size, ie the outputted image size, and the growEditionSizeTo on each layerConfigurations object, which is the amount of variation outputted.

You can set resolution (ppi) in the format object (resolution: 96,).

If you want your edition numbers to be hex and/or padded, you can set hexEdition: true, and padEdition: 64 respectively.

You can start the count from any number with startEditionFrom. This won't work with sol, as it has to start from 0.

You can mix up the layerConfigurations order on how the images are saved by setting the variable shuffleLayerConfigurations in the config.js file to true. It is false by default and will save all images in numerical order.

If you want to have logs to debug and see what is happening when you generate images you can set the variable debugLogs in the config.js file to true. It is false by default, so you will only see general logs.

Options

If you want to play around with different blending modes, you can add a blend: MODE.colorBurn field to the layersOrder options object.

If you need a layers to have a different opacity then you can add the opacity: 0.7 field to the layersOrder options object as well.

If you want to have a layer ignored in the DNA uniqueness check, you can set bypassDNA: true in the options object. This has the effect of making sure the rest of the traits are unique while not considering the Background Layers as traits, for example. The layers are included in the final image.

To use a different metadata attribute name you can add the displayName: "Awesome Eye Color" to the options object. All options are optional and can be addes on the same layer if you want to.

If you want to control where a layer is placed within the image, you can add a posX: 123, posY: 321, width: 456 and/or height: 654 to the layersOrder options object (all values are in pixels).

Here is an example on how you can play around with both filter fields:

const layerConfigurations = [
  {
    growEditionSizeTo: 5,
    startEditionFrom: 5,
    layersOrder: [
      { name: "Background" , {
        options: {
          bypassDNA: false;
        }
      }},
      { name: "Eyeball" },
      {
        name: "Eye color",
        options: {
          blend: MODE.destinationIn,
          opacity: 0.2,
          displayName: "Awesome Eye Color",
        },
      },
      {
        name: "Iris",
        options: {
           posX: 96,
           posY: 96,
           width: 384,
           height: 384,
        },
      },
      { name: "Shine" },
      { name: "Bottom lid", options: { blend: MODE.overlay, opacity: 0.7 } },
      { name: "Top lid" },
    ],
  },
];

Here is a list of the different blending modes that you can optionally use.

const MODE = {
  sourceOver: "source-over",
  sourceIn: "source-in",
  sourceOut: "source-out",
  sourceAtop: "source-out",
  destinationOver: "destination-over",
  destinationIn: "destination-in",
  destinationOut: "destination-out",
  destinationAtop: "destination-atop",
  lighter: "lighter",
  copy: "copy",
  xor: "xor",
  multiply: "multiply",
  screen: "screen",
  overlay: "overlay",
  darken: "darken",
  lighten: "lighten",
  colorDodge: "color-dodge",
  colorBurn: "color-burn",
  hardLight: "hard-light",
  softLight: "soft-light",
  difference: "difference",
  exclusion: "exclusion",
  hue: "hue",
  saturation: "saturation",
  color: "color",
  luminosity: "luminosity",
};

When you are ready, run the following command and your outputted art will be in the build/images directory and the json in the build/json directory:

npm run build

or

node index.js

The program will output all the images in the build/images directory along with the metadata files in the build/json directory. Each collection will have a _metadata.json file that consists of all the metadata in the collection inside the build/json directory. The build/json folder also will contain all the single json files that represent each image file. The single json file of a image will look something like this:

{
  "dna": "d956cdf4e460508b5ff90c21974124f68d6edc34",
  "name": "#1",
  "description": "This is the description of your NFT project",
  "image": "https://hashlips/nft/1.png",
  "edition": 1,
  "date": 1731990799975,
  "attributes": [
    { "trait_type": "Background", "value": "Black" },
    { "trait_type": "Eyeball", "value": "Red" },
    { "trait_type": "Eye color", "value": "Yellow" },
    { "trait_type": "Iris", "value": "Small" },
    { "trait_type": "Shine", "value": "Shapes" },
    { "trait_type": "Bottom lid", "value": "Low" },
    { "trait_type": "Top lid", "value": "Middle" }
  ],
  "compiler": "HashLips Art Engine"
}

You can also add extra metadata to each metadata file by adding your extra items, (key: value) pairs to the extraMetadata object variable in the config.js file.

const extraMetadata = {
  creator: "Daniel Eugene Botha",
};

If you don't need extra metadata, simply leave the object empty. It is empty by default.

const extraMetadata = {};

That's it, you're done.

Utils

Updating baseUri for IPFS and description

You might possibly want to update the baseUri and description after you have ran your collection. To update the baseUri and description simply run:

npm run update_info

Generate a preview image

Create a preview image collage of your collection, run:

npm run preview

Generate pixelated images from collection

In order to convert images into pixelated images you would need a list of images that you want to convert. So run the generator first.

Then simply run this command:

npm run pixelate

All your images will be outputted in the /build/pixel_images directory. If you want to change the ratio of the pixelation then you can update the ratio property on the pixelFormat object in the src/config.js file. The lower the number on the left, the more pixelated the image will be.

const pixelFormat = {
  ratio: 5 / 128,
};

Generate GIF images from collection

In order to export gifs based on the layers created, you just need to set the export on the gif object in the src/config.js file to true. You can also play around with the repeat, quality and the delay of the exported gif.

Setting the repeat: -1 will produce a one time render and repeat: 0 will loop forever.

const gif = {
  export: true,
  repeat: 0,
  quality: 100,
  delay: 500,
};

Printing rarity data (Experimental feature)

To see the percentages of each attribute across your collection, run:

npm run rarity

The output will look something like this:

Trait type: Top lid
{
  trait: 'High',
  chance: '30',
  occurrence: '3 in 20 editions (15.00 %)'
}
{
  trait: 'Low',
  chance: '20',
  occurrence: '3 in 20 editions (15.00 %)'
}
{
  trait: 'Middle',
  chance: '50',
  occurrence: '14 in 20 editions (70.00 %)'
}

Hope you create some awesome artworks with this code ๐Ÿ‘„

hashlips_art_engine's People

Contributors

benhalverson avatar bolshoytoster avatar chrisninetyone avatar edenheijer avatar hashlips avatar lukasgibb avatar markh182 avatar mexitek avatar nftchef avatar solanajax avatar stellarstoic avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

hashlips_art_engine's Issues

npm run rarity

Checklist

Description

I'm trying to run the command npm run rarity but it doesn't work. I don't get an error in return but my PC becomes so slow and there is no output in the terminal.

What could cause that issue?

Steps to reproduce

No response

Expected result

No response

Actual result

No response

Environment

No response

showing attribute repeatedly in rarity without values

Checklist

Description

when generate rarity it shows attribute over and over without values. Eg. if have 5 layers, rarity showing with generated values for 1 st layer and other 4 layers without generated values. it happens to each layer and showing rarity 25 times.

Screenshot (204)

this is my layer configuration.

Screenshot (205)

it shows unnecessary attributes for all traits, after each layer, like highlighted in above image.

if have 5 layers and 5 traits for each layer. (Total 25 layers), rarity show 25 times for each trait types. (5 with values and 20 without values for one trait type, total have 125. unnecessary 100 and 25 with values)

Steps to reproduce

No response

Expected result

No response

Actual result

No response

Environment

OS Version (uname -a on unix, systeminfo on windows):
Node.js version (node -v):

Unable to create _metadata

Summary

Unable to create _metadata
Can you combine those 1,2,3,... small json files into one _metadata.
or run the program just to create _metadata.
Because I made 200,000 more and it looks like the JSON.stringify serialization function seems to have a limit, so could you add a feature to combine those 1,2,3,... files into a file like _metadata.

Until now I haven't been able to solve the problem even using the @bolshoytoster fork.
And can you add a program for the _metadata file to be converted into an excel file like .csv or .xls.

Thank you @bolshoytoster

Basic example

RangeError: Invalid string length
at JSON.stringify ()
at startCreating (D:\hashlips_art_engine-main\src\main.js:552:22)
at D:\hashlips_art_engine-main\index.js:8:3
at Object. (D:\hashlips_art_engine-main\index.js:9:3)
at Module._compile (node:internal/modules/cjs/loader:1155:14)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1209:10)
at Module.load (node:internal/modules/cjs/loader:1033:32)
at Function.Module._load (node:internal/modules/cjs/loader:868:12)
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)
at node:internal/main/run_main_module:22:47

Motivation

In order to be able to create more artwork and overcome the limitations that JSON.stringify has in creating _metadata.

And for excel to make it easier to collect data and edit _metadata and be able to convert it back into a .json file.

Error: out of memory

Checklist

Description

Have tried running node index.js several times but I keep getting the same error.

An entire folder of assets is not included in the final image mix.

Steps to reproduce

Replace images run node.js

Expected result

Several of your images are not included in the final result

Actual result

Images without some layers

Environment

Winddows

Tried to run "npm run build" to continue my collection however i have a reading name error

Checklist

Description

node index.js

/Users/riawalid/Documents/hashlips_art_engine-main(updated)/src/main.js:169
if (layerObj.name in layerConfigs) {
^

TypeError: Cannot read properties of undefined (reading 'name')
at layersSetup (/Users/riawalid/Documents/hashlips_art_engine-main(updated)/src/main.js:169:18)
at startCreating (/Users/riawalid/Documents/hashlips_art_engine-main(updated)/src/main.js:443:20)
at /Users/riawalid/Documents/hashlips_art_engine-main(updated)/index.js:8:3
at Object. (/Users/riawalid/Documents/hashlips_art_engine-main(updated)/index.js:9:3)
at Module._compile (node:internal/modules/cjs/loader:1126:14)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1180:10)
at Module.load (node:internal/modules/cjs/loader:1004:32)
at Function.Module._load (node:internal/modules/cjs/loader:839:12)
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)
at node:internal/main/run_main_module:17:47
riawalid@RiaWalids-MacBook-Air hashlips_art_engine-main(updated) %

Steps to reproduce

No response

Expected result

No response

Actual result

No response

Environment

OS Version (uname -a on unix, systeminfo on windows):
Node.js version (node -v):

build/json doesn't exist

Checklist

Description

When runing
node utils/update_info.js
outputs
build/json doesn't exist

Steps to reproduce

No response

Expected result

No response

Actual result

No response

Environment

OS Version (uname -a on unix, systeminfo on windows):windows 11
Node.js version (node -v):14.19.3

take to long to create rarity

Checklist

Description

if have many conditions (multiple different layerConfigurations) , it take too many time to create rarity, in my layer configuration have 143 configurations. and i'm waiting from 6 hours. but still not create rarity or not showing any error.

Steps to reproduce

No response

Expected result

No response

Actual result

No response

Environment

OS Version (uname -a on unix, systeminfo on windows):
Node.js version (node -v):

Overwritting whole collection's mwtadata.jspn

Checklist

Description

I'm creating a 10k image NFT collection which needs to be generated 1000 images per generation.(10 time generations are needed for the collection).

The issue here is each time the generations, metadata for each nft is generated properly but [_metadata.json](containing whole collection's metadata) is overwritten by latest generations metadata.

Is there any way for adding up _metadata.json each generations?

Steps to reproduce

No response

Expected result

No response

Actual result

No response

Environment

OS Version (uname -a on unix, systeminfo on windows):Darwin MacBook-Pro.local 21.4.0 Darwin Kernel Version 21.4.0: Fri Mar 18 00:46:32 PDT 2022; root:xnu-8020.101.4~15/RELEASE_ARM64_T6000 arm64
Node.js version (node -v):v18.0.0

I can't shuffle my generating images.

Checklist

Description

No response

Steps to reproduce

I try to shuffle my collection when I create and I change this code const shuffleLayerConfigurations = true; I change false to true but nothing changes. Is there another way to do it?

Expected result

No response

Actual result

No response

Environment

OS Version (uname -a on unix, systeminfo on windows):
Node.js version (node -v):

layer name can not contain DNA_DELIMITER (-),

Checklist

Description

Hello,

Is there any way, i can do this with your Repo? "-" in the Name with a % Chance?

layer name can not contain DNA_DELIMITER (-), please fix: T-200 Ugly.png

thank you

Steps to reproduce

No response

Expected result

No response

Actual result

No response

Environment

OS Version (uname -a on unix, systeminfo on windows):
Node.js version (node -v):

Rarity not working

Checklist

Description

i use this for generate 10k collection as 4 phases (2500x4).

but cannot see rarity. showing up below error.

Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Blue to Yellow HashLips#88.png': undefined/Blue to Yellow HashLips#88.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Fade to Mint HashLips#88.png': undefined/Fade to Mint HashLips#88.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Fade to Orange HashLips#36.png': undefined/Fade to Orange HashLips#36.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Light Blue HashLips#113.png': undefined/Light Blue HashLips#113.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Light Green HashLips#100.png': undefined/Light Green HashLips#100.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Light Grey HashLips#100.png': undefined/Light Grey HashLips#100.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Light Teal HashLips#113.png': undefined/Light Teal HashLips#113.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Light Yellow HashLips#100.png': undefined/Light Yellow HashLips#100.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Mixed Pastels HashLips#88.png': undefined/Mixed Pastels HashLips#88.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Pink to Mint HashLips#63.jpg': undefined/Pink to Mint HashLips#63.jpg
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Purple to Pink HashLips#63.png': undefined/Purple to Pink HashLips#63.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Rainbow of Life HashLips#88.png': undefined/Rainbow of Life HashLips#88.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Reflective Blue HashLips#100.jpg': undefined/Reflective Blue HashLips#100.jpg
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Sunshine HashLips#88.png': undefined/Sunshine HashLips#88.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Almond HashLips#188.png': undefined/Almond HashLips#188.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Chestnut HashLips#125.png': undefined/Chestnut HashLips#125.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Espresso HashLips#188.png': undefined/Espresso HashLips#188.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Honey HashLips#250.png': undefined/Honey HashLips#250.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Ivory HashLips#500.png': undefined/Ivory HashLips#500.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Black HashLips#250.png': undefined/Black HashLips#250.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Charcoal HashLips#250.png': undefined/Charcoal HashLips#250.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Light Blue HashLips#250.png': undefined/Light Blue HashLips#250.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Light Gray HashLips#250.png': undefined/Light Gray HashLips#250.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Red HashLips#250.png': undefined/Red HashLips#250.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Blue Light & Blue HashLips#250.png': undefined/Blue Light & Blue HashLips#250.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Green & Brown HashLips#250.png': undefined/Green & Brown HashLips#250.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Light Blue & Blue HashLips#250.png': undefined/Light Blue & Blue HashLips#250.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Purple & White HashLips#250.png': undefined/Purple & White HashLips#250.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/White & Blue HashLips#250.png': undefined/White & Blue HashLips#250.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Big Black HashLips#200.png': undefined/Big Black HashLips#200.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Big Blue HashLips#200.png': undefined/Big Blue HashLips#200.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Big Brown HashLips#225.png': undefined/Big Brown HashLips#225.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Big Gray HashLips#200.png': undefined/Big Gray HashLips#200.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Big Green HashLips#200.png': undefined/Big Green HashLips#200.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Big Hazel HashLips#225.png': undefined/Big Hazel HashLips#225.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Aviator Shades HashLips#188.png': undefined/Aviator Shades HashLips#188.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Blue Shades HashLips#188.png': undefined/Blue Shades HashLips#188.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Metal Rimmed Shades HashLips#125.png': undefined/Metal Rimmed Shades HashLips#125.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Purple Shades HashLips#188.png': undefined/Purple Shades HashLips#188.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Round Potters Shades HashLips#125.png': undefined/Round Potters Shades HashLips#125.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Wayfarer Black HashLips#125.png': undefined/Wayfarer Black HashLips#125.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Wayfarer Blue HashLips#125.png': undefined/Wayfarer Blue HashLips#125.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Yellow Shades HashLips#125.png': undefined/Yellow Shades HashLips#125.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Black Hairstyle 10 #15.png': undefined/Black Hairstyle 10 #15.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Black Hairstyle 6 #15.png': undefined/Black Hairstyle 6 #15.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Black Hairstyle 7 #15.png': undefined/Black Hairstyle 7 #15.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Black Hairstyle 8 #15.png': undefined/Black Hairstyle 8 #15.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Black Hairstyle 9 #18.png': undefined/Black Hairstyle 9 #18.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Blond Hairstyle 6 #18.png': undefined/Blond Hairstyle 6 #18.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Blond Hairstyle 7 #15.png': undefined/Blond Hairstyle 7 #15.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Blond Hairstyle 8 #18.png': undefined/Blond Hairstyle 8 #18.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Blond Hairstyle 9 #15.png': undefined/Blond Hairstyle 9 #15.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Brown Hairstyle 5 #15.png': undefined/Brown Hairstyle 5 #15.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Brown Hairstyle 6 #18.png': undefined/Brown Hairstyle 6 #18.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Brown Hairstyle 7 #18.png': undefined/Brown Hairstyle 7 #18.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Brown Hairstyle 8 #18.png': undefined/Brown Hairstyle 8 #18.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Brown Hairstyle Hairstyle 9 #15.png': undefined/Brown Hairstyle Hairstyle 9 #15.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Red Hairstyle 2 #13.png': undefined/Red Hairstyle 2 #13.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Red Hairstyle 3 #13.png': undefined/Red Hairstyle 3 #13.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Alpha Generation #13.png': undefined/Alpha Generation #13.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Black Hairstyle 7 HashLips#60.png': undefined/Black Hairstyle 7 HashLips#60.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Black Hairstyle 8 HashLips#60.png': undefined/Black Hairstyle 8 HashLips#60.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Black Hairstyle 9 HashLips#70.png': undefined/Black Hairstyle 9 HashLips#70.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Blond Hairstyle 6 HashLips#70.png': undefined/Blond Hairstyle 6 HashLips#70.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Blond Hairstyle 7 HashLips#60.png': undefined/Blond Hairstyle 7 HashLips#60.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Blond Hairstyle 9 HashLips#60.png': undefined/Blond Hairstyle 9 HashLips#60.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Brown Hairstyle 5 HashLips#60.png': undefined/Brown Hairstyle 5 HashLips#60.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Brown Hairstyle 6 HashLips#70.png': undefined/Brown Hairstyle 6 HashLips#70.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Brown Hairstyle 7 HashLips#70.png': undefined/Brown Hairstyle 7 HashLips#70.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Baseball HashLips#150.png': undefined/Baseball HashLips#150.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Beanie Skul HashLips#150.png': undefined/Beanie Skul HashLips#150.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Beret HashLips#82.png': undefined/Beret HashLips#82.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Newsboy HashLips#52.png': undefined/Newsboy HashLips#52.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Pork Pie HashLips#27.png': undefined/Pork Pie HashLips#27.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Brown Hairstyle 8 HashLips#70.png': undefined/Brown Hairstyle 8 HashLips#70.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Brown Hairstyle 9 HashLips#60.png': undefined/Brown Hairstyle 9 HashLips#60.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Red Hairstyle 2 HashLips#50.png': undefined/Red Hairstyle 2 HashLips#50.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Red Hairstyle 3 HashLips#50.png': undefined/Red Hairstyle 3 HashLips#50.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Bucket HashLips#100.png': undefined/Bucket HashLips#100.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Cowboy HashLips#125.png': undefined/Cowboy HashLips#125.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Fedora HashLips#125.png': undefined/Fedora HashLips#125.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Black Hairstyle 6 HashLips#60.png': undefined/Black Hairstyle 6 HashLips#60.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Blond Hairstyle 8 HashLips#70.png': undefined/Blond Hairstyle 8 HashLips#70.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Beret HashLips#43.png': undefined/Beret HashLips#43.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Newsboy HashLips#43.png': undefined/Newsboy HashLips#43.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Pork Pie HashLips#43.png': undefined/Pork Pie HashLips#43.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Black Hairstyle 10 HashLips#60.png': undefined/Black Hairstyle 10 HashLips#60.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Newsboy HashLips#30.png': undefined/Newsboy HashLips#30.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Pork Pie HashLips#30.png': undefined/Pork Pie HashLips#30.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Almond HashLips#56.png': undefined/Almond HashLips#56.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Chestnut HashLips#38.png': undefined/Chestnut HashLips#38.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Espresso HashLips#56.png': undefined/Espresso HashLips#56.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Honey HashLips#75.png': undefined/Honey HashLips#75.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Ivory HashLips#150.png': undefined/Ivory HashLips#150.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Black HashLips#56.png': undefined/Black HashLips#56.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Light Blue HashLips#60.png': undefined/Light Blue HashLips#60.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Light Burgundy HashLips#56.png': undefined/Light Burgundy HashLips#56.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Light Green HashLips#68.png': undefined/Light Green HashLips#68.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Pink HashLips#68.png': undefined/Pink HashLips#68.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Purple HashLips#68.png': undefined/Purple HashLips#68.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Blue & White HashLips#68.png': undefined/Blue & White HashLips#68.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Red & White HashLips#56.png': undefined/Red & White HashLips#56.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Red & yellow HashLips#68.png': undefined/Red & yellow HashLips#68.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/White & Blue 60.png': undefined/White & Blue 60.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Yellow & Brown HashLips#56.png': undefined/Yellow & Brown HashLips#56.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Oval Black HashLips#60.png': undefined/Oval Black HashLips#60.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Oval Blue HashLips#68.png': undefined/Oval Blue HashLips#68.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Oval Brown#60.png': undefined/Oval Brown#60.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Oval Green HashLips#68.png': undefined/Oval Green HashLips#68.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Oval Grey HashLips#60.png': undefined/Oval Grey HashLips#60.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Oval Hazel HashLips#60.png': undefined/Oval Hazel HashLips#60.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Aviator Shades HashLips#56.png': undefined/Aviator Shades HashLips#56.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Blue Shades HashLips#56.png': undefined/Blue Shades HashLips#56.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Metal Rimmed HashLips#38.png': undefined/Metal Rimmed HashLips#38.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Purple Shades HashLips#56.png': undefined/Purple Shades HashLips#56.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Round Potters HashLips#38.png': undefined/Round Potters HashLips#38.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Wayfarer Black HashLips#38.png': undefined/Wayfarer Black HashLips#38.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Wayfarer Blue HashLips#38.png': undefined/Wayfarer Blue HashLips#38.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Yellow Shades HashLips#38.png': undefined/Yellow Shades HashLips#38.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Ash Silver Hairstyle 1 HashLips#56.png': undefined/Ash Silver Hairstyle 1 HashLips#56.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Black Hairstyle 1 HashLips#60.png': undefined/Black Hairstyle 1 HashLips#60.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Brown Hairstyle 1 HashLips#68.png': undefined/Brown Hairstyle 1 HashLips#68.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Burgundy Hairstyle 1 HashLips#68.png': undefined/Burgundy Hairstyle 1 HashLips#68.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Red Hairstyle 1 HashLips#56.png': undefined/Red Hairstyle 1 HashLips#56.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Baseball HashLips#58.png': undefined/Baseball HashLips#58.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Beanie Skull HashLips#69.png': undefined/Beanie Skull HashLips#69.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Beret HashLips#58.png': undefined/Beret HashLips#58.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Newsboy HashLips#69.png': undefined/Newsboy HashLips#69.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Pork Pie HashLips#46.png': undefined/Pork Pie HashLips#46.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Almond HashLips#131.png': undefined/Almond HashLips#131.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Chestnut HashLips#88.png': undefined/Chestnut HashLips#88.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Espresso HashLips#132.png': undefined/Espresso HashLips#132.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Honey HashLips#175.png': undefined/Honey HashLips#175.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Ivory HashLips#350.png': undefined/Ivory HashLips#350.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Black HashLips#149.png': undefined/Black HashLips#149.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Blue HashLips#193.png': undefined/Blue HashLips#193.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Green HashLips#193.png': undefined/Green HashLips#193.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Purple HashLips#149.png': undefined/Purple HashLips#149.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Yellow HashLips#193.png': undefined/Yellow HashLips#193.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Pink & Teal HashLips#175.png': undefined/Pink & Teal HashLips#175.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Red & Black HashLips#219.png': undefined/Red & Black HashLips#219.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Teal & Orange HashLips#131.png': undefined/Teal & Orange HashLips#131.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/White & Blue HashLips#175.png': undefined/White & Blue HashLips#175.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/White & Brown HashLips#175.png': undefined/White & Brown HashLips#175.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Almond Black HashLips#140.png': undefined/Almond Black HashLips#140.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Almond Blue HashLips#140.png': undefined/Almond Blue HashLips#140.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Almond Brown HashLips#158.png': undefined/Almond Brown HashLips#158.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Almond Green HashLips#140.png': undefined/Almond Green HashLips#140.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Almond Grey HashLips#140.png': undefined/Almond Grey HashLips#140.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Almond Hazel HashLips#156.png': undefined/Almond Hazel HashLips#156.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Aviator Shades HashLips#131.png': undefined/Aviator Shades HashLips#131.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Blue Shades HashLips#131.png': undefined/Blue Shades HashLips#131.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Metal Rimmed HashLips#88.png': undefined/Metal Rimmed HashLips#88.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Purple Shades HashLips#131.png': undefined/Purple Shades HashLips#131.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Round Potters HashLips#88.png': undefined/Round Potters HashLips#88.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Wayfarer Black HashLips#88.png': undefined/Wayfarer Black HashLips#88.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Wayfarer Blue HashLips#88.png': undefined/Wayfarer Blue HashLips#88.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Yellow Shades HashLips#88.png': undefined/Yellow Shades HashLips#88.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Black Hairstyle 2 #12.png': undefined/Black Hairstyle 2 #12.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Black Hairstyle 3 #12.png': undefined/Black Hairstyle 3 #12.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Black Hairstyle 4 HashLips#61.png': undefined/Black Hairstyle 4 HashLips#61.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Black Hairstyle 5 HashLips#61.png': undefined/Black Hairstyle 5 HashLips#61.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Blond Hairstyle 2 #12.png': undefined/Blond Hairstyle 2 #12.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Blond Hairstyle 3 #14.png': undefined/Blond Hairstyle 3 #14.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Blond Hairstyle 4 #12.png': undefined/Blond Hairstyle 4 #12.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Blond Hairstyle 5 HashLips#61.png': undefined/Blond Hairstyle 5 HashLips#61.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Brown Hairstyle 2 #14.png': undefined/Brown Hairstyle 2 #14.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Brown Hairstyle 3 #14.png': undefined/Brown Hairstyle 3 #14.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Brown Hairstyle 4 HashLips#61.png': undefined/Brown Hairstyle 4 HashLips#61.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Red Hairstyle 4 HashLips#61.png': undefined/Red Hairstyle 4 HashLips#61.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Red Hairstyle 5 HashLips#35.png': undefined/Red Hairstyle 5 HashLips#35.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Red Hairstyle 6 #7.png': undefined/Red Hairstyle 6 #7.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Red Hairstyle 7 #7.png': undefined/Red Hairstyle 7 #7.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Red Hairstyle 8 HashLips#35.png': undefined/Red Hairstyle 8 HashLips#35.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Black Hairstyle 2 HashLips#77.png': undefined/Black Hairstyle 2 HashLips#77.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Blond Hairstyle 3 HashLips#87.png': undefined/Blond Hairstyle 3 HashLips#87.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Blond Hairstyle 4 HashLips#49.png': undefined/Blond Hairstyle 4 HashLips#49.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Brown Hairstyle 2 HashLips#56.png': undefined/Brown Hairstyle 2 HashLips#56.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Red Hairstyle 5 HashLips#28.png': undefined/Red Hairstyle 5 HashLips#28.png
tyle 3 HashLips#87.png': undefined/Brown Hairstyle 3 HashLips#87.png le 7 HashLips#28.png': undefined/Red Hairstyle 7 HashLips#28.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Red Hairsty8.png': undefined/Newsboy HashLips#158.pngle 6 HashLips#43.png': undefined/Red Hairstyle 6 HashLips#43.png 08.png': undefined/Pork Pie HashLips#108.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Baseball #1tyle 3 HashLips#76.png': undefined/Black Hairstyle 3 HashLips#76.png34.png': undefined/Baseball HashLips#134.png tyle 2 HashLips#76.png': undefined/Blond Hairstyle 2 HashLips#76.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Beanie Skultyle 3 HashLips#87.png': undefined/Brown Hairstyle 3 HashLips#87.png HashLips#161.png': undefined/Beanie Skul HashLips#161.png le 6 HashLips#43.png': undefined/Red Hairstyle 6 HashLips#43.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Beret HashLips#135.34.png': undefined/Baseball HashLips#134.pngpng': undefined/Beret HashLips#135.png HashLips#161.png': undefined/Beanie Skul HashLips#161.png
Error: ENOENT, No such file or directory 'E:\cus\hashlips_art_engine-main/layers/undefined/Newsboy #4.png': undefined/Beret HashLips#135.pngpng': undefined/Newsboy #4.png png': undefined/Newsboy #4.png
Trait type: Background

Trait type: Skin

Trait type: Cape

Trait type: Cloths

Trait type: Eyes

Trait type: Eyewear

Trait type: Hair

Trait type: Alpha Generation Logo

Trait type: Hat

Steps to reproduce

i used display name to layer configuration.

        { name: "Boy Background", options:{displayName:"Background"} },
        { name: "Boy Skin", options:{displayName:"Skin"} },
        { name: "Boy Cape", options: {displayName:"Cape"} },
        { name: "Boy Cloth", options: {displayName:"Cloths"} },
        { name: "Boy Eye", options: {displayName:"Eyes"} },
        { name: "Boy Eyewear", options: {displayName:"Eyewear"} },
        { name: "Boy Hair", options: {displayName:"Hair"} },

Expected result

No response

Actual result

No response

Environment

OS Version (uname -a on unix, systeminfo on windows): win 10
Node.js version (node -v): 17.4

DNA exists!

Checklist

Description

I want to create a collection of 10000 and I have the following layers structure:

  • Background: 10 options
  • Eyebrow: 5 options
  • Eyes: 5 options
  • Glasses: 6 options
  • Mouth: 10 options

In my understanding, with this is possible to create up to 15000 (10 * 5 * 5 * 6 * 10) unique NFTs, but I can only create 2512 with them.

 
...
DNA exists!
Saved edition: 2512
Created edition: 2512, with DNA: 49b6d7a54a296f3ae7207d98757eedce31ed654b
DNA exists!
...
DNA exists!
You need more layers or elements to grow your edition to 10000 artworks!

ps.: I'm not using any rarity or other different features.

Steps to reproduce

On the layers folder create a folder for each layer and its different options:

  • Background: 10 options
  • Eyebrow: 5 options
  • Eyes: 5 options
  • Glasses: 6 options
  • Mouth: 10 options

On the config file edit the layerConfigurations variable to look like this:

const layerConfigurations = [
  {
    growEditionSizeTo: 10000,
    layersOrder: [
      { name: "Background" },
      { name: "Eyebrow" },
      { name: "Eyes" },
      { name: "Glasses" },
      { name: "Mouth" },
    ],
  },
];

Run the script with:

yarn build

Expected result

On the build folder should be created 10k different files on the images and build folder.

Actual result

...
DNA exists!
Saved edition: 2512
Created edition: 2512, with DNA: 49b6d7a54a296f3ae7207d98757eedce31ed654b
DNA exists!
...
DNA exists!
You need more layers or elements to grow your edition to 10000 artworks!

Environment

OS Version (uname -a on unix, systeminfo on windows): Darwin Bravos-MacBook-Air.local 21.1.0 Darwin Kernel Version 21.1.0: Wed Oct 13 17:33:24 PDT 2021; root:xnu-8019.41.5~1/RELEASE_ARM64_T8101 arm64
Node.js version (node -v): v16.13.0

Rarity isnt showing.

When I run the npm run rarity it doesn't show me the correct data, occurrence: '0 in 4000 editions (0.00 %)'. I'm not sure why it says 0 in 4000. Is it because of const DNA_DELIMITER = "-"; ?

startEditionFrom: not working

Checklist

Description

Hi,

startEditionFrom: 0 does not work.

const layerConfigurations = [
  {
    growEditionSizeTo: 250,
    startEditionFrom: 0,
    layersOrder: [
      { name: "Background" },
      { name: "Eyeball" },
      { name: "Eye color" },
      { name: "Iris" },
      { name: "Shine" },
      { name: "Bottom lid" },
      { name: "Top lid" },
    ],
  },
];

Example Conf with startEditionFrom 0, but it starts at 1.png

how to solve this?

thank you

Steps to reproduce

No response

Expected result

No response

Actual result

No response

Environment

OS Version (uname -a on unix, systeminfo on windows):
Node.js version (node -v):

Another Module Not Found error

Checklist

Description

Hey man, sorry to ask but I searched for 2 hours to solve this and looked all asked questions in the main code. Getting this error when I runnode index.jsand have no clue how to solve it. Thanks for your other answers to the other users, would be appreciated if you can help.

efe@192 hashlips_art_engine % node index.js
node:internal/modules/cjs/loader:936
  throw err;
  ^

Error: Cannot find module '/Users/efe/Desktop/obie_nft/hashlips_art_engine/node_modules/canvas/build/Release/canvas.node'
Require stack:
- /Users/efe/Desktop/obie_nft/hashlips_art_engine/src/main.js
- /Users/efe/Desktop/obie_nft/hashlips_art_engine/index.js
    at Function.Module._resolveFilename (node:internal/modules/cjs/loader:933:15)
    at Function.Module._load (node:internal/modules/cjs/loader:778:27)
    at Module.require (node:internal/modules/cjs/loader:1005:19)
    at require (node:internal/modules/cjs/helpers:102:18)
    at Object.<anonymous> (/Users/efe/Desktop/obie_nft/hashlips_art_engine/src/main.js:28:5)
    at Module._compile (node:internal/modules/cjs/loader:1101:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10)
    at Module.load (node:internal/modules/cjs/loader:981:32)
    at Function.Module._load (node:internal/modules/cjs/loader:822:12)
    at Module.require (node:internal/modules/cjs/loader:1005:19) {
  code: 'MODULE_NOT_FOUND',
  requireStack: [
    '/Users/efe/Desktop/obie_nft/hashlips_art_engine/src/main.js',
    '/Users/efe/Desktop/obie_nft/hashlips_art_engine/index.js'
  ]
}

Steps to reproduce

No response

Expected result

No response

Actual result

No response

Environment

OS Version (uname -a on unix, systeminfo on windows):
Node.js version (node -v):16.13.0

Solana rebuilding from image 333 to 666

Summary

I have the json and metadata.json files from the previous build. A total of 333 images from 0 to 332 - I would like to continue generating from 333 to 665 - My files were generated for Solana - Do I need a hash id like on ETH metadata or will it search through the values on the json files to see if there is any match before generating the image? Thank you

Basic example

No response

Motivation

No response

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.