mirror of
https://github.com/pewdiepie-archdaemon/odysseus.git
synced 2026-10-30 17:52:26 +01:00
feat(photo-editor): Ajax Image Editor client (Photoshop-parity tools)
Photoshop-parity editor client: layers, selection/masking, brushes,
smart filters, LUT import, Quick Edit, mobile gestures, workspaces,
batch operations, and the service-worker versioning (v978->v1006).
Source: vendor/photocraft (ad1cff44) photo-editor client files, merged
onto upstream/dev (a8c147b2). Conflict resolution documented in
pr_work/A_conflicts.md; editor files taken from vendor/photocraft
(upstream's editor is an earlier snapshot of the same feature).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
c74f475679
commit
5fac693c1c
@@ -65,6 +65,38 @@ export function transformPopupHTML() {
|
||||
<button type="button" data-spin="up" tabindex="-1" aria-label="Rotate +1°">+</button>
|
||||
</span>
|
||||
</div>
|
||||
<div class="ge-transform-field">
|
||||
<label>⇱</label>
|
||||
<input type="number" class="ge-transform-popup-input" id="ge-transform-skew-x" step="1" value="0" aria-label="Horizontal skew" />
|
||||
<span class="ge-transform-spin" data-spin-for="ge-transform-skew-x">
|
||||
<button type="button" data-spin="down" tabindex="-1" aria-label="Skew X -1°">−</button>
|
||||
<button type="button" data-spin="up" tabindex="-1" aria-label="Skew X +1°">+</button>
|
||||
</span>
|
||||
</div>
|
||||
<div class="ge-transform-field">
|
||||
<label>⇲</label>
|
||||
<input type="number" class="ge-transform-popup-input" id="ge-transform-skew-y" step="1" value="0" aria-label="Vertical skew" />
|
||||
<span class="ge-transform-spin" data-spin-for="ge-transform-skew-y">
|
||||
<button type="button" data-spin="down" tabindex="-1" aria-label="Skew Y -1°">−</button>
|
||||
<button type="button" data-spin="up" tabindex="-1" aria-label="Skew Y +1°">+</button>
|
||||
</span>
|
||||
</div>
|
||||
<div class="ge-transform-field">
|
||||
<label>⤒</label>
|
||||
<input type="number" class="ge-transform-popup-input" id="ge-transform-persp-x" step="1" value="0" aria-label="Horizontal perspective" />
|
||||
<span class="ge-transform-spin" data-spin-for="ge-transform-persp-x">
|
||||
<button type="button" data-spin="down" tabindex="-1" aria-label="Perspective X -1">−</button>
|
||||
<button type="button" data-spin="up" tabindex="-1" aria-label="Perspective X +1">+</button>
|
||||
</span>
|
||||
</div>
|
||||
<div class="ge-transform-field">
|
||||
<label>⤓</label>
|
||||
<input type="number" class="ge-transform-popup-input" id="ge-transform-persp-y" step="1" value="0" aria-label="Vertical perspective" />
|
||||
<span class="ge-transform-spin" data-spin-for="ge-transform-persp-y">
|
||||
<button type="button" data-spin="down" tabindex="-1" aria-label="Perspective Y -1">−</button>
|
||||
<button type="button" data-spin="up" tabindex="-1" aria-label="Perspective Y +1">+</button>
|
||||
</span>
|
||||
</div>
|
||||
<span class="ge-transform-quick" aria-label="Transform actions">
|
||||
<button type="button" class="ge-transform-quick-btn" id="ge-transform-flip-h" title="Flip horizontally" aria-label="Flip horizontally">
|
||||
<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 3v18"/><path d="m8 7-4 5 4 5"/><path d="m16 7 4 5-4 5"/></svg>
|
||||
|
||||
Reference in New Issue
Block a user