mirror of
https://github.com/storytold/vectorcraft.git
synced 2026-11-10 21:51:36 +00:00
Merge pull request #6353 from Messhias/feat/g5-brush-lib-game-trails
G5: built-in Game Trails brush library
This commit is contained in:
@@ -165,13 +165,13 @@ pub struct BuiltinBrushLibrary {
|
||||
make: fn() -> BrushLibrary,
|
||||
}
|
||||
|
||||
/// The built-in brush libraries, in menu order: original brushes generated in code, one library
|
||||
/// per kind of brush.
|
||||
/// The built-in brush libraries, in menu order: original brushes generated in code.
|
||||
pub const BUILTIN: &[BuiltinBrushLibrary] = &[
|
||||
BuiltinBrushLibrary { id: "art-ribbons", name: "Art Ribbons", make: art_ribbons },
|
||||
BuiltinBrushLibrary { id: "calligraphic-nibs", name: "Calligraphic Nibs", make: calligraphic_nibs },
|
||||
BuiltinBrushLibrary { id: "pattern-borders", name: "Pattern Borders", make: pattern_borders },
|
||||
BuiltinBrushLibrary { id: "scatter-shapes", name: "Scatter Shapes", make: scatter_shapes },
|
||||
BuiltinBrushLibrary { id: "game-trails", name: "Game Trails", make: game_trails },
|
||||
];
|
||||
|
||||
/// Built-in library `id`, made once.
|
||||
@@ -378,6 +378,44 @@ fn scatter_shapes() -> BrushLibrary {
|
||||
built("Scatter Shapes", doc, brushes)
|
||||
}
|
||||
|
||||
/// Game Trails: art brushes for motion lines and impact streaks (original game HUD / VFX art).
|
||||
fn game_trails() -> BrushLibrary {
|
||||
let speed = {
|
||||
let n = 32;
|
||||
let half = |x: f64| 2.2 * (1.0 - x / 100.0).powf(1.2).max(0.08);
|
||||
let xs = |i: usize| 100.0 * i as f64 / n as f64;
|
||||
let mut pts: Vec<Point> = (0..=n).map(xs).map(|x| Point::new(x, -half(x))).collect();
|
||||
pts.extend((0..n).rev().map(xs).map(|x| Point::new(x, half(x))));
|
||||
PathData::single(SubPath::polyline(&pts, true))
|
||||
};
|
||||
let dash = group(vec![
|
||||
black(shapes::rounded_rectangle(Rect::new(0.0, -1.0, 14.0, 1.0), 1.0)),
|
||||
black(shapes::rounded_rectangle(Rect::new(22.0, -1.0, 36.0, 1.0), 1.0)),
|
||||
black(shapes::rounded_rectangle(Rect::new(44.0, -1.0, 58.0, 1.0), 1.0)),
|
||||
black(shapes::rounded_rectangle(Rect::new(66.0, -1.0, 80.0, 1.0), 1.0)),
|
||||
black(shapes::rounded_rectangle(Rect::new(88.0, -1.0, 100.0, 1.0), 1.0)),
|
||||
]);
|
||||
let burst = {
|
||||
// A wedge that flares from a tip at x=0 to a wide end at x=100.
|
||||
let tip = Point::new(0.0, 0.0);
|
||||
let top = Point::new(100.0, -6.0);
|
||||
let bot = Point::new(100.0, 6.0);
|
||||
PathData::single(SubPath::polyline(&[tip, top, bot], true))
|
||||
};
|
||||
let zigzag = band(100.0, 1.8, 40, |x| {
|
||||
let t = (x / 12.5).floor();
|
||||
let local = (x / 12.5) - t;
|
||||
if (t as i32) % 2 == 0 { -3.0 + 6.0 * local } else { 3.0 - 6.0 * local }
|
||||
});
|
||||
let brushes = vec![
|
||||
art("Speed Line", black(speed), Colorization::Tints),
|
||||
art("Dash Trail", dash, Colorization::Tints),
|
||||
art("Burst Ray", black(burst), Colorization::Tints),
|
||||
art("Zigzag", black(zigzag), Colorization::Tints),
|
||||
];
|
||||
built("Game Trails", Document::new(100.0, 100.0), brushes)
|
||||
}
|
||||
|
||||
// ---------- commands ----------
|
||||
|
||||
fn builtin_info(b: &BuiltinBrushLibrary) -> LibraryInfo {
|
||||
|
||||
@@ -104,7 +104,7 @@ fn the_builtin_libraries_are_original_brushes_generated_in_code() {
|
||||
let list = run(&mut s, "brush.libraries", json!({}));
|
||||
let libs = list["libraries"].as_array().unwrap();
|
||||
let ids: Vec<&str> = libs.iter().map(|l| l["id"].as_str().unwrap()).collect();
|
||||
assert_eq!(ids, ["art-ribbons", "calligraphic-nibs", "pattern-borders", "scatter-shapes"]);
|
||||
assert_eq!(ids, ["art-ribbons", "calligraphic-nibs", "pattern-borders", "scatter-shapes", "game-trails"]);
|
||||
assert!(libs.iter().all(|l| l["category"] == "builtIn"));
|
||||
let lib = run(&mut s, "brush.library", json!({"library": "art ribbons"}));
|
||||
assert_eq!(
|
||||
@@ -112,8 +112,20 @@ fn the_builtin_libraries_are_original_brushes_generated_in_code() {
|
||||
["Notched Ribbon", "Double Line", "Wave", "Teardrop", "Striped Ribbon"]
|
||||
);
|
||||
assert_eq!(libs[0]["count"].as_u64(), Some(5));
|
||||
let trails = run(&mut s, "brush.library", json!({"library": "game-trails"}));
|
||||
assert_eq!(
|
||||
trails["brushes"].as_array().unwrap().iter().map(|b| b["name"].as_str().unwrap()).collect::<Vec<_>>(),
|
||||
["Speed Line", "Dash Trail", "Burst Ray", "Zigzag"]
|
||||
);
|
||||
assert_eq!(libs[4]["count"].as_u64(), Some(4));
|
||||
// One kind of brush per library, every brush drawing something.
|
||||
for (id, kind) in [("art-ribbons", "art"), ("calligraphic-nibs", "calligraphic"), ("pattern-borders", "pattern"), ("scatter-shapes", "scatter")] {
|
||||
for (id, kind) in [
|
||||
("art-ribbons", "art"),
|
||||
("calligraphic-nibs", "calligraphic"),
|
||||
("pattern-borders", "pattern"),
|
||||
("scatter-shapes", "scatter"),
|
||||
("game-trails", "art"),
|
||||
] {
|
||||
let (_, lib) = cmd::brushlib::library(&s, id).unwrap();
|
||||
assert!(lib.len() >= 4, "{id}");
|
||||
for b in &lib.brushes {
|
||||
|
||||
@@ -5904,6 +5904,11 @@ axis Y Axis Y ос
|
||||
User Brush Library 9 Потребителска библиотека с четки 9
|
||||
User Brush Library 10 Потребителска библиотека с четки 10
|
||||
Art Ribbons Арт ленти
|
||||
Zigzag Зигзаг
|
||||
Burst Ray Лъч на удар
|
||||
Dash Trail Пунктирна следа
|
||||
Speed Line Линия на скорост
|
||||
Game Trails Игрови следи
|
||||
Calligraphic Nibs Калиграфски писци
|
||||
Pattern Borders Бордюри с мостри
|
||||
Scatter Shapes Разсеяни фигури
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 2 and column 73.
|
@@ -5954,6 +5954,11 @@ axis Y Axis Y osa
|
||||
User Brush Library 9 Korisnička biblioteka četkica 9
|
||||
User Brush Library 10 Korisnička biblioteka četkica 10
|
||||
Art Ribbons Umjetničke trake
|
||||
Zigzag Cik-cak
|
||||
Burst Ray Zraka udara
|
||||
Dash Trail Isprekidani trag
|
||||
Speed Line Linija brzine
|
||||
Game Trails Tragovi igre
|
||||
Calligraphic Nibs Kaligrafski vrhovi
|
||||
Pattern Borders Ivice od uzoraka
|
||||
Scatter Shapes Raspršeni oblici
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 2 and column 73.
|
@@ -362,6 +362,11 @@ antiAlias Sharp Nítid
|
||||
Art Brush Options Opcions del pinzell artístic
|
||||
Art Optimized Optimitzat per a l’art
|
||||
Art Ribbons Cintes d’art
|
||||
Zigzag Zigzag
|
||||
Burst Ray Raig d’impacte
|
||||
Dash Trail Estela discontínua
|
||||
Speed Line Línia de velocitat
|
||||
Game Trails Esteles de joc
|
||||
Art using a deleted global swatch keeps its colour. L’art que utilitza una mostra global suprimida conserva el seu color.
|
||||
Artboard Tauler
|
||||
Artboard Options Opcions del tauler
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 2 and column 73.
|
@@ -6118,6 +6118,11 @@ axis Y Axis osa Y
|
||||
User Brush Library 9 Uživatelská knihovna štětců 9
|
||||
User Brush Library 10 Uživatelská knihovna štětců 10
|
||||
Art Ribbons Obrazové stuhy
|
||||
Zigzag Cikcak
|
||||
Burst Ray Paprsek nárazu
|
||||
Dash Trail Čárkovaná stopa
|
||||
Speed Line Rychlostní čára
|
||||
Game Trails Herní stopy
|
||||
Calligraphic Nibs Kaligrafická pera
|
||||
Pattern Borders Vzorkové okraje
|
||||
Scatter Shapes Rozptýlené tvary
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 2 and column 73.
|
@@ -5919,6 +5919,11 @@ axis Y Axis Y-akse
|
||||
User Brush Library 9 Brugerpenselbibliotek 9
|
||||
User Brush Library 10 Brugerpenselbibliotek 10
|
||||
Art Ribbons Kunstbånd
|
||||
Zigzag Zigzag
|
||||
Burst Ray Burststråle
|
||||
Dash Trail Streget spor
|
||||
Speed Line Hastighedslinje
|
||||
Game Trails Spilspor
|
||||
Calligraphic Nibs Kalligrafiske penne
|
||||
Pattern Borders Mønsterborter
|
||||
Scatter Shapes Spredte former
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 2 and column 73.
|
@@ -5701,6 +5701,11 @@ axis Y Axis Y-Achse
|
||||
User Brush Library 9 Benutzer-Pinsel-Bibliothek 9
|
||||
User Brush Library 10 Benutzer-Pinsel-Bibliothek 10
|
||||
Art Ribbons Bildbänder
|
||||
Zigzag Zickzack
|
||||
Burst Ray Stoßstrahl
|
||||
Dash Trail Strichelspur
|
||||
Speed Line Geschwindigkeitslinie
|
||||
Game Trails Spielspuren
|
||||
Calligraphic Nibs Kalligrafie-Federn
|
||||
Pattern Borders Musterbordüren
|
||||
Scatter Shapes Streuformen
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 2 and column 73.
|
@@ -6069,6 +6069,11 @@ axis Y Axis Άξονας Y
|
||||
User Brush Library 9 Βιβλιοθήκη πινέλων χρήστη 9
|
||||
User Brush Library 10 Βιβλιοθήκη πινέλων χρήστη 10
|
||||
Art Ribbons Γραφικές κορδέλες
|
||||
Zigzag Ζιγκζάγκ
|
||||
Burst Ray Ακτίνα κρούσης
|
||||
Dash Trail Διακεκομμένο ίχνος
|
||||
Speed Line Γραμμή ταχύτητας
|
||||
Game Trails Ίχνη παιχνιδιού
|
||||
Calligraphic Nibs Καλλιγραφικές πένες
|
||||
Pattern Borders Περιθώρια μοτίβου
|
||||
Scatter Shapes Σχήματα διασποράς
|
||||
|
||||
|
Can't render this file because it is too large.
|
@@ -6060,6 +6060,11 @@ axis Y Axis Eje Y
|
||||
User Brush Library 9 Biblioteca de pinceles del usuario 9
|
||||
User Brush Library 10 Biblioteca de pinceles del usuario 10
|
||||
Art Ribbons Cintas de ilustración
|
||||
Zigzag Zigzag
|
||||
Burst Ray Rayo de impacto
|
||||
Dash Trail Estela discontinua
|
||||
Speed Line Línea de velocidad
|
||||
Game Trails Estelas de juego
|
||||
Calligraphic Nibs Plumillas caligráficas
|
||||
Pattern Borders Bordes de motivo
|
||||
Scatter Shapes Formas de dispersión
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 2 and column 73.
|
@@ -6148,6 +6148,11 @@ axis Y Axis Y-akseli
|
||||
User Brush Library 9 Käyttäjän sivellinkirjasto 9
|
||||
User Brush Library 10 Käyttäjän sivellinkirjasto 10
|
||||
Art Ribbons Kuvitusnauhat
|
||||
Zigzag Siksak
|
||||
Burst Ray Iskusäde
|
||||
Dash Trail Katkoviiva
|
||||
Speed Line Nopeusviiva
|
||||
Game Trails Pelijäljet
|
||||
Calligraphic Nibs Kalligrafiakärjet
|
||||
Pattern Borders Kuvioreunukset
|
||||
Scatter Shapes Sirontamuodot
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 2 and column 73.
|
@@ -6113,6 +6113,11 @@ axis Y Axis Axe Y
|
||||
User Brush Library 9 Bibliothèque de formes utilisateur 9
|
||||
User Brush Library 10 Bibliothèque de formes utilisateur 10
|
||||
Art Ribbons Rubans d'illustration
|
||||
Zigzag Zigzag
|
||||
Burst Ray Rayon d’impact
|
||||
Dash Trail Traînée tiretée
|
||||
Speed Line Ligne de vitesse
|
||||
Game Trails Traînées de jeu
|
||||
Calligraphic Nibs Plumes calligraphiques
|
||||
Pattern Borders Bordures de motif
|
||||
Scatter Shapes Formes de dispersion
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 2 and column 73.
|
@@ -421,6 +421,11 @@ antiAlias Sharp शार्प
|
||||
Art Brush Options आर्ट ब्रश ऑप्शन्स
|
||||
Art Optimized आर्टवर्क के लिए अनुकूलित
|
||||
Art Ribbons आर्ट रिबन
|
||||
Zigzag ज़िगज़ैग
|
||||
Burst Ray बर्स्ट रे
|
||||
Dash Trail डैश ट्रेल
|
||||
Speed Line स्पीड लाइन
|
||||
Game Trails गेम ट्रेल्स
|
||||
Art using a deleted global swatch keeps its colour. हटाए गए ग्लोबल स्वॉच वाला आर्टवर्क अपना रंग बनाए रखता है।
|
||||
Artboard आर्टबोर्ड
|
||||
Artboard {n} of {total} {total} में से आर्टबोर्ड {n}
|
||||
|
||||
|
Can't render this file because it is too large.
|
@@ -6101,6 +6101,11 @@ axis Y Axis Y tengely
|
||||
User Brush Library 9 Felhasználói ecsetkönyvtár 9
|
||||
User Brush Library 10 Felhasználói ecsetkönyvtár 10
|
||||
Art Ribbons Grafikus szalagok
|
||||
Zigzag Cikkcakk
|
||||
Burst Ray Ütéssugár
|
||||
Dash Trail Szaggatott nyom
|
||||
Speed Line Sebességvonal
|
||||
Game Trails Játéknyomok
|
||||
Calligraphic Nibs Kalligrafikus tollhegyek
|
||||
Pattern Borders Mintázatszegélyek
|
||||
Scatter Shapes Szórt alakzatok
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 2 and column 73.
|
@@ -5919,6 +5919,11 @@ axis Y Axis Sumbu Y
|
||||
User Brush Library 9 Pustaka kuas pengguna 9
|
||||
User Brush Library 10 Pustaka kuas pengguna 10
|
||||
Art Ribbons Pita seni
|
||||
Zigzag Zigzag
|
||||
Burst Ray Sinar ledakan
|
||||
Dash Trail Jejak putus-putus
|
||||
Speed Line Garis kecepatan
|
||||
Game Trails Jejak game
|
||||
Calligraphic Nibs Pena kaligrafi
|
||||
Pattern Borders Bingkai pola
|
||||
Scatter Shapes Bentuk sebar
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 2315 and column 5.
|
@@ -5735,6 +5735,11 @@ axis Y Axis Asse Y
|
||||
User Brush Library 9 Libreria pennelli utente 9
|
||||
User Brush Library 10 Libreria pennelli utente 10
|
||||
Art Ribbons Nastri grafici
|
||||
Zigzag Zigzag
|
||||
Burst Ray Raggio d’impatto
|
||||
Dash Trail Scia tratteggiata
|
||||
Speed Line Linea di velocità
|
||||
Game Trails Scia di gioco
|
||||
Calligraphic Nibs Pennini calligrafici
|
||||
Pattern Borders Bordi a motivo
|
||||
Scatter Shapes Forme a dispersione
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 2 and column 73.
|
@@ -5800,6 +5800,11 @@ axis Y Axis Y 軸
|
||||
User Brush Library 9 ユーザーブラシライブラリ 9
|
||||
User Brush Library 10 ユーザーブラシライブラリ 10
|
||||
Art Ribbons アートリボン
|
||||
Zigzag ジグザグ
|
||||
Burst Ray バーストレイ
|
||||
Dash Trail ダッシュトレイル
|
||||
Speed Line スピードライン
|
||||
Game Trails ゲームトレイル
|
||||
Calligraphic Nibs カリグラフィペン先
|
||||
Pattern Borders パターンボーダー
|
||||
Scatter Shapes 散布シェイプ
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 2 and column 73.
|
@@ -6041,6 +6041,11 @@ axis Y Axis Y ღერძი
|
||||
User Brush Library 9 მომხმარებლის ფუნჯების ბიბლიოთეკა 9
|
||||
User Brush Library 10 მომხმარებლის ფუნჯების ბიბლიოთეკა 10
|
||||
Art Ribbons ნახატის ლენტები
|
||||
Zigzag ზიგზაგი
|
||||
Burst Ray დარტყმის სხივი
|
||||
Dash Trail წყვეტილი კვალი
|
||||
Speed Line სიჩქარის ხაზი
|
||||
Game Trails თამაშის კვალი
|
||||
Calligraphic Nibs კალიგრაფიული წვერები
|
||||
Pattern Borders პატერნის ბორდიურები
|
||||
Scatter Shapes გაბნეული ფიგურები
|
||||
|
||||
|
Can't render this file because it is too large.
|
@@ -5696,6 +5696,11 @@ axis Y Axis Y축
|
||||
User Brush Library 9 사용자 브러시 라이브러리 9
|
||||
User Brush Library 10 사용자 브러시 라이브러리 10
|
||||
Art Ribbons 아트 리본
|
||||
Zigzag 지그재그
|
||||
Burst Ray 버스트 레이
|
||||
Dash Trail 대시 트레일
|
||||
Speed Line 스피드 라인
|
||||
Game Trails 게임 트레일
|
||||
Calligraphic Nibs 서예 펜촉
|
||||
Pattern Borders 패턴 테두리
|
||||
Scatter Shapes 흩뿌리기 모양
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 2 and column 73.
|
@@ -5970,6 +5970,11 @@ axis Y Axis Y-as
|
||||
User Brush Library 9 Penseelbibliotheek van gebruiker 9
|
||||
User Brush Library 10 Penseelbibliotheek van gebruiker 10
|
||||
Art Ribbons Illustratielinten
|
||||
Zigzag Zigzag
|
||||
Burst Ray Inslagstraal
|
||||
Dash Trail Streepspoor
|
||||
Speed Line Snelheidslijn
|
||||
Game Trails Spelsporen
|
||||
Calligraphic Nibs Kalligrafische penpunten
|
||||
Pattern Borders Patroonranden
|
||||
Scatter Shapes Strooivormen
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 2 and column 73.
|
@@ -5972,6 +5972,11 @@ axis Y Axis Oś Y
|
||||
User Brush Library 9 Biblioteka pędzli użytkownika 9
|
||||
User Brush Library 10 Biblioteka pędzli użytkownika 10
|
||||
Art Ribbons Wstęgi artystyczne
|
||||
Zigzag Zygzak
|
||||
Burst Ray Promień uderzenia
|
||||
Dash Trail Ślad kreskowany
|
||||
Speed Line Linia prędkości
|
||||
Game Trails Ślady gry
|
||||
Calligraphic Nibs Stalówki kaligraficzne
|
||||
Pattern Borders Obramowania wzorków
|
||||
Scatter Shapes Kształty rozproszone
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 2 and column 73.
|
@@ -6033,6 +6033,11 @@ axis Y Axis Eixo Y
|
||||
User Brush Library 9 Biblioteca de Pincéis do Usuário 9
|
||||
User Brush Library 10 Biblioteca de Pincéis do Usuário 10
|
||||
Art Ribbons Fitas de Arte
|
||||
Zigzag Zigue-zague
|
||||
Burst Ray Raio de impacto
|
||||
Dash Trail Rastro tracejado
|
||||
Speed Line Linha de velocidade
|
||||
Game Trails Rastros de jogo
|
||||
Calligraphic Nibs Penas Caligráficas
|
||||
Pattern Borders Bordas de Padrão
|
||||
Scatter Shapes Formas de Dispersão
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 6 and column 47.
|
@@ -5729,6 +5729,11 @@ axis Y Axis Ось Y
|
||||
User Brush Library 9 Пользовательская библиотека кистей 9
|
||||
User Brush Library 10 Пользовательская библиотека кистей 10
|
||||
Art Ribbons Художественные ленты
|
||||
Zigzag Зигзаг
|
||||
Burst Ray Ударный луч
|
||||
Dash Trail Пунктирный след
|
||||
Speed Line Линия скорости
|
||||
Game Trails Игровые следы
|
||||
Calligraphic Nibs Каллиграфические перья
|
||||
Pattern Borders Узорные каймы
|
||||
Scatter Shapes Рассеянные фигуры
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 2 and column 73.
|
@@ -6141,6 +6141,11 @@ axis Y Axis Y-axel
|
||||
User Brush Library 9 Användarbibliotek för penslar 9
|
||||
User Brush Library 10 Användarbibliotek för penslar 10
|
||||
Art Ribbons Konstband
|
||||
Zigzag Sicksack
|
||||
Burst Ray Stötstråle
|
||||
Dash Trail Streckat spår
|
||||
Speed Line Hastighetslinje
|
||||
Game Trails Spår från spel
|
||||
Calligraphic Nibs Kalligrafiska pennspetsar
|
||||
Pattern Borders Mönsterbårder
|
||||
Scatter Shapes Spridningsformer
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 5 and column 25.
|
@@ -6074,6 +6074,11 @@ axis Y Axis Y ekseni
|
||||
User Brush Library 9 Kullanıcı Fırça Kitaplığı 9
|
||||
User Brush Library 10 Kullanıcı Fırça Kitaplığı 10
|
||||
Art Ribbons Sanat Şeritleri
|
||||
Zigzag Zigzag
|
||||
Burst Ray Darbe ışını
|
||||
Dash Trail Kesik iz
|
||||
Speed Line Hız çizgisi
|
||||
Game Trails Oyun izleri
|
||||
Calligraphic Nibs Kaligrafi Uçları
|
||||
Pattern Borders Desen Kenarlıkları
|
||||
Scatter Shapes Dağılım Şekilleri
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 5 and column 25.
|
@@ -5715,6 +5715,11 @@ axis Y Axis Вісь Y
|
||||
User Brush Library 9 Користувацька бібліотека пензлів 9
|
||||
User Brush Library 10 Користувацька бібліотека пензлів 10
|
||||
Art Ribbons Художні стрічки
|
||||
Zigzag Зигзаг
|
||||
Burst Ray Ударний промінь
|
||||
Dash Trail Пунктирний слід
|
||||
Speed Line Лінія швидкості
|
||||
Game Trails Ігрові сліди
|
||||
Calligraphic Nibs Каліграфічні пера
|
||||
Pattern Borders Візерункові облямівки
|
||||
Scatter Shapes Розсіяні фігури
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 182 and column 5.
|
@@ -5716,6 +5716,11 @@ axis Y Axis Trục Y
|
||||
User Brush Library 9 Thư viện cọ người dùng 9
|
||||
User Brush Library 10 Thư viện cọ người dùng 10
|
||||
Art Ribbons Dải băng nghệ thuật
|
||||
Zigzag Zigzag
|
||||
Burst Ray Tia va chạm
|
||||
Dash Trail Vệt đứt đoạn
|
||||
Speed Line Đường tốc độ
|
||||
Game Trails Vệt game
|
||||
Calligraphic Nibs Ngòi bút thư pháp
|
||||
Pattern Borders Viền họa tiết
|
||||
Scatter Shapes Hình phân tán
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 204 and column 5.
|
@@ -5956,6 +5956,11 @@ axis Y Axis Y 轴
|
||||
User Brush Library 9 用户画笔库 9
|
||||
User Brush Library 10 用户画笔库 10
|
||||
Art Ribbons 艺术丝带
|
||||
Zigzag 锯齿
|
||||
Burst Ray 冲击射线
|
||||
Dash Trail 虚线轨迹
|
||||
Speed Line 速度线
|
||||
Game Trails 游戏轨迹
|
||||
Calligraphic Nibs 书法笔尖
|
||||
Pattern Borders 图案边框
|
||||
Scatter Shapes 散布形状
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 2 and column 73.
|
@@ -5753,6 +5753,11 @@ axis Y Axis Y 軸
|
||||
User Brush Library 9 使用者筆刷資料庫 9
|
||||
User Brush Library 10 使用者筆刷資料庫 10
|
||||
Art Ribbons 藝術緞帶
|
||||
Zigzag 鋸齒
|
||||
Burst Ray 衝擊射線
|
||||
Dash Trail 虛線軌跡
|
||||
Speed Line 速度線
|
||||
Game Trails 遊戲軌跡
|
||||
Calligraphic Nibs 書法筆尖
|
||||
Pattern Borders 圖樣邊框
|
||||
Scatter Shapes 散佈形狀
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 6 and column 47.
|
@@ -127,7 +127,7 @@ fn the_window_menu_and_the_brushes_panel_open_brush_libraries() {
|
||||
let under = |e: &crate::menus::MenuEntry| e.path == ["Window", "Brush Libraries"];
|
||||
let opened: Vec<_> =
|
||||
entries.iter().filter(|e| under(e) && e.command.as_deref() == Some("window.brushLibrary")).map(|e| e.params["library"].clone()).collect();
|
||||
assert_eq!(opened, [json!("art-ribbons"), json!("calligraphic-nibs"), json!("pattern-borders"), json!("scatter-shapes")]);
|
||||
assert_eq!(opened, [json!("art-ribbons"), json!("calligraphic-nibs"), json!("pattern-borders"), json!("scatter-shapes"), json!("game-trails")]);
|
||||
let enabled = |cmd: &str| entries.iter().find(|e| under(e) && e.command.as_deref() == Some(cmd)).map(|e| e.enabled);
|
||||
assert_eq!(enabled("window.brushLibrary.other"), Some(true));
|
||||
assert_eq!(enabled("ui.saveBrushLibrary"), Some(true), "a new document has the default brushes");
|
||||
|
||||
+7
-5
@@ -1,6 +1,6 @@
|
||||
# Gaps
|
||||
|
||||
> **Last reviewed:** 2026-10-10 · **Last updated:** 2026-11-10 · **Change:** minor (Edit › Edit Custom Dictionary…: its dialog adds, deletes and changes the custom dictionary's words, #4936; previously minor: docs tidy-up, no content change: stray notes at the top moved into the revision table; scores and estimates unchanged; previously minor: G5: built-in Game HUD graphic style library; estimate 10–20 → 9–19 h; previously minor: G5: built-in Map Markers symbol library; estimate 11–21 → 10–20 h; previously minor: right-click on type: Spelling › Auto Spell Check, with its check mark, #4936; previously minor: right-click on a word Auto Spell Check underlined: its suggestions, Ignore All and Add to Dictionary, #4936; previously minor: G2: Effect Gallery thumbnails and in-dialog preview; estimate 1–2 h → 0; Auto Spell Check: `edit.autoSpellCheck` underlines the unknown words, #4936; previously minor: PDF editable import preserves authored ActualText once, including empty/nested spans and authored ordering (#6165); cross-line/style layout remains approximate; scores and estimates unchanged; PDF marked-text export (#6309): compatible glyphs stay on one layout line with per-glyph offsets; scores and estimates unchanged; G5: built-in UI Frames symbol library with default 9-slice; estimate 11–21 h; previously minor: G5: dynamic symbol part on-canvas takes opacity, blend, gradient and pattern; docs Overlap/auto-corners sync; estimate 12–22 h; previously minor: interim macOS cursor delivery, #2292; native validation pending; scores and estimates unchanged; previously minor: Control bar › Snapping includes the existing Snap to Glyph and Alignment Guides toggles (#6164); scores and estimates unchanged; previously minor: G5 docs: Art brush Overlap, Pattern brush auto corners and Global Edit Shift-click leave-out moved from Missing to Done (code already shipped); previously minor: custom dictionary and Ignore All: `text.spelling.addWord`, `removeWord`, `changeWord`, `dictionary` and `ignoreAll`, #4936; previously minor: EPS import: embedded fonts (composite, Type 42, CID-keyed, Type 1, CFF FontSet) draw their glyphs; spell check engine: `text.spelling.check` and `text.spelling.suggest` on craft-proof, #4936; previously minor: floating tab groups collapse into the side icon rail and opened rail panels fold back into it, #5925 in part; G9: EPS gradients drawn as abutting strips import as one gradient, without seams; Tools stays beside the canvas with left-side panels; new gradients follow document color mode; Selection QoL: marquee modes and visible feedback, #5313; #3380 deletion-only review follow-up: independent survivors keep gradient placement, owned subpaths avoid discarded copies, and contracts/status/evidence are clarified; endpoint highlighting remains open; scores and estimates unchanged; Indian-language hyphenation review and license allowlist, #4947; opening a slow file shows a progress window, part of #5930; Hindi catalog and contributor loanword preferences; agent wording pass complete; wider native proofreading welcome; an image zoomed in on is separated, colorized or proofed only where it shows (#4155); scores and estimates unchanged; a document's first frame renders on the render worker, so opening a heavy file no longer freezes the window; scores and estimates unchanged; large images in CMYK documents are shrunk before they are separated into ink planes (#4155); scores and estimates unchanged; `.ai` paths with a Calligraphic brush open brushed, with the 6D Art Pen's channels, and Windows reads the pen's tilt and barrel rotation, #372; scores and estimates unchanged; Compound Shapes add-on, beyond Illustrator; scores and estimates unchanged; Contour add-on, beyond Illustrator; scores and estimates unchanged; a slow first frame is waited for instead of restarting without the graphics adapter, and the menu bar no longer waits for the installed fonts' scan; scores and estimates unchanged) · **Target:** Adobe Illustrator 2026 (30.x)
|
||||
> **Last reviewed:** 2026-10-10 · **Last updated:** 2026-11-10 · **Change:** minor (G5: built-in Game Trails brush library; estimate 9–19 → 8–18 h; previously minor: Edit › Edit Custom Dictionary…: its dialog adds, deletes and changes the custom dictionary's words, #4936; previously minor: docs tidy-up, no content change: stray notes at the top moved into the revision table; scores and estimates unchanged; previously minor: G5: built-in Game HUD graphic style library; estimate 10–20 → 9–19 h; previously minor: G5: built-in Map Markers symbol library; estimate 11–21 → 10–20 h; previously minor: right-click on type: Spelling › Auto Spell Check, with its check mark, #4936; previously minor: right-click on a word Auto Spell Check underlined: its suggestions, Ignore All and Add to Dictionary, #4936; previously minor: G2: Effect Gallery thumbnails and in-dialog preview; estimate 1–2 h → 0; Auto Spell Check: `edit.autoSpellCheck` underlines the unknown words, #4936; previously minor: PDF editable import preserves authored ActualText once, including empty/nested spans and authored ordering (#6165); cross-line/style layout remains approximate; scores and estimates unchanged; PDF marked-text export (#6309): compatible glyphs stay on one layout line with per-glyph offsets; scores and estimates unchanged; G5: built-in UI Frames symbol library with default 9-slice; estimate 11–21 h; previously minor: G5: dynamic symbol part on-canvas takes opacity, blend, gradient and pattern; docs Overlap/auto-corners sync; estimate 12–22 h; previously minor: interim macOS cursor delivery, #2292; native validation pending; scores and estimates unchanged; previously minor: Control bar › Snapping includes the existing Snap to Glyph and Alignment Guides toggles (#6164); scores and estimates unchanged; previously minor: G5 docs: Art brush Overlap, Pattern brush auto corners and Global Edit Shift-click leave-out moved from Missing to Done (code already shipped); previously minor: custom dictionary and Ignore All: `text.spelling.addWord`, `removeWord`, `changeWord`, `dictionary` and `ignoreAll`, #4936; previously minor: EPS import: embedded fonts (composite, Type 42, CID-keyed, Type 1, CFF FontSet) draw their glyphs; spell check engine: `text.spelling.check` and `text.spelling.suggest` on craft-proof, #4936; previously minor: floating tab groups collapse into the side icon rail and opened rail panels fold back into it, #5925 in part; G9: EPS gradients drawn as abutting strips import as one gradient, without seams; Tools stays beside the canvas with left-side panels; new gradients follow document color mode; Selection QoL: marquee modes and visible feedback, #5313; #3380 deletion-only review follow-up: independent survivors keep gradient placement, owned subpaths avoid discarded copies, and contracts/status/evidence are clarified; endpoint highlighting remains open; scores and estimates unchanged; Indian-language hyphenation review and license allowlist, #4947; opening a slow file shows a progress window, part of #5930; Hindi catalog and contributor loanword preferences; agent wording pass complete; wider native proofreading welcome; an image zoomed in on is separated, colorized or proofed only where it shows (#4155); scores and estimates unchanged; a document's first frame renders on the render worker, so opening a heavy file no longer freezes the window; scores and estimates unchanged; large images in CMYK documents are shrunk before they are separated into ink planes (#4155); scores and estimates unchanged; `.ai` paths with a Calligraphic brush open brushed, with the 6D Art Pen's channels, and Windows reads the pen's tilt and barrel rotation, #372; scores and estimates unchanged; Compound Shapes add-on, beyond Illustrator; scores and estimates unchanged; Contour add-on, beyond Illustrator; scores and estimates unchanged; a slow first frame is waited for instead of restarting without the graphics adapter, and the menu bar no longer waits for the installed fonts' scan; scores and estimates unchanged) · **Target:** Adobe Illustrator 2026 (30.x)
|
||||
|
||||
## Feature submission evidence
|
||||
|
||||
@@ -631,8 +631,9 @@ macOS cursor delivery (#2292) is narrowed to a native host adapter using the exi
|
||||
libraries ([public source](https://helpx.adobe.com/illustrator/desktop/paint-and-fill/apply-and-edit-strokes/create-new-brush-libraries.html),
|
||||
[import](https://helpx.adobe.com/illustrator/desktop/paint-and-fill/apply-and-edit-strokes/import-brushes-from-brush-libraries-or-other-files.html)):
|
||||
Window › Brush Libraries and the Brushes panel's Brush Libraries Menu open each library in a library panel of
|
||||
its own (four original libraries generated in code: Art Ribbons, Calligraphic Nibs, Pattern Borders, Scatter
|
||||
Shapes; User Defined; Other Library… reads the brushes of any document VectorCraft opens); a click adds a
|
||||
its own (five original libraries generated in code: Art Ribbons, Calligraphic Nibs, Pattern Borders, Scatter
|
||||
Shapes and Game Trails; User Defined; Other Library… reads the brushes of any document VectorCraft opens); a
|
||||
click adds a
|
||||
brush to the document's Brushes with the patterns, symbols and other resources its art uses, as one undo
|
||||
step (applied to the selected paths in the same step), dragging one onto a path adds and applies it and
|
||||
dragging one onto the Brushes panel adds it; Save Brushes / Save Brush Library writes the document's brushes
|
||||
@@ -648,11 +649,11 @@ macOS cursor delivery (#2292) is narrowed to a native host adapter using the exi
|
||||
graphic style libraries (Window › Graphic Style Libraries; seven original libraries generated in code, including
|
||||
Game HUD with Health Fill, Mana Glow, Damage Flash, Quest Outline, Coin Shine and Boss Alert; User Defined; Other
|
||||
Library…; `graphicStyle.libraries`, `graphicStyle.addFromLibrary`).
|
||||
- **Missing:** more built-in brush libraries (and further graphic-style libraries beyond the seven shipped, and further symbol libraries beyond Basic
|
||||
- **Missing:** more built-in brush libraries beyond the five shipped (and further graphic-style libraries beyond the seven shipped, and further symbol libraries beyond Basic
|
||||
Shapes, UI Frames and Map Markers; original, generated in code, never Adobe's); dynamic symbols' `.ai` read and write;
|
||||
Global Edit of groups holding type or images, rotated copies as matches and highlighting matches before the
|
||||
start; 9-slice guides outside the symbol's art (a dragged guide stops at the art's edge).
|
||||
- **Estimate:** 9–19 h.
|
||||
- **Estimate:** 8–18 h.
|
||||
|
||||
## G3 3D and Materials
|
||||
|
||||
@@ -857,6 +858,7 @@ trap, and the defaults (0.25 pt, 100%, 40%) are VectorCraft's own, the pages giv
|
||||
| 2026-11-10 | minor | G4 type: a right-click on type has Spelling › Auto Spell Check, checked while it is on, #4936; the Check Spelling and Edit Custom Dictionary dialogs remain; scores and estimates unchanged. |
|
||||
| 2026-11-10 | minor | G4 type: a right-click on a word Auto Spell Check underlined lists its suggestions, Ignore All and Add to Dictionary, #4936; the Check Spelling and Edit Custom Dictionary dialogs remain; scores and estimates unchanged. |
|
||||
| 2026-11-10 | minor | G2: the Effect Gallery shows a thumbnail of each filter and a preview area inside the dialog (an original landscape drawing passed through the filter). Estimate 1–2 h → 0. The canvas preview and one-undo OK are unchanged. |
|
||||
| 2026-11-09 | minor | G5: built-in Game Trails brush library (Speed Line, Dash Trail, Burst Ray, Zigzag); Missing trimmed; estimate 11–21 → 10–20 h. |
|
||||
| 2026-11-09 | minor | G4 type: Auto Spell Check (`edit.autoSpellCheck`) underlines the unknown words of the visible type, #4936; the Check Spelling and Edit Custom Dictionary dialogs and the right-click Spelling menu remain; scores and estimates unchanged. |
|
||||
| 2026-11-09 | minor | G5: built-in UI Frames symbol library (Panel, Button, Bar with default 9-slice); Missing trimmed; estimate 12–22 → 11–21 h. |
|
||||
| 2026-11-09 | minor | G5: Direct Selection of a dynamic instance part takes opacity, blend, gradient and pattern fill/stroke; Art brush Overlap and Pattern auto corners documented Done; estimate 15–25 → 12–22 h. |
|
||||
|
||||
+4
-4
@@ -2845,10 +2845,10 @@ error.
|
||||
|
||||
## Brush libraries
|
||||
|
||||
Brush libraries are read-only sets of brushes: four generated in code (Art Ribbons, Calligraphic Nibs, Pattern
|
||||
Borders, Scatter Shapes), the `.vectorcraft` files in the user library folder of the desktop app (User Defined) and
|
||||
the brushes of any document loaded with `brush.loadLibrary` (a document without brushes of its own has the default
|
||||
ones). `brush.libraries` lists them (`id`, `name`, `category`: `builtIn`, `user` or `loaded`, `count`) and
|
||||
Brush libraries are read-only sets of brushes: five generated in code (Art Ribbons, Calligraphic Nibs, Pattern
|
||||
Borders, Scatter Shapes, Game Trails), the `.vectorcraft` files in the user library folder of the desktop app (User
|
||||
Defined) and the brushes of any document loaded with `brush.loadLibrary` (a document without brushes of its own has
|
||||
the default ones). `brush.libraries` lists them (`id`, `name`, `category`: `builtIn`, `user` or `loaded`, `count`) and
|
||||
`brush.library {library}` returns one's brushes (`name`, `type`; `library` is an id or a name).
|
||||
`brush.addFromLibrary {library, name? | names?}` copies brushes into the document's Brushes as one undo step (no
|
||||
names: the whole library), with the resources their art uses: patterns, symbols, swatches (`swatchConflict` as for
|
||||
|
||||
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user