diff --git a/netlify/utils.ts b/netlify/utils.ts
index c71c302d..60c31070 100644
--- a/netlify/utils.ts
+++ b/netlify/utils.ts
@@ -22,10 +22,10 @@ const engines = {
openai: (prompt: string) =>
openai.chat.completions.create({
messages: [{ role: "user", content: prompt }],
- model: "gpt-3.5-turbo",
+ // model: "gpt-3.5-turbo",
n: 1,
temperature: 0.7,
- // model: "gpt-4",
+ model: "gpt-4",
// model: "gpt-4-turbo-preview",
}),
};
diff --git a/public/lang-docs.md b/public/lang-docs.md
index 56cf0b84..9d97c1d1 100644
--- a/public/lang-docs.md
+++ b/public/lang-docs.md
@@ -664,6 +664,113 @@ Program:
+### Even Distribution in Hue
+
+Description: Categorical values should have an even distribution around the hue circle in LCH color space
+
+Natural Language: (std(speed(sort(colors, x => lch.h(x)))) < 10 OR std(speed(sort(colors, x => lch.h(x) + 180 % 360))) < 10)
+
+Palettes that will fail this test:
+
+- #ffb9ba, #67de25, #25d4c3, #724dd6, #6d0e44 with a #fff background
+
+
+
+Palettes that will pass this test:
+
+- #ffc5b8, #00dec1, #006095, #b7d119, #6e0074 with a #fff background
+
+- #4682b4 with a #fff background
+
+
+Program:
+
+```json
+{
+ "$schema": "http://localhost:8888/lint-schema.json",
+ "or": [
+ {
+ "<": {
+ "left": {
+ "std": {
+ "speed": { "sort": "colors", "func": {"lch.h": "x"}, "varb": "x" }
+ }
+ },
+ "right": 10
+ }
+ },
+ {
+ "<": {
+ "left": {
+ "std": {
+ "speed": {
+ "sort": "colors",
+ "varb": "x",
+ "func": {
+ "%": {
+ "left": {
+ "+": { "left": {"lch.h": "x"}, "right": 180 }
+ },
+ "right": 360
+ }
+ }
+ }
+ }
+ },
+ "right": 10
+ }
+ }
+ ]
+}
+
+```
+
+
+
+
+
+### Even Distribution in Lightness
+
+Description: Values should be space evenly in lightness in LCH color space
+
+Natural Language: std(speed(sort(colors, x => lch.l(x)))) < 5
+
+Palettes that will fail this test:
+
+- #ffb9ba, #67de25, #25d4c3, #724dd6, #6d0e44 with a #fff background
+
+- #174c00, #166100, #267500, #78c12d, #b7ff6d with a #fff background
+
+
+
+Palettes that will pass this test:
+
+- #1a4400, #1f6e00, #4a9500, #74bd28, #9ee754 with a #fff background
+
+- #4682b4 with a #fff background
+
+
+Program:
+
+```json
+{
+ "$schema": "http://localhost:8888/lint-schema.json",
+ "<": {
+ "left": {
+ "std": {
+ "speed": { "sort": "colors", "func": {"lch.l": "x"}, "varb": "x" }
+ }
+ },
+ "right": 5
+ }
+}
+
+```
+
+
+
+
+
### Fair
Description: Do the colors stand out equally? A color palette is described as fair if both chroma and luminance ranges are below a certain threshold and unfair if one of them is above a certain threshold.
@@ -1308,71 +1415,6 @@ Program:
-### Even Distribution
-
-Description: Categorical values should have an even distribution around the hue circle in LCH color space
-
-Natural Language: (std(speed(sort(colors, x => lch.h(x)))) < 10 OR std(speed(sort(colors, x => lch.h(x) + 180 % 360))) < 10)
-
-Palettes that will fail this test:
-
-- #ffb9ba, #67de25, #25d4c3, #724dd6, #6d0e44 with a #fff background
-
-
-
-Palettes that will pass this test:
-
-- #ffc5b8, #00dec1, #006095, #b7d119, #6e0074 with a #fff background
-
-- #4682b4 with a #fff background
-
-
-Program:
-
-```json
-{
- "$schema": "http://localhost:8888/lint-schema.json",
- "or": [
- {
- "<": {
- "left": {
- "std": {
- "speed": { "sort": "colors", "func": {"lch.h": "x"}, "varb": "x" }
- }
- },
- "right": 10
- }
- },
- {
- "<": {
- "left": {
- "std": {
- "speed": {
- "sort": "colors",
- "varb": "x",
- "func": {
- "%": {
- "left": {
- "+": { "left": {"lch.h": "x"}, "right": 180 }
- },
- "right": 360
- }
- }
- }
- }
- },
- "right": 10
- }
- }
- ]
-}
-
-```
-
-
-
-
-
### In Gamut
Description: Checks if the colors are in the sRGB gamut. This is important to ensure that the colors are visible and can be displayed on most devices.
diff --git a/src/controls/DistributePoints.svelte b/src/controls/DistributePoints.svelte
index b17a1de6..db8ff871 100644
--- a/src/controls/DistributePoints.svelte
+++ b/src/controls/DistributePoints.svelte
@@ -1,8 +1,10 @@
@@ -71,7 +25,13 @@
Distribute
{#each directions as direction}
-