# Copyright (c) 2025-2026 Gigasoft, Inc. All rights reserved. === ProEssentials HotSpot (knowledge rev 4) Configuration === HotSpots make chart regions clickable. Each hotspot type has an ENABLE property and a corresponding EVENT. Both must be configured. ENABLE/EVENT MATRIX: Type Enable Property Group Event Name Data PeUserInterface.HotSpot.Data PeDataHotSpot Subset PeUserInterface.HotSpot.Subset PeSubsetHotSpot Point PeUserInterface.HotSpot.Point PePointHotSpot TableCell PeUserInterface.HotSpot.Table PeTableHotSpot GraphAnnot PeUserInterface.HotSpot.GraphAnnotation PeAnnotationHotSpot AxisAnnot PeUserInterface.HotSpot.XAxisAnnotation PeAnnotationHotSpot PeUserInterface.HotSpot.YAxisAnnotation LINE ANNOTATION HOTSPOTS (special -- uses enum, not bool): Horizontal line annotations: PeUserInterface.HotSpot.YAxisLineAnnotations[i] Vertical line annotations: PeUserInterface.HotSpot.XAxisLineAnnotations[i] These are per-annotation arrays indexed by annotation index. Values: enum AnnotationHotSpot (None=0, All=1, TextOnly=2, LineOnly=3) Event: PeAnnotationHotSpot (check eventArgs.AnnotationType to distinguish) TABLE HOTSPOT EXTRA: PeAnnotation.Table.HotSpot = true also required for table cell clicking. HOTSPOT EVENT ARGS: All hotspot events provide indices in their EventArgs: PeDataHotSpot --> e.Subset, e.Point (which data point was clicked) PeSubsetHotSpot --> e.Subset (which series was clicked) PePointHotSpot --> e.Point (which X position was clicked) PeAnnotationHotSpot --> e.AnnotationIndex, e.AnnotationType CURSOR PROMPT INTERACTIONS: Separately from hotspots, cursor prompts show data values on hover. Controlled by CursorPromptStyle enum and related properties. Query: pe_query.py search "cursor prompt" Pe3do 3D CURSOR TRACKING (requires ALL THREE together): PeUserInterface.HotSpot.Data = true; PeUserInterface.Cursor.PromptTracking = true; PeUserInterface.Cursor.HighlightColor = Color.FromArgb(255, 255, 0, 0); Without non-zero alpha on HighlightColor, no visual feedback appears on the surface even though tracking is enabled. The highlight renders as a colored quad on the surface mesh at the mouse position. CursorPromptStyle: only YValue and XYZ are valid options for Pe3do. PERFORMANCE: Pe3do builds an OctTree data structure for hit testing. OctTree construction is CPU-intensive for large surfaces (2000x2000+) and runs on a secondary worker thread. DISABLE cursor tracking before any operation that triggers multiple image rebuilds (e.g., Z-axis exaggeration slider, panning a linked 2D contour chart). Re-enable after the operation completes. Failure to disable causes repeated OctTree rebuilds that severely degrade responsiveness. KEY: Use pe_query.py to verify exact paths: pe_query.py search "hotspot" pe_query.py event "PeDataHotSpot"