Add platforms icons for neogeox, neogeoaes, appleii-gs and vsmile#3017
Add platforms icons for neogeox, neogeoaes, appleii-gs and vsmile#3017
Conversation
Summary of ChangesHello @gantoine, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request introduces a set of new platform icons, expanding the visual representation for several gaming systems within the frontend assets. The additions include icons for classic and niche platforms, enhancing the user interface with dedicated imagery for each system. Highlights
Changelog
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
There was a problem hiding this comment.
Code Review
This pull request introduces four new SVG icons for various platforms. While the icons are visually detailed, they contain significant code redundancy, which increases file sizes and harms maintainability. I've provided specific feedback on each new SVG file, recommending the use of SVG <symbol> and <use> elements to define and reuse common shapes. Applying these suggestions will optimize the files, making them smaller and easier to manage.
| @@ -0,0 +1,450 @@ | |||
| <?xml version="1.0" encoding="UTF-8"?> | |||
There was a problem hiding this comment.
This SVG file is quite large due to repeated XML elements for the keyboard keys. Each key is defined with absolute coordinates, leading to a lot of duplicated code. This increases the file size and makes the icon difficult to maintain.
To optimize this, you can define the key shape as a <symbol> within the <defs> section and then instantiate it using the <use> element for each key's position. This will significantly reduce file size and improve the SVG's structure.
For example:
<defs>
...
<symbol id="keyboard-key">
<rect class="cls-9" width="40.05" height="40.05" rx="1.37" ry="1.37"/>
<path class="cls-14" d="..."/>
</symbol>
</defs>
<!-- ... in the body ... -->
<use href="#keyboard-key" x="188.61" y="673.56" />
<use href="#keyboard-key" x="490.28" y="673.56" />| @@ -0,0 +1,203 @@ | |||
| <?xml version="1.0" encoding="UTF-8"?> | |||
There was a problem hiding this comment.
This SVG file has redundant path data for text characters. Each letter in words like "ARCADE STICK PRO" is a separate <path> element with absolute coordinates. This means repeated letters are duplicated, increasing file size and complexity.
I recommend defining each unique character as a <symbol> and then reusing it with <use> elements. This will make the SVG smaller and easier to maintain.
For example, for the letter 'A':
<defs>
...
<symbol id="char-A">
<path class="cls-4" d="...path data for A at origin..."/>
</symbol>
</defs>
<use href="#char-A" x="..." y="..." />| @@ -0,0 +1,200 @@ | |||
| <?xml version="1.0" encoding="UTF-8"?> | |||
There was a problem hiding this comment.
Similar to the other new icons, this SVG contains a lot of redundant code, particularly for the text. Letters in "ADVANCED ENTERTAINMENT SYSTEM" are defined as individual paths, and repeated characters like 'A', 'E', and 'N' are duplicated.
To optimize this, you can define each unique letter as a <symbol> and reuse it with <use> elements. This will significantly reduce the file size and improve maintainability.
Example for the letter 'E':
<defs>
...
<symbol id="char-E">
<path class="cls-12" d="...path data for E at origin..."/>
</symbol>
</defs>
<use href="#char-E" x="..." y="..." />| @@ -0,0 +1,275 @@ | |||
| <?xml version="1.0" encoding="UTF-8"?> | |||
There was a problem hiding this comment.
This SVG can be optimized by reducing code redundancy. The text elements like "V.SMILE" and "V.MOTION" are composed of individual paths, and repeated characters are defined multiple times. This increases file size and makes the SVG difficult to edit.
I suggest defining each unique character as a <symbol> and then using the <use> element to place instances where needed. This will make the file smaller and more maintainable.
For example, for the letter 'V':
<defs>
...
<symbol id="char-V">
<path class="cls-2" d="...path data for V at origin..."/>
</symbol>
</defs>
<use href="#char-V" x="..." y="..." />
Description
Explain the changes or enhancements you are proposing with this pull request.
Checklist
Please check all that apply.
Screenshots (if applicable)