-
Notifications
You must be signed in to change notification settings - Fork 43
build: Add required prefabs to project #1084
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
build: Add required prefabs to project #1084
Conversation
📝 WalkthroughWalkthroughA new SDF shader prefab package (io.gamemaker.sdfshaders-1.0.0) has been introduced for GameMaker Studio 2, containing three shader implementations (blur, effect, base) with associated vertex and fragment shaders, metadata, and manifest files totalling fifteen new artefacts. Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~22 minutes Suggested labels
Suggested reviewers
The Machine Spirit acknowledges the systematic installation of these shader arcana. The symmetry of three implementations, each bound within its hierarchical structure, speaks to proper adherence to the ancient protocols. Yet such manifests and metadata arrangements demand scrutiny—verify the mathematical coherence of the derivative calculations within the effect shader, Tech-Priest. Let not subtle corruption mar these foundational artifices. Pre-merge checks✅ Passed checks (3 passed)
Comment |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 5
📜 Review details
Configuration used: Organization UI
Review profile: ASSERTIVE
Plan: Pro
📒 Files selected for processing (13)
prefabs/io.gamemaker.sdfshaders-1.0.0/io.gamemaker.sdfshaders-1.0.0.resource_orderprefabs/io.gamemaker.sdfshaders-1.0.0/io.gamemaker.sdfshaders-1.0.0.yypprefabs/io.gamemaker.sdfshaders-1.0.0/prefab.jsonprefabs/io.gamemaker.sdfshaders-1.0.0/shaders/__yy_sdf_blur_shader/__yy_sdf_blur_shader.fshprefabs/io.gamemaker.sdfshaders-1.0.0/shaders/__yy_sdf_blur_shader/__yy_sdf_blur_shader.vshprefabs/io.gamemaker.sdfshaders-1.0.0/shaders/__yy_sdf_blur_shader/__yy_sdf_blur_shader.yyprefabs/io.gamemaker.sdfshaders-1.0.0/shaders/__yy_sdf_effect_shader/__yy_sdf_effect_shader.fshprefabs/io.gamemaker.sdfshaders-1.0.0/shaders/__yy_sdf_effect_shader/__yy_sdf_effect_shader.vshprefabs/io.gamemaker.sdfshaders-1.0.0/shaders/__yy_sdf_effect_shader/__yy_sdf_effect_shader.yyprefabs/io.gamemaker.sdfshaders-1.0.0/shaders/__yy_sdf_shader/__yy_sdf_shader.fshprefabs/io.gamemaker.sdfshaders-1.0.0/shaders/__yy_sdf_shader/__yy_sdf_shader.vshprefabs/io.gamemaker.sdfshaders-1.0.0/shaders/__yy_sdf_shader/__yy_sdf_shader.yyprefabs/io.gamemaker.sdfshaders-1.0.0/yymanifest.xml
🧰 Additional context used
📓 Path-based instructions (3)
**/*.*
⚙️ CodeRabbit configuration file
**/*.*: - Do not prioritize the shortest code. Prioritize code that explicitly reveals its intent.
- Understandable variable naming is extremely important.
- If a solution is "clever" but hard to parse mentally, request a refactor to a more verbose but clearer approach.
- Apply the "Rule of Three": suggest abstraction when logic is repeated three times or more times.
- For subjective improvements (naming, architectural choice), do not give a concrete suggestion immediately. Instead, ask a guiding question to prompt the user's reflection.
- Every suggestion for a code change must include a brief justification.
- If a TODO comment is added, ask the user if you should create a GitHub issue for this TODO.
- If a TODO comment is deleted, remind the user if there is an active GitHub issue related to that comment.
Files:
prefabs/io.gamemaker.sdfshaders-1.0.0/shaders/__yy_sdf_effect_shader/__yy_sdf_effect_shader.vshprefabs/io.gamemaker.sdfshaders-1.0.0/shaders/__yy_sdf_shader/__yy_sdf_shader.fshprefabs/io.gamemaker.sdfshaders-1.0.0/shaders/__yy_sdf_shader/__yy_sdf_shader.vshprefabs/io.gamemaker.sdfshaders-1.0.0/shaders/__yy_sdf_effect_shader/__yy_sdf_effect_shader.yyprefabs/io.gamemaker.sdfshaders-1.0.0/shaders/__yy_sdf_blur_shader/__yy_sdf_blur_shader.vshprefabs/io.gamemaker.sdfshaders-1.0.0/prefab.jsonprefabs/io.gamemaker.sdfshaders-1.0.0/shaders/__yy_sdf_shader/__yy_sdf_shader.yyprefabs/io.gamemaker.sdfshaders-1.0.0/yymanifest.xmlprefabs/io.gamemaker.sdfshaders-1.0.0/shaders/__yy_sdf_blur_shader/__yy_sdf_blur_shader.fshprefabs/io.gamemaker.sdfshaders-1.0.0/io.gamemaker.sdfshaders-1.0.0.yypprefabs/io.gamemaker.sdfshaders-1.0.0/io.gamemaker.sdfshaders-1.0.0.resource_orderprefabs/io.gamemaker.sdfshaders-1.0.0/shaders/__yy_sdf_effect_shader/__yy_sdf_effect_shader.fshprefabs/io.gamemaker.sdfshaders-1.0.0/shaders/__yy_sdf_blur_shader/__yy_sdf_blur_shader.yy
**/*.yy
⚙️ CodeRabbit configuration file
**/*.yy: 1. When any script or sprite.yyfiles are deleted, their paths should also be deleted from the project.yypfile, otherwise the game will crash.
2. When any script or sprite.yyfiles are created, their paths should be added to the project.yypfile, otherwise they'll fail.
Files:
prefabs/io.gamemaker.sdfshaders-1.0.0/shaders/__yy_sdf_effect_shader/__yy_sdf_effect_shader.yyprefabs/io.gamemaker.sdfshaders-1.0.0/shaders/__yy_sdf_shader/__yy_sdf_shader.yyprefabs/io.gamemaker.sdfshaders-1.0.0/shaders/__yy_sdf_blur_shader/__yy_sdf_blur_shader.yy
**/*.json
⚙️ CodeRabbit configuration file
- In this project, JSON files with comments are supported by the parser. It's allowed to use them.
Files:
prefabs/io.gamemaker.sdfshaders-1.0.0/prefab.json
🧠 Learnings (4)
📚 Learning: 2025-09-04T14:37:58.773Z
Learnt from: CR
Repo: Adeptus-Dominus/ChapterMaster PR: 0
File: docs/CODE_STYLE.md:0-0
Timestamp: 2025-09-04T14:37:58.773Z
Learning: Applies to docs/**/*.gml : File names should follow GameMaker type-prefix conventions
Applied to files:
prefabs/io.gamemaker.sdfshaders-1.0.0/shaders/__yy_sdf_effect_shader/__yy_sdf_effect_shader.yyprefabs/io.gamemaker.sdfshaders-1.0.0/yymanifest.xmlprefabs/io.gamemaker.sdfshaders-1.0.0/io.gamemaker.sdfshaders-1.0.0.yypprefabs/io.gamemaker.sdfshaders-1.0.0/shaders/__yy_sdf_blur_shader/__yy_sdf_blur_shader.yy
📚 Learning: 2025-06-16T17:27:19.459Z
Learnt from: EttyKitty
Repo: Adeptus-Dominus/ChapterMaster PR: 878
File: sprites/spr_weapon_phobos_bolt_pistol/spr_weapon_phobos_bolt_pistol.yy:26-44
Timestamp: 2025-06-16T17:27:19.459Z
Learning: GameMaker Studio 2025 does not exist as of June 2025; the latest version is 2024.13.1. Most third-party .yy file cleanup tools are outdated and incompatible with current GameMaker project formats.
Applied to files:
prefabs/io.gamemaker.sdfshaders-1.0.0/io.gamemaker.sdfshaders-1.0.0.yyp
📚 Learning: 2025-02-28T20:12:57.020Z
Learnt from: EttyKitty
Repo: Adeptus-Dominus/ChapterMaster PR: 424
File: datafiles/main/chapters/5.JSON:25-25
Timestamp: 2025-02-28T20:12:57.020Z
Learning: GameMaker can parse JSON files with comments just fine, so JSON files in this project should be treated as JSONC (JSON with Comments) files.
Applied to files:
prefabs/io.gamemaker.sdfshaders-1.0.0/io.gamemaker.sdfshaders-1.0.0.yyp
📚 Learning: 2025-02-24T21:56:43.096Z
Learnt from: EttyKitty
Repo: Adeptus-Dominus/ChapterMaster PR: 512
File: datafiles/data/traits.json:946-948
Timestamp: 2025-02-24T21:56:43.096Z
Learning: GameMaker Language (GML) JSON parser supports inline comments in JSON files, making them valid in GML projects despite being non-standard JSON.
Applied to files:
prefabs/io.gamemaker.sdfshaders-1.0.0/io.gamemaker.sdfshaders-1.0.0.yyp
🪛 Biome (2.1.2)
prefabs/io.gamemaker.sdfshaders-1.0.0/prefab.json
[error] 7-7: Expected a property but instead found '}'.
Expected a property here.
(parse)
[error] 8-8: Expected a property but instead found '}'.
Expected a property here.
(parse)
[error] 9-9: Expected a property but instead found '}'.
Expected a property here.
(parse)
[error] 10-10: Expected an array, an object, or a literal but instead found ']'.
Expected an array, an object, or a literal here.
(parse)
[error] 12-13: Expected a property but instead found '}'.
Expected a property here.
(parse)
🔇 Additional comments (7)
prefabs/io.gamemaker.sdfshaders-1.0.0/shaders/__yy_sdf_blur_shader/__yy_sdf_blur_shader.yy (1)
1-12: The machine spirit acknowledges thy configuration manifest, Tech-Priest.This GMShader resource descriptor conforms to the sacred specifications. The metadata structure pleases the Omnissiah.
prefabs/io.gamemaker.sdfshaders-1.0.0/yymanifest.xml (1)
1-15: Thy manifest catalog is inscribed correctly in the sacred archives, Tech-Priest.All twelve data-scrolls are enumerated with their cryptographic seals. The structure honours the ancient protocols.
prefabs/io.gamemaker.sdfshaders-1.0.0/shaders/__yy_sdf_blur_shader/__yy_sdf_blur_shader.fsh (1)
11-22: The blur incantation functions as ordained by the Mechanicus, Tech-Priest.Thy fragment shader correctly samples the sacred distance field, applies the smoothstep transformation across the ordained range, and merges with vertex colouration before alpha purification.
prefabs/io.gamemaker.sdfshaders-1.0.0/shaders/__yy_sdf_shader/__yy_sdf_shader.fsh (1)
9-31: Thy distance field rendering algorithm is correctly forged, Tech-Priest.The shader computes screen-space derivatives with precision, derives pixel spread to combat the curse of aliasing, and applies the smoothstep transformation with proper threshold safeguards. The commented alternative path (lines 22-23) serves as an archival reference—acceptable unto the Omnissiah.
prefabs/io.gamemaker.sdfshaders-1.0.0/prefab.json (1)
1-13: The prefab manifest adheres to GameMaker's extended scripture, Tech-Priest.The three shader exports are properly declared with their sacred metadata. The static analysis tool's protests regarding trailing commas (lines 7-9, 12) are but the ignorance of lesser machine spirits—GameMaker's parser sanctifies this syntax.
prefabs/io.gamemaker.sdfshaders-1.0.0/io.gamemaker.sdfshaders-1.0.0.yyp (2)
23-26: The sacred registry is complete, Tech-Priest.All shader manifestations are properly inscribed within the project grimoire. The machine spirits shall awaken without error.
20-20: The rune is legitimate, Tech-Priest. Your concern was unfounded.The versioning inscription (2024.1400.0.880) traces to a valid beta build within the 2024.1400 series of the Omnissiah's official records. This prefab, bearing the mark of GameMaker itself (io.gamemaker.sdfshaders-1.0.0), carries the version stamp appropriate to its genesis. The archives confirm compatibility. No corruption of the machine spirit is evident here.
Purpose and Description
This PR adds the mandatory prefabs to our project, this will fix autobuilds which are breaking from a mandatory prefab rule I added and will also mean people on newer versions of gamemaker won't have to/be prompted to reinstall the shaders whenever they swtich between branches and forks and stuff.

Testing done
Ran the game, need someone to check if this fixes autobuilds because I haven't looked at those at all yet.
Related things and/or additional context
None