Files
Ely-GPUI-Components/src/canvas/mod.rs
T
ZacharyZhang-NY e3a96b04e0 Maps · Layers: routes, GeoJSON, heat and clusters
MapView takes layers over its tiles and under its pins. RouteLine runs
along places the short way across the date line. read_geojson reads RFC
7946 to features, strictly: a position past the globe, a line of one
position or a ring that does not close fails with its reason, and a
feature placed nowhere keeps no geometry. GeoJsonLayer washes areas as
one path per polygon, so holes stay open, outlines them, strokes lines
and dots points. GeoHeatmap spreads weighted places in a quartic kernel
over small cells, scaled to the densest spot in view. Lines and areas
unwrap across the date line and repeat on every world in view.
cluster_markers gathers pins by squares of the world, so a pan keeps
each group; a cluster shows its count, and its press shows its members
whole, never farther out. A zoom that may regroup them hands a focused
pin's or cluster's focus to the map.
2026-09-27 22:35:40 -04:00

66 lines
1.6 KiB
Rust

mod align;
mod assets;
mod autolayout;
mod constraints;
mod edit;
mod export;
mod flow;
mod gesture;
mod graph;
mod history;
mod inspector;
mod layers;
mod links;
mod marks;
mod mindmap;
mod mindmap_view;
mod minimap;
mod nodes;
mod paint;
mod palette;
mod panel;
mod plane;
mod press;
mod shape;
mod style;
mod tools;
mod typography;
mod view;
mod whiteboard;
mod wiring;
mod writing;
mod zoom;
#[cfg(all(test, feature = "test-support"))]
mod tests;
pub use align::{Align, AlignmentToolbar, aligned};
pub use assets::AssetPanel;
pub use autolayout::{AutoLayout, AutoLayoutControls, Flow, Place};
pub use constraints::{Constraints, ConstraintsEditor, Pin};
pub use edit::{Handle, Tool};
pub use export::{ExportFormat, ExportPanel, ExportSetting, export_files};
pub use flow::{FlowChart, Step, StepKind};
pub use gesture::Brush;
pub use graph::{Edge, Node, Port};
pub use history::HistoryPanel;
pub use inspector::InspectorPanel;
pub use layers::LayerPanel;
pub use links::Link;
pub use marks::{SelectionBox, SnapIndicator, TransformHandles};
pub use mindmap::Topic;
pub use mindmap_view::MindMap;
pub use minimap::MiniMap;
pub use nodes::NodeGraph;
pub(crate) use paint::{at, finish, outline};
pub use palette::{BrushSettings, ToolPalette};
pub(crate) use panel::{OnEdit, caption, color_well, editing};
pub use plane::InfiniteCanvas;
pub use shape::{Artboard, Corner, Guide, Shape, ShapeKind};
pub use style::{Border, BorderEditor, ColorPanel, Dash, Shadow, ShadowEditor};
pub use tools::ToolLayer;
pub use typography::{TypeStyle, TypographyPanel};
pub use view::{Frame, Viewport};
pub use whiteboard::{Board, Whiteboard};
pub use zoom::{ZoomControls, ZoomIndicator};