AUTHOR: "Daniel Denk" SYNOPSIS: Filter Foundry development wishlist. DESCRIPTION: Compile a list of development needs to establish a finalized version of Filter Foundry, and to improve or expand on its current capabilities as a viable option to plugin development without the requirement of complicated programming languages. CURRENT VERSION TESTING: 1.4 beta 9 (1.4b9) IMPROVEMENTS/BUGS: * Convolutions 'cnv()' function was radically improved allowing for entire image processing without a one pixel border limitation in previous versions. (Resolved from previous communication.) * -1 pixel offset compensation when tiling appears to be eliminated, as was typical with Filter Factory and code requirements. This is a value-added development, but mysterious in how it effects the other processing functions. (Evaluate code and test?) *** See examples of comparison between Filter Factory code from the FF manual and revised code eliminating the -1 pixel offset. => Daniel Marschall 17 July 2021: "examples" filter deleted, because FilterFoundry and FilterFactory are 100% equal now. PRIORITY NEEDS: (FIXED) 1. Default load and save file extensions to lowercase. (.afs, .txt, .8bf) Currently uppercase. 2. Establish processing fixes/bugs where needed. One example is incompatibility with former Filter Factory scripts not working properly [ie: Simple Tile tools, repeating edge problem]. (If a documentation issue based on processing changes, then documentation required for the updated code structure.) (FIXED) 2a. See examples provided. (Blintz) R := src(x+y<=X/2?Y/2-y:x-y>=X/2? y+Y/2: x-y<=-X/2? y-Y/2:x+y>=(3*X) /2?3*Y/2-y:x,\r x+y<=X/2?X/2-x:x-y>=X/2? x-X/2:x-y<=-X/2?x+X/2:x +y>=(3*X)/2?3*X/2-x:y,z) G := src(x+y<=X/2?Y/2-y:x-y>=X/2? y+Y/2: x-y<=-X/2? y-Y/2:x+y>=(3*X) /2?3*Y/2-y:x,\r x+y<=X/2?X/2-x:x-y>=X/2? x-X/2:x-y<=-X/2?x+X/2:x +y>=(3*X)/2?3*X/2-x:y,z) B := src(x+y<=X/2?Y/2-y:x-y>=X/2? y+Y/2: x-y<=-X/2? y-Y/2:x+y>=(3*X) /2?3*Y/2-y:x,\r x+y<=X/2?X/2-x:x-y>=X/2? x-X/2:x-y<=-X/2?x+X/2:x +y>=(3*X)/2?3*X/2-x:y,z) A := src(x+y<=X/2?Y/2-y:x-y>=X/2? y+Y/2: x-y<=-X/2? y-Y/2:x+y>=(3*X) /2?3*Y/2-y:x,\r x+y<=X/2?X/2-x:x-y>=X/2? x-X/2:x-y<=-X/2?x+X/2:x +y>=(3*X)/2?3*X/2-x:y,z) Daniel Marschall (16 July 2021): In the current version of Filter Foundry 1.7, the output of Filter Foundry and Filter Factory is equal. So the bug has vanished. (FIXED) 3. Control captions currently not being applied in compiled plugins. (FIXED) 4. Fix compiled plugin dialogue to read the filter's name. [ie: CAPTION "Filters Name Goes Here"] 4a. Currently defaults to "Filter Foundry" and requires ResHacker to fix. (FIXED) 5. One pixel border bug at very bottom of Preview image. 5a. Minor annoyance in aesthetic. 5b. Refer to Item 6 as a potential fix or work-around. 5c. Refer to example in reference directory: 'bug_preview' 5c-a. Demonstrates the border, along with a description of what occurs as a side-effect [ie: 'sticking']. 5c-b. This occurs in all plugins compiled. 5c-c. Attempted different frames in ResHacker to see if the issue would go away - results same. (FIXED) 6. Prefer Preview default with no background color. 6a. Currently white background for Preview. Fixed by Daniel Marschall (10 Jan 2018): For Windows, the preview area is now inside a "sunken" border, and the area is filled with the Windows "workspace background" color. (ADDED) 7. Obfuscation or hiding of PARM source in compiled binary .8bf. 7a. Preferred as a checkbox option in the Make dialogue, or include with the 'Protect' option already established. (FIXED) 8. Flip to match PS builtin zoom controls (+/-) ---------------------------------------------------------------------------- (Deprecated) 8. Make additional captions optional (Copyright, Author, etc.) (Don't place box in dialogue at all if nothing entered.) (Deprecated) 9. Determine if all default CONTROLs can read STATIC and not "Static"? (Noticed in ResHacker when editing a dialogue - ResHacker automatically Compiles Script to read STATIC, and extracts the additional 001fxx types.) *** Deprecated due to testing in ResHacker. *** Preview problem was solved due to a mistake in DS_OWNERDRAW being altered to DS_LEFT. (Deprecated) 10. Add a checkbox option to Preview image adjustment in real-time, and possibly allow being able to scroll through the main image window. [Like native Photoshop plugins.] *** Deprecated due to lack of support from SDK. DEVELOPMENT PROPOSALS (Future Development / Expansion): (FIXED) 1. Support all Photoshop color spaces, RGB, Grayscale, CMYK, and LaB. (FIXED, up to 4 channels) 2. Multi-channel support (Being able to process all channels, regardless of color-space). [ie: If additional channels are loaded, then 4 channels will have their own space for code. - Red, Green, Blue, Alpha1, etc, A] 3. Add options for Levels display (to be able to see what any adjustment does to the histogram in real-time). ---------------------------------------------------------------------------- 4. Consider a dialogue editor while building plugins, instead of automatic captions / labeling - a la ResHacker dialogue editor. (This would fully surpass the traditional Filter Factory dialogue and produce something more flexible and unique, but with the same or current coding environment established in Filter Foundry.) 5. Consider expanding on code, to include support for alpha blending to blend pixels together. [ie: If making a seamless tile, then code in the blend amount between pixels that overlap] (This would take Filter Foundry to the next level beyond what Filter Factory had established, by allowing an additional range of options to explore in filter creation.) - If this is possible. 'alph()' function? Similar to the scl() or mix() functions? ***** Discussed optional coding language - not recommended for the current needs of Filter Foundry. ***** ACKNOWLEDGEMENTS: * Simple Tile Tools - http://www.btinternet.com/~cateran/simple/ (Used as a test source to test current status of continuity with Filter Factory compatibilities.) LICENSE NOTIFICATION: This file is part of "Filter Foundry", a filter plugin for Adobe Photoshop Copyright (C) 2003-2009 Toby Thain, toby@telegraphics.net Copyright (C) 2018-2021 Daniel Marschall, ViaThinkSoft This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to: Free Software Foundation, Inc. 59 Temple Place, Suite 330 Boston, MA 02111-1307 USA