collective

Browse / github.com/storytold/vectorcraft / patch

Type : restore placeholder text

Type : restore placeholder text <!-- This is an auto-generated comment: release notes by coderabbit.ai --> <!-- coderabbit-ai-generated:v1 --> ## Summary by CodeRabbit * **Updates** * The type menu now displays the standard Lorem ipsum passage as its sample placeholder text. Filling regular text with a placeholder uses “Lorem ipsum,” while area text continues to use the passage. * Added Majed Alaejem to the contributor list. <!-- end of auto-generated comment: release notes by coderabbit.ai -->

Status
open
Score
0.00
Adopters
0 other operators
Author
MajedAlaejem (imported from pull request #3782, open)
Base
e2a8280134a7c3c9b4e117ee668b9b3e7eb3e315
Size
+8 −6 in 2 files
Review
pending
Shared
2026-10-28
Id
bef8c1165ae6c9c3c67e87e0

How it went

No other operator has reported using it yet.

Diff

raw · contributors/people.toml crates/engine/src/cmd/typemenu.rs

diff --git a/contributors/people.toml b/contributors/people.toml--- a/contributors/people.toml+++ b/contributors/people.toml@@ -160,6 +160,10 @@ real_name = "Angelo Bernardini" display_name = "Angelo Bernardini" sync_github_name = false +[people.MajedAlaejem]+real_name = "Majed Alaejem"+sync_github_name = true+ [people.DCaioP] real_name = "Caio Pontes Magalhães" display_name = "Caio Pontes"diff --git a/crates/engine/src/cmd/typemenu.rs b/crates/engine/src/cmd/typemenu.rs--- a/crates/engine/src/cmd/typemenu.rs+++ b/crates/engine/src/cmd/typemenu.rs@@ -490,10 +490,8 @@ fn path_options(s: &mut Session, p: &Value) -> Result<Value> {  // ---------- placeholder / insert ---------- -/// VectorCraft's own placeholder copy (not the classical Latin text).-pub(crate) const PLACEHOLDER: &str = "Sample copy flows here while the layout takes shape. Swap these words for real text once the \-design is settled. Every line is only a stand-in that shows size, rhythm and colour. Headlines, captions and body text all \-start as rough drafts like this one. Keep going until the frame is full and the page feels balanced.";+/// VectorCraft's placeholder copy.+pub(crate) const PLACEHOLDER: &str = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.";  fn fill_placeholder(s: &mut Session, p: &Value) -> Result<Value> {     let ids = texts(s, p, "type.fillPlaceholder")?;@@ -514,7 +512,7 @@ fn fill_placeholder(s: &mut Session, p: &Value) -> Result<Value> { }  /// Replace `t`'s text with placeholder text in its first style: area type is filled to its frame,-/// other type gets a sentence (Type › Fill with Placeholder Text, and new type with Preferences ›+/// other type gets "Lorem ipsum" (Type › Fill with Placeholder Text, and new type with Preferences › /// Type › Fill New Type Objects With Placeholder Text). pub(crate) fn fill_with_placeholder(t: &mut TextObject) {     let style = t.first_style();@@ -538,7 +536,7 @@ pub(crate) fn fill_with_placeholder(t: &mut TextObject) {             }             out         }-        _ => PLACEHOLDER.split(". ").next().unwrap_or(PLACEHOLDER).to_string() + ".",+        _ => "Lorem ipsum".to_string(),     };     t.runs = vec![TextRun { text, style, inline: None }];     refresh_bounds(t);