Files
danbooru/app/logical
evazion 2ffe973275 MediaFile: add support for creating .webp and .avif thumbnails.
These other formats aren't actually generated during upload, but support
for creating them is there.

Also tune the parameters for generating JPEGs:

* Use Q=85 instead of Q=90 because Q=85 enables 4:2:0 chroma
  subsampling, while Q=90 doesn't use subsampling. Subsampling reduces
  filesize by ~30% in most cases. It does reduce quality for certain
  images, particularly for images with lots of bright red, but in most
  cases the quality difference isn't noticeable.

* Enable several MozJPEG-specific options, including trellis
  quantization and scan optimization. These reduce filesize without
  reducing quality, at the cost of slower encoding times.
2021-12-01 04:45:26 -06:00
..
2021-11-01 01:39:56 +01:00
2021-11-11 09:20:57 -06:00
2021-08-28 04:53:33 -05:00

Logical

This directory contains library code used through Danbooru. This includes things like defining API clients, dealing with sources, parsing tag searches, storing and resizing images, and so on.

Many of the files here use the Service Object pattern. Instead of putting complex code in models or controllers, it goes here, in plain old Ruby objects (POROs). This keeps models and controllers simpler, and keeps domain logic isolated and independent from the database and the HTTP request cycle.

External links