Skip to content

Enhance rendering, GameObject serialization, and console layout#46

Merged
amasiye merged 3 commits into
mainfrom
develop
Mar 12, 2026
Merged

Enhance rendering, GameObject serialization, and console layout#46
amasiye merged 3 commits into
mainfrom
develop

Conversation

@amasiye

@amasiye amasiye commented Mar 12, 2026

Copy link
Copy Markdown
Contributor

This pull request introduces several improvements and refactors across the core engine, focusing on Unicode support for rendering, scene and component lifecycle management, and serialization consistency. The most significant changes are grouped below by theme.

Unicode Support Enhancements

  • Replaced strlen, str_split, and substr with Unicode::length, Unicode::characters, and Unicode::substring in SplashScreen, AbstractScene, and Texture to ensure correct handling of multibyte characters for rendering and environment loading. [1] [2] [3] [4]
  • Introduced Unicode utility usage in relevant files to improve text rendering and glyph processing. [1] [2] [3]

Scene and Rendering Layout

  • Improved splash screen layout calculation by dynamically measuring terminal size and centering content using Unicode-aware measurements, removing fixed screen size adjustments. [1] [2]
  • Updated SceneManager to refresh console layout based on loaded scene's camera viewport and to merge scene-specific settings for screen dimensions. [1] [2]

Component and Behaviour Lifecycle Refactoring

  • Refactored Component class lifecycle methods: made awake, start, stop, and fixedUpdate non-final and split into overridable hooks (onStart, onStop, onFixedUpdate), improving extensibility and clarity. [1] [2] [3] [4] [5] [6]
  • Added activeScene and scene properties to Behaviour for easier scene access, using getters that reference the owning GameObject. [1] [2]
  • Added activeScene property to GameObject for direct access to the current scene.

Serialization Consistency

  • Moved serialization methods in GameObject to the end of the class for improved code organization and consistency. [1] [2]
  • Refactored serialization logic in Component for improved readability and consistent formatting. [1] [2]

Comparison and Hashing Refactor

  • Reorganized comparison and hashing methods in Component, making greaterThan and getHash non-final and adjusting their placement for clarity. [1] [2] [3]

These changes collectively improve Unicode rendering, scene management, component extensibility, and serialization consistency throughout the engine.

@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your settings.

@amasiye amasiye merged commit 2c4cb5d into main Mar 12, 2026
0 of 2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant