Jump to content

Bryan Rieger

Members
  • Posts

    459
  • Joined

Reputation Activity

  1. Thanks
    Bryan Rieger reacted to Jon W in Scripting   
    Just to (hopefully) draw a line under this scripting language debate:
    We chose JavaScript (ECMAScript) for reasons that I'm not going to go into here!  JavaScript floating point precision is as good as any other scripting language we could have chosen.  Although its native number type is floating point, integers up to 2^53 are represented precisely; if you need more then there's BigInt. If you need integer truncation then there's Math.floor. In other words: it's not a problem. Our JavaScript SDK is implemented as a plugin and built on top of our C++ SDK. This means that although we currently have no plans to do so ourselves, it will be fully possible for anyone to implement "first class" support for Python or any other scripting language.
  2. Thanks
    Bryan Rieger reacted to NathanC in Wireframe view not showing sketch.   
    Too used to using the default 'Outline' wireframe mode on my toolbar that I had forgotten about the X-ray mode. I'd agree this is a bug and will get it logged, thanks @Bryan Rieger!
  3. Thanks
    Bryan Rieger got a reaction from NathanC in Wireframe view not showing sketch.   
    @NathanC if you use View > View Mode > Wireframe > X-ray any pixel elements will appear dimmed/semi transparent when the document colour space is set to RGB. However when using CMYK colour space pixel elements are drawn only showing their bounding boxes, which is the same as switching to View > View Mode > Wireframe > Outline.
    I'd consider this a bug, and would expect the same behaviour regardless of colour space.
  4. Haha
    Bryan Rieger got a reaction from GRAFKOM in Auto apply Colour Panel's colour picker   
    I don't think they're finished putting all of the bugs in it yet.
  5. Haha
    Bryan Rieger got a reaction from BBG3 in Auto apply Colour Panel's colour picker   
    I don't think they're finished putting all of the bugs in it yet.
  6. Haha
    Bryan Rieger got a reaction from HCl in Auto apply Colour Panel's colour picker   
    I don't think they're finished putting all of the bugs in it yet.
  7. Haha
    Bryan Rieger got a reaction from lepr in Auto apply Colour Panel's colour picker   
    I don't think they're finished putting all of the bugs in it yet.
  8. Haha
  9. Haha
  10. Thanks
    Bryan Rieger reacted to Pyanepsion in Affinity Suite: Multiple SVG export anomalies   
    Hello everyone,

    While exporting a very simplified text from Affinity in regular Arial, 8 pt, black), I came across several oddities in the generated SVG file. To illustrate the case, I added “absent” characters represented by a red placeholder, as well as a red rectangle.
    And there you have :
    - A ghost font named ArialMT (from Adobe), which doesn't exist in my source file or even on my system.
    - A totally useless empty group.
    - Nested transformations for no good reason. None of the transformations are useful.
    - Many useless attributes.
    Here's the source file (Unnecessary things in color).
    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
    <svg width="100%" height="100%" viewBox="0 0 1334 350" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;">
        <g transform="matrix(4.16667,0,0,4.16667,0,0)">
            <g transform="matrix(4.60446,0,0,0.45635,0,0)">
                <rect x="0" y="0" width="18.243" height="184.069" style="fill:#e43a30;"/>
            </g>
            <g id="Fonte" transform="matrix(1,0,0,1,84,2.84217e-14)">
                <text x="14px" y="31.954px" style="font-family:'ArialMT', 'Arial';font-size:10.667px;fill:#11161e;">In purus est, mattis eget, imp</text>
                <text x="150.948px" y="31.954px" style="font-family:'ArialMT', 'Arial';font-size:10.667px;fill:#e43a30;"></text>
                <text x="161.615px" y="31.954px" style="font-family:'ArialMT', 'Arial';font-size:10.667px;fill:#11161e;">rdiet nec,</text>
                <text x="14px" y="45.82px" style="font-family:'ArialMT', 'Arial';font-size:10.667px;fill:#11161e;">f</text>
                <text x="16.964px" y="45.82px" style="font-family:'ArialMT', 'Arial';font-size:10.667px;fill:#e43a30;"></text>
                <text x="27.63px" y="45.82px" style="font-family:'ArialMT', 'Arial';font-size:10.667px;fill:#11161e;">rm</text>
                <text x="40.068px" y="45.82px" style="font-family:'ArialMT', 'Arial';font-size:10.667px;fill:#e43a30;"></text>
                <text x="50.734px" y="45.82px" style="font-family:'ArialMT', 'Arial';font-size:10.667px;fill:#11161e;">ntum cong</text>
                <text x="100.542px" y="45.82px" style="font-family:'ArialMT', 'Arial';font-size:10.667px;fill:#e43a30;"></text>
                <text x="111.208px" y="45.82px" style="font-family:'ArialMT', 'Arial';font-size:10.667px;fill:#11161e;">e, tortor. Aenean ut</text>
                <g transform="matrix(10.6667,0,0,10.6667,187.094,59.687)">
                </g>
                <text x="14px" y="59.687px" style="font-family:'ArialMT', 'Arial';font-size:10.667px;fill:#11161e;">nibh. Nullam hendrerit viverra mi […]</text>
            </g>
        </g>
    </svg>
    Here's why.
    <?xml version=“1.0” encoding=“UTF-8” standalone=“no”?> <!-- Can be removed: redundant with file header. --> <!DOCTYPE svg PUBLIC “-//W3C//DTD SVG 1.1//EN” “http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd”> <!-- Obsolete: useless in modern SVG files. --> <svg width=“100%” height=“100%” <!-- Potentially useless: dimensions will often depend on integration via CSS. --> viewBox="0 0 1334 350” version=“1.1” <!-- Superfluous: version is implicit in modern specifications. --> xmlns="http://www.w3.org/2000/svg” xmlns:xlink=“http://www.w3.org/1999/xlink” <!-- Potentially useless: `xlink` is no longer needed in SVG 2.0. --> xml:space=“preserve” <!-- Unnecessary in most cases: `xml:space=“preserve”` has little effect except with intentional spaces. --> xmlns:serif=“http://www.serif.com/” <!-- Totally useless: no use of this namespace in the file. --> style=“fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;”> <!-- Potentially useless if these styles don't concern content. --> To be more precise:
    Here's a list of aspects to consider:
    1. DTD usage
        Criticism:
    Use of the DTD <!DOCTYPE svg PUBLIC “-//W3C//DTD SVG 1.1//EN” “http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd”> is obsolete and of little use in a modern context. Most browsers ignore this declaration.     Improvement:
    Remove the DTD or simply use the XML version without DTD. 2. Inline style
        Criticism:
    The style attribute in svg and internal elements (rect, text) mixes style definitions in SVG content, making maintenance difficult.     Improvement:
    Externalize styles in a CSS sheet or group them in a <style> tag in the SVG file to centralize styles. 3. Non-standard fonts
        Criticism:
    The style font-family:'ArialMT', 'Arial'; includes a non-standard font (ArialMT), which may not be recognized on all systems. This may cause incorrect rendering.     Improvement:
    Use standard fonts or define reliable fallbacks (font-family: 'Arial', sans-serif;). If the software could also optimize the source, it would produce much smaller images that would load more quickly. 4. Inconsistent attribute values
        Criticism:
    x-positions for <text> elements use px values when other units might be more suitable (e.g. % or relative coordinates). Dimensions and transformations (matrix(...)) are complicated and difficult to interpret, making manual editing a pain.     Improvement:
    Simplify transformations and use consistent units or positions to facilitate readability and maintenance. 5. Lack of descriptive tags (accessibility)
        Criticism:
    The file does not contain accessible descriptions such as <title> or <desc> tags. These tags are useful for assistive technologies (screen readers).     Improvement:
    Add <title> and <desc> tags to describe visually represented content. 6. Unnecessary or redundant data
        Criticism:
    The namespace xmlns:serif=“http://www.serif.com/” is declared but never used. The <g transform=“matrix(10.6667,0,0,10.6667,214.422,59.687)”> element is empty, which seems unnecessary.     Improvement:
    Remove unused elements or declarations to lighten the file. 7. Complex transformations
        Criticism:
    Matrix(...) transformations are complex and make subsequent modification difficult. They can also cause compatibility problems with certain viewers or tools.     Improvement:
    Replace matrices with explicit transformations (e.g. translate, scale, rotate) where possible. 8. Fixed dimensions and lack of dynamic viewBox
        Criticism:
    The dimensions width=“100%” and height=“100%” do not guarantee correct rendering in all contexts, as they depend on the parent container. The viewBox is correctly defined, but its association with dynamic dimensions could be optimized.     Improvement:
    Add explicit dimensions or use a more flexible viewBox to ensure consistent rendering. 9. Confusing hierarchical structure
        Criticism:
    The numerous <g> and <text> sub-elements make the structure unwieldy. Each word or fragment is encapsulated in a separate element, making the file difficult to manipulate or modify.     Improvement:
    Group text in a single <text> element if possible, with <tspan> elements to handle differences in style or position. 10. Style redundancy
        Criticism:
    Each <text> element repeats the same styles (font-family, font-size, fill), making the file unwieldy.     Improvement:
    Use classes or global styles to reduce redundancy. 11. Unnecessary inclusion of XML attributes
        Criticism:
    The xml:space=“preserve” attribute is rarely needed and could be superfluous here.     Improvement:
    Remove it if its presence does not modify the file's behavior. 12. Longer text spans
        Criticism:
    The text of an option should not resemble a treasure hunt, but clearly describe its function. The current title, 'Longer text spans', is inappropriate, even a misnomer that can only add to the confusion. In French, the translation also adds a contradiction to the contradiction. This option actually determines whether or not <text> tags include <tspan> child tags.     Improvement:
    A more suitable formulation would be:
    <Text> tag without <tspan> child tags. Or: <Text> tag without <tspan>
    In French :
    Balise <Text> sans balises enfants <tspan>. Or: Balise <Text> sans <tspan> To take things a step further, here's some optimized code.
    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1334 350"> <!-- Styles CSS intégrés --> <style> .svg-red { fill: #e43a30; } .svg-black { fill: #11161e; } .svg-text { font-family: Arial, sans-serif; font-size: 10.667px; } </style> <!-- Rectangle rouge --> <rect x="0" y="0" width="76" height="184.069" class="svg-red" /> <!-- Textes noirs --> <text class="svg-text svg-black"> <tspan x="14" y="31.954">In purus est, mattis eget, imp</tspan> <tspan x="161.615" y="31.954">rdiet nec,</tspan> <tspan x="14" y="45.82">f</tspan> <tspan x="27.63" y="45.82">rm</tspan> <tspan x="50.734" y="45.82">ntum cong</tspan> <tspan x="111.208" y="45.82">e, tortor. Aenean ut</tspan> <tspan x="14" y="59.687">nibh. Nullam hendrerit viverra mi […]</tspan> </text> <!-- Textes rouges --> <text class="svg-text svg-red"> <tspan x="150.948" y="31.954"></tspan> <tspan x="16.964" y="45.82"></tspan> <tspan x="40.068" y="45.82"></tspan> <tspan x="100.542" y="45.82"></tspan> </text> </svg> 13. Table with unnecessary transformation sequences
    Criticism:
    Instead of transforming the table directly into text, and adding a grid, the software produces an unbelievable number of transformations that in reality serve no purpose except to add inaccuracies.     Improvement:
    Avoid transformations. See discussion below 14. Character style transformed into path
    Criticism:
    The Small capital character style turns text into a path and adds a <tspan> tag, the underscore becomes a rectangle, the highlight becomes a path, the apostrophe sometimes leads to the insertion of a <tspan> tag.     Improvement:
    Avoid transformations. See discussion below. Summary of areas for improvement
    By streamlining the structure, optimizing the styles and simplifying the transformations, we could make this SVG file :
        More readable,     lighter,     More compatible with modern tools. By adopting these optimizations, Affinity could generate SVG files that are not only more powerful and lightweight, but also conform to modern standards, making them easier to integrate and manipulate in demanding professional workflows.
    Wouldn't it be a good thing to be ahead of the game?
    test-svg.afpub bad-font.svg
  11. Like
    Bryan Rieger got a reaction from loukash in Please NO MORE NEW FEATURES!   
    I don’t have much to add beyond what’s already been said (many times), but my biggest disappointment is the radio silence we’ve had from Serif (and Canva) management since the acquisition.
    2.5 was an utterly botched release so that Ash could get up on stage and take part in High School Musical - Canva Edition.
    I’m glad Serif are taking their time with 2.6, but that still doesn’t change the fact that in the meantime, trust in Serif and Canva for many folks continues to erode rapidly.
    I don’t participate here much anymore (the website takes far too long to load after the recent forum update), and I’m tired of hearing that issues are logged with developers- often for years on end, without resolution.
  12. Like
    Bryan Rieger got a reaction from Chul in Machine Learning: Object Selection Tool   
    I haven't used these machine learning models yet, but I just wanted to say how nice a surprise it was to see that these were optional downloads, and not simply bundled into the existing applications. I really appreciate Serif giving creatives the respect to choose whether or not they want to integrate any machine learning into their workflows. 
    Also, kudos for side-stepping the blanket AI hype train and calling these 'Machine Learning Models', which is not only more accurate, but also helps to frame the discussion in a much more informed manner.
  13. Like
    Bryan Rieger got a reaction from GRAFKOM in Please NO MORE NEW FEATURES!   
    I don’t have much to add beyond what’s already been said (many times), but my biggest disappointment is the radio silence we’ve had from Serif (and Canva) management since the acquisition.
    2.5 was an utterly botched release so that Ash could get up on stage and take part in High School Musical - Canva Edition.
    I’m glad Serif are taking their time with 2.6, but that still doesn’t change the fact that in the meantime, trust in Serif and Canva for many folks continues to erode rapidly.
    I don’t participate here much anymore (the website takes far too long to load after the recent forum update), and I’m tired of hearing that issues are logged with developers- often for years on end, without resolution.
  14. Like
    Bryan Rieger got a reaction from pdaniun in Machine Learning: Object Selection Tool   
    I haven't used these machine learning models yet, but I just wanted to say how nice a surprise it was to see that these were optional downloads, and not simply bundled into the existing applications. I really appreciate Serif giving creatives the respect to choose whether or not they want to integrate any machine learning into their workflows. 
    Also, kudos for side-stepping the blanket AI hype train and calling these 'Machine Learning Models', which is not only more accurate, but also helps to frame the discussion in a much more informed manner.
  15. Like
    Bryan Rieger reacted to toddlauzon in How to create Outline Brushes in Affinity Designer 2?   
    you can always use the Appearance panel and do overlay 2 strokes...for the shadow you would need to use an FX though. 

  16. Like
    Bryan Rieger got a reaction from ElleBee in Why won't Serif listen to customer needs and create a Lightroom alternative for us?   
    Um, yeah, sure… FWIW if Serif ceased support for iPads I (as a designer and illustrator) wouldn't be using Affinity products at all. I get that some folks really want a DAM, and some folks really want {insert your product/feature request here}, but please let's not minimize others priorities because they don't align with yours. 
    At the end of the day it all comes down to Serif's priorities for their products, and their business.
     
  17. Like
    Bryan Rieger got a reaction from lepr in Please NO MORE NEW FEATURES!   
    I don’t have much to add beyond what’s already been said (many times), but my biggest disappointment is the radio silence we’ve had from Serif (and Canva) management since the acquisition.
    2.5 was an utterly botched release so that Ash could get up on stage and take part in High School Musical - Canva Edition.
    I’m glad Serif are taking their time with 2.6, but that still doesn’t change the fact that in the meantime, trust in Serif and Canva for many folks continues to erode rapidly.
    I don’t participate here much anymore (the website takes far too long to load after the recent forum update), and I’m tired of hearing that issues are logged with developers- often for years on end, without resolution.
  18. Thanks
    Bryan Rieger got a reaction from AdamRatai in Machine Learning: Object Selection Tool   
    I haven't used these machine learning models yet, but I just wanted to say how nice a surprise it was to see that these were optional downloads, and not simply bundled into the existing applications. I really appreciate Serif giving creatives the respect to choose whether or not they want to integrate any machine learning into their workflows. 
    Also, kudos for side-stepping the blanket AI hype train and calling these 'Machine Learning Models', which is not only more accurate, but also helps to frame the discussion in a much more informed manner.
  19. Like
    Bryan Rieger got a reaction from Brian_J in Please NO MORE NEW FEATURES!   
    I don’t have much to add beyond what’s already been said (many times), but my biggest disappointment is the radio silence we’ve had from Serif (and Canva) management since the acquisition.
    2.5 was an utterly botched release so that Ash could get up on stage and take part in High School Musical - Canva Edition.
    I’m glad Serif are taking their time with 2.6, but that still doesn’t change the fact that in the meantime, trust in Serif and Canva for many folks continues to erode rapidly.
    I don’t participate here much anymore (the website takes far too long to load after the recent forum update), and I’m tired of hearing that issues are logged with developers- often for years on end, without resolution.
  20. Like
    Bryan Rieger got a reaction from ronnyb in Please NO MORE NEW FEATURES!   
    I don’t have much to add beyond what’s already been said (many times), but my biggest disappointment is the radio silence we’ve had from Serif (and Canva) management since the acquisition.
    2.5 was an utterly botched release so that Ash could get up on stage and take part in High School Musical - Canva Edition.
    I’m glad Serif are taking their time with 2.6, but that still doesn’t change the fact that in the meantime, trust in Serif and Canva for many folks continues to erode rapidly.
    I don’t participate here much anymore (the website takes far too long to load after the recent forum update), and I’m tired of hearing that issues are logged with developers- often for years on end, without resolution.
  21. Like
    Bryan Rieger reacted to loukash in Why I absolutely hate Affinity Photo (Constructive critiscism.)   
    No offense, but you already lost me during your clickbait-y thread title: "Hate" is supposed to be "constructive"? Gimme a break.
    As for the rest of your essay: tl;dr  
  22. Like
    Bryan Rieger got a reaction from Helmuth Pandora in Machine Learning: Object Selection Tool   
    I haven't used these machine learning models yet, but I just wanted to say how nice a surprise it was to see that these were optional downloads, and not simply bundled into the existing applications. I really appreciate Serif giving creatives the respect to choose whether or not they want to integrate any machine learning into their workflows. 
    Also, kudos for side-stepping the blanket AI hype train and calling these 'Machine Learning Models', which is not only more accurate, but also helps to frame the discussion in a much more informed manner.
  23. Thanks
    Bryan Rieger got a reaction from DNB in Machine Learning: Object Selection Tool   
    I haven't used these machine learning models yet, but I just wanted to say how nice a surprise it was to see that these were optional downloads, and not simply bundled into the existing applications. I really appreciate Serif giving creatives the respect to choose whether or not they want to integrate any machine learning into their workflows. 
    Also, kudos for side-stepping the blanket AI hype train and calling these 'Machine Learning Models', which is not only more accurate, but also helps to frame the discussion in a much more informed manner.
  24. Like
    Bryan Rieger got a reaction from Aristocrates in Machine Learning: Object Selection Tool   
    I haven't used these machine learning models yet, but I just wanted to say how nice a surprise it was to see that these were optional downloads, and not simply bundled into the existing applications. I really appreciate Serif giving creatives the respect to choose whether or not they want to integrate any machine learning into their workflows. 
    Also, kudos for side-stepping the blanket AI hype train and calling these 'Machine Learning Models', which is not only more accurate, but also helps to frame the discussion in a much more informed manner.
  25. Like
    Bryan Rieger got a reaction from garrettm30 in Advanced Page Management: General Improvements   
    Ah, thanks @MikeTO that was it. I didn't realized I had changed them ages ago. this is what my Settings > Publisher > Document > Shortcuts looks like now.
    Wouldn't it make sense just to make these the defaults, instead of requiring users go in and set them themselves?

×
×
  • Create New...

Important Information

Terms of Use | Privacy Policy | Guidelines | We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.