{"id":17816458,"url":"https://github.com/zebrajaeger/sphere2cube-js","last_synced_at":"2025-03-18T03:30:58.631Z","repository":{"id":42752346,"uuid":"279845044","full_name":"zebrajaeger/sphere2cube-js","owner":"zebrajaeger","description":"Converter for images to panoramic viewer","archived":false,"fork":false,"pushed_at":"2022-06-22T17:03:17.000Z","size":579,"stargazers_count":10,"open_issues_count":10,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-14T13:16:47.901Z","etag":null,"topics":["equirectangular","jpg","js","pannellum","pano","panorama","partial-panorama","png","psb","psd"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"isc","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zebrajaeger.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-07-15T11:04:42.000Z","updated_at":"2025-01-01T15:32:21.000Z","dependencies_parsed_at":"2022-08-27T12:02:02.123Z","dependency_job_id":null,"html_url":"https://github.com/zebrajaeger/sphere2cube-js","commit_stats":null,"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zebrajaeger%2Fsphere2cube-js","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zebrajaeger%2Fsphere2cube-js/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zebrajaeger%2Fsphere2cube-js/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zebrajaeger%2Fsphere2cube-js/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zebrajaeger","download_url":"https://codeload.github.com/zebrajaeger/sphere2cube-js/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244150256,"owners_count":20406547,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["equirectangular","jpg","js","pannellum","pano","panorama","partial-panorama","png","psb","psd"],"created_at":"2024-10-27T16:38:11.953Z","updated_at":"2025-03-18T03:30:58.289Z","avatar_url":"https://github.com/zebrajaeger.png","language":"JavaScript","readme":"# @zebrajaeger/createpano\n\n[![NPM Version](https://img.shields.io/npm/v/@zebrajaeger/createpano.svg?style=flat)](https://www.npmjs.org/package/@zebrajaeger/createpano)\n[![Install Size](https://packagephobia.now.sh/badge?p=@zebrajaeger/createpano)](https://packagephobia.now.sh/result?p=@zebrajaeger/createpano)\n[![License](https://img.shields.io/github/license/zebrajaeger/sphere2cube-js)](https://img.shields.io/github/license/zebrajaeger/sphere2cube-js)\n\nConvert\n- full spheric panorama image to viewer (equirectangular)\n- 360° panorama image to viewer (y to small for equirectangular)\n- partial panorama image to viewer\n\nReads \n- PSD and PSB with RAW or RLE Encoding\n- jpg\n- png\n\nWrites\n- preview (cubic)\n- preview (downscaled)\n- tiles (pyramide levels)\n- html (pannellum implementation)\n- all above as zip file \n\n## Installation\n\n```bash\n$ npm install -g  @zebrajaeger/createpano\n```\n\n## Usage\n\n### Minimum\n\n```bash\n$ createpano -i sourceimage.psd\n```\n\n## Options\n```bash\nUsage: cli [options]\n\nOptions:\n  -V, --version                              output the version number\n  -i, --source \u003cpath\u003e                        Source image (mandatory)\n  -ipa, --panoAngle \u003cdegree\u003e                 Angle of pano (default: \"360\")\n  -ipy, --panoYOffset \u003cdegree\u003e               Y-Offset in degree [-90.0...90.0] (default: \"0\")\n  -o, --output \u003cpath\u003e                        Output folder (default: \"_dist\")\n  -te, --targetSize \u003cpixel\u003e                  Image edge length of a face @ max resolution (default: inputImage.x / 4)\n  -fr, --facesToRender \u003cfaces\u003e               Faces To render (default: \"flrbud\")\n  -ti, --tilesIgnore                         Dont render tiles\n  -ts, --tileSize \u003cpixel\u003e                    Tile size (default: \"512\")\n  -tq, --tileJpgQuality \u003cpercent\u003e            Jpg Image quality of tiles in percent (default: \"85\")\n  -tp, --tilePathTemplate \u003ctemplate\u003e         Tile path template (default: \"{{levelCount}}/{{face}}{{y}}_{{x}}.{{fileType}}\")\n  -tpt, --tilePathType \u003ctype\u003e                Tile image type (default: \"jpg\")\n  -c, --renderCube                           Render cube sites in full resolution\n  -cp, --cubePath \u003cpath\u003e                     Cube sites path (default: \"{{face}}.jpg\")\n  -cq, --cubeJpgQuality \u003cpercent\u003e            Cube Jpg Image quality (default: \"85\")\n  -pi, --previewIgnore                       Dont render preview\n  -pcp, --previewCubePath \u003cpath\u003e             Path and name of preview image (default: \"preview.q.jpg\")\n  -pcq, --previewCubeJpgQuality \u003cpercent\u003e    Preview quality in percent (default: \"85\")\n  -pfp, --previewFlatPath \u003cpath\u003e             Path and name of preview image (default: \"preview.f.jpg\")\n  -pfo, --previewFlatOrder \u003cpath\u003e            Face order from left to right (default: \"bdflru\")\n  -pfq, --previewFlatJpgQuality \u003cpercent\u003e    Preview quality in percent (default: \"85\")\n  -psp, --previewScaledPath \u003cpath\u003e           Path and name of preview image (default: \"preview.s.jpg\")\n  -psf, --previewScaledFactor \u003cpath\u003e         Factor for one Downscaling (default: \"1.4142135623730951\")\n  -psq, --previewScaledJpgQuality \u003cpercent\u003e  Preview quality in percent (default: \"85\")\n  -pw, --previewWidth \u003cpixel\u003e                Preview width (default: \"1000\")\n  -sp, --signaturImagePath \u003cpath\u003e            Signature image\n  -ss, --signaturSide \u003cside\u003e                 Signature side (default: \"d\")\n  -sb, --signaturBelow                       Signature below pano image\n  -hi, --htmlIgnore                          Don't render html\n  -ht, --htmlTitle \u003cname\u003e                    Head-Title-Tag (default: inputImage)\n  -hpp, --htmlPannellumFile \u003cpath\u003e           Path of Pannellum .html file (default: \"index.p.html\")\n  -hmp, --htmlMarzipanoFile \u003cpath\u003e           Path of Marzipano .html file (default: \"index.m.html\")\n  -zi, --zipIgnore                           Don't zip\n  -zp, --zipPath \u003cpath\u003e                      Path for Zip File (default: \"pano.zip\")\n  -v, --verbose                              verbose\n  -h, --help                                 display help for command\n```\n\n## Preview\n\nMade here: 47.162081, 10.923371\n\n### Downscaled\n\n![dsf](./doc/preview.eq.png)\n\n### Cubic\n\n![dsf](./doc/preview.png)\n\n## TODO\n\n- Flat image example\n- zip refactoring\n- parse exif data (needed?)\n- parse xmp (for Autopano Giga, but GoPro seems to let it die. So needed?)\n\n## Many Thanks to\n\n- https://stackoverflow.com/questions/29678510/convert-21-equirectangular-panorama-to-cube-map\n- https://de.wikipedia.org/wiki/Alpha_Blending\n- https://stackoverflow.com/questions/1726630/formatting-a-number-with-exactly-two-decimals-in-javascript\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzebrajaeger%2Fsphere2cube-js","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzebrajaeger%2Fsphere2cube-js","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzebrajaeger%2Fsphere2cube-js/lists"}