=== Active Contour ===
Contributors: Shra
Tags: image map, image hotspot, interactive image, media attachment, custom image areas
Version: 1.0
Requires at least: 6.0
Tested up to: 6.8
Stable tag: 1.0
Requires PHP: 7.4
Author: Korol Yuriy aka Shra
Author URI: https://shra.ru
Donate link: https://pay.cryptocloud.plus/pos/Oc9ieI6Eb5HWPptn
License: GPLv2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html

Create interactive areas on images using custom contours. Fully integrated with the media library and Gutenberg.

== Description ==

**Active Contour** lets you define interactive contour areas on media images. Each polygonal area can be associated with a title & URL, making it easy to build rich visual navigation, diagrams, and interactive image content.

### Features

- **Edit contours directly in the Media Library**
  - Add, move, and delete points visually
  - Scaled preview with zoom and background options

- **Define attributes per area**
  - Each area can include `title`, `href`, and custom data
  - Stored as JSON in image meta field

- **Import contours from external tools**
  - Paste a JSON object describing one or multiple contours
  - Compatible with AI-generated data or exported data from vector tools
  - Preview and refine the result before saving

- **Gutenberg Block Support**
  - Insert an image with interactive contours using the included block (Active Contour)
  - Live preview of the selected image and contour state

- **Shortcode Support**
  - Use `[active_contour id="123" cid="1,2"]` to embed images with specific contours
  - Works anywhere shortcodes are supported (pages, posts, widgets)

### Use cases

- Interactive maps and diagrams
- Infographics with tooltips or links
- Product showcases with click/tap areas
- Educational or documentation content

== Installation ==

1. Upload the plugin to the `/wp-content/plugins/` directory or install via the Plugin Installer.
2. Activate the plugin.
3. Open any image in the Media Library and go to the **Contours** tab.
4. Add contour points and set properties.
5. Use the provided block (Active Contour) or shortcode to insert the image.

== Keyboard Shortcuts ==

While editing points in the contour editor, you can use the following keyboard shortcuts for greater control:

- Delete — Removes the currently selected point from the contour.
- + or Numpad + — Converts the selected segment into a curved arc (or increases arc intensity).
- - or Numpad - — Decreases arc curvature or switches arc back to straight line.
- Shift (hold) — Activates zoom mode. While holding Shift, a magnifier lens appears under the cursor to help you place points more precisely.

Other behaviors:

- Click on canvas — Adds a new point in the closest location or selects an existing one if clicked near.
- Click and drag a point — Moves the selected point with the mouse.

== Frequently Asked Questions ==

= Where is contour data stored? =
As a JSON structure in the attachment meta under `_active_contours`.

= Can I style or extend how contours are rendered? =
Yes. You can use custom styles via CSS. Block is rendered inside div.active-contour-container element.

== Screenshots ==

1. Contour editor inside Media Library
2. Contour settings and preview in the Gutenberg block
3. Export tool
4. Creating contour...
5. Using arc interpolation tool
6. Filtering by tags...

== Changelog ==

= 1.0.0 =
* Initial release.
