Commit Graph

48 Commits

Author SHA1 Message Date
9e6f00eb60 - Documentation of containers, core, and format 2025-12-18 00:00:36 -05:00
e7503ed92f - Documentation and logic fixes for various structures 2025-12-17 12:40:10 -05:00
aee4e340dd - Started setting up a thread safe window manager
- Created thread & atomic structures
2025-12-17 01:11:28 -05:00
520a0e1363 - Setup libdecor, which is used automatically when available.
TODO:
 - xdg decorations
 - threading
 - thread-safe window manager
2025-12-15 23:40:06 -05:00
97f5bbfe00 - Windows now use libdecor when present. 2025-12-15 16:29:00 -05:00
b64ce44d4e - Setup dynamic linking to libdecor 2025-12-15 15:23:45 -05:00
1acf00138a - Setup EGL context for Wayland. Test window now opens as black rectangle. 2025-12-15 13:20:08 -05:00
5dcb58f53c - Setup wayland display and window. Window surface is created and appears in hotbar. Window is not visible. 2025-12-14 15:47:11 -05:00
a1bdc077b1 - fennec::variant & fennec::generic, TODO: Test 2025-12-13 19:00:43 -05:00
9645856554 - Refactored fennec::format to use to_chars for ints. floats TODO but will also use to_chars. 2025-12-06 02:19:52 -05:00
6d58105734 - Switched back to custom window management, taking another stab
- Refactored lang yet again, `fennec/lang` is now C++ language. `fennec/string` `fennec/filesystem` and `fennec/format` are now independent.
2025-12-04 01:04:36 -05:00
d928d86014 - Some underlying features for RTTI
- Macro for automatically generating this_t
 - Semantics with static_constructor.h, now FENNEC_PRIVATE_STATIC_CONSTRUCTOR for .cpp files and FENNEC_CLASS_STATIC_CONSTRUCTOR for a class in any source file type.
2025-12-03 01:41:30 -05:00
fe8c3a4602 - Basic RTTI type data with inheritance. 2025-11-28 12:58:23 -05:00
b9026ec8da - Adjustments to component system design.
- Added indexed parameters to format strings
2025-10-06 12:47:11 -04:00
80925965d4 - GCC ARM64 Support, i.e. natively compiled with gcc on arm64 2025-09-15 02:35:34 +00:00
3565bbbc52 - Fixed some logic errors with assertions for wide vs. byte files.
- Changed getline and getwline to use gets instead of the experimental functions. These, in theory, will be slightly faster.
2025-09-11 16:58:32 -04:00
dbcb50349d - Binary Tree (Partial)
- Sequence (Partial)
2025-08-30 22:11:41 -04:00
992a02db3e - Changed directory structure significantly, moving gfx api implementations to fennec/renderers
- Began new overarching window interface
 - Began outlining renderer interfaces
 - Began a binary tree implementation in bintree.h, this will act as a generalized binary tree, then red-black tree will be implemented on top of it for sequences (ordered sets)
2025-08-28 00:01:54 -04:00
e1eaf97961 - Switched to SDL for main branch, will revisit custom implementation later. 2025-08-23 20:09:53 -04:00
540c7fbce8 - Similar refactor on XKB 2025-08-22 02:53:09 -04:00
cbcd699ab0 - Decided to remove boost due to extensive dependencies
- Huge refactor on Wayland loading to support retrieval of Protocol headers
 - Setup EGL to create surfaces for Wayland windows
2025-08-22 02:15:57 -04:00
fe4c49d092 - Fixed several memory errors 2025-08-20 20:57:15 -04:00
3d42dea9eb - Started interface for renderers
- Renamed fproc -> langproc (I'll probably never settle on a naming convention for this)
 - Refactored set to use median psl
2025-08-02 13:17:20 -04:00
3d4ea4398a - Setup Contexts to pull more info from the GPU
- Started outlining OpenGL implementation
2025-07-28 21:06:52 -04:00
7aafa4c9aa - Implemented EGL Context 2025-07-28 13:00:20 -04:00
8124ea2ae5 - Refactor on platform implementation. See comment in interface/platform.h for more info 2025-07-27 22:44:32 -04:00
d02a51fd8d - Removed Double Underscores for portability 2025-07-26 21:13:32 -04:00
7493b5252a - More implementations and dependencies for Linux Wayland support 2025-07-26 20:57:25 -04:00
f9de242b87 Adjusted Platform Structure 2025-07-23 12:12:29 -04:00
5ab2952e83 - Adjusted Formatting of tests
- Finished map implementation and unit tests

 TODO: Threading
2025-07-23 12:05:18 -04:00
73333b4c67 - Separated Platform and Compiler Dependent Behaviour into CMake scripts
- Implemented Basic Platform Interfaces
 - Implemented partial Linux platform and Wayland Display.
 - Implemented Dependencies for the above
   - map
     - set
       - optional
     - pair

TODO: threading
2025-07-22 00:59:41 -04:00
ab1c7d94be - Component-Wise Functions for Quaternions
- Fixed Allocation Bug with Strings
2025-07-17 23:16:01 -04:00
f1552b89b1 - Functions to construct matrices from translations, scaling, and rotations 2025-07-16 03:45:54 -04:00
89f59c75f3 - Wrote and Debugged Unit Tests for fennec::file 2025-07-14 21:15:39 -04:00
6ae682aff6 - Removed a bug with attempt to include pure c headers
- Added some more information about the license
 - fennec::file implementation
2025-07-14 05:11:52 -04:00
5e0dc78210 - Fixed some more compilation issues
- Added some more information to the licensing section of README.md
2025-07-10 08:48:00 -04:00
4c0d36c933 - Fixed a bunch of compilation errors and warnings
- Added frameworks for retrieving specific filesystem information for a target platform
2025-07-10 01:10:13 -04:00
2573de0904 - Fixed some circular includes
- Documentation
 - File Declaration, TODO: Implementation
2025-07-07 21:13:07 -04:00
012052641d - Setup Basic Implementation for String Library 2025-07-06 19:29:28 -04:00
a33bf5206f - Stacktrace generation with failed asserts 2025-07-05 14:22:59 -04:00
1573033b52 -Removed lambda expansions due to gcc generating call instructions 2025-06-28 12:09:59 -04:00
cbaf69310e Merge 2025-06-25 20:57:52 -04:00
d8954eafe5 - Added unit tests and debugged them 2025-06-25 20:55:57 -04:00
bd7f0829f4 Compatibility for MSVC and MinGW 2025-06-22 17:06:50 -04:00
31e3c26b66 - Touched up documentation for Math library
- finished matrix implementation
 - added custom assert implementation
2025-06-22 16:29:12 -04:00
4d8466851c - Added More Documentation
- Added some more notes to the planning doc regarding shared libraries
 - Started adding unit tests for the C++ lang library.
2025-06-19 15:16:29 -04:00
67c8ad9a0d Added fennec::allocation and all necessary dependencies 2025-05-30 21:10:52 -04:00
a6442e1945 Initial Commit 2025-05-25 22:36:59 -04:00