revanced-branding icon indicating copy to clipboard operation
revanced-branding copied to clipboard

Convert project files to conventional format

Open oSumAtrIX opened this issue 2 years ago • 21 comments

Issue

Currently the project files are saved in an unconventional format .afdesign which can only be opened ny Affinity Designer.

Solution

Convert all project files to a conventional format such as .psd or .ai.

Motivation

A minority owns Affinity Designer, but Affinity Designer can open other formats such as .psd and .ai.

oSumAtrIX avatar Feb 14 '23 22:02 oSumAtrIX

Why not SVG?

Ushie avatar Feb 14 '23 22:02 Ushie

#3 for example demonstrates why it is not a good idea to use rendered files as source files. See it this way, you compile your code to a binary. While it might be readable and technically usable when decompiled, you can not infer the full source of the binary easily. The same way #3 demonstrates, how the "compiled" SVG file might lose aspects of it's original source.

oSumAtrIX avatar Feb 14 '23 22:02 oSumAtrIX

Seems like exporting to .ai is not an option for Affinity Designer. ~~Alternatively, this exists: Export to .psd From there the project file can be converted to .ai.~~

oSumAtrIX avatar Feb 17 '23 02:02 oSumAtrIX

Seems like exporting to .ai is not an option for Affinity Designer.

Just convert to .eps

kazimmt avatar Feb 17 '23 05:02 kazimmt

Is eps "lossless" in terms of editability? Can project files be converted to eps and back to project files without any loss?

oSumAtrIX avatar Feb 17 '23 05:02 oSumAtrIX

Is eps "lossless" in terms of editability? Can project files be converted to eps and back to project files without any loss?

YES

kazimmt avatar Feb 17 '23 08:02 kazimmt

But gradients will convert to Raster Image That's why i made it manually in my last PR

kazimmt avatar Feb 17 '23 08:02 kazimmt

Then it is not lossless.

oSumAtrIX avatar Feb 18 '23 22:02 oSumAtrIX

#3 for example demonstrates why it is not a good idea to use rendered files as source files. See it this way, you compile your code to a binary. While it might be readable and technically usable when decompiled, you can not infer the full source of the binary easily. The same way #3 demonstrates, how the "compiled" SVG file might lose aspects of it's original source.

What if you just treat the SVGs as the source files, and use a program to convert all text to shapes/paths? That way you have SVGs with text, but distribute SVGs with compiled text.

I don't have the font used, but it is possible to convert text to SVG using a specific font image

TL;DR: You want to do .ai => .svg or smth, but you fail to realize that you can do .svg => .svg

ArjixWasTaken avatar Feb 25 '23 20:02 ArjixWasTaken

SVG files are not source files. They are rendered assets. They can be lossy in terms of the source that produced them. A project file has to be present for that reason that acts as the source and origin of the assets, which are licensed under GPLv3.

oSumAtrIX avatar Sep 03 '23 20:09 oSumAtrIX

Yes but they are not a raster format, so the loss is not in quality.

ArjixWasTaken avatar Sep 03 '23 20:09 ArjixWasTaken

The loss is in information, not quality.

oSumAtrIX avatar Sep 03 '23 20:09 oSumAtrIX

It turns out that there is no practical way to convert the project files to conventional source formats such as .ai or .psd. Technically speaking, a specification of the logo can be published, which can be used to recreate the source files in any format.

oSumAtrIX avatar Sep 03 '23 20:09 oSumAtrIX

The loss is in information, not quality.

One could debate that the loss only happens when using an SVG editor.

Handwritten SVGs don't have that issue.

But I do understand your point.

ArjixWasTaken avatar Sep 03 '23 20:09 ArjixWasTaken

What's the issue in using SVGs as source files? there are programs like Inkscape which specialise in this and they are as dependable as any other editor or format

Ushie avatar Sep 03 '23 20:09 Ushie

The problem isn't about SVGs particularly; the information about the original source is lost when rendered as SVG. As an example, the source font as a form of information delivered by the source is lost when rendering the SVG as paths.

oSumAtrIX avatar Sep 03 '23 20:09 oSumAtrIX

Besides, the SVG files are treated as rendered assets like compiled code. Your argument is similar to saying that you can still read compiled code to its fullest since you can disassemble it, but the fact remains that the source is lost.

oSumAtrIX avatar Sep 03 '23 21:09 oSumAtrIX

The problem isn't about SVGs particularly; the information about the original source is lost when rendered as SVG. As an example, the source font as a form of information delivered by the source is lost when rendering the SVG as paths.

SVGs are just plain XML files, when handwritten you can place comments like that.

ArjixWasTaken avatar Sep 03 '23 21:09 ArjixWasTaken

I am aware, as I explained, that the issue isn't the SVG files particularly. You can also simply write your compiled programs bit by bit instead of compiling their source.

oSumAtrIX avatar Sep 03 '23 21:09 oSumAtrIX

I am aware, as I explained, that the issue isn't the SVG files particularly. You can also simply write your compiled programs bit by bit instead of compiling their source.

Ah yeah, asm supports comments

This is golden

ArjixWasTaken avatar Sep 03 '23 21:09 ArjixWasTaken

That being said, the source should be delivered in a traditional and sane format such as explained in the original issue.

oSumAtrIX avatar Sep 03 '23 21:09 oSumAtrIX