=== PicPoints - Interactive Image Maps, Floor Plans Builder ===
Contributors: yalogica, freemius
Tags: interactive image, image map, floor plan, hotspot, clickable image
Requires at least: 6.0
Tested up to: 7.0
Stable tag: 1.11.1
Requires PHP: 7.4
License: GPLv3
License URI: https://www.gnu.org/licenses/gpl-3.0.html

Best WordPress interactive image map plugin to create responsive floor plans, shoppable lookbooks, SVG vector shapes, and clickable photo hotspots.

== Description ==

**🏆 The Best Interactive Image Map and Floor Plan Builder Plugin for WordPress**

PicPoints is the most advanced, developer-friendly **interactive image map** and **floor plan builder** for WordPress. Built for extreme performance and modern web standards, this **hotspot plugin** handles hundreds of interactive elements effortlessly without lagging your website.

Unlike traditional **image mapping tools** that break during WordPress theme updates, PicPoints renders entirely inside an isolated **Shadow DOM**. This guarantees 100% CSS and JS isolation, your theme's styles will never break your **interactive maps**, and your maps will never slow down your site page speed.

Whether you need to build a multi-story **real estate floor plan**, an interactive **product anatomy showcase**, a **shoppable e-commerce lookbook**, or a vector-accurate **event seating chart**, PicPoints provides a Figma-like SVG vector editor right inside your WordPress dashboard.

Draw complex **clickable image** shapes with pixel-perfect accuracy using native Bezier curves, group layers, and create rich-content popups and tooltips in minutes.

🔥 [**PICPOINTS PRO**](https://yalogica.com/picpoints/)

[youtube https://youtu.be/CUHjfWBPMp4]

=== 🚀 Key Features of PicPoints Interactive Map Plugin: ===
* **Isolated Shadow DOM Architecture:** Zero CSS conflicts with your WP theme. 100% visual consistency on any website.
* **High-Performance Image Mapping:** Hardcore optimization tested with up to 1,000 active vector shapes on a single canvas.
* **Pro-Grade SVG Vector Editor:** Draw ellipses, rectangles, markers, and custom polygons with smooth Bezier curves.
* **Multi-Scene & Multi-Level Floor Plans:** Perfect for real estate marketing (Floor 1, Floor 2, Floor 3) and complex architectural blueprints.
* **Figma-Like Layer Management:** Group, rename, and organize your vector shapes, pointers, and markers hierarchically.
* **Fully Responsive Clickable Images:** Adapts flawlessly to mobile devices, tablets, and desktops with smart touch and zoom controls.
* **Rich Tooltips & Hotspot Popups:** Trigger automated tooltips on hover or open rich-media popups (images, text, WooCommerce products, iframes) on click.


=== 🔥 Features ===
PicPoints Free is the perfect **interactive image map tool** for small projects and testing. PicPoints Pro unlocks the full potential for professional web development agencies, e-commerce stores, and realtors.

**PicPoints Free** - General Features
⚡ **Number of maps:** Max 3
⚡ **Number of scenes (levels) per map:** Max 3
⚡ **Number of interactive layers/markers per scene:** Max 10
✅ **Markers:** non-scalable pins (icon + text or image) with custom anchor point positioning.
✅ **SVG Layers:** rectangles, ellipses, images, text (with left/center/right alignment), and polygons.
✅ **Smart Undo/Redo History:** full history stack to undo/redo changes for scenes & layers.
✅ **Mobile Responsive:** perfect adaptation to any screen size.
✅ **Touch Gestures:** supports mobile pan & pinch multi-touch zooming.
✅ Standard Tooltips & Popups (Auto-close enabled)
✅ Flexible tooltip positions: top, bottom, left, right, center, follow
✅ Strict Pan & Zoom behavior
✅ Change viewport & scene background, can be color or image

**PicPoints Free** - Widgets
✅ **Scene Title**
✅ **Scene Navigation Dots**
✅ **Scene Navigation Switcher**
✅ **Fullscreen Toggle**
✅ **Fit to Screen Action**
✅ **Zoom Controls (+/-)**

**PicPoints Pro** includes everything from Free, plus:
✅✨ **Unlimited Maps, Scenes, and Layers** for enterprise-scale projects.
✅✨ **Import layers from SVG** import `<g>` and `<path>` vector elements from Illustrator or Inkscape with automatic layer tree and partial style retention.
✅✨ **Auto-Load** toggle map auto-loading on/off or configure a custom delay timer to optimize website page load speed.
✅✨ **Greeting dialog** show message before map load.
✅✨ **Bulk Attribute Editing** select multiple layers or groups at once to edit, update, or assign common custom metadata.
✅✨ **Advanced Handlebars Templates** use classic Handlebars logic ({{variable}}, {{#if}}, {{#each}}) inside Tooltips and Popups to build highly dynamic, data-driven layouts without coding.
✅✨ **Physics-Based Canvas Bounce** advanced configurations for a smooth viewport experience.
✅✨ **Custom JS & CSS Sections** per map and per element for infinite extensibility.
✅✨ **Developer API Access** to connect your interactive maps with external CRM, WooCommerce, or custom databases.
✅✨ **Priority email support** for agencies and businesses that need fast help.


*Note: The undo/redo history covers all scene or layer movements and visual style modifications. Rich content formatting changes inside tooltips and popups bypass the history stack.*


[youtube https://youtu.be/6DdZDq7EqmQ]


=== 🚀 Compatibility ===
Not all themes and plugins are built the same way, so PicPoints is designed with extra compatibility in mind.​ PicPoints works seamlessly with modern WordPress themes and popular page builders that support standard blocks and shortcodes.

**PAGE BUILDERS**
* [Gutenberg](https://wordpress.org/plugins/gutenberg/) – modern built-in WordPress block editor
* [Classic Editor](https://wordpress.org/plugins/classic-editor/) – classic built-in WordPress editor
* [Elementor](https://elementor.com/) - leading website builder platform on WordPress
* [WP Bakery](https://wpbakery.com/) - create any layout with intuitive way
* [Beaver](https://www.wpbeaverbuilder.com/) – page builder you can trust with your business
* [Bricks](https://bricksbuilder.io/) - amazing block editor with many templates
* [Brizy](https://www.brizy.io/) - next-gen website builder that anyone can use
* and more...


[youtube https://youtu.be/c61X3wxrohk]

[youtube https://youtu.be/yk9iK76KuFU]


=== 🎓 Use Cases ===
PicPoints serves as a lightweight, modern, and high-performance alternative to established WordPress interactive mapping plugins like Mapplic, ImageMap Pro, MapSVG, WP Draw Attention, Image Hotspot by DevVN, and Vision. 

With PicPoints, you can easily visually outline complex geometries, group interactive elements, and embed **shoppable lookbooks** or **interactive architecture maps** via a simple shortcode. 

The plugin balances intuitive usability for non-technical users with rich customization and advanced Developer APIs for design agencies, making it the ultimate tool for boosting on-site conversion and spatial user engagement without slowing down your WordPress website.


=== 💼 GDPR & Privacy ===
* We do not collect or store any information about our visitors or users without their consent.
* We also do not transfer any data to external servers without users' consent.


###🔥 Check out our other WordPress Plugins
[**HappyVR**](https://wordpress.org/plugins/happyvr/) - virtual tour builder and 360 panorama viewer for WordPress
[**MediaCommander**](https://wordpress.org/plugins/mediacommander/) - bring folders to media, posts, and pages
[**NinjaDraw**](https://wordpress.org/plugins/ninjadraw/) - create diagrams, sketches & visual workflows
[**Post Order Master**](https://wordpress.org/plugins/post-order-master/) - free drag & drop hierarchy manager


== Support ==

Found an issue or have a feature request? Head over to our [support forum](https://wordpress.org/support/plugin/picpoints/) or drop us an email for assistance. We're here to help you create stunning floor plans and image maps with ease!


== Installation ==

1. Upload the `picpoints` folder to the `/wp-content/plugins/` directory, or install the plugin directly through the WordPress plugins screen.
2. Activate the plugin through the 'Plugins' screen in WordPress.
3. Look for the "PicPoints" menu item in your WordPress dashboard left sidebar to start building.
4. Copy the generated shortcode `[picpoints id="..."]` and paste it into any page, post, or widget area.


== Frequently Asked Questions ==

= I installed the plugin, what's next? =
Once you've installed the plugin, you can start creating your first interactive map right away. Just open the PicPoints menu in your WordPress dashboard, create a new scene, setup canvas background and begin adding interactive markers and shapes. Your map will be ready to embed on any page in minutes.

= Does PicPoints work with page builders? =
Without a doubt, PicPoints works with most popular web page builders such as Elementor, Divi, Beaver Builder, Visual Composer, WP Bakery, Brizy, Blocks, and many others.

= Where is the developer version hosted? =
The developer version is available [here](https://github.com/yalogica/picpoints-wordpress-plugin).

= Will this plugin slow down my page load speed? =
No. PicPoints is built with performance in mind. Thanks to lightweight vector rendering and modular architecture, it can handle over a thousand active elements without visible performance drops or layout shifting.

= Will my theme's CSS break the maps layout? =
Never. PicPoints utilizes **Shadow DOM encapsulating technology**. It encapsulates all styles inside a shadow tree, meaning your active theme cannot inject or override the CSS of your interactive maps.

= Can I link markers to WooCommerce products? =
Yes! You can use rich-text popups to insert product links, images, and prices. With the Pro version, you can use the custom JS/API section to create deep integration like "Add to Cart" directly from the image hotspot.


== Changelog ==

= 1.11.1 =
* Fixed: In the rich editor, deleting an element also removed the adjacent element (image, emebed, button).
* Changed: Refined rich-content styling inside tooltips and popups.

= 1.11.0 =
* Added: CodeMirror editor for the custom CSS and JS sections of a map, with syntax highlighting.
* Added: Redesigned rich editor with full typography (font-family, font-size, line-height, text color, background), spacing (margin, padding), and per-element `id`/`className` attributes.
* Added: Button element to the rich editor that supports link navigation and custom JS action execution.
* Changed: 16px base font for tooltips/markers.

= 1.10.1 =
* Added: Guide page to help users easily get started and learn core features.
* Fixed: improved keyboard handling (Backspace/Delete/Enter) and selection behaviour in the rich editor.

= 1.10.0 =
* Added: Pinch-to-zoom gesture support for touch devices and trackpads.

= 1.9.3 =
* Fixed: Pressing Enter in the layer text editor did not insert a line break.
* Changed: Layer "static" state is now applied via the `.pp-static` class.

= 1.9.2 =
* Fixed: Layer click actions did not reliably fire on mobile and touch devices.

= 1.9.1 =
* Changed: Layer hover state is now driven by the `.pp-hover` class instead of the native `:hover`.
* Fixed: Editing rich-text content in a layer popup or tooltip reverted other popup/tooltip properties to their previous state.

= 1.9.0 =
* Added: New "static" layer property to make a layer non-interactive (disables pointer events and all hover/click responses).
* Fixed: Text blur in tooltips and popups during show/hide transitions.
* Fixed: Pan via touch drag not working correctly on mobile devices (touch only responded to short taps instead of continuous drag).

= 1.8.0 =
* Added: Popup inherit option, layers can now inherit popup settings from their parent group.
* Added: Layer status indicators in the Layers panel showing active Tooltip, Popup, Action, and custom className.
* Changed: Rearranged default control widget slot positions for a cleaner layout.

= 1.7.0 =
* Added: New "Focus on layer" action type. Clicking a layer now smoothly animates the viewport to focus on it.

= 1.6.2 =
* Changed: Optimize CSS architecture for `.picpoints-marker` component using modern nesting.

= 1.6.1 =
* Fixed: Color picker, resolved an issue where the Hue slider became unresponsive when selecting black (#000) or undefined colors.

= 1.6.0 =
* Added: SVG import now recognizes `vector-effect="non-scaling-stroke"` and maps it to the layer `fixedStroke` style property, preserving stroke width at any zoom level.
* Fixed: SVG import silently dropped cubic bezier segments when path data used negative numbers without comma separators (e.g. `c6.333-3.834-0.5-35`), resulting in severely deformed or missing shapes.
* Fixed: SVG import ignored the `title` attribute on `<g>` group elements, leaving group layers unnamed.
* Fixed: SVG import layer order was reversed compared to the original SVG document structure.

= 1.5.1 =
* Fixed: Duplicating a map only copied the title, all scene content, layers, and configuration were lost in the copy.
* Fixed: Layer hover effect lingered on screen during scene transitions, causing a visual glitch when switching between scenes.

= 1.5.0 =
* Fixed: Tooltips and popups could freeze on screen during rapid interaction due to a race condition in the show/hide animation lifecycle.
* Changed: Right panel now displays mixed-value state when multiple scenes or layers with different property values are selected.

= 1.4.0 =
* Added: Tooltip inherit option, layers can now inherit tooltip settings from their parent group.
* Added: Visual tooltip enabled/disabled indicator in the layers panel.

= 1.3.0 =
* Added: Dynamic variable substitution ({{layer_name}}, {{attribute_key}}) in text tooltips via Handlebars.
* Fixed: Layers panel virtual list rendering offset on new maps when adding the first layer group.
* Fixed: SVG import not rendering paths with multiple subpaths (e.g., country borders with enclaves).

= 1.2.0 =
* Added: Advanced custom attributes engine to store structural data per layer or group.
* Added: Dynamic Handlebars templating engine for Popups and Tooltips.
* Added: XSS security layer powered by DOMPurify with native iframe embedding support.
* Fixed: Streamlined layer sidebar UI layout for faster B2B developer workflow.

= 1.1.0 =
* Added: Brand new redesigned version

= 1.0.0 =
Initial release