fold
wrap
99999
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
▸
▾
▾
▾
▾
▾
▾
▾
▾
▾
▾
▾
▾
▾
▾
▾
// Generated standalone jzl-kawai-merge-2: kaw-ai-jzl base + jzlimagen JZL tab.
// Imports are flattened; the JZL tab houses jzlimagen options.
//🔽 To import:
// betterSEQUENCE = {inlined:better-sequencer}
// new update 28/02/26 ddmmyy: filter list
betterSEQUENCE(separator, Name, tagsToSelect)=> // Use in the inputs (descriptions or negatives).
if (typeof tagsToSelect === "string") {
if (separator === "") { separator = "," }
tagsToSelect = tagsToSelect
.split(separator)
.map(s => s.trim());
} else {
if (separator === "" || separator.trim() === ",") { separator = "-#-" }
tagsToSelect = tagsToSelect.selectAll
.map(String)
.join(separator)
.split(separator)
.map(s => s.trim());
}
/* new
Filter list, create a global array withe same name + BL like:
(window.listNameBL = ["item1", "item2"])
and it will be automatically filtered. */
if (window[Name + "BL"]) {
tagsToSelect = tagsToSelect.filter(bannedItems => !window[Name + "BL"].includes(bannedItems));
}
/* * * * * * * * * */
if (typeof window[Name + "ItemList"] === "undefined") {
window[Name + "ItemList"] = [...tagsToSelect];
}
if (String(window[Name + "ItemList"]) !== String(tagsToSelect)) {
window[Name + "ItemList"] = [...tagsToSelect];
window[Name + "ItemArray"] = [];
}
if (typeof window[Name + "ItemArray"] === "undefined") {
window[Name + "ItemArray"] = []
}
if (window[Name + "ItemArray"].length >= window[Name + "ItemList"].length) {
window[Name + "ItemArray"] = [];
}
window[Name + "SelectedItem"] = window[Name + "ItemList"][window[Name + "ItemArray"].length];
window[Name + "ItemArray"].push(window[Name + "SelectedItem"]);
return window[Name + "SelectedItem"];
// A 'ban list' would be nice to exclude some items fron selection. Maybe in the future with a new version.
// AdvRS = {inlined:adv-random-styles}
AdvRS(name, banList, ...args) =>
let listArray = [...args];
if (!window[name + "AlreadySelected"] || window[name + "AlreadySelected"].length <= 0) {
window[name + "AlreadySelected"] = [...banList];
}
// Flatten into [key, value] pairs
const entries = listArray.flatMap(obj => Object.entries(obj));
// Filter out entries whose key is in seArray
const filtered = entries.filter(([key]) => !window[name + "AlreadySelected"].includes(key));
// Choose a random item
const randomEntry = filtered[Math.floor(Math.random() * filtered.length)];
if (!randomEntry) {
window[name + "AlreadySelected"] = [];
⚙️
open popout
collab link
wrap lines
fold lines
font size
predict (on)
bug check (on)
⚠️
auto
wrap
999
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
▸
▾
▾
▾
▾
▾
<!-- 👄🍆 -->
<div style="margin-bottom:15px;">
<h4 style="margin-bottom:1px;">JZL-KAWAI</h4>
</div>
<div id="mainOptionsBtn">
<button onclick="qolf.changeDisplayStatus('allOptions', 'contents', 'none')">Hide/Show</button>
<button onclick="displayCtnGrid('styleCtn', 'contents', 'save', 'styleCtn', 'cameraCtn', 'bodyCtn', 'hairCtn', 'outfitCtn', 'jzlCtn')">🎨</button>
<button onclick="displayCtnGrid('cameraCtn', 'contents', 'save', 'styleCtn', 'cameraCtn', 'bodyCtn', 'hairCtn', 'outfitCtn', 'jzlCtn')">📹</button>
<button onclick="displayCtnGrid('bodyCtn', 'contents', 'save', 'styleCtn', 'cameraCtn', 'bodyCtn', 'hairCtn', 'outfitCtn', 'jzlCtn')">👤</button>
<button onclick="displayCtnGrid('hairCtn', 'contents', 'save', 'styleCtn', 'cameraCtn', 'bodyCtn', 'hairCtn', 'outfitCtn', 'jzlCtn')">💇♀️</button>
<button onclick="displayCtnGrid('outfitCtn', 'contents', 'save', 'styleCtn', 'cameraCtn', 'bodyCtn', 'hairCtn', 'outfitCtn', 'jzlCtn')">👙</button>
<button onclick="displayCtnGrid('jzlCtn', 'contents', 'save', 'styleCtn', 'cameraCtn', 'bodyCtn', 'hairCtn', 'outfitCtn', 'jzlCtn')">🎭</button>
<button class="rstButton" onclick="resetOptions('selectOptions')">Reset</button>
</div>
[generateHTML(settings)]
[t2iExtra.createDefaultCSS()]
[t2iExtra.createObjects(3), ""]
[runAtStart()]
<div id="leftCtn">
</div>
<div id="extraImgSeed"></div>
<style>
body {
background: #000;
}
⚙️
open popout
collab link
wrap lines
fold lines
font size
predict (on)
bug check (on)
⚠️