e43c02c36f
fix(library): spell the names the browser refuses to write
3dtours2026-10-02 21:51:23 +07:00
895a055a03
chore(release): repackage recipescam-images at 07a38be3dtours2026-10-02 21:18:59 +07:00
07a38be5a9
fix(super-res): warm the export runtime's bytes, not the runtime, and release its session on the way out
3dtours2026-10-02 21:04:56 +07:00
7a333c1be5
chore(release): repackage recipescam-images at c802c433dtours2026-10-02 20:10:50 +07:00
c802c43e04
fix(assets): give the frame sheets a build-stamped URL, so a replaced sheet stops arriving from cache
3dtours2026-10-02 20:10:02 +07:00
baf37f13d7
chore(release): repackage recipescam-images at ef48a593dtours2026-10-02 20:03:42 +07:00
ef48a59d44
chore(assets): replace old_film.png sheet with the tighter deckle border
3dtours2026-10-02 20:03:00 +07:00
45b505864e
chore(release): repackage recipescam-images at 8d0a46e3dtours2026-10-02 19:55:35 +07:00
8d0a46e7f5
fix(frame): give OLD FILM PORTRAIT a real portrait output
3dtours2026-10-02 19:54:42 +07:00
177e3c3a9c
chore(release): repackage recipescam-images at 84b8e64, drop the pre-frame frontend archive
3dtours2026-10-02 19:46:46 +07:00
84b8e64652
feat(frame): add OLD FILM LANDSCAPE and OLD FILM PORTRAIT from old_film.png
3dtours2026-10-02 19:46:06 +07:00
256fe6c2e2
fix(raw): refine RAW highlight clipping threshold to preserve sunset sun color without white dome clipping
3dtours2026-10-02 18:15:21 +07:00
22fa4f289b
fix(tone): enhance shadow fill curve to match Lightroom Classic shadow lift on dark fabric
3dtours2026-10-02 17:50:44 +07:00
fe116f0e83
fix(tone): restore measured Lightroom Classic curves for White and Highlight while keeping clean shadow lift
3dtours2026-10-02 17:42:52 +07:00
80416a51b8
fix(tone): correct tone knobs curves and eliminate spatial halo bleed around dark silhouettes
3dtours2026-10-02 16:42:43 +07:00
c1397c58cb
web: separate global endpoint curves (blacks/whites) from local tone mapping to eliminate grey aura around silhouettes and bump sw cache to v4
3dtours2026-10-02 16:06:41 +07:00
e98b4d9d5c
web: fix halo artifacts on highlight/shadow/white/black adjustments with edge-aware tone mapping and update docker packages
3dtours2026-10-02 15:27:32 +07:00
acbb2bba4b
web: the four tonal knobs are sized by what the eye can see, and the highlight head is squared so a bigger rate fits inside the cube
3dtours2026-10-02 10:54:54 +07:00
76d84503c9
web: SHARPENING lifts only the edge it was pointed at, so a flat half of the frame keeps the grain it came with
3dtours2026-10-02 08:55:53 +07:00
90a7ec9e46
web: NOISE REDUCTION takes the colour speckle out of the frame and leaves every strand of it where it was
3dtours2026-10-02 08:14:25 +07:00
e4f5407c19
web: each of the four tonal knobs moves its own band of the ramp and not the guard the four used to share
3dtours2026-10-02 08:11:32 +07:00
bc550569ad
web: BLACK keeps the picture's texture and not the base it was read off, clarity stops the blur at an edge instead of at a colour, and a backup folder that refuses is handed back to the picker
3dtours2026-10-02 07:20:31 +07:00
3f5ef88de5
web: the mark of a reading follows the folder the walk stands in, and the head of the tree never wears it
3dtours2026-10-01 20:30:25 +07:00
0b827ecfa3
web: a reading says so on the way down to the folder it was kept to, and the roll's row speaks only for itself
3dtours2026-10-01 20:10:22 +07:00
d5da6ebcba
web: a row's menu is the tree's own and speaks only of that row, and only the row being read admits to it
3dtours2026-10-01 19:00:21 +07:00
4f87f022da
web: a reading of a hundred thousand frames says where it is once, counts what the catalogue holds, and keeps a quarter of the disk it kept
3dtours2026-10-01 18:31:08 +07:00
c93f9fdd19
web: a scan right-clicked inside the tree reads that folder and what lies under it, and leaves the rest of the roll alone
3dtours2026-10-01 17:29:47 +07:00
39f80088c7
web: a folder is chosen by picking one — the backup row names it and opens the picker, and restore always asks which backup
3dtours2026-10-01 17:12:29 +07:00
e2d468b77d
web: a scan hands its frames to the strip as it reads them, and coming to the library no longer walks the roll behind the reader
3dtours2026-10-01 17:00:53 +07:00
137d54d37d
web: a scan watches the catalogue on a clock and keeps its place in a file, not in five megabytes of local storage
3dtours2026-10-01 16:34:46 +07:00
9b24ce7bbc
web: the RECIPES chip hands the phone's bar to the list, not a second row over it — IMPORT .RECIPE stays the tab's own chip, and the path says TABS > PRESETS > RECIPES
3dtours2026-10-01 14:39:40 +07:00
e53d6264ca
web: the wall draws the rows under the eye, not the shelf — twenty thousand cards no longer cost seven seconds of dead screen
3dtours2026-10-01 11:31:24 +07:00
fb9c9f98db
web: the strip draws the tiles under the eye, not the shelf — a roll of twenty thousand no longer builds every tile before the first one is seen
3dtours2026-10-01 11:03:41 +07:00
2c3565cf85
web: the library's strip comes back drawing what it drew — the branch under the open folder, or only the folder, whichever the last visit chose
3dtours2026-10-01 10:45:35 +07:00
fd330c05e0
web: the histogram waits to be asked for, the phone's ruler is a finger tall, and its x answers a real press — a 22px strip under a 44px thumb, a histogram that opened over the photo, and a close button whose press the drag's own preventDefault ate
3dtours2026-10-01 09:00:56 +07:00
31435aac77
web: the offer to install is made once, and the answer is kept
3dtours2026-10-01 07:46:10 +07:00
7b6a1a805f
web: a knob's ruler stands in the strip's slot, and a sub-chip is its name again
3dtours2026-10-01 07:25:37 +07:00
9aa3424e92
web: a chip's strip stands in the bar, not over it — LIGHT's WB strip sat on top of the bar it belongs to, so the photo paid 40px of a 390x844 screen to repeat where the finger already was
3dtours2026-10-01 07:09:08 +07:00
c47ce212eb
web: LIGHT is four strips on a phone, not four folded rows — the tab's column measured 215px of a 390x844 screen with its panels stacked, and the photo 498px; the strip is 40px and the photo 641px
3dtours2026-10-01 06:49:36 +07:00
6bbf18dc44
web: the phone's bar wears icons, stays at the top and ends on EXPORT — the four words wrapped the header to 135px over a 390px screen, 88px now, and the tab pills were 28px tall under a thumb, 44px now
3dtours2026-10-01 06:21:52 +07:00
91aeacbe46
web: the session's photo waits for the account before it opens — a PRO clicking a RAW in the LIBRARY was read as a guest, asked to sign in, and the RAW never opened
3dtours2026-09-30 21:24:01 +07:00
166a677590
light: the tone ramp is four bumps on the identity, not straight segments between five knots — a knot is an angle, an angle in a tone curve is a Mach band, and the wedge reads the seams: BLACK +100 broke at 0.030 with 105 of second difference, HIGHLIGHT -100 at 0.747 with 72
3dtours2026-09-30 21:24:01 +07:00
097e383b86
light: the tone base is a real blur, not nine point samples of one — the ring aliased the luma and the ramp painted the alias back as mottle
3dtours2026-09-30 19:03:55 +07:00
e61dccc784
light: the tone ramp is drawn through a base layer, not the pixel, so a SHADOW lift moves the region and leaves the texture in it standing — the quarter above the knot came back at 0.57x of its own spread, 0.78x now
3dtours2026-09-30 18:46:36 +07:00
25b1312e0a
light: AUTO and the shipped recipes ride the halved knobs too — AUTO's ceiling doubles with them so a blown frame still comes back the way it did, and each recipe's HIGHLIGHT/SHADOW doubles so its look stays on the knot it was tuned to
3dtours2026-09-30 18:10:51 +07:00
a56581c757
light: the HIGHLIGHT knob rides half its anchor too, so a lift stops drawing a cloud to paper and a pull stops flattening the quarter under it — the top quarter came back at 0.26x of its own contrast, 0.62x now
3dtours2026-09-30 17:59:57 +07:00
36fb93658b
light: the SHADOW knob rides half its anchor, so a lift stops drawing the band above it flat — a waterfall's spray came back at 0.10 of its own contrast, 0.55 now
3dtours2026-09-30 17:36:29 +07:00
3e3045d912
library: the reading is copied into a folder of the reader's own, so a cleared profile gets it back without a frame being read twice
3dtours2026-09-30 16:41:11 +07:00
325d5c0470
library: the walk position belongs to the origin, so the app beside the browser carries a reading on instead of listing the roll again
3dtours2026-09-30 16:26:42 +07:00
851563ed73
light: the pixel rides o/t, not a held chroma — SHADOW and BLACK drained a dark red to 0.505 of its saturation, it is 0.742 now
3dtours2026-09-30 16:26:42 +07:00
75ff444621
library: the screen reads the catalogue back when a batch lands, not on a 700ms timer, and a tile keeps the object URL it was given
3dtours2026-09-30 15:41:18 +07:00
c9e72595f7
library: the other window on the same origin draws the scan instead of running a second one
3dtours2026-09-30 12:58:08 +07:00
e0b8f14dfc
PRO cutoff: an account that signed up before 2026-12-01 keeps the whole studio with its Activated Pro box ticked by the calendar, signups from the cutoff on start basic
3dtours2026-09-30 12:22:59 +07:00
61b1210a47
TOOLS: AUTO and MONOCHROME come with any account, FIX and GRADIENT MASK stay PRO and answer with the reason
3dtours2026-09-30 12:20:03 +07:00
a3175210f9
studio: read an allowlisted admin as PRO on its own, so a rollout that pairs this bundle with an older API cannot show the operator the basic-tier bar
3dtours2026-09-30 12:13:57 +07:00
35d8d57984
HSL: click a colour chip to open its panel, the way PICK does
3dtours2026-09-30 07:34:07 +07:00
f7031c1809
LIGHT drops its PROFILE panel, TONE CURVE folds into TONE, and IMPORT .RECIPE moves under the RECIPES chip
3dtours2026-09-30 06:55:53 +07:00
4476372b9e
The two Color Chromes close the WB panel and D.RANGE gets a box of its own
3dtours2026-09-30 06:37:15 +07:00
92776d2cfc
A panel head keeps its label when it folds: the title is a span, not a bare text node beside the caret
3dtours2026-09-30 06:15:18 +07:00
6996d1bdb0
The marks get a tab of their own and the rulers read on one line
3dtours2026-09-29 22:09:53 +07:00
2f34c36131
The room opens folded: the studio's panels and the catalogue's tree both start shut and come back the way they were left
3dtours2026-09-29 21:25:18 +07:00
642fccd2b0
The trial notice crosses the bar instead of looping inside it
3dtours2026-09-29 20:46:24 +07:00
8e330ee28b
The trial notice walks the width of the bar instead of standing in it
3dtours2026-09-29 20:37:07 +07:00
cc186c4d09
The trial gets a date and WB's presets get a table
3dtours2026-09-29 20:21:08 +07:00
899921ef8a
A dark detail stops being copied beside itself: DEHAZE reads its prior off a copy of the frame
3dtours2026-09-29 20:02:35 +07:00
2ced93a425
A fixed mask EXPOSURE that never arrives: the shell stops being cacheable by guesswork
3dtours2026-09-29 18:33:10 +07:00
6d60d452e0
One move of the light for the whole app: a mask's EXPOSURE and its four tone knobs stop being a second opinion
3dtours2026-09-29 18:04:50 +07:00
03ec925aec
The phone gets its picture back: a one-row icon toolbar, a histogram that shows the tones below the sky, and crop corners a thumb can actually grab
3dtours2026-09-29 17:54:45 +07:00
3b92e4e2d2
A gradient mask can carry the LIGHT column's white balance now: COLOR TEMP and TINT, the same two rulers, read on the mask's own pixels.
3dtours2026-09-29 17:35:19 +07:00
bd57dd72b3
EXPOSURE reads in stops: -5..+5, two decimals, on an unchanged store
3dtours2026-09-29 17:09:01 +07:00
c0aaa67361
Studio: fold WB and FX into LIGHT, and put every develop slider on -100..+100
3dtours2026-09-29 17:04:08 +07:00
34f8601c91
studio: the develop column becomes five panels, and the four tone knobs move knots instead of channels
3dtours2026-09-29 16:38:56 +07:00
64d41f67e9
library: read one RAW at a time, and hand the decoder a size it already read
3dtours2026-09-29 16:08:26 +07:00
426488a788
studio: say the roll is still being read while the catalogue is off screen
3dtours2026-09-29 10:55:07 +07:00
53cb1c97e9
web: a frame is scored under the picture, and the wall is read through the score
3dtours2026-09-29 08:02:05 +07:00
477c71d1f4
web: the frame under the preview says where it was shot and what it was shot with
3dtours2026-09-29 07:57:36 +07:00
753eea0d7b
web: a reload in the middle of a reading goes on, it does not start over
3dtours2026-09-29 07:50:01 +07:00
d7241531f9
web: a reading walks past the recycle bin, not into it
3dtours2026-09-29 07:10:41 +07:00
fbe9a1bb5b
web: a roll is read where it was left, and only for the frames that moved
3dtours2026-09-29 06:33:41 +07:00
36cd711302
web: the header wears the theme, and the rail says which build it is
3dtours2026-09-28 22:05:55 +07:00
77729ad99a
web: read the roll through four lanes and a JPEG's header
3dtours2026-09-28 22:01:03 +07:00
134489a5ec
web: come back to the frame that was raised, and zoom it by the wheel
3dtours2026-09-28 21:43:36 +07:00
067b32131e
web: drop the heading over the folder column
3dtours2026-09-28 21:27:55 +07:00
5e28b42067
web: fold all keeps the top-level row open
3dtours2026-09-28 21:23:56 +07:00
4a740b1e28
web: fold the tree from the row a reader right-clicks
3dtours2026-09-28 21:20:23 +07:00
c1ee2cf30a
web: fold the whole roll from the head of the tree
3dtours2026-09-28 21:03:30 +07:00
291968a342
web: give the hero's award column a frame on a quiet week
3dtours2026-09-28 20:57:32 +07:00
1cb2618fd7
web: count a roll as it is read, and open a frame without losing the count
3dtours2026-09-28 20:39:51 +07:00
79b0d0db86
web: keep reading a roll while the studio is up
3dtours2026-09-28 20:28:00 +07:00
3aedd67ca0
web: open the catalogue without a version another tab can block
3dtours2026-09-28 20:16:58 +07:00
52732a17ee
web: name a roll's folders before reading their frames
3dtours2026-09-28 20:06:10 +07:00
d0fddba1e8
web: walk a roll layer by layer, and let the strip drop the branch
3dtours2026-09-28 19:55:02 +07:00
bd206a8be9
web: let a wheel tick walk the strip sideways
3dtours2026-09-28 19:44:25 +07:00
2c78ff80e8
web: fold a folder's rows without folding its frames
3dtours2026-09-28 19:34:37 +07:00
2b45419ec4
web: scan the whole roll, title and size the column, reopen where you left
3dtours2026-09-28 18:53:07 +07:00
4c65923eff
web: rename a folder, and add one from the empty column
3dtours2026-09-28 18:38:02 +07:00
19fd5b644f
web: trim the library to one toolbar and a folder menu
3dtours2026-09-28 18:31:06 +07:00
12936731b3
web: keep the catalogue on one screen
3dtours2026-09-28 18:21:22 +07:00