-
How does incompatible work in this configuration? In the NFTChef config.js, the only way to configure incompatible is by filename (.png file without the weight). But in this system, all of our files are named the same: 0.png, 1.png, 2.png, etc. Can you make 2 directories incompatible? I've tried that in NFTChef and it only seems to work using files for both the key and the incompatibles. Directories don't seem to work at all yet there is a comment mentioning them in the config.js. Thanks! |
Beta Was this translation helpful? Give feedback.
Replies: 11 comments 4 replies
-
Hi there can you elaborate on what incompatible means? NFTChef has so many features I tried to port as many (grouping, layers, z-index), what am I missing? |
Beta Was this translation helpful? Give feedback.
-
Oh sure...it's this part of the config.js. See how the comment says
"directory incompatible with directory example"? Well I've tried in
NFTChef to say one directory could not work with another but it only seems
to work when you specify the actual .png file names. I was wondering if
directories work over here in your code:
/**
* Incompatible items can be added to this object by a files cleanName
* This works in layer order, meaning, you need to define the layer that
comes
* first as the Key, and the incompatible items that _may_ come after.
* The current version requires all layers to have unique names, or you may
* accidentally set incompatibilities for the _wrong_ item.
*/
const incompatible = {
// Red: ["Dark Long"],
// // directory incompatible with directory example
// White: ["rare-Pink-Pompadour"],
"Jump": ["Kick", "Stand"],
"Kick": ["Jump", "Stand"],
"Stand": ["Jump", "Kick"],
};
…On Thu, May 5, 2022 at 4:03 AM Jalagar ***@***.***> wrote:
Hi there can you elaborate on what incompatible means? NFTChef has so many
features I tried to port as many (grouping, layers, z-index), what am I
missing?
—
Reply to this email directly, view it on GitHub
<#54 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AQCOPXOKP6SWD7E5ZQ3HGQ3VIOTI3ANCNFSM5VDSJBXA>
.
You are receiving this because you authored the thread.Message ID:
***@***.***
.com>
--
judyjclay.com
480-993-4245
|
Beta Was this translation helpful? Give feedback.
-
Tracking this as an issue instead #63 |
Beta Was this translation helpful? Give feedback.
-
Fantastic!
…On Fri, May 6, 2022 at 6:23 AM Jalagar ***@***.***> wrote:
Ah that's super useful feature! I added an issue #63
<#63>
—
Reply to this email directly, view it on GitHub
<#54 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AQCOPXLYXUWAWNC7JDBD45TVIUMOVANCNFSM5VDSJBXA>
.
You are receiving this because you authored the thread.Message ID:
***@***.***
.com>
--
judyjclay.com
480-993-4245
|
Beta Was this translation helpful? Give feedback.
-
@jjclay this works now see https://github.com/jalagar/Generative_Gif_Engine#nftchef-improvements-z-indexstacking-grouping-if-then-statements-and-incompatibilities for how to set up incompatibilities. The layer names have to be unique for it to work (same for NFT chef) |
Beta Was this translation helpful? Give feedback.
-
Oh that's great news! I did finally get directories to work in NFTChef
which is so much easier and I was able to really clean up my config.js.
What I discovered though, is that directories only work if you specify the
very top layer. What I mean is that both directories and .png files work
for incompatible if you use this single line (my top root folder):
{ name: "white/stickman lacrosse graduate" },
but only .png files work for incompatible if you do this kind of thing:
// { name: "white/stickman character/z-2,background" },
// { name: "white/stickman character/z-1,frame" },
// { name: "white/stickman character/head", trait: "type of head" },
// { name: "white/stickman character/z1,arms", trait: "type of head" },
Does that make sense?
…On Sun, May 8, 2022 at 7:38 AM Jalagar ***@***.***> wrote:
@jjclay <https://github.com/jjclay> this works now see
https://github.com/jalagar/Generative_Gif_Engine#nftchef-improvements-z-indexstacking-grouping-if-then-statements-and-incompatibilities
for how to set up incompatibilities. The layer names have to be unique for
it to work (same for NFT chef)
—
Reply to this email directly, view it on GitHub
<#54 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AQCOPXMGT36JWWBPDAXOB2DVI7GXVANCNFSM5VDSJBXA>
.
You are receiving this because you were mentioned.Message ID:
***@***.***
.com>
--
judyjclay.com
480-993-4245
|
Beta Was this translation helpful? Give feedback.
-
That was regarding how it works in NFTChef. I will try incompatible with
the gif engine today. Sorry for the confusion.
…On Sun, May 8, 2022 at 8:47 AM Jalagar ***@***.***> wrote:
Hi sorry is this is an issue with the gif engine or NFT chef's
incompatible issue?
—
Reply to this email directly, view it on GitHub
<#54 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AQCOPXIEMWSF5WRTJH3NJFTVI7OY5ANCNFSM5VDSJBXA>
.
You are receiving this because you were mentioned.Message ID:
***@***.***
.com>
--
judyjclay.com
480-993-4245
|
Beta Was this translation helpful? Give feedback.
-
It may be the way it's supposed to work, but we definitely need to find
out. I will do that today. Thank you!
…On Sun, May 8, 2022 at 9:16 AM Jalagar ***@***.***> wrote:
Oh jjclay if its a bug with NFT chef it will be a bug in my code too. Can
you task an issue on NFT chef's repo
https://github.com/nftchef/art-engine/issues ?
—
Reply to this email directly, view it on GitHub
<#54 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AQCOPXL4GXV22TWDC7JSAD3VI7SE7ANCNFSM5VDSJBXA>
.
You are receiving this because you were mentioned.Message ID:
***@***.***
.com>
--
judyjclay.com
480-993-4245
|
Beta Was this translation helpful? Give feedback.
-
I figured it out!!
I was doing some experimenting in order to task an issue when I discovered
the reason for the behavior. I originally had all of my hat .png files
inside of a top-level folder called 'hat'. Within incompatible, I
specified 'hat' for any head that should not be wearing any kind of hat.
Once I changed my configuration to be pointing directly to the 'hat' folder
as follows:
// { name: "white/stickman character/z4,hat" },
this broke incompatible because there is no "hat" within the "hat folder.
There are .png files named "beret", "graduate", etc, which is why I then
had to specify each individual .png within incompatible, which gets very
cumbersome. So, if you want to do, for instance, this:
layersOrder: [
{ name: "white/stickman character/z4,hat", trait: "headress" },
you need to create another folder within the "hat" folder which then
contains all of the .png files. I created a folder called "all hats"
within the folder "hat" and moved all of the .png files there. I then
specified "all hats" within incompatible and everything worked correctly
again.
The behavior now makes total sense. It just took me some time to fully
understand what was happening.
…On Sun, May 8, 2022 at 9:16 AM Jalagar ***@***.***> wrote:
Oh jjclay if its a bug with NFT chef it will be a bug in my code too. Can
you task an issue on NFT chef's repo
https://github.com/nftchef/art-engine/issues ?
—
Reply to this email directly, view it on GitHub
<#54 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AQCOPXL4GXV22TWDC7JSAD3VI7SE7ANCNFSM5VDSJBXA>
.
You are receiving this because you were mentioned.Message ID:
***@***.***
.com>
--
judyjclay.com
480-993-4245
|
Beta Was this translation helpful? Give feedback.
-
That's awesome! Are you able to screenshot your folder configuration and paste it so other people can visualize your file structure? |
Beta Was this translation helpful? Give feedback.
-
I will definitely do that. I'm still reviewing and adding/removing
directories where they are not necessary. I see in the code where he is
choosing how to name the trait. It's hard to see how it works from the
code, but as soon as you insert new directories at different levels, you
can see how you can control your metadata with the directory structure, and
not have to change the config.js at all.
const getTraitValueFromPath = (element, lineage) => {
// If the element is a required png. then, the trait property = the
parent path
// if the element is a non-required png. black%50.png, then element.name
is the value and the parent Dir is the prop
if (element.weight !== "required") {
return element.name;
} else if (element.weight === "required") {
// if the element is a png that is required, get the traitValue from
the parent Dir
return element.sublayer ? true : cleanName(lineage[lineage.length - 2]);
}
};
This also, of course, changes the behavior:
const useRootTraitType = true;
// const useRootTraitType = false;
It's been weeks of experimenting, but I'm getting there! :)
…On Thu, May 12, 2022 at 5:44 AM Jalagar ***@***.***> wrote:
That's awesome! Are you able to screenshot your folder configuration and
paste it so other people can visualize your file structure?
—
Reply to this email directly, view it on GitHub
<#54 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AQCOPXOQJNWJKYWHGVRPHUDVJT4LPANCNFSM5VDSJBXA>
.
You are receiving this because you were mentioned.Message ID:
***@***.***
.com>
--
judyjclay.com
480-993-4245
|
Beta Was this translation helpful? Give feedback.
@jjclay this works now see https://github.com/jalagar/Generative_Gif_Engine#nftchef-improvements-z-indexstacking-grouping-if-then-statements-and-incompatibilities for how to set up incompatibilities. The layer names have to be unique for it to work (same for NFT chef)