Skip to content

Commit b88c338

Browse files
committed
Add json file for overlapping model
1 parent 51af517 commit b88c338

File tree

2 files changed

+181
-0
lines changed

2 files changed

+181
-0
lines changed
43.6 KB
Loading
Lines changed: 181 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,181 @@
1+
{
2+
"title": "Wave Function Collapse - Overlapping Model",
3+
"videoNumber": "186",
4+
"description": "",
5+
"videoId": "",
6+
"nebulaSlug": "codingtrain-coding-challenge-186-overlapping-model",
7+
"date": "2025-01-28",
8+
"languages": ["p5.js", "JavaScript"],
9+
"topics": ["waave function collapse", "overlapping model", "procedural generation"],
10+
"canContribute": true,
11+
"relatedChallenges": ["171-wave-function-collapse"],
12+
"timestamps": [
13+
{ "time": "0:00:00", "title": "Introduction" },
14+
{ "time": "0:01:12", "title": "The Nature of Code" },
15+
{ "time": "0:02:20", "title": "References" },
16+
{ "time": "0:08:19", "title": "Write a function to extract tiles from a source image" },
17+
{ "time": "0:14:32", "title": "Write a function to copy tiles" },
18+
{ "time": "0:21:30", "title": "Add a list of allowed adjacencies to the Tile object" },
19+
{ "time": "0:24:34", "title": "Write an overlapping() function" },
20+
{ "time": "0:32:20", "title": "Look at the first tile's neighbors" },
21+
{ "time": "0:43:30", "title": "Add Cell class" },
22+
{ "time": "0:44:15", "title": "Add a grid of Cells" },
23+
{ "time": "0:46:21", "title": "Retrieve previous WFC code" },
24+
{ "time": "0:50:50", "title": "Write a reduceEntropy() function" },
25+
{ "time": "0:55:56", "title": "Add a function to render the center pixel" },
26+
{ "time": "0:58:05", "title": "Filter by valid options" },
27+
{ "time": "1:01:57", "title": "Use recursion to reduce entropy" },
28+
{ "time": "1:05:32", "title": "Add depth of recursion" },
29+
{ "time": "1:06:32", "title": "We have WFC!" },
30+
{ "time": "1:09:42", "title": "Fix mistake" },
31+
{ "time": "1:11:26", "title": "Start refactoring code" },
32+
{ "time": "1:18:41", "title": "Add console.log if alogrithm gets stuck" },
33+
{ "time": "1:21:38", "title": "Optimizations" },
34+
{ "time": "1:26:28", "title": "Discuss redundant tiles" },
35+
{ "time": "1:28:30", "title": "Rotations and Reflections" },
36+
{ "time": "1:29:39", "title": "Additional performance optimizations" },
37+
{ "time": "1:31:40", "title": "Outro" }
38+
],
39+
"codeExamples": [
40+
{
41+
"title": "WFC Overlapping",
42+
"description": "",
43+
"image": "1.png",
44+
"urls": {
45+
"p5": "https://editor.p5js.org/codingtrain/sketches/PX0Hn6TF8"
46+
}
47+
},
48+
{
49+
"title": "WFC Overlapping - Shannon entropy",
50+
"description": "",
51+
"image": "",
52+
"urls": {
53+
"p5": "https://editor.p5js.org/codingtrain/sketches/PX0Hn6TF8"
54+
}
55+
},
56+
{
57+
"title": "WFC Overlapping - Rotations and Reflections",
58+
"description": "",
59+
"image": "",
60+
"urls": {
61+
"p5": "https://editor.p5js.org/codingtrain/sketches/z_N2TVjRH"
62+
}
63+
},
64+
{
65+
"title": "WFC Overlapping - Restart",
66+
"description": "",
67+
"image": "",
68+
"urls": {
69+
"p5": "https://editor.p5js.org/codingtrain/sketches/2sV4KtcoD"
70+
}
71+
},
72+
{
73+
"title": "WFC Overlapping - Refactored",
74+
"description": "",
75+
"image": "",
76+
"urls": {
77+
"p5": "https://editor.p5js.org/codingtrain/sketches/paJcuQLI0"
78+
}
79+
}
80+
],
81+
"groupLinks": [
82+
{
83+
"title": "References",
84+
"links": [
85+
{
86+
"icon": "📕",
87+
"title": "The Nature of Code",
88+
"url": "https://natureofcode.com/",
89+
"description": "The Nature of Code book (2024 p5.js edition)"
90+
},
91+
{
92+
"icon": "🛒",
93+
"title": "Nature of Code shop",
94+
"url": "https://store.natureofcode.com/products/the-nature-of-code",
95+
"description": "The Nature of Code book (2024 p5.js edition) is now available for purchase!"
96+
},
97+
{
98+
"icon": "🗄",
99+
"title": "Wave Function Collapse Algorithm",
100+
"url": "https://github.com/mxgmn/WaveFunctionCollapse",
101+
"description": "The original GitHub repository from mxgmn for the Wave Function Collapse algorithm."
102+
},
103+
{
104+
"icon": "🗄",
105+
"title": "Model Synthesis",
106+
"url": "https://paulmerrell.org/model-synthesis/",
107+
"description": "Paul Merrell's 2009 PhD Thesis that is a predecessor to WFC."
108+
},
109+
{
110+
"icon": "🗄",
111+
"title": "Procedural Generation with Wave Function Collapse",
112+
"url": "https://www.gridbugs.org/wave-function-collapse/",
113+
"description": "Article on using WFC for procedural generation."
114+
},
115+
{
116+
"icon": "🔗",
117+
"title": "p5 copy()",
118+
"url": "https://p5js.org/reference/p5/copy/",
119+
"description": "Reference for the copy function"
120+
},
121+
{
122+
"icon": "🔗",
123+
"title": "Github issue RE console.log problem",
124+
"url": "https://github.com/processing/p5.js-web-editor/issues/3178",
125+
"description": "Cannot console.log objects having circular references."
126+
},
127+
{
128+
"icon": "🔗",
129+
"title": "concat() function",
130+
"url": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/concat",
131+
"description": "Reference for the concat function."
132+
},
133+
{
134+
"icon": "🔗",
135+
"title": "randomSeed()",
136+
"url": "https://p5js.org/reference/p5/randomSeed/",
137+
"description": "Reference for the randomSeed function"
138+
}
139+
]
140+
},
141+
{
142+
"title": "Videos",
143+
"links": [
144+
{
145+
"icon": "🎥",
146+
"title": "Pixel Array",
147+
"url": "/tracks/p5-tips-and-tricks/more-p5/pixel-array",
148+
"description": "Coding Train video with explanation of tracking 2D grid in 1D array (for pixels)."
149+
},
150+
{
151+
"icon": "🎥",
152+
"title": "Modulo Operator",
153+
"url": "https://www.youtube.com/watch?v=r5Iy3v1co0A",
154+
"description": "Golan Levin explains what modulus means and its applications in creative coding with p5.js and Processing."
155+
},
156+
{
157+
"icon": "🎥",
158+
"title": "Array Functions: filter() - Topics of JavaScript/ES6",
159+
"url": "/tracks/side-tracks/topics-in-native-javascript/js/array-filter",
160+
"description": "This video covers the JavaScript Array higher order function filter()."
161+
},
162+
{
163+
"icon": "🎥",
164+
"title": "Arrow Function",
165+
"url": "/tracks/topics-in-native-javascript/js/arrow-functions",
166+
"description": "Coding Train video covering JavaScript arrow (=>) function."
167+
}
168+
]
169+
}
170+
],
171+
"credits": [
172+
{
173+
"title": "Editing",
174+
"name": "Mathieu Blanchette"
175+
},
176+
{
177+
"title": "Animations",
178+
"name": "Jason Heglund"
179+
}
180+
]
181+
}

0 commit comments

Comments
 (0)