{"_id":"@colorhythm/exiftool-config","_rev":"2-465485cb15889b1c89b89f7afe0d0b7a","name":"@colorhythm/exiftool-config","dist-tags":{"latest":"1.0.1"},"versions":{"1.0.0":{"name":"@colorhythm/exiftool-config","version":"1.0.0","keywords":["exiftool","exiftool-config","metadata","photoshop-paths","8bim","preview-extraction","xmp"],"author":{"name":"Colorhythm LLC"},"license":"MIT","_id":"@colorhythm/exiftool-config@1.0.0","maintainers":[{"name":"altert","email":"atikhonov@colorhythm.com"},{"name":"colorhythm2","email":"info@colorhythm.com"}],"homepage":"https://github.com/colorhythm/exiftool-config#readme","bugs":{"url":"https://github.com/colorhythm/exiftool-config/issues"},"dist":{"shasum":"ca66a9512ecd85b2a676f4db88f4d8cc60bd8313","tarball":"https://registry.npmjs.org/@colorhythm/exiftool-config/-/exiftool-config-1.0.0.tgz","fileCount":5,"integrity":"sha512-HDSqaygVAE66csElw8RgKxr+8QJctIsYIcgB6AjtsD92P78spqoEGbQfuswsiGuOmzCXLbjvqqSpMWEO8eMjtg==","signatures":[{"sig":"MEYCIQCLYZBwkBf7nlTXnxp49RBNoOMZ1ZkLY1LqCPf995o9ewIhAOZ5KuzkisAyOWpZSkIGjFw+Ew2iwncVkXAd7pDULu3W","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":40670},"main":"./index.js","type":"module","exports":{".":"./index.js","./*":"./*","./ExifTool_config":"./ExifTool_config"},"gitHead":"d9305bcdf103e78d40fe317b8ef5fc93ffabd1b9","_npmUser":{"name":"colorhythm2","email":"info@colorhythm.com"},"repository":{"url":"git+https://github.com/colorhythm/exiftool-config.git","type":"git"},"_npmVersion":"11.6.2","description":"Colorhythm's production ExifTool config: Photoshop path analytics (PathCount, UniquePathPoints, TotalPathPoints), largest-preview selection (BigImage), PNG transparency surfacing, drone/multispectral XMP namespaces, and workflow composites.","directories":{},"_nodeVersion":"24.8.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/exiftool-config_1.0.0_1782981197607_0.015597501011302084","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@colorhythm/exiftool-config","version":"1.0.1","description":"Colorhythm's production ExifTool config: Photoshop path analytics (PathCount, UniquePathPoints, TotalPathPoints), largest-preview selection (BigImage), PNG transparency surfacing, drone/multispectral XMP namespaces, and workflow composites.","license":"MIT","author":{"name":"Colorhythm LLC"},"repository":{"type":"git","url":"git+https://github.com/colorhythm/exiftool-config.git"},"type":"module","main":"./index.js","exports":{".":"./index.js","./ExifTool_config":"./ExifTool_config","./*":"./*"},"keywords":["exiftool","exiftool-config","metadata","photoshop-paths","8bim","preview-extraction","xmp"],"gitHead":"809feb506a0549364cf366f7be1ee8a3225b3557","_id":"@colorhythm/exiftool-config@1.0.1","bugs":{"url":"https://github.com/colorhythm/exiftool-config/issues"},"homepage":"https://github.com/colorhythm/exiftool-config#readme","_nodeVersion":"24.8.0","_npmVersion":"11.6.2","dist":{"integrity":"sha512-/HdFaTOQnHentKfFzF6MNvoMP8Bfi1U21belF5gu5mHt+xxQy+zJIDlBQ1aEs9b/oEzyhnHBBhAk/T0s0Pp00w==","shasum":"7eabfa2a035b4463056eaddedbe0d214ffdcc42c","tarball":"https://registry.npmjs.org/@colorhythm/exiftool-config/-/exiftool-config-1.0.1.tgz","fileCount":5,"unpackedSize":40358,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDE3fmPemNI8DcOhAcbJhTNUAs6MruKi0NScxA0wi97SAIgLyKyrHO9z0b1XCD4ncFmrnnK5Kl8MkFbFM37Ia1qPPU="}]},"_npmUser":{"name":"colorhythm2","email":"info@colorhythm.com"},"directories":{},"maintainers":[{"name":"altert","email":"atikhonov@colorhythm.com"},{"name":"colorhythm2","email":"info@colorhythm.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/exiftool-config_1.0.1_1782981594068_0.30966506907361824"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-02T08:33:17.383Z","modified":"2026-07-02T08:39:54.343Z","1.0.0":"2026-07-02T08:33:17.740Z","1.0.1":"2026-07-02T08:39:54.209Z"},"bugs":{"url":"https://github.com/colorhythm/exiftool-config/issues"},"author":{"name":"Colorhythm LLC"},"license":"MIT","homepage":"https://github.com/colorhythm/exiftool-config#readme","keywords":["exiftool","exiftool-config","metadata","photoshop-paths","8bim","preview-extraction","xmp"],"repository":{"type":"git","url":"git+https://github.com/colorhythm/exiftool-config.git"},"description":"Colorhythm's production ExifTool config: Photoshop path analytics (PathCount, UniquePathPoints, TotalPathPoints), largest-preview selection (BigImage), PNG transparency surfacing, drone/multispectral XMP namespaces, and workflow composites.","maintainers":[{"name":"altert","email":"atikhonov@colorhythm.com"},{"name":"colorhythm2","email":"info@colorhythm.com"}],"readme":"# @colorhythm/exiftool-config\n\nColorhythm's production [ExifTool](https://exiftool.org) config —\nshared in the same spirit as Phil Harvey's distributed example\nconfig, which several of these composites build upon.\n\n## The headline: Photoshop path analytics\n\nComposites that analyze **Photoshop paths (8BIM resources\n0x7D0–0xBB5, plus the working path 0x401)** directly from file\nmetadata:\n\n| Tag | What it tells you |\n|---|---|\n| `PathCount` | How many saved paths the file carries |\n| `TotalPathPoints` | Total knot count across all paths |\n| `UniquePathPoints` | Deduplicated knot count (collapses coincident points) |\n| `ClippingPathFlatness` | Device-pixel flatness from the clipping designation (0x0BB7) |\n| `ClippingPathFillRule` | Clipping fill rule: same-as-path / even-odd / nonzero winding |\n\n```sh\nexiftool -config ExifTool_config -PathCount -TotalPathPoints image.psd\n```\n\nThe path decoder and the counting composites are **Phil Harvey's\nwork** — his `photoshop_paths.config` (distributed with ExifTool), with\nits revision history preserved in this file. Our copy diverged from\nhis ~2017 revision with contributions of our own: folding\n**working-path (0x401)** coverage into the path range years before it\nlanded upstream, small decoder adjustments earned in production, and\nthe **clipping-designation trailer decode**; those bytes are a 16.16\nfixed-point flatness and a fill rule, which this config surfaces as\n`ClippingPathFlatness` and `ClippingPathFillRule` (byte layout proven\nby round-tripping paths through Photoshop).\n\n**Dependency-free**: core Perl only — no JSON.pm or other non-core\nmodules — so it runs on minimal perls, including wasm builds of\nExifTool.\n\n## Also included\n\n- **`BigImage`** — of every embedded preview a raw file may carry\n  (`JpgFromRaw`, `PreviewImage`, `OtherImage`, `MPImage2/3`), returns\n  the largest. Derived from the public example config's advanced\n  section; battle-tested here across 18 camera-raw formats.\n- **`PNGTransparency`**, `PLTE`/`sPLT` — surfaces PNG transparency and\n  palette chunks.\n- **Drone / multispectral XMP namespaces** — Yaw/Pitch/Roll, IMU\\*,\n  `FlightUUID`, `CentralWaveLength`, `BandName`, `RigName`,\n  `RigCameraIndex`, and friends (transcribed vendor namespaces so the\n  tags read/write cleanly).\n- Workflow composites: `PhysicalImageSize`, `CircleOfConfusion`\n  variants, `FileTypeDescription`, `PAR`, megapixel helpers, and other\n  small conveniences.\n\n## Usage\n\n**Native CLI** (per-invocation):\n\n```sh\nexiftool -config ExifTool_config -PathCount image.tif\n```\n\n**Install as your default config**:\n\n```sh\ncp ExifTool_config ~/.ExifTool_config\n```\n\n**In the browser / Node via\n[@colorhythm/exiftool-wasm](https://github.com/colorhythm/exiftool-wasm)**\n(requires ≥ 1.0.4 — earlier versions ignored the `config` option):\n\n```js\nimport { parseMetadata } from \"@colorhythm/exiftool-wasm\";\nimport { configBytes } from \"@colorhythm/exiftool-config\"; // Node\n// Bundlers: import cfgText from \"@colorhythm/exiftool-config/ExifTool_config?raw\"\n\nconst result = await parseMetadata(file, {\n    args: [\"-json\", \"-PathCount\", \"-TotalPathPoints\"],\n    config: { data: configBytes(), name: \"ExifTool_config\" },\n});\n```\n\n## Provenance & license\n\nMIT. Substantial portions derive from configs Phil Harvey distributes\nwith ExifTool: the Photoshop path section is his\n`photoshop_paths.config` (decoder, `PathCount`, `TotalPathPoints`,\n`UniquePathPoints` — revision history preserved in-file), and\n`BigImage` follows the largest-preview pattern from his example\nconfig. Colorhythm's contributions: the working-path (0x401) range\nextension and decoder adjustments, the clipping-designation trailer\ndecode (`ClippingPathFlatness` / `ClippingPathFillRule`), the\ndrone/multispectral XMP namespaces, the workflow composites, the\nJSON-free `sPLT` handler, and the curation of it all into one\ndependency-free file. ExifTool itself\nis Phil Harvey's, licensed under the same terms as Perl.\n","readmeFilename":"README.md"}