Commit Graph

  • e43c02c36f fix(library): spell the names the browser refuses to write 3dtours 2026-10-02 21:51:23 +07:00
  • 895a055a03 chore(release): repackage recipescam-images at 07a38be 3dtours 2026-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 3dtours 2026-10-02 21:04:56 +07:00
  • 7a333c1be5 chore(release): repackage recipescam-images at c802c43 3dtours 2026-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 3dtours 2026-10-02 20:10:02 +07:00
  • baf37f13d7 chore(release): repackage recipescam-images at ef48a59 3dtours 2026-10-02 20:03:42 +07:00
  • ef48a59d44 chore(assets): replace old_film.png sheet with the tighter deckle border 3dtours 2026-10-02 20:03:00 +07:00
  • 45b505864e chore(release): repackage recipescam-images at 8d0a46e 3dtours 2026-10-02 19:55:35 +07:00
  • 8d0a46e7f5 fix(frame): give OLD FILM PORTRAIT a real portrait output 3dtours 2026-10-02 19:54:42 +07:00
  • 177e3c3a9c chore(release): repackage recipescam-images at 84b8e64, drop the pre-frame frontend archive 3dtours 2026-10-02 19:46:46 +07:00
  • 84b8e64652 feat(frame): add OLD FILM LANDSCAPE and OLD FILM PORTRAIT from old_film.png 3dtours 2026-10-02 19:46:06 +07:00
  • 256fe6c2e2 fix(raw): refine RAW highlight clipping threshold to preserve sunset sun color without white dome clipping 3dtours 2026-10-02 18:15:21 +07:00
  • 22fa4f289b fix(tone): enhance shadow fill curve to match Lightroom Classic shadow lift on dark fabric 3dtours 2026-10-02 17:50:44 +07:00
  • fe116f0e83 fix(tone): restore measured Lightroom Classic curves for White and Highlight while keeping clean shadow lift 3dtours 2026-10-02 17:42:52 +07:00
  • 80416a51b8 fix(tone): correct tone knobs curves and eliminate spatial halo bleed around dark silhouettes 3dtours 2026-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 3dtours 2026-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 3dtours 2026-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 3dtours 2026-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 3dtours 2026-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 3dtours 2026-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 3dtours 2026-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 3dtours 2026-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 3dtours 2026-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 3dtours 2026-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 3dtours 2026-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 3dtours 2026-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 3dtours 2026-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 3dtours 2026-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 3dtours 2026-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 3dtours 2026-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 3dtours 2026-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 3dtours 2026-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 3dtours 2026-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 3dtours 2026-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 3dtours 2026-10-01 09:00:56 +07:00
  • 31435aac77 web: the offer to install is made once, and the answer is kept 3dtours 2026-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 3dtours 2026-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 3dtours 2026-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 3dtours 2026-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 3dtours 2026-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 3dtours 2026-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 3dtours 2026-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 3dtours 2026-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 3dtours 2026-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 3dtours 2026-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 3dtours 2026-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 3dtours 2026-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 3dtours 2026-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 3dtours 2026-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 3dtours 2026-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 3dtours 2026-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 3dtours 2026-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 3dtours 2026-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 3dtours 2026-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 3dtours 2026-09-30 12:13:57 +07:00
  • 74c0b2747f Tier model: registered=basic (recipes, 12 photos, QR), PRO=verified or admin-activated (HSL, tools/gradient mask, RAW, export > source longest edge); admin users table gets Activated Pro column 3dtours 2026-09-30 11:50:28 +07:00
  • 35d8d57984 HSL: click a colour chip to open its panel, the way PICK does 3dtours 2026-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 3dtours 2026-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 3dtours 2026-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 3dtours 2026-09-30 06:15:18 +07:00
  • 6996d1bdb0 The marks get a tab of their own and the rulers read on one line 3dtours 2026-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 3dtours 2026-09-29 21:25:18 +07:00
  • 642fccd2b0 The trial notice crosses the bar instead of looping inside it 3dtours 2026-09-29 20:46:24 +07:00
  • 8e330ee28b The trial notice walks the width of the bar instead of standing in it 3dtours 2026-09-29 20:37:07 +07:00
  • cc186c4d09 The trial gets a date and WB's presets get a table 3dtours 2026-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 3dtours 2026-09-29 20:02:35 +07:00
  • 2ced93a425 A fixed mask EXPOSURE that never arrives: the shell stops being cacheable by guesswork 3dtours 2026-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 3dtours 2026-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 3dtours 2026-09-29 17:54:45 +07:00
  • fe79d75669 docs: hand the Android team the recipe/QR deltas the studio just took feat/vision-camera-v5 3dtours 2026-09-29 17:42:34 +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. 3dtours 2026-09-29 17:35:19 +07:00
  • bd57dd72b3 EXPOSURE reads in stops: -5..+5, two decimals, on an unchanged store 3dtours 2026-09-29 17:09:01 +07:00
  • c0aaa67361 Studio: fold WB and FX into LIGHT, and put every develop slider on -100..+100 3dtours 2026-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 3dtours 2026-09-29 16:38:56 +07:00
  • 64d41f67e9 library: read one RAW at a time, and hand the decoder a size it already read 3dtours 2026-09-29 16:08:26 +07:00
  • 426488a788 studio: say the roll is still being read while the catalogue is off screen 3dtours 2026-09-29 10:55:07 +07:00
  • 53cb1c97e9 web: a frame is scored under the picture, and the wall is read through the score 3dtours 2026-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 3dtours 2026-09-29 07:57:36 +07:00
  • 753eea0d7b web: a reload in the middle of a reading goes on, it does not start over 3dtours 2026-09-29 07:50:01 +07:00
  • d7241531f9 web: a reading walks past the recycle bin, not into it 3dtours 2026-09-29 07:10:41 +07:00
  • fbe9a1bb5b web: a roll is read where it was left, and only for the frames that moved 3dtours 2026-09-29 06:33:41 +07:00
  • 36cd711302 web: the header wears the theme, and the rail says which build it is 3dtours 2026-09-28 22:05:55 +07:00
  • 77729ad99a web: read the roll through four lanes and a JPEG's header 3dtours 2026-09-28 22:01:03 +07:00
  • 134489a5ec web: come back to the frame that was raised, and zoom it by the wheel 3dtours 2026-09-28 21:43:36 +07:00
  • 067b32131e web: drop the heading over the folder column 3dtours 2026-09-28 21:27:55 +07:00
  • 5e28b42067 web: fold all keeps the top-level row open 3dtours 2026-09-28 21:23:56 +07:00
  • 4a740b1e28 web: fold the tree from the row a reader right-clicks 3dtours 2026-09-28 21:20:23 +07:00
  • c1ee2cf30a web: fold the whole roll from the head of the tree 3dtours 2026-09-28 21:03:30 +07:00
  • 291968a342 web: give the hero's award column a frame on a quiet week 3dtours 2026-09-28 20:57:32 +07:00
  • 1cb2618fd7 web: count a roll as it is read, and open a frame without losing the count 3dtours 2026-09-28 20:39:51 +07:00
  • 79b0d0db86 web: keep reading a roll while the studio is up 3dtours 2026-09-28 20:28:00 +07:00
  • 3aedd67ca0 web: open the catalogue without a version another tab can block 3dtours 2026-09-28 20:16:58 +07:00
  • 52732a17ee web: name a roll's folders before reading their frames 3dtours 2026-09-28 20:06:10 +07:00
  • d0fddba1e8 web: walk a roll layer by layer, and let the strip drop the branch 3dtours 2026-09-28 19:55:02 +07:00
  • bd206a8be9 web: let a wheel tick walk the strip sideways 3dtours 2026-09-28 19:44:25 +07:00
  • 2c78ff80e8 web: fold a folder's rows without folding its frames 3dtours 2026-09-28 19:34:37 +07:00
  • 2b45419ec4 web: scan the whole roll, title and size the column, reopen where you left 3dtours 2026-09-28 18:53:07 +07:00
  • 4c65923eff web: rename a folder, and add one from the empty column 3dtours 2026-09-28 18:38:02 +07:00
  • 19fd5b644f web: trim the library to one toolbar and a folder menu 3dtours 2026-09-28 18:31:06 +07:00
  • 12936731b3 web: keep the catalogue on one screen 3dtours 2026-09-28 18:21:22 +07:00