Repository navigation
Conversation
…s remember their image - setObjectsTexture no longer refuses files over 8 MB: the path already downscales to 1024 px, so the cap only refused photos it was built to shrink (roadmap 40 F13, image-large). The one limit left is a 64 MB decode-safety cap. - material.userData.mapSource = the content hash of the Explorer image a texture was made from (Explorer drop, UV slot drop). It rides the `map` message as an additive `source` field, the `materials` payload as `mapSources`, and a material-type switch. Any write without one (paint, undo, a file from disk, an older peer) drops the link. - texturesFromSource(hash) / linkTextureSource(uuid, slot, hash): the seams the Image editor's Save uses to re-texture every material made from an image. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…ersions (WIP) - src/lib/image/imageOps.js: pure raster maths (crop/rotate/flip/area+bilinear resize/ brightness-contrast-saturation), vitest imageOps (19 green) - src/lib/image/imageVersions.js: per-image version history in idb (Original always kept, cap 20) - src/lib/image/imageEditor.js: open/close, decode/encode, saveImage (same record, version kept, linked textures re-textured as one undo), restoreImageVersion, saveImageCopy, editMaterialTexture - ImageEditorWindow.svelte: WindowShell canvas + right sidebar (Edit / Versions), zoom/pan/pinch, crop drag, editor-local undo, phone sheet above Play - entry points: Explorer "Edit image...", preview #preview-edit, Inspector #texture-edit - storage breakdown: "Image versions" category - e2e image-editor (WIP: sections 1-8 pass; save is slow on a janky page, being profiled) Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…d Play; suite green - the phone shell's top bar (64 px) covered the editor's header and close button: the sheet now starts under it and ends at the bottom bar (--ps-bar-h), so Play stays tappable - canvas and sidebar no longer squeeze side by side at 390 px (232 px canvas, a sidebar clipping its own labels): the Edit/Versions panel stacks under a full-width canvas, its tabs a row of 44 px touch targets - image-editor suite: GPU backend (on software GL two pages + the 14 MB photo starved the compositor, ~1 s per round trip, profiled: JS idle), wider post-Save waits, diagnostic logging removed, the phone section finds the shell's #ps-play and asserts the close button and the stacked panel (counterfactual: both red with the CSS removed) Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
… view - the sidebar's scroller is shared by Edit and Versions, so after scrolling down in Edit the short Versions list opened scrolled out of sight and read as empty (measured on a phone: the list 525 px above the visible area). Each panel resets the scroller when it mounts. - on a phone the stacked panel showed Apply crop half under the bottom bar after Crop...; entering crop mode scrolls it into the panel's view - suite: phone checks for both, the touch drag's crop box asserted directly, the first-draw canvas read polls instead of sampling once (counterfactual run15: three checks red) Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Roadmap 40 F13 (lane 40-image).
What changes
sourceon themapmessage,mapSourcesinmaterials); Save updates every such texture for everyone in the session. Inspector Edit on an unlinked texture first files it into the library.Proof
image-editor: 53/53 (two peers + a 390×844 touch phone), GPU backend; counterfactuals for the phone fixes (run9, run15).imageOps; svelte-check 300/41 = main; check:tokens clean.~/.code/lanes-30/after-40/40-image/.🤖 Generated with Claude Code