mirror of
https://github.com/pewdiepie-archdaemon/odysseus.git
synced 2026-10-18 21:02:20 +02: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
+51
-6
@@ -7,7 +7,7 @@
|
||||
// - Other static assets (images/fonts/libs): cache-first with bg refresh.
|
||||
// - API / non-GET: never cached.
|
||||
// Bump CACHE_NAME whenever the precache list or SW logic changes.
|
||||
const CACHE_NAME = 'odysseus-v659-notes-reference';
|
||||
const CACHE_NAME = 'odysseus-v660-photo-editor';
|
||||
|
||||
// KaTeX resolves these from its own stylesheet, so caching the CSS without them
|
||||
// gives offline math fallback glyphs instead of proper typesetting.
|
||||
@@ -185,10 +185,6 @@ const PRECACHE = [
|
||||
'/static/lib/katex/katex.min.js',
|
||||
'/static/lib/katex/katex.min.css',
|
||||
...KATEX_FONTS,
|
||||
'/static/manifest.json',
|
||||
'/static/icons/icon-192.png',
|
||||
'/static/icons/icon-512.png',
|
||||
'/static/icons/icon-maskable-512.png',
|
||||
];
|
||||
|
||||
// Lazily-imported panel modules (js/panels.js). Not in index.html by design;
|
||||
@@ -203,9 +199,11 @@ const PANEL_PRECACHE = [
|
||||
'/static/js/editor/ai-tool-runner.js',
|
||||
'/static/js/editor/ai-tools-misc.js',
|
||||
'/static/js/editor/build/controls.js?v=20260830editor2',
|
||||
'/static/js/editor/build/dock.js',
|
||||
'/static/js/editor/build/options-bar.js?v=20261009autoselect',
|
||||
'/static/js/editor/build/popups.js',
|
||||
'/static/js/editor/build/right-panel.js',
|
||||
'/static/js/editor/build/toolbar.js?v=20260830editor2',
|
||||
'/static/js/editor/build/toolbar.js?v=20261010brushpresets',
|
||||
'/static/js/editor/build/topbar.js',
|
||||
'/static/js/editor/build/transform-popup.js',
|
||||
'/static/js/editor/canvas-coords.js',
|
||||
@@ -217,8 +215,10 @@ const PANEL_PRECACHE = [
|
||||
'/static/js/editor/checkerboard.js',
|
||||
'/static/js/editor/clipboard-and-drop.js',
|
||||
'/static/js/editor/composite-helpers.js',
|
||||
'/static/js/editor/draggable-dialog.js',
|
||||
'/static/js/editor/document-codec.js',
|
||||
'/static/js/editor/adjustment-layer.js',
|
||||
'/static/js/editor/blend-modes.js',
|
||||
'/static/js/editor/adjustments-worker.js',
|
||||
'/static/js/editor/thumbnail-worker.js',
|
||||
'/static/js/editor/serialization-worker.js',
|
||||
@@ -227,21 +227,46 @@ const PANEL_PRECACHE = [
|
||||
'/static/js/editor/render-cancellation.js',
|
||||
'/static/js/editor/effects-worker.js',
|
||||
'/static/js/editor/document-geometry.js',
|
||||
'/static/js/editor/aspect-fit.js',
|
||||
'/static/js/editor/preflight.js',
|
||||
'/static/js/editor/ai-settings.js',
|
||||
'/static/js/editor/look-recipes.js',
|
||||
'/static/js/editor/editor-control.js',
|
||||
'/static/js/editor/editor-bridge.js',
|
||||
'/static/js/editor/control-kit.js',
|
||||
'/static/js/editor/nl-edit.js',
|
||||
'/static/js/editor/editor-agent.js',
|
||||
'/static/js/editor/mask-ops.js',
|
||||
'/static/js/editor/retouch.js',
|
||||
'/static/js/editor/export-dialog.js',
|
||||
'/static/js/editor/selection-mask.js',
|
||||
'/static/js/editor/select-and-mask.js',
|
||||
'/static/js/editor/shape-boolean.js',
|
||||
'/static/js/editor/perspective-warp.js',
|
||||
'/static/js/editor/color-mode.js',
|
||||
'/static/js/editor/workspaces.js',
|
||||
'/static/js/editor/psd.js',
|
||||
'/static/js/editor/build/command-palette.js',
|
||||
'/static/js/editor/selection-modifiers.js',
|
||||
'/static/js/editor/tool-shortcuts.js',
|
||||
'/static/js/editor/filters/blur.js',
|
||||
'/static/js/editor/filters/edge-feather.js',
|
||||
'/static/js/editor/filters/effects.js',
|
||||
'/static/js/editor/fx/adj-popup.js',
|
||||
'/static/js/editor/fx/filter-string.js',
|
||||
'/static/js/editor/fx/histogram.js',
|
||||
'/static/js/editor/fx/pixel-pass.js',
|
||||
'/static/js/editor/fx/develop.js',
|
||||
'/static/js/editor/panels/panels.js',
|
||||
'/static/js/editor/panels/studio-panels.js',
|
||||
'/static/js/editor/actions-panel.js',
|
||||
'/static/js/editor/batch-runner.js',
|
||||
'/static/js/editor/harmonize-masks.js',
|
||||
'/static/js/editor/history-panel.js',
|
||||
'/static/js/editor/history-budget.js',
|
||||
'/static/js/editor/keyboard-shortcuts.js',
|
||||
'/static/js/editor/layer-helpers.js',
|
||||
'/static/js/editor/layer-hit-test.js',
|
||||
'/static/js/editor/layer-groups.js',
|
||||
'/static/js/editor/layer-clipping.js',
|
||||
'/static/js/editor/multi-transform.js',
|
||||
@@ -269,17 +294,22 @@ const PANEL_PRECACHE = [
|
||||
'/static/js/editor/tools/crop.js',
|
||||
'/static/js/editor/tools/flood-fill.js',
|
||||
'/static/js/editor/tools/gradient.js',
|
||||
'/static/js/editor/tools/color-range.js',
|
||||
'/static/js/editor/tools/lasso-mask.js',
|
||||
'/static/js/editor/tools/lasso.js',
|
||||
'/static/js/editor/tools/marquee.js',
|
||||
'/static/js/editor/tools/move.js',
|
||||
'/static/js/editor/tools/object-select.js',
|
||||
'/static/js/editor/tools/pen-selection.js',
|
||||
'/static/js/editor/tools/pen-path.js',
|
||||
'/static/js/editor/tools/quick-select.js',
|
||||
'/static/js/editor/tools/stroke.js',
|
||||
'/static/js/editor/tools/transform-drag.js',
|
||||
'/static/js/editor/tools/transform-handles.js',
|
||||
'/static/js/editor/tools/transform-session.js',
|
||||
'/static/js/editor/tools/wand.js',
|
||||
'/static/js/editor/wire-import.js',
|
||||
'/static/js/editor/wire-extra-menus.js',
|
||||
'/static/js/editor/wire-inpaint-controls.js?v=20260708match1',
|
||||
'/static/js/editor/wire-merge-buttons.js',
|
||||
'/static/js/editor/wire-selection-controls.js',
|
||||
@@ -287,6 +317,21 @@ const PANEL_PRECACHE = [
|
||||
'/static/js/editor/wire-topbar-overflow.js',
|
||||
'/static/js/editor/wire-topbar.js',
|
||||
'/static/js/editor/wire-view-menu.js',
|
||||
// Editor modules reachable only through the lazy galleryEditor.js graph.
|
||||
'/static/js/editor/build/toolbar.js?v=20261008flyouts',
|
||||
'/static/js/editor/canvas-context-menu.js',
|
||||
'/static/js/editor/scroll-affordance.js',
|
||||
'/static/js/editor/panel-visibility.js',
|
||||
'/static/js/editor/submenu-toggles.js',
|
||||
'/static/js/editor/path-geometry.js',
|
||||
'/static/js/editor/select-subject.js',
|
||||
'/static/js/editor/patch-ops.js',
|
||||
'/static/js/editor/tools/bucket.js',
|
||||
'/static/js/editor/tools/patch.js',
|
||||
'/static/js/editor/perspective-crop.js',
|
||||
'/static/js/editor/tools/perspective-crop.js',
|
||||
'/static/js/editor/filters/dehaze.js',
|
||||
'/static/js/editor/fx/cube-lut.js',
|
||||
];
|
||||
|
||||
self.addEventListener('install', (e) => {
|
||||
|
||||
Reference in New Issue
Block a user