=== Clean Selection ===
Contributors: kotoverse
Tags: selection, copy, comments, multiselect, accessibility
Requires at least: 6.0
Tested up to: 7.0
Requires PHP: 7.4
Stable tag: 0.2.7
License: GPLv2 or later

Airbrush-style text selection with copy, WordPress comment quoting, and persistent multiselect workflows.

== Description ==

Clean Selection can be enabled for public post types, post content, and individual comments. It includes three workflows:

* Select and copy.
* Quote a selection into the WordPress comment form.
* Collect and copy multiple excerpts in document order.

The plugin does not restyle post or comment content. Its popup can use the accessible built-in appearance or expose stable classes for theme-controlled styling.

== Installation ==

1. Upload the `cleanselection` directory to `/wp-content/plugins/`.
2. Activate Clean Selection.
3. Open Settings > Clean Selection.
4. Choose post types, surfaces, and a workflow.

== Theme integration ==

Default selectors cover common classic and block themes. Sites with custom markup can configure content, comment, and comment-textarea selectors on the settings page.

When Theme-controlled classes is selected, use `.clean-selection-wp-popup` and its `__preview`, `__actions`, and `__button` elements in theme CSS.

== Source code ==

The operational Clean Selection core is minified with Terser. Its complete readable source is included beside it as `assets/js/cleanselection.js`. Project source and build tooling are published at https://github.com/cleanselection/cleanselection.

== Changelog ==

= 0.2.7 =
* Allowed 0.01 increments for fractional brush controls and 0.001 values for Fog fade speed.

= 0.2.6 =
* Synchronized the bundled readable Clean Selection v1.1 source with expanded architectural and lifecycle documentation.
* Regenerated the operational minified core from the latest source and advanced its cache version.

= 0.2.5 =
* Added complete author, project, source-repository, copyright, and license metadata.
* Loaded the Terser-minified core in production while retaining the readable core source in the plugin package.

= 0.2.4 =
* Moved responsive multiselection restoration into the Clean Selection v1.1 core and removed the duplicate WordPress resize engine.
* Kept ordinary single selections destructive on resize while preserving collected selection order, popup state, and copied state.

= 0.2.3 =
* Kept the touch control visible only while configured selectable surfaces are onscreen.
* Preserved all collected fragments and copied states across responsive reflow using stable DOM text offsets.

= 0.2.2 =
* Prevented selection overlays from widening mobile pages.
* Kept the touch selection bar visible and aligned to the changing mobile visual viewport.
* Added an option to keep the popup centered in the visible viewport.

= 0.2.1 =
* Preserved and reflowed collected fragments after resize, rotation, and responsive layout changes.
* Improved spacing between compact controls on the settings page.

= 0.2.0 =
* Corrected selection-overlay sizing under WordPress theme canvas styles.
* Added separate post and comment geometry plus full brush, cursor, and copied-selection color controls.
* Added block-theme comment content defaults, removed attachment targeting, and refreshed the settings screen.
* Yielded the current singular page to Re:Likes when both plugins target it.

= 0.1.1 =
* Updated the bundled Clean Selection v1.1 core so theme cursor styles are preserved unless a cursor is explicitly configured.

= 0.1.0 =
* Initial development release.

== Screenshots ==

1. Selected fragment of a post prompts an action popup.
