Code Monkey home page Code Monkey logo

expresso's People

Contributors

fcamarlinghi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

expresso's Issues

Export engine improvements

  • Support for background matte color when exporting groups with transparent backgrounds.
  • Give more control over the blur/sharpen settings.
  • Additional scaling options (useful i.e. to export textures for mobile games), including support for specifying the output resolution in pixels.
  • Auto-export enabled targets when changes are made to the document.
  • Support to optionally save settings to an external file instead of using document XMP data.
  • Support for running a post-export step (i.e. a script to copy the exported file to a different folder, see #8 ).

i get a error today :(

unable to export"_albedo". undfined is not a function,

can you help me man?

this is log:
18:41:42.355 [CEP] [DEBUG] evalScript:
var params = {};var documentPath="";try{if(params.documentId){for(var i=0,l=app.documents.length;i<l;i++){if(app.documents[i].id===params.documentId){documentPath=app.documents[i].fullName.fsName;break;}}}else{documentPath=app.activeDocument.fullName.fsName;}}catch(e){}documentPath;
18:41:42.358 [Extension] [DEBUG] Export folder is relative to document path E:\IGG\wright brother\model\ (./)
18:41:42.359 [Photoshop] [DEBUG] _sendScript: var params = {"documentId":null,"flags":{"compInfo":false,"imageInfo":true,"layerInfo":true,"expandSmartObjects":false,"getTextStyles":false,"getFullTextStyles":false,"selectedLayers":false,"getCompLayerSettings":false,"getDefaultLayerFX":false,"getPathData":false}};var idNS=stringIDToTypeID("sendDocumentInfoToNetworkClient"),desc=new ActionDescriptor();desc.putString(stringIDToTypeID("version"),"1.3.0");for(var key in params.flags){if(params.flags.hasOwnProperty(key)){desc.putBoolean(stringIDToTypeID(key),params.flags[key]);}}if(params.documentId){desc.putInteger(stringIDToTypeID("documentID"),params.documentId);}executeAction(idNS,desc,DialogModes.NO);
18:41:42.400 [Photoshop] [DEBUG] _sendScript: var params = {"documentId":225,"layerSpec":3,"scaleX":1,"scaleY":1,"bounds":true,"boundsOnly":false,"useSmartScaling":false,"includeAncestorMasks":false,"includeAdjustors":false,"convertToWorkingRGBProfile":false,"getICCProfileData":false,"allowDither":false,"useColorSettingsDither":false,"forceSmartPSDPixelScaling":false,"clipToDocumentBounds":true,"maxDimension":16384};var DEFAULT_MAX_DIMENSION=10000,desc=new ActionDescriptor(),transform;if(params.inputRect&&params.outputRect){transform=new ActionDescriptor();var inputRect=params.inputRect,psInputRect=new ActionList();psInputRect.putUnitDouble(charIDToTypeID("#Pxl"),inputRect.left);psInputRect.putUnitDouble(charIDToTypeID("#Pxl"),inputRect.top);psInputRect.putUnitDouble(charIDToTypeID("#Pxl"),inputRect.right);psInputRect.putUnitDouble(charIDToTypeID("#Pxl"),inputRect.bottom);transform.putList(stringIDToTypeID("rectangle"),psInputRect);var outputRect=params.outputRect,psOutputCorners=new ActionList();psOutputCorners.putUnitDouble(charIDToTypeID("#Pxl"),outputRect.left);psOutputCorners.putUnitDouble(charIDToTypeID("#Pxl"),outputRect.top);psOutputCorners.putUnitDouble(charIDToTypeID("#Pxl"),outputRect.right);psOutputCorners.putUnitDouble(charIDToTypeID("#Pxl"),outputRect.top);psOutputCorners.putUnitDouble(charIDToTypeID("#Pxl"),outputRect.right);psOutputCorners.putUnitDouble(charIDToTypeID("#Pxl"),outputRect.bottom);psOutputCorners.putUnitDouble(charIDToTypeID("#Pxl"),outputRect.left);psOutputCorners.putUnitDouble(charIDToTypeID("#Pxl"),outputRect.bottom);transform.putList(stringIDToTypeID("quadrilateral"),psOutputCorners);}else{if(params.scaleX&&params.scaleY&&(params.scaleX!==1||params.scaleY!==1)){transform=new ActionDescriptor();transform.putBoolean(stringIDToTypeID("forceDumbScaling"),!params.useSmartScaling);transform.putDouble(stringIDToTypeID("width"),params.scaleX100);transform.putDouble(stringIDToTypeID("height"),params.scaleY100);}}if(transform){transform.putBoolean(stringIDToTypeID("forceDumbScaling"),!params.useSmartScaling);if(params.hasOwnProperty("interpolationType")){transform.putEnumerated(stringIDToTypeID("interpolation"),stringIDToTypeID("interpolationType"),stringIDToTypeID(params.interpolationType));desc.putEnumerated(stringIDToTypeID("interpolation"),stringIDToTypeID("interpolationType"),stringIDToTypeID(params.interpolationType));}transform.putBoolean(stringIDToTypeID("forceSmartPSDPixelScaling"),!!params.forceSmartPSDPixelScaling);desc.putObject(stringIDToTypeID("transform"),stringIDToTypeID("transform"),transform);}desc.putInteger(stringIDToTypeID("documentID"),params.documentId);desc.putInteger(stringIDToTypeID("width"),params.maxDimension||DEFAULT_MAX_DIMENSION);desc.putInteger(stringIDToTypeID("height"),params.maxDimension||DEFAULT_MAX_DIMENSION);desc.putInteger(stringIDToTypeID("format"),2);if(typeof(params.layerSpec)==="object"){desc.putInteger(stringIDToTypeID("firstLayer"),params.layerSpec.firstLayerIndex);desc.putInteger(stringIDToTypeID("lastLayer"),params.layerSpec.lastLayerIndex);if(params.layerSpec.hasOwnProperty("hidden")&&params.layerSpec.hidden.length>0){var i,hiddenIndicesMap={},settingsList=new ActionList(),hiddenLayerDesc=new ActionDescriptor(),visibleLayerDesc=new ActionDescriptor(),hiddenLayerSettings=new ActionDescriptor(),lsID=stringIDToTypeID("layerSettings");hiddenLayerSettings.putBoolean(stringIDToTypeID("enabled"),false);hiddenLayerDesc.putObject(lsID,lsID,hiddenLayerSettings);for(i=0;i<params.layerSpec.hidden.length;i++){hiddenIndicesMap[params.layerSpec.hidden[i]]=true;}for(i=params.layerSpec.firstLayerIndex;i<=params.layerSpec.lastLayerIndex;i++){if(hiddenIndicesMap[i]){settingsList.putObject(lsID,hiddenLayerDesc);}else{settingsList.putObject(lsID,visibleLayerDesc);}}desc.putList(stringIDToTypeID("layerSettings"),settingsList);}}else{desc.putInteger(stringIDToTypeID("layerID"),params.layerSpec);}if(params.hasOwnProperty("compId")){desc.putInteger(stringIDToTypeID("compID"),params.compId);}else{if(params.hasOwnProperty("compIndex")){desc.putInteger(stringIDToTypeID("compIndex"),params.compIndex);}}if(params.includeAncestorMasks){desc.putEnumerated(stringIDToTypeID("includeAncestors"),stringIDToTypeID("includeLayers"),stringIDToTypeID("includeVisible"));}else{desc.putEnumerated(stringIDToTypeID("includeAncestors"),stringIDToTypeID("includeLayers"),stringIDToTypeID("includeNone"));}if(params.includeAdjustors){desc.putEnumerated(stringIDToTypeID("includeAdjustors"),stringIDToTypeID("includeLayers"),stringIDToTypeID("includeVisible"));}else{desc.putEnumerated(stringIDToTypeID("includeAdjustors"),stringIDToTypeID("includeLayers"),stringIDToTypeID("includeNone"));}desc.putBoolean(stringIDToTypeID("convertToWorkingRGBProfile"),!!params.convertToWorkingRGBProfile);if(params.hasOwnProperty("useICCProfile")){desc.putString(stringIDToTypeID("useICCProfile"),params.useICCProfile);}desc.putBoolean(stringIDToTypeID("sendThumbnailProfile"),!!params.getICCProfileData);desc.putBoolean(stringIDToTypeID("allowDither"),!!params.allowDither);desc.putBoolean(stringIDToTypeID("useColorSettingsDither"),!!params.useColorSettingsDither);desc.putBoolean(stringIDToTypeID("clipToDocumentBounds"),!!params.clipToDocumentBounds);desc.putBoolean(stringIDToTypeID("boundsOnly"),!!params.boundsOnly);desc.putBoolean(stringIDToTypeID("bounds"),!!params.bounds);executeAction(stringIDToTypeID("sendLayerThumbnailToNetworkClient"),desc,DialogModes.NO);
18:41:42.831 [CEP] [DEBUG] getExtensionInfo
18:41:42.831 [CEP] [DEBUG] evalScript:
var params = {"text":"Unable to export "_albedo". undefined is not a function","title":"Expresso Exporter"};alert(params.text,params.title)
18:41:42.832 [Extension] [ERROR] Unable to export "_albedo". undefined is not a function

ERR_REQUIRE_ESM .cjs etc

Attempting to build, getting multiple errors that seem to be due to current versions of node_modules dependencies.

  • Error [ERR_REQUIRE_ESM]: Must use import to load ES Module
  • require() of ES modules is not supported.
  • Instead rename index.js to end in .cjs, change the requiring code to use import(), or remove "type": "module" from .../node_modules/cpy/package.json.

Tried downgrading to 2.6.6, still failing.
npm install [email protected] --legacy-peer-deps

Any advice on making sure local setup matches the one used by the last user who committed?

Thanks

Does not Build?

Hey there, I just tried your simple build description and it doesnt seem to work with the current version.

Error: Cannot find module 'cepy'
    at Function.Module._resolveFilename (module.js:325:15)
    at Function.Module._load (module.js:276:25)
    at Module.require (module.js:353:17)
    at require (internal/module.js:12:17)
    at Object.<anonymous> (D:\code\js\expresso-master\scripts\tasks\exporter.js:9:14)
    at Module._compile (module.js:409:26)
    at Object.Module._extensions..js (module.js:416:10)
    at Module.load (module.js:343:32)
    at Function.Module._load (module.js:300:12)
    at Module.require (module.js:353:17)
    at require (internal/module.js:12:17)
    at Object.<anonymous> (D:\code\js\expresso-master\bin\build.js:16:18)
    at Module._compile (module.js:409:26)
    at Object.Module._extensions..js (module.js:416:10)
    at Module.load (module.js:343:32)
    at Function.Module._load (module.js:300:12)

i tried adding cepy from your repo too, as its not registered on npm (?) and not noted in you package.json.

so, that worked a bit but ends up at:

Error: Cannot find module './distrib/cepy.certificate.js'
    at Function.Module._resolveFilename (module.js:325:15)
    at Function.Module._load (module.js:276:25)
    at Module.require (module.js:353:17)
    at require (internal/module.js:12:17)
    at Object.<anonymous> (D:\code\js\expresso-master\scripts\cepy.exporter.config.js:51:22)
    at Module._compile (module.js:409:26)
    at Object.Module._extensions..js (module.js:416:10)
    at Module.load (module.js:343:32)
    at Function.Module._load (module.js:300:12)
    at Module.require (module.js:353:17)
    at require (internal/module.js:12:17)
    at Object.Promise.resolve.then.then.then.then [as run] (D:\code\js\expresso-master\scripts\tasks\exporter.js:16:24)
    at Object.<anonymous> (D:\code\js\expresso-master\bin\build.js:19:10)
    at Module._compile (module.js:409:26)
    at Object.Module._extensions..js (module.js:416:10)
    at Module.load (module.js:343:32)
    at Function.Module._load (module.js:300:12)
    at Function.Module.runMain (module.js:441:10)
    at startup (node.js:139:18)
    at node.js:968:3

now at this point i didnt want to dig any deeper, and thought it might be best to let you know hehe..

Im sure its just some silly stuff which is not correctly submitted or whatever.

Thanks.

Can compile but panel stay blank

Hi! I successfully packed the expresso.exporter_0.5.0.ZXP file following all the instructions but when I run both PS 2015 and 2017 the panels remain blank. I enabled Remote Connections in Photoshop preferences too.

Thanks.

UI improvements

  • Separate dialog to edit plugin settings (instead of relying on panel context menu). Needed to be able to edit non-trivial settings, i.e. keyboard shortcuts.
  • Keyboard shortcuts.
  • Export current configuration as a template, which can then be loaded to quickly setup export targets for another file (see comment).
  • Color code export targets based on Photoshop group color (see comment).
  • Visually warn user if export settings are wrong
  • Ability to reorder export targets.
  • Ability to drag and drop layers inside the export target instead of having to search for them using the dropdown list.
  • Ability to specify a password for Photoshop Remote Server.
  • Add first-time wizard to instruct users about how to enable Photoshop Remote Server. Find out if there's a way to enable it automatically (through ExtendScript?).
  • Support navigation using arrow keys on core-combobox.
  • Keyboard shortcut to export the target(s) corresponding to the currently selected layer.

Tif vs TIFF and tiff Compression

I made a few changes to the extension on my side in regards to tif export.
https://github.com/csprance/expresso

One of the things I changed was using the 3 letter extension of tif instead of .tiff (They're the same thing but lots of stuff likes to have the 3 letter version instead [in my case snowdrop])

I also added an option for tiff compression using LZW (since tif compression is lossless there is really no reason not to use it).

Would you like me to create a pull request for either of these?

(I ran prettier on the whole codebase as well but I'm happy to transfer these changes sans my formatting changes.)

Resurrect the Previewer panel

  • Add back the Previewer panel code to the repository.
  • Built-in PBR rendering. Most WebGL (i.e. ThreeJS, Babylon) libraries now use PBR shaders by default, so getting at least a basic version working should be easy.
  • Make sure the final rendering is still gamma correct.
  • Make use of the new export engine for additional performance.
  • Support for more mesh formats: OBJ, FBX, GLTF (more?). It seems ThreeJS now offers loaders for most formats, including FBX.
  • Auto-refresh preview when changes are made to the document.

Compressed TGA?

Is it somehow possible to export to compressed TGA rather than uncompressed? Because I can't find such option anywhere, and since TGA compression is both lossless and fast, there's little reason not to use it. My studio even plans to start enforcing compression as requirement on all submitted TGA, since once there are thousands of textures in the project, differences between all of them being compressed or not is few hundred gigabytes per workstation.

Ability to export 16bit Greyscale for Height maps

Currently the tool always exports RGB textures. Is there a way to make it export to Greyscale? Right now when dealing with Height maps for UE4 I cannot use this tool because it always outputs RGB and Unreal only take Greyscale for Height maps.

Remote connections issue: Default password has changed

Upon installing the latest version of photoshop, I tried to install Expresso but am hitting an issue. The default password set under enable remote connections is now four characters, and when you attempt to save after enabling these two things it says the password needs to be six characters, meaning in order to save you have to change the default password. I don't know if this is new, but it's a blocker to being able to install and use Expresso!

Please advise!

image

Sharpen breaks the RGB when exporting TGA with Alpha

In Expresso Exporter 0.6.2

enabling the "Sharpen" in the export settings, and exporting in TGA with "Alpha", results in a broken texture:

  • the parts of the RGB texture that have white pixels in the alpha channels are correctly visible.
  • the parts of the RGB texture that have black pixels in the alpha channel are black.

The issue doesn't happen disabling the Sharpen: without Sharpen enabled the tga texture with Alpha exports correctly.
Check the attached images for more details.

PSD Setup
Expresso_0 6 2_Sharpen_Bug

Resulting tga texture with Sharpen enabled.
Texture_with_Sharpen

Resulting tga texture without Sharpen enabled.
Texture_without_Sharpen

Expresso is loading but nothing happens when UI buttons are clicked.

I have been trying to make Expresso 0.6.1 work on my machine in Photoshop CC 2020 and 2021 without success.

The extension doesn't do anything when I press UI buttons inside the panel (I can access the settings but nothing happens when I press the folder, + and arrow buttons).
This has been the case both while running the extension from a debug build or installing the signed ZXP package downloaded from gumroad.

Running the Expresso scripts in File>Scripts has no effect as well

No error is showing up in the Chromium dev console, I only see this warning:
[Settings] [WARN] Error reading settings file, starting clean.

Generator and remote connections are turned on in PS settings.

Perhaps I am misunderstanding how to set up properly a document for the extension to work.
Do I have to name layers or groups in a certain way like for the asset generator?

I am on macOS Catalina 10.15.7

multiple export paths

Would it be possible to have multiple export paths saved and export to more than one folder at once? I often need to export the same file to two locations, my workaround is to use the local and absolute paths but it's slowing me down to hit export, click the unlock button, and export again.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.