Skip to content

Conversation

@FireController1847
Copy link
Member

📑 Summary

Primary changes were the introduction of the Crystal namespaces and the associated interfaces and supporting Glfw3 implementation for windowing.

⚒️ Changes

Caution

Accurately describing the changes made in this PR will greatly improve the speed at which we can review your PR. Semantic Versioning can be helpful in determining the scope of your change, and will help in determining the appropriate version number, merge location, and timing of the integration of your change.

➕ Additions

Added the following projects to the repository:

  • Modules/Crystal/CatalystUI.Modules.Crystal.Core
  • Modules/Crystal/CatalystUI.Modules.Crystal.Glfw3

Additionally, changes from about four months ago in the original CatalystUI development project have now been migrated into the latest version, including a refactored implementation of GlfwDisplay and GlfwWindow.

✖️ Modifications

All changes are noted in the individual commits.

➖ Removals

💬 Review

Important

Accurately listing key items for review will help us review your PR more quickly. Please include large changes, breaking changes, and any other changes that may require special attention.

Reviewers will check off items in the list as they are reviewed, in addition to the normal GitHub review process. They may request changes if any items are not adequately addressed or add additional items as necessary.

  • Ensure all modifications made are consistent with previous CatalystUI iterations.
  • Ensure all classes follow the CatalystUI model and design.
  • Basic spelling and grammar check across the board in all comments please.

CatalystUI Framework for .NET Core
Copyright (c) 2025 CatalystUI LLC. All rights reserved.

* Added the Crystal module to the solution.
* Imported varying interfaces for visual windows and displays from previous project iterations.
* No additional changes were made.
* Added the previous works of the Glfw3 implementation to the Crystal module.
* Resolved missing import in Core/CatalystApp.cs
* Resolved missing import in Tooling/Analyzers/CachedDelegateGenerator.cs
* Added the previous works of the Glfw3 implementation to the Crystal module.
* Added Color128, Color32, & IColor interface to the Mathematics project
* Added the new IRenderer interface from 4 month-old CatalystUI's `dev`branch
* Created a new concept "IRenderLayer" and "IRenderTarget."
* Removed "IWindowDomain" and swapped it to be on the "IMultisensoryDomain."
* Updated the data and native connectors to allow for connecting to various layers, rather than being restricted to their immediate neighbors.
* Resolved prefix not being appended in the SerilogDebugContext
* Add new variable to IWindow for a ThreadDelegateDispatcher
* Removed hard requirement for the windowing API to be run on the main thread (still recommended though).
* Resolved some debugging logs unnecessarily emitting the full namespace of the associated class.
@FireController1847 FireController1847 self-assigned this Nov 3, 2025
Copilot AI review requested due to automatic review settings November 3, 2025 02:54
@FireController1847 FireController1847 added ACT: Review A pull request which is currently under review. CAT: Feature Request A category of issues which are feature requests. P4: High Priority A bug or feature request that needs to be resolved relatively soon. labels Nov 3, 2025
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR introduces the Crystal module for CatalystUI, implementing windowing functionality using GLFW3, along with supporting infrastructure for display management, renderers, and native platform integration.

  • Adds complete windowing API with IWindow, IDisplay, and IWindowLayer interfaces
  • Implements GLFW3-based windowing with GlfwWindow, GlfwDisplay, and native connectors for Windows and macOS
  • Includes renderer interfaces (IRenderer, IRenderTarget, IRenderLayer) for graphics rendering
  • Refactors core threading and mathematics components to support windowing operations

Reviewed Changes

Copilot reviewed 49 out of 49 changed files in this pull request and generated 16 comments.

Show a summary per file
File Description
CatalystUI.Modules.Crystal.Core Core interfaces and types for windowing, display, and rendering systems
CatalystUI.Modules.Crystal.Glfw3 GLFW3 implementation of windowing layer with native platform connectors
CachedDelegateGenerator.cs Adds System namespace import for generated code
ThreadDelegateDispatcher.cs Refactors to expose Thread and ThreadId as public properties
Angle.cs Refactors internal field to public property for better encapsulation
Color classes Adds IColor interface and Color32/Color128 implementations
Various core files Minor import reordering and code style improvements

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@CatalystUI CatalystUI deleted a comment from Copilot AI Nov 3, 2025
* Resolved INativeApi in the core not giving APIs an opportunity to initialize on a different thread.
* Updated IWindowLayer to allow passing a different dispatcher.
Copy link
Contributor

@RealCrazeOfficial RealCrazeOfficial left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Upon review, I found 15 grammatical changes in in-line comments.

Co-authored-by: Craze <51416587+RealCrazeOfficial@users.noreply.github.com>
Signed-off-by: FireController#1847 <usfirepilot123@gmail.com>
Copy link
Contributor

@RealCrazeOfficial RealCrazeOfficial left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Co-authored-by: Craze <51416587+RealCrazeOfficial@users.noreply.github.com>
Signed-off-by: FireController#1847 <usfirepilot123@gmail.com>
Copy link
Contributor

@RealCrazeOfficial RealCrazeOfficial left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@FireController1847 FireController1847 merged commit d2ba731 into beta Nov 9, 2025
3 checks passed
@FireController1847
Copy link
Member Author

Thank you everyone for your reviews and efforts!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ACT: Review A pull request which is currently under review. CAT: Feature Request A category of issues which are feature requests. P4: High Priority A bug or feature request that needs to be resolved relatively soon.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants