Skip to content

Commit 23e558c

Browse files
authored
p5.js 2.0: Typography video (#1970)
* new video p5 2 font stuff * fix typo
1 parent 146e42b commit 23e558c

10 files changed

Lines changed: 183 additions & 2 deletions

File tree

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
22
"title": "p5.js 2.0",
33
"description": "A collection of videos exploring the new features and capabilities introduced in p5.js 2.0, including loading with async and await, fonts and typography, custom shapes and curves, and more!",
4-
"videos": ["p5js-2.0/async-await", "p5js-2.0/loading-data", "livestreams/p5js-2.0"]
4+
"videos": ["p5js-2.0/async-await", "p5js-2.0/loading-data", "p5js-2.0/typography", "livestreams/p5js-2.0"]
55
}

β€Žcontent/videos/noc/4-particles/1-particle-system/showcase/contribution1.jsonβ€Ž

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"title": "Secret Contributution",
2+
"title": "Secret Contribution",
33
"author": {
44
"name": "Indrayudh Chakraborty"
55
},
64.4 KB
Loading
71.1 KB
Loading
39.3 KB
Loading
54.4 KB
Loading
83.4 KB
Loading
79.2 KB
Loading
24.1 KB
Loading
Lines changed: 181 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,181 @@
1+
{
2+
"title": "p5.js 2.0: Typography and Fonts",
3+
"description": "Let's explore new typography features in p5.js 2.0! In this video, I cover how to work with variable fonts, convert text to 3D models with textModel(), extract contours with textContours(), and control the detail of your typography with sampleFactor and simplifyThreshold.",
4+
"videoId": "d0GgzjCFWq0",
5+
"nebulaSlug": "codingtrain-p5js-20-typography",
6+
"date": "2026-03-22",
7+
"languages": ["p5.js", "JavaScript"],
8+
"topics": ["typography", "fonts", "text", "p5.js 2", "variable fonts", "3D text", "text contours"],
9+
"canContribute": true,
10+
"relatedChallenges": ["59-steering-behaviors"],
11+
"timestamps": [
12+
{ "time": "0:00", "title": "Welcome!" },
13+
{ "time": "0:49", "title": "Finding Fonts (Google Fonts)" },
14+
{ "time": "1:01", "title": "Loading Fonts with Async/Await" },
15+
{ "time": "2:30", "title": "Variable Fonts" },
16+
{ "time": "3:17", "title": "textWeight()" },
17+
{ "time": "4:03", "title": "Animated Text Weight" },
18+
{ "time": "4:31", "title": "Coding Challenge 59 - Steering Behaviors" },
19+
{ "time": "5:15", "title": "textContours() Introduction" },
20+
{ "time": "6:00", "title": "sampleFactor and simplifyThreshold" },
21+
{ "time": "9:00", "title": "sampleFactor Explained" },
22+
{ "time": "12:00", "title": "simplifyThreshold Explained" },
23+
{ "time": "14:00", "title": "Updating Challenge 59 to p5.js 2.0" },
24+
{ "time": "15:00", "title": "Angle Property of Contours" },
25+
{ "time": "17:00", "title": "textModel() for 3D Text" },
26+
{ "time": "19:00", "title": "Extrude Option" },
27+
{ "time": "20:11", "title": "Goodbye!" }
28+
],
29+
"codeExamples": [
30+
{
31+
"title": "Variable Font Weights",
32+
"description": "Explore using variable fonts with different weights in p5.js 2.0.",
33+
"image": "weight.png",
34+
"urls": {
35+
"p5": "https://editor.p5js.org/codingtrain/sketches/9SZYb2vX3"
36+
}
37+
},
38+
{
39+
"title": "textContours()",
40+
"description": "Extract contours from text characters using the new textContours() function.",
41+
"image": "contours.png",
42+
"urls": {
43+
"p5": "https://editor.p5js.org/codingtrain/sketches/ffDf3LmKi"
44+
}
45+
},
46+
{
47+
"title": "textModel() - 3D Text",
48+
"description": "Create 3D text models with the textModel() function in p5.js 2.0.",
49+
"image": "model.png",
50+
"urls": {
51+
"p5": "https://editor.p5js.org/codingtrain/sketches/Z4DkmlvyM"
52+
}
53+
},
54+
{
55+
"title": "Coding Challenge 59 - p5.js 2.0",
56+
"description": "Steering behaviors coding challenge updated for p5.js 2.0 with new typography features.",
57+
"image": "steering.png",
58+
"urls": {
59+
"p5": "https://editor.p5js.org/codingtrain/sketches/cetWD9rvY"
60+
}
61+
},
62+
{
63+
"title": "One Letter, Two Contours",
64+
"description": "Demonstrating how a single letter can have multiple contours.",
65+
"image": "oneandtwo.png",
66+
"urls": {
67+
"p5": "https://editor.p5js.org/codingtrain/sketches/2xr1TAmXK"
68+
}
69+
},
70+
{
71+
"title": "sampleFactor Diagram",
72+
"description": "Visual diagram showing how the sampleFactor parameter affects text rendering.",
73+
"image": "samplefactor.png",
74+
"urls": {
75+
"p5": "https://editor.p5js.org/codingtrain/sketches/c23YgfIhC"
76+
}
77+
},
78+
{
79+
"title": "simplifyThreshold Demo",
80+
"description": "Working example demonstrating the simplifyThreshold parameter for text contours.",
81+
"image": "simplifythreshold.png",
82+
"urls": {
83+
"p5": "https://editor.p5js.org/codingtrain/sketches/9_CnA7lrl"
84+
}
85+
}
86+
],
87+
"groupLinks": [
88+
{
89+
"title": "References",
90+
"links": [
91+
{
92+
"icon": "πŸ“–",
93+
"title": "p5.js 2.0: You Are Here & How to Contribute!",
94+
"url": "https://discourse.processing.org/t/dev-updates-p5-js-2-0-you-are-here-how-to-contribute/46130",
95+
"description": "p5.js Discourse thread on the 2.0 release."
96+
},
97+
{
98+
"icon": "πŸ”€",
99+
"title": "Google Fonts",
100+
"url": "https://fonts.google.com",
101+
"description": "Find and use web fonts in your p5.js sketches"
102+
},
103+
{
104+
"icon": "🐞",
105+
"title": "Typography questions and possible bugs (Issue #8177)",
106+
"url": "https://github.com/processing/p5.js/issues/8177",
107+
"description": "Discussion about bugs and questions related to this video."
108+
},
109+
{
110+
"icon": "🐞",
111+
"title": "Reference errors: textToContours() and textToModel() (Issue #8623)",
112+
"url": "https://github.com/processing/p5.js/issues/8623",
113+
"description": "Discussion about p5.js typography reference errors."
114+
},
115+
{
116+
"icon": "πŸ“–",
117+
"title": "loadFont() Reference",
118+
"url": "https://beta.p5js.org/reference/p5/loadFont/",
119+
"description": "Documentation for loading fonts in p5.js 2.0"
120+
},
121+
{
122+
"icon": "πŸ“–",
123+
"title": "textWeight() Reference",
124+
"url": "https://beta.p5js.org/reference/p5/textWeight",
125+
"description": "Documentation for the textWeight() function"
126+
},
127+
{
128+
"icon": "πŸ“–",
129+
"title": "textContours() Reference",
130+
"url": "https://beta.p5js.org/reference/p5/textContours",
131+
"description": "Documentation for the textContours() function"
132+
},
133+
{
134+
"icon": "πŸ“–",
135+
"title": "textModel() Reference",
136+
"url": "https://beta.p5js.org/reference/p5/textModel",
137+
"description": "Documentation for the textModel() function"
138+
}
139+
]
140+
},
141+
{
142+
"title": "Videos",
143+
"links": [
144+
{
145+
"icon": "πŸŽ₯",
146+
"title": "p5.js 2.0 with Kit Kuksenok",
147+
"url": "/tracks/livestreams/livestreams/p5js-2.0",
148+
"description": "Livestream featuring Kit Kuksenok demonstrating p5.js 2.0 typography features"
149+
},
150+
{
151+
"icon": "πŸš‚",
152+
"title": "p5.js 2.0: Async and Await",
153+
"url": "/tracks/p5js-2.0/p5js-2.0/async-await",
154+
"description": "Learn about async/await in p5.js 2.0"
155+
},
156+
{
157+
"icon": "πŸš‚",
158+
"title": "p5.js 2.0: Loading Data",
159+
"url": "/tracks/p5js-2.0/p5js-2.0/loading-data",
160+
"description": "Loading data and assets in p5.js 2.0"
161+
},
162+
{
163+
"icon": "πŸš‚",
164+
"title": "Translate, Rotate, Push/Pop",
165+
"url": "/tracks/transformations-in-p5/transformations/translate-rotate-push-pop",
166+
"description": "Learn about transformations in p5.js"
167+
},
168+
{
169+
"icon": "🎯",
170+
"title": "Coding Challenge #59: Steering Behaviors",
171+
"url": "/challenges/59-steering-behaviors",
172+
"description": "Original steering behaviors challenge, updated for p5.js 2.0 in this video"
173+
}
174+
]
175+
}
176+
],
177+
"credits": [
178+
{ "title": "Editing", "name": "Mathieu Blanchette" },
179+
{ "title": "Animations", "name": "Jason Heglund" }
180+
]
181+
}

0 commit comments

Comments
Β (0)