commit d65e91b1250a2db0a54ae2bdaa07dd7e25023ea7
parent 8a9a0717f72f1b16c3086a99725c049560ddaf9d
Author: Bradley Gannon <bradley@bradleygannon.com>
Date: Fri, 13 Mar 2026 23:54:58 -0400
Add words from original kit, add dragging and panning
Diffstat:
8 files changed, 2721 insertions(+), 64 deletions(-)
diff --git a/Cargo.lock b/Cargo.lock
@@ -688,6 +688,7 @@ dependencies = [
"egui",
"log",
"serde",
+ "serde_json",
"wasm-bindgen-futures",
"web-sys",
]
@@ -973,6 +974,12 @@ dependencies = [
]
[[package]]
+name = "itoa"
+version = "1.0.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "92ecc6618181def0457392ccd0ee51198e065e016d1d527a7ac1b6dc7c1f09d2"
+
+[[package]]
name = "jni"
version = "0.21.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1851,6 +1858,19 @@ dependencies = [
]
[[package]]
+name = "serde_json"
+version = "1.0.149"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86"
+dependencies = [
+ "itoa",
+ "memchr",
+ "serde",
+ "serde_core",
+ "zmij",
+]
+
+[[package]]
name = "shlex"
version = "1.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2828,6 +2848,12 @@ dependencies = [
]
[[package]]
+name = "zmij"
+version = "1.0.21"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b8848ee67ecc8aedbaf3e4122217aff892639231befc6a1b58d29fff4c2cabaa"
+
+[[package]]
name = "zune-core"
version = "0.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
diff --git a/backend/src/main.rs b/backend/src/main.rs
@@ -1,2 +1 @@
-fn main() {
-}
+fn main() {}
diff --git a/common/src/lib.rs b/common/src/lib.rs
@@ -0,0 +1 @@
+
diff --git a/frontend/Cargo.toml b/frontend/Cargo.toml
@@ -17,3 +17,4 @@ log = "0.4.27"
serde = { version = "1.0.219", features = ["derive"] }
wasm-bindgen-futures = "0.4.50"
web-sys = "0.3.70"
+serde_json = "1.0.149"
diff --git a/frontend/src/app.rs b/frontend/src/app.rs
@@ -1,80 +1,76 @@
+use egui::{Area, Color32, CornerRadius, Frame, Id, Label, Margin, Pos2, Rect, Vec2};
+use web_sys::js_sys::Math::random;
+
#[derive(serde::Deserialize, serde::Serialize)]
-#[serde(default)]
-pub struct TemplateApp {
- label: String,
+struct Magnet {
+ id: Id,
+ text: String,
+ position: Pos2,
+}
- #[serde(skip)]
- value: f32,
+#[derive(serde::Deserialize, serde::Serialize)]
+#[serde(default)]
+pub struct PoetryMagnetsOnlineApp {
+ pan_offset: Pos2,
+ magnets: Vec<Magnet>,
}
-impl Default for TemplateApp {
+impl Default for PoetryMagnetsOnlineApp {
fn default() -> Self {
+ let mut magnets =
+ serde_json::from_str::<Vec<Magnet>>(include_str!("../words.json")).unwrap_or_default();
+ for magnet in magnets.iter_mut() {
+ magnet.position = Pos2::new((random() * 1000.) as f32, (random() * 1000.) as f32);
+ }
Self {
- label: "Hello World!".to_owned(),
- value: 2.7,
+ pan_offset: Pos2::new(0., 0.),
+ magnets,
}
}
}
-impl TemplateApp {
- pub fn new(cc: &eframe::CreationContext<'_>) -> Self {
- if let Some(storage) = cc.storage {
- eframe::get_value(storage, eframe::APP_KEY).unwrap_or_default()
- } else {
- Default::default()
- }
+impl PoetryMagnetsOnlineApp {
+ pub fn new(_cc: &eframe::CreationContext<'_>) -> Self {
+ PoetryMagnetsOnlineApp::default()
}
}
-impl eframe::App for TemplateApp {
+impl eframe::App for PoetryMagnetsOnlineApp {
fn save(&mut self, storage: &mut dyn eframe::Storage) {
eframe::set_value(storage, eframe::APP_KEY, self);
}
fn update(&mut self, ctx: &egui::Context, _frame: &mut eframe::Frame) {
- egui::TopBottomPanel::top("top_panel").show(ctx, |ui| {
- egui::MenuBar::new().ui(ui, |ui| {
- egui::widgets::global_theme_preference_buttons(ui);
- });
- });
-
egui::CentralPanel::default().show(ctx, |ui| {
- ui.heading("eframe template");
-
- ui.horizontal(|ui| {
- ui.label("Write something: ");
- ui.text_edit_singleline(&mut self.label);
- });
-
- ui.add(egui::Slider::new(&mut self.value, 0.0..=10.0).text("value"));
- if ui.button("Increment").clicked() {
- self.value += 1.0;
+ let response = ui.allocate_rect(
+ ui.available_rect_before_wrap(),
+ egui::Sense::click_and_drag(),
+ );
+ if response.dragged() {
+ self.pan_offset += response.drag_delta();
}
-
- ui.separator();
-
- ui.add(egui::github_link_file!(
- "https://github.com/emilk/eframe_template/blob/main/",
- "Source code."
- ));
-
- ui.with_layout(egui::Layout::bottom_up(egui::Align::LEFT), |ui| {
- powered_by_egui_and_eframe(ui);
- egui::warn_if_debug_build(ui);
- });
});
+ for magnet in self.magnets.iter_mut() {
+ let magnet_position_with_offset = self.pan_offset + magnet.position.to_vec2();
+ let magnet_rect_with_buffer =
+ Rect::from_min_size(magnet_position_with_offset, Vec2::new(50., 50.));
+ if !ctx.content_rect().intersects(magnet_rect_with_buffer) {
+ continue;
+ }
+ let response = Area::new(magnet.id)
+ .current_pos(magnet_position_with_offset)
+ .movable(true)
+ .constrain(false)
+ .show(ctx, |ui| {
+ Frame::NONE
+ .inner_margin(Margin::same(3))
+ .fill(Color32::WHITE)
+ .corner_radius(CornerRadius::same(1))
+ .show(ui, |ui| {
+ ui.add(Label::new(magnet.text.clone()).selectable(false))
+ });
+ })
+ .response;
+ magnet.position += response.drag_delta();
+ }
}
}
-
-fn powered_by_egui_and_eframe(ui: &mut egui::Ui) {
- ui.horizontal(|ui| {
- ui.spacing_mut().item_spacing.x = 0.0;
- ui.label("Powered by ");
- ui.hyperlink_to("egui", "https://github.com/emilk/egui");
- ui.label(" and ");
- ui.hyperlink_to(
- "eframe",
- "https://github.com/emilk/egui/tree/master/crates/eframe",
- );
- ui.label(".");
- });
-}
diff --git a/frontend/src/lib.rs b/frontend/src/lib.rs
@@ -1,3 +1,3 @@
mod app;
-pub use app::TemplateApp;
+pub use app::PoetryMagnetsOnlineApp;
diff --git a/frontend/src/main.rs b/frontend/src/main.rs
@@ -15,15 +15,15 @@ fn main() {
let canvas = document
.get_element_by_id(CANVAS_ID)
- .expect(&format!("Failed to find {CANVAS_ID}"))
+ .unwrap_or_else(|| panic!("Failed to find {CANVAS_ID}"))
.dyn_into::<web_sys::HtmlCanvasElement>()
- .expect(&format!("{CANVAS_ID} was not a HtmlCanvasElement"));
+ .unwrap_or_else(|_| panic!("{CANVAS_ID} was not a HtmlCanvasElement"));
let start_result = eframe::WebRunner::new()
.start(
canvas,
web_options,
- Box::new(|cc| Ok(Box::new(frontend::TemplateApp::new(cc)))),
+ Box::new(|cc| Ok(Box::new(frontend::PoetryMagnetsOnlineApp::new(cc)))),
)
.await;
diff --git a/frontend/words.json b/frontend/words.json
@@ -0,0 +1,2634 @@
+[
+ {
+ "id": 1,
+ "text": "&",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 2,
+ "text": "&",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 3,
+ "text": "a",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 4,
+ "text": "a",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 5,
+ "text": "a",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 6,
+ "text": "a",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 7,
+ "text": "a",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 8,
+ "text": "a",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 9,
+ "text": "about",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 10,
+ "text": "above",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 11,
+ "text": "ache",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 12,
+ "text": "ad",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 13,
+ "text": "after",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 14,
+ "text": "all",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 15,
+ "text": "am",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 16,
+ "text": "am",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 17,
+ "text": "an",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 18,
+ "text": "an",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 19,
+ "text": "and",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 20,
+ "text": "and",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 21,
+ "text": "and",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 22,
+ "text": "and",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 23,
+ "text": "apparatus",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 24,
+ "text": "are",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 25,
+ "text": "are",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 26,
+ "text": "arm",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 27,
+ "text": "as",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 28,
+ "text": "as",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 29,
+ "text": "as",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 30,
+ "text": "as",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 31,
+ "text": "ask",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 32,
+ "text": "at",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 33,
+ "text": "at",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 34,
+ "text": "at",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 35,
+ "text": "away",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 36,
+ "text": "bare",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 37,
+ "text": "be",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 38,
+ "text": "beat",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 39,
+ "text": "beauty",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 40,
+ "text": "bed",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 41,
+ "text": "beneath",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 42,
+ "text": "bitter",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 43,
+ "text": "black",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 44,
+ "text": "blood",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 45,
+ "text": "blow",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 46,
+ "text": "blue",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 47,
+ "text": "boil",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 48,
+ "text": "boy",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 49,
+ "text": "breast",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 50,
+ "text": "but",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 51,
+ "text": "but",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 52,
+ "text": "but",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 53,
+ "text": "but",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 54,
+ "text": "butt",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 55,
+ "text": "by",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 56,
+ "text": "by",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 57,
+ "text": "can",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 58,
+ "text": "chant",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 59,
+ "text": "chocolate",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 60,
+ "text": "cool",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 61,
+ "text": "could",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 62,
+ "text": "crush",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 63,
+ "text": "cry",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 64,
+ "text": "d",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 65,
+ "text": "day",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 66,
+ "text": "death",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 67,
+ "text": "delirious",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 68,
+ "text": "diamond",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 69,
+ "text": "did",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 70,
+ "text": "do",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 71,
+ "text": "do",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 72,
+ "text": "dream",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 73,
+ "text": "dress",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 74,
+ "text": "drive",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 75,
+ "text": "drool",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 76,
+ "text": "drunk",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 77,
+ "text": "eat",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 78,
+ "text": "ed",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 79,
+ "text": "ed",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 80,
+ "text": "ed",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 81,
+ "text": "ed",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 82,
+ "text": "egg",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 83,
+ "text": "elaborate",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 84,
+ "text": "enormous",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 85,
+ "text": "er",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 86,
+ "text": "es",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 87,
+ "text": "est",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 88,
+ "text": "fast",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 89,
+ "text": "feet",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 90,
+ "text": "fiddle",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 91,
+ "text": "finger",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 92,
+ "text": "fluff",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 93,
+ "text": "for",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 94,
+ "text": "forest",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 95,
+ "text": "frantic",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 96,
+ "text": "friend",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 97,
+ "text": "from",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 98,
+ "text": "from",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 99,
+ "text": "garden",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 100,
+ "text": "girl",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 101,
+ "text": "go",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 102,
+ "text": "goddess",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 103,
+ "text": "gorgeous",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 104,
+ "text": "gown",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 105,
+ "text": "hair",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 106,
+ "text": "has",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 107,
+ "text": "have",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 108,
+ "text": "have",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 109,
+ "text": "he",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 110,
+ "text": "he",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 111,
+ "text": "head",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 112,
+ "text": "heave",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 113,
+ "text": "her",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 114,
+ "text": "her",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 115,
+ "text": "here",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 116,
+ "text": "him",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 117,
+ "text": "his",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 118,
+ "text": "his",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 119,
+ "text": "honey",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 120,
+ "text": "hot",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 121,
+ "text": "how",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 122,
+ "text": "I",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 123,
+ "text": "I",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 124,
+ "text": "I",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 125,
+ "text": "I",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 126,
+ "text": "if",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 127,
+ "text": "in",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 128,
+ "text": "in",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 129,
+ "text": "in",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 130,
+ "text": "ing",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 131,
+ "text": "ing",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 132,
+ "text": "ing",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 133,
+ "text": "ing",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 134,
+ "text": "ing",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 135,
+ "text": "ing",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 136,
+ "text": "is",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 137,
+ "text": "is",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 138,
+ "text": "is",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 139,
+ "text": "is",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 140,
+ "text": "is",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 141,
+ "text": "it",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 142,
+ "text": "it",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 143,
+ "text": "it",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 144,
+ "text": "juice",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 145,
+ "text": "lake",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 146,
+ "text": "language",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 147,
+ "text": "languid",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 148,
+ "text": "lather",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 149,
+ "text": "lazy",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 150,
+ "text": "less",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 151,
+ "text": "let",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 152,
+ "text": "lick",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 153,
+ "text": "lie",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 154,
+ "text": "life",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 155,
+ "text": "light",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 156,
+ "text": "like",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 157,
+ "text": "like",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 158,
+ "text": "like",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 159,
+ "text": "live",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 160,
+ "text": "love",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 161,
+ "text": "luscious",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 162,
+ "text": "lust",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 163,
+ "text": "ly",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 164,
+ "text": "ly",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 165,
+ "text": "ly",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 166,
+ "text": "ly",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 167,
+ "text": "mad",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 168,
+ "text": "man",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 169,
+ "text": "me",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 170,
+ "text": "me",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 171,
+ "text": "me",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 172,
+ "text": "mean",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 173,
+ "text": "meat",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 174,
+ "text": "men",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 175,
+ "text": "milk",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 176,
+ "text": "mist",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 177,
+ "text": "moan",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 178,
+ "text": "moon",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 179,
+ "text": "mother",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 180,
+ "text": "music",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 181,
+ "text": "must",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 182,
+ "text": "my",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 183,
+ "text": "my",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 184,
+ "text": "my",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 185,
+ "text": "need",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 186,
+ "text": "never",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 187,
+ "text": "no",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 188,
+ "text": "no",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 189,
+ "text": "not",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 190,
+ "text": "not",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 191,
+ "text": "of",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 192,
+ "text": "of",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 193,
+ "text": "of",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 194,
+ "text": "of",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 195,
+ "text": "on",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 196,
+ "text": "on",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 197,
+ "text": "one",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 198,
+ "text": "or",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 199,
+ "text": "our",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 200,
+ "text": "over",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 201,
+ "text": "pant",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 202,
+ "text": "peach",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 203,
+ "text": "petal",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 204,
+ "text": "picture",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 205,
+ "text": "pink",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 206,
+ "text": "play",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 207,
+ "text": "please",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 208,
+ "text": "pole",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 209,
+ "text": "pound",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 210,
+ "text": "puppy",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 211,
+ "text": "purple",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 212,
+ "text": "put",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 213,
+ "text": "r",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 214,
+ "text": "r",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 215,
+ "text": "rain",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 216,
+ "text": "raw",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 217,
+ "text": "recall",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 218,
+ "text": "red",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 219,
+ "text": "repulsive",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 220,
+ "text": "rip",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 221,
+ "text": "rock",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 222,
+ "text": "rose",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 223,
+ "text": "run",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 224,
+ "text": "rust",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 225,
+ "text": "s",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 226,
+ "text": "s",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 227,
+ "text": "s",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 228,
+ "text": "s",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 229,
+ "text": "s",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 230,
+ "text": "s",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 231,
+ "text": "s",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 232,
+ "text": "s",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 233,
+ "text": "s",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 234,
+ "text": "s",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 235,
+ "text": "s",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 236,
+ "text": "sad",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 237,
+ "text": "said",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 238,
+ "text": "sausage",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 239,
+ "text": "say",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 240,
+ "text": "scream",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 241,
+ "text": "sea",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 242,
+ "text": "see",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 243,
+ "text": "shadow",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 244,
+ "text": "she",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 245,
+ "text": "she",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 246,
+ "text": "shine",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 247,
+ "text": "ship",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 248,
+ "text": "shot",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 249,
+ "text": "show",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 250,
+ "text": "sing",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 251,
+ "text": "sit",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 252,
+ "text": "skin",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 253,
+ "text": "sky",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 254,
+ "text": "sleep",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 255,
+ "text": "smear",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 256,
+ "text": "smell",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 257,
+ "text": "smooth",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 258,
+ "text": "so",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 259,
+ "text": "soar",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 260,
+ "text": "some",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 261,
+ "text": "sordid",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 262,
+ "text": "spray",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 263,
+ "text": "spring",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 264,
+ "text": "still",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 265,
+ "text": "stop",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 266,
+ "text": "storm",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 267,
+ "text": "suit",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 268,
+ "text": "summer",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 269,
+ "text": "sun",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 270,
+ "text": "sweat",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 271,
+ "text": "sweet",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 272,
+ "text": "swim",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 273,
+ "text": "symphony",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 274,
+ "text": "the",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 275,
+ "text": "the",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 276,
+ "text": "the",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 277,
+ "text": "the",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 278,
+ "text": "the",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 279,
+ "text": "their",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 280,
+ "text": "there",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 281,
+ "text": "these",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 282,
+ "text": "they",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 283,
+ "text": "those",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 284,
+ "text": "though",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 285,
+ "text": "thousand",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 286,
+ "text": "through",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 287,
+ "text": "time",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 288,
+ "text": "tiny",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 289,
+ "text": "to",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 290,
+ "text": "to",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 291,
+ "text": "to",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 292,
+ "text": "together",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 293,
+ "text": "tongue",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 294,
+ "text": "trudge",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 295,
+ "text": "TV",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 296,
+ "text": "ugly",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 297,
+ "text": "up",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 298,
+ "text": "urge",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 299,
+ "text": "us",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 300,
+ "text": "use",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 301,
+ "text": "want",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 302,
+ "text": "want",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 303,
+ "text": "was",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 304,
+ "text": "watch",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 305,
+ "text": "water",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 306,
+ "text": "wax",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 307,
+ "text": "we",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 308,
+ "text": "we",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 309,
+ "text": "were",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 310,
+ "text": "what",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 311,
+ "text": "when",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 312,
+ "text": "whisper",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 313,
+ "text": "who",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 314,
+ "text": "why",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 315,
+ "text": "will",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 316,
+ "text": "wind",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 317,
+ "text": "with",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 318,
+ "text": "with",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 319,
+ "text": "woman",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 320,
+ "text": "worship",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 321,
+ "text": "y",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 322,
+ "text": "y",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 323,
+ "text": "y",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 324,
+ "text": "y",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 325,
+ "text": "yet",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 326,
+ "text": "you",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 327,
+ "text": "you",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 328,
+ "text": "you",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ },
+ {
+ "id": 329,
+ "text": "you",
+ "position": {
+ "x": 0.0,
+ "y": 0.0
+ }
+ }
+]