kireji 0.0.2 → 0.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,115 +1,64 @@
1
- # kireji: Entropy-Perfect Multi-Origin Web Applications
1
+ > ### NOTE
2
+ > This node package is currently an empty placeholder for a web framework under development.
3
+ >
4
+ > Visit the working demo project [here](https://github.com/kireji-app/demo#readme).
5
+ >
6
+ > Read this documentation to get an idea of the framework's intent and features.
7
+ >
8
+ > Check back later to see if the package has been populated.
2
9
 
3
- **kireji** is a web framework that maximally compresses data models using minimal perfect hash functions (MPHFs). It achieves the information-theoretic lower bound, creating the smallest possible collision-free, duplicate-free and gap-free hashes for arbitrary data.
10
+ # **kireji:**<br><sup><sub>Entropy-perfect web apps</sub></sup>
11
+ kireji is a reactive full-stack web framework that uses minimal perfect hash functions (MPHFs) to achieve the information-theoretic lower bound of data compression.
4
12
 
5
- Any group of applications powered by kireji can have its entire group state stored in a tight place - like a single URL or even a DNS TXT record. Model data is recovered instantly from a hash and vice-versa. This gives applications deterministic, lossless deep linking, state bookmarking, historical replay and peer-to-peer sharing (via simple URL sharing) without users interacting with a central server.
13
+ An MPFH is a collision-free, duplicate-free and gap-free hash function that provides a compression solution specialized for a given data model. It assigns a unique integer to every state in the model.
6
14
 
7
- ---
15
+ Rich model data is recovered instantly from a hash and vice versa, with hashes compact enough to fit in URLs or DNS TXT records.
8
16
 
9
- ## Entropy-Perfect Encoding
10
-
11
- Each application state is assigned a unique variable-length base64 hash, derived from a bijective minimal perfect hash function. This makes them as compact and expressive as is mathematically possible.
12
-
13
- kireji provides a compression solution that is uniquely built for the given data model and can represent every state in that model.
14
-
15
- All kireji hashes are inherently integers (implemented using the `bigint` primative in JavaScript). Because the hash function has no gaps, no duplicates, and no collisions, it is not possible to achieve a smaller lossless hash of a given data model than this.
16
-
17
- If there are 10,000,000,000,000,000,000,000,000,000,000,000,000,000,000 possible ways to populate your application's data model, then kireji produces a hash integer that is always between 0 and 9,999,999,999,999,999,999,999,999,999,999,999,999,999,999. kireji can then instantly hash any instance of the data model and instantly recover one from any integer in that range.
18
-
19
- An example use-case of this is embedding rich state information in places with limited space, such as a URL or DNS TXT record, without the syntactical overhead of query parameters,JSON objects, or delimiters.
20
-
21
- ```
22
- https://www.ejaugust.com/0.126.3/4lb5kAsH_R0Dv_UHg/
23
- ```
17
+ Applications powered by kireji feature state-complete deep linking, enabling session bookmarking, peer-to-peer data sharing without a central server, and cross-origin communication via URL.
24
18
 
25
19
  ## MVC + MPHF Architecture
26
20
 
27
- kireji can also be used as a compelete front-end framework. Its minimal perfect hash function is highly reactive with a built-in event system. It instantly reflects per-component tweaks to a given model with an extensible model-view-controller (MVC) archetecture.
21
+ kireji integrates minimal perfect hash functions (MPHFs) with the model-view-controller (MVC) paradigm by using hashes as a canonical data model.
28
22
 
29
- * Each controller is a stateful component (called a <strong>part</strong>) with its own cardinality.
30
- * Parts assemble like LEGO® bricks, with a root part producing a hash representing its entire hierarchy.
31
- * JavaScript's prototype chain enables compositional inheritance between parts.
32
-
33
- ---
23
+ * Each controller is a stateful component (called a <strong>part</strong>) with a dedicated hash function.
24
+ * Parts assemble like LEGO® bricks, each assembly producing a new hash function derived from its subparts.
25
+ * JavaScript's prototype chain powers compositional inheritance between parts.
34
26
 
35
27
  ## DNS-Based Namespacing
36
28
 
37
- When used as a web application front-end framework, each part in a kireji model can be assigned a name that follows DNS semantics so that a web application's URL (such as [www.ejaugust.com](https://www.ejaugust.com)) can be quickly discerned from a runtime reference to one of its parts, such as:
29
+ <h3><a href="https://www.ejaugust.com/0.131.3/4lbHaxsKnzRXOKxrM/"><img src="https://raw.githubusercontent.com/kireji-app/demo/refs/heads/main/src/com/ejaugust/note/part.png" style="width:1.25em" alt="part icon" />&nbsp;&nbsp;<sup>Why DNS?<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<sup>⟍&nbsp;</sup><sub>Further Reading</sub></sup></a></h3>
30
+
31
+ Parts in kireji are assigned unique names following DNS semantics, relating a web application's origin (e.g., www.ejaugust.com) to its individual components, for example:
38
32
 
39
33
  ```js
40
- _.app.kireji.www.editor.selected
34
+ _.com.ejaugust
35
+ _.com.ejaugust.scroller
36
+ _.com.ejaugust.www
37
+ _.com.ejaugust.www.home
38
+ _.com.ejaugust.www.notes
41
39
  ```
42
40
 
43
- The root part is represented by `_` and is the only global object. This prevents poluting the global namespace and allows all parts to make absolute reference to eachother.
41
+ The root part, represented by `_`, is the only global object. This allows parts to reference each other without polluting the global namespace.
44
42
 
45
- The framework stores its MVC abstracts and MPHF arithmetic under the domain name `"core.parts"`, allowing them to be reached like so:
43
+ The framework provides a set of premade parts like MVC abstracts and MPHF arithmetic under the domain "core.parts":
46
44
 
47
45
  ```js
48
- _.parts.core
46
+ _.parts.core.mix
47
+ _.parts.core.match
48
+ _.parts.core.clip
49
49
  ```
50
50
 
51
51
  You can explore this organization in action by going to [www.kireji.app](https://www.kireji.app).
52
52
 
53
- ---
54
-
55
- ## Live Applications
56
-
57
- kireji is in alpha. To see the technology in action, check on the kireji.app platform. This is a connected cross-origin app ecosystem that unites eight different web applications into a single state. That way, as users browse between applications, they applications have in-depth knowledge of eachother's state.
58
-
59
- This is done completely without cookies, javascript storage APIs, user authentication, or uploading state information to a central server. As a consequence, these applications provide a permalink to every possible state they can be in. This enables robust debugging.
60
-
61
- * [kireji.app](https://www.kireji.app) – an entropy and hash-space explorer for the platform
62
- * [ejaugust.com](https://www.ejaugust.com) – a notebook-style blog about the platform
63
- * [desktop.parts](https://www.desktop.parts) – a preview of a GUI-based OS experience
64
- ### Coming Soon
65
-
66
- The following apps are not built yet, but their domain names and landing pages have been added to the platform:
67
- * [core.parts](https://www.core.parts) – likely to become a web-based Universal IDE
68
- * [user.parts](https://www.user.parts) – potential editor for software parts
69
- * [glowstick.click](https://www.glowstick.click) – purpose TBD
70
- * [kireji.io](https://www.kireji.io) – the future gamified UIDE
71
- * [orenjinari.com](https://www.orenjinari.com) – example of an artist's portfolio
53
+ ## Made with Vanilla JS
72
54
 
73
- ---
55
+ kireji does not import any third-party libraries, frameworks, or packages so that it can be reasoned about end-to-end as a self-contained and self-descriptive system.
74
56
 
75
- ## Learn More
76
-
77
- <!-- Looking ahead? See [FUTURE.md](FUTURE.md) for a deep dive into what's coming next.-->
78
- Explore the technical background and ideas that shape the kireji platform:
57
+ ## Live Applications
79
58
 
80
- * [Entropy-Perfect Encoding](https://www.ejaugust.com/0.126.4/4lb5kAh4PhZXOKxrM/) on URL space, compression theory, and minimal perfect hash functions
81
- * [The Charm](https://www.ejaugust.com/0.126.3/4lbxJ29P-vnXOKxrM/) — on measuring entropy and URL information density
82
- * [Why DNS?](https://www.ejaugust.com/0.126.4/4lbHaxsKnzRXOKxrM/) — part namespacing and platform-wide coordination
59
+ kireji is in alpha. To see the technology in action, check out the [demo](https://github.com/kireji-app/demo) repo.
83
60
  <!--
84
- * [The Multiverse and the Universal IDE](https://www.ejaugust.com/0.126.4/4lbeO3z_cmrXOKxrM/) — metaphors for self-rewriting environments
85
- * [The Gamified Universal IDE](https://www.ejaugust.com/0.126.4/4lbofySVBqVXOKxrM/) — an aspirational vision of immersive development tools -->
86
-
87
- ---
88
-
89
- ## **Technology Stack**
90
-
91
- * **JavaScript (ECMAScript)**
92
- * **CSS (Vanilla)**
93
- * **HTML (W3C Standards)**
94
- * **Service Workers for offline support**
95
- * **Serverless-compatible HTML rendering**
96
-
97
- ---
98
-
99
- ### **Zero Dependencies: A Simpler Equation**
100
-
101
- kireji is written entirely with vanilla JavaScript, CSS, and HTML. No libraries, frameworks, or third-party packages are imported.
102
-
103
- This choice was made to preserve full control over the performance of the hash function, align closely with web standards, reduce dependency resolution for applications using kireji, and to offer an opportunity to simplify the equation that defines the system's behavior.
104
-
105
- By encoding its own components within its data model, kireji and its surrounding data model can be reasoned about end-to-end, as a self-contained and self-descriptive system.
106
-
107
- ---
108
-
109
61
  ## **Current Status**
110
- [![Project Status: Alpha](https://img.shields.io/badge/Project%20Status-Alpha-orange)](https://www.repostatus.org/#alpha)
111
- [![Commits](https://img.shields.io/github/commit-activity/t/EJAugust/EJAugust)](https://github.com/EJAugust/EJAugust)
112
- [![GitHub Last Commit](https://img.shields.io/github/last-commit/EJAugust/EJAugust)](https://github.com/EJAugust/EJAugust)
113
62
 
114
63
  The following milestones completed:
115
64
 
@@ -117,16 +66,16 @@ The following milestones completed:
117
66
  * CI/CD pipeline
118
67
  * MPFH for stateless deep linking and data compression
119
68
  * Reactive front-end framework via MVC + MPFH
120
- * Domain-named archetecture ready for DNS integration
69
+ * Domain-named architecture ready for DNS integration
121
70
  * In-platform part inspector
122
71
  * Node.js server built-in
123
72
  * Local debugging and development at localhost:3000
124
73
  * Desktop operating system preview
125
74
  * Ready-made stateful components with HTML and CSS, such as
126
75
  - Scroller with custom scroll-bar implementation (more customizable than the native scrollbar)
127
- - Color mode management that automatically computes shades from a given color pallete
76
+ - Color mode management that automatically computes shades from a given color palette
128
77
  - Additive parts for mutually exclusive variable assignments
129
- - Multiplicative parts for independant variables
78
+ - Multiplicative parts for independent variables
130
79
  - Movie clip part for animating data models with a dedicated hash for every frame
131
80
  - Notebook - a blog template
132
81
 
@@ -144,9 +93,12 @@ The following milestones completed:
144
93
  | **Transfinite State Space** | Planned |
145
94
  | **Advanced DNS Integration** | Planned |
146
95
  | **Integrated Development Environment** | Planned |
147
-
148
- ---
149
-
150
- ## **License and Attribution**
151
-
152
- <sub>© 2013–2025 Eric Augustinowicz and Kristina Soriano. All Rights Reserved.</sub> <sub>This is a personal research project in active development. It's not production-ready. Please do not copy or redistribute this codebase or its methods. All content is considered prior art.</sub>
96
+ -->
97
+ ## Status and License
98
+ [![kireji on npm](https://img.shields.io/npm/v/kireji?style=for-the-badge&labelColor=CB3837&logo=npm&logoColor=white&label=NPM+package&color=212121)](https://www.npmjs.com/kireji)
99
+ <br>[![Project Status: Alpha](https://img.shields.io/badge/status-alpha-212121?style=for-the-badge&labelColor=181717&logo=github&logoColor=white)](https://www.repostatus.org/#alpha)
100
+ <br>[![Commits](https://img.shields.io/github/commit-activity/t/kireji-app/kireji?style=for-the-badge&labelColor=181717&color=212121&logo=github&logoColor=white)](https://github.com/kireji-app/demo/commits/)
101
+ <br>[![Last Commit](https://img.shields.io/github/last-commit/kireji-app/kireji?style=for-the-badge&labelColor=181717&color=212121&logo=github&logoColor=white)](https://github.com/kireji-app/demo)
102
+ <br>[![Copyright © 2023-2025 <a href="https://www.ejaugust.com">Eric Augustinowicz</a>](https://img.shields.io/badge/2023%20--%202025-Eric_Augustinowicz-212121?labelColor=007ec6&style=for-the-badge&logoColor=white&logo=data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTk3cHgiIGhlaWdodD0iMTk3cHgiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmVyc2lvbj0iMS4xIj4KIDxkZWZzPgogIDxtYXNrIGlkPSJtYXNrIj4KICAgPGNpcmNsZSBjeD0iOTgiIGN5PSI5OCIgcj0iOTgiIGZpbGw9IndoaXRlIiAvPgogICA8Y2lyY2xlIGN4PSI5OCIgY3k9Ijk4IiByPSI3OCIgZmlsbD0iYmxhY2siIC8+CiAgIDxjaXJjbGUgY3g9Ijk4IiBjeT0iOTgiIHI9IjU1IiBmaWxsPSJ3aGl0ZSIgLz4KICAgPGNpcmNsZSBjeD0iOTgiIGN5PSI5OCIgcj0iMzAiIGZpbGw9ImJsYWNrIiAvPgogICA8cmVjdCB4PSIxMTUiIHk9Ijg1IiB3aWR0aD0iNDUiIGhlaWdodD0iMjUiIGZpbGw9ImJsYWNrIiAvPgogIDwvbWFzaz4KIDwvZGVmcz4KIDxwYXRoIGQ9Ik0gOTgsMCBBIDk4LDk4IDAgMSAxIDk4LDE5NiBBIDk4LDk4IDAgMSAxIDk4LDAgWiIgZmlsbD0id2hpdGUiIG1hc2s9InVybCgjbWFzaykiIC8+Cjwvc3ZnPg==)](http://www.ejaugust.com/)
103
+ <br>[![Released under MIT License](https://img.shields.io/badge/License-MIT-212121?labelColor=007ec6&style=for-the-badge&logo=data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDEyIDEyIj48cGF0aCBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTp3aGl0ZTtzdHJva2Utd2lkdGg6Ljk5OTc1MDAyO3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLWxpbmVqb2luOm1pdGVyO3N0cm9rZS1taXRlcmxpbWl0OjYuNDAwMDAwMTtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MSIgZD0iTTQuMjUgOS41SDZNNC4yNSA3Ljc1SDZtMi4wMjMtNS41YzAgLjY5LS45MDQgMS4yNS0yLjAyMyAxLjI1LTEuMTE5IDAtMi4wMjItLjU1OS0yLjAyMi0xLjI1QzMuOTc4IDEuNTU4IDQuODggMSA2IDFjMS4xMTkgMCAyLjAyMy41NTggMi4wMjMgMS4yNXpNNiAxMVYzLjUiLz48L3N2Zz4=&logoColor=white)](https://github.com/kireji-app/kireji/LICENSE.md)
104
+ <br>[![Sponsor this Project](https://img.shields.io/badge/Sponsor-212121?labelColor=red&style=for-the-badge&logo=data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0OTciIGhlaWdodD0iNDcwIj48cGF0aCBkPSJNMTQwIDIwQzczIDIwIDIwIDc0IDIwIDE0MGMwIDEzNSAxMzYgMTcwIDIyOCAzMDMgODgtMTMyIDIyOS0xNzMgMjI5LTMwMyAwLTY2LTU0LTEyMC0xMjAtMTIwLTQ4IDAtOTAgMjgtMTA5IDY5LTE5LTQxLTYwLTY5LTEwOC02OXoiIHN0cm9rZT0id2hpdGUiIHN0cm9rZS13aWR0aD0iNDAiIGZpbGw9Im5vbmUiLz48L3N2Zz4=&logoColor=white)](https://github.com/sponsors/EJAugust)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kireji",
3
- "version": "0.0.2",
3
+ "version": "0.0.5",
4
4
  "description": "A web framework for stateful, entropy-perfect, multi-origin web applications. Currently in alpha. Expect breaking changes for version 0. Use with caution!",
5
5
  "type": "module",
6
6
  "main": "./src/index.js",
package/docs/LICENSE.md DELETED
@@ -1,21 +0,0 @@
1
- MIT License
2
-
3
- Copyright (c) 2025 Eric Augustinowicz
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
package/docs/README.md DELETED
@@ -1,152 +0,0 @@
1
- # kireji: Entropy-Perfect Multi-Origin Web Applications
2
-
3
- **kireji** is a web framework that maximally compresses data models using minimal perfect hash functions (MPHFs). It achieves the information-theoretic lower bound, creating the smallest possible collision-free, duplicate-free and gap-free hashes for arbitrary data.
4
-
5
- Any group of applications powered by kireji can have its entire group state stored in a tight place - like a single URL or even a DNS TXT record. Model data is recovered instantly from a hash and vice-versa. This gives applications deterministic, lossless deep linking, state bookmarking, historical replay and peer-to-peer sharing (via simple URL sharing) without users interacting with a central server.
6
-
7
- ---
8
-
9
- ## Entropy-Perfect Encoding
10
-
11
- Each application state is assigned a unique variable-length base64 hash, derived from a bijective minimal perfect hash function. This makes them as compact and expressive as is mathematically possible.
12
-
13
- kireji provides a compression solution that is uniquely built for the given data model and can represent every state in that model.
14
-
15
- All kireji hashes are inherently integers (implemented using the `bigint` primative in JavaScript). Because the hash function has no gaps, no duplicates, and no collisions, it is not possible to achieve a smaller lossless hash of a given data model than this.
16
-
17
- If there are 10,000,000,000,000,000,000,000,000,000,000,000,000,000,000 possible ways to populate your application's data model, then kireji produces a hash integer that is always between 0 and 9,999,999,999,999,999,999,999,999,999,999,999,999,999,999. kireji can then instantly hash any instance of the data model and instantly recover one from any integer in that range.
18
-
19
- An example use-case of this is embedding rich state information in places with limited space, such as a URL or DNS TXT record, without the syntactical overhead of query parameters,JSON objects, or delimiters.
20
-
21
- ```
22
- https://www.ejaugust.com/0.126.3/4lb5kAsH_R0Dv_UHg/
23
- ```
24
-
25
- ## MVC + MPHF Architecture
26
-
27
- kireji can also be used as a compelete front-end framework. Its minimal perfect hash function is highly reactive with a built-in event system. It instantly reflects per-component tweaks to a given model with an extensible model-view-controller (MVC) archetecture.
28
-
29
- * Each controller is a stateful component (called a <strong>part</strong>) with its own cardinality.
30
- * Parts assemble like LEGO® bricks, with a root part producing a hash representing its entire hierarchy.
31
- * JavaScript's prototype chain enables compositional inheritance between parts.
32
-
33
- ---
34
-
35
- ## DNS-Based Namespacing
36
-
37
- When used as a web application front-end framework, each part in a kireji model can be assigned a name that follows DNS semantics so that a web application's URL (such as [www.ejaugust.com](https://www.ejaugust.com)) can be quickly discerned from a runtime reference to one of its parts, such as:
38
-
39
- ```js
40
- _.app.kireji.www.editor.selected
41
- ```
42
-
43
- The root part is represented by `_` and is the only global object. This prevents poluting the global namespace and allows all parts to make absolute reference to eachother.
44
-
45
- The framework stores its MVC abstracts and MPHF arithmetic under the domain name `"core.parts"`, allowing them to be reached like so:
46
-
47
- ```js
48
- _.parts.core
49
- ```
50
-
51
- You can explore this organization in action by going to [www.kireji.app](https://www.kireji.app).
52
-
53
- ---
54
-
55
- ## Live Applications
56
-
57
- kireji is in alpha. To see the technology in action, check on the kireji.app platform. This is a connected cross-origin app ecosystem that unites eight different web applications into a single state. That way, as users browse between applications, they applications have in-depth knowledge of eachother's state.
58
-
59
- This is done completely without cookies, javascript storage APIs, user authentication, or uploading state information to a central server. As a consequence, these applications provide a permalink to every possible state they can be in. This enables robust debugging.
60
-
61
- * [kireji.app](https://www.kireji.app) – an entropy and hash-space explorer for the platform
62
- * [ejaugust.com](https://www.ejaugust.com) – a notebook-style blog about the platform
63
- * [desktop.parts](https://www.desktop.parts) – a preview of a GUI-based OS experience
64
- ### Coming Soon
65
-
66
- The following apps are not built yet, but their domain names and landing pages have been added to the platform:
67
- * [core.parts](https://www.core.parts) – likely to become a web-based Universal IDE
68
- * [user.parts](https://www.user.parts) – potential editor for software parts
69
- * [glowstick.click](https://www.glowstick.click) – purpose TBD
70
- * [kireji.io](https://www.kireji.io) – the future gamified UIDE
71
- * [orenjinari.com](https://www.orenjinari.com) – example of an artist's portfolio
72
-
73
- ---
74
-
75
- ## Learn More
76
-
77
- <!-- Looking ahead? See [FUTURE.md](FUTURE.md) for a deep dive into what's coming next.-->
78
- Explore the technical background and ideas that shape the kireji platform:
79
-
80
- * [Entropy-Perfect Encoding](https://www.ejaugust.com/0.126.4/4lb5kAh4PhZXOKxrM/) — on URL space, compression theory, and minimal perfect hash functions
81
- * [The Charm](https://www.ejaugust.com/0.126.3/4lbxJ29P-vnXOKxrM/) — on measuring entropy and URL information density
82
- * [Why DNS?](https://www.ejaugust.com/0.126.4/4lbHaxsKnzRXOKxrM/) — part namespacing and platform-wide coordination
83
- <!--
84
- * [The Multiverse and the Universal IDE](https://www.ejaugust.com/0.126.4/4lbeO3z_cmrXOKxrM/) — metaphors for self-rewriting environments
85
- * [The Gamified Universal IDE](https://www.ejaugust.com/0.126.4/4lbofySVBqVXOKxrM/) — an aspirational vision of immersive development tools -->
86
-
87
- ---
88
-
89
- ## **Technology Stack**
90
-
91
- * **JavaScript (ECMAScript)**
92
- * **CSS (Vanilla)**
93
- * **HTML (W3C Standards)**
94
- * **Service Workers for offline support**
95
- * **Serverless-compatible HTML rendering**
96
-
97
- ---
98
-
99
- ### **Zero Dependencies: A Simpler Equation**
100
-
101
- kireji is written entirely with vanilla JavaScript, CSS, and HTML. No libraries, frameworks, or third-party packages are imported.
102
-
103
- This choice was made to preserve full control over the performance of the hash function, align closely with web standards, reduce dependency resolution for applications using kireji, and to offer an opportunity to simplify the equation that defines the system's behavior.
104
-
105
- By encoding its own components within its data model, kireji and its surrounding data model can be reasoned about end-to-end, as a self-contained and self-descriptive system.
106
-
107
- ---
108
-
109
- ## **Current Status**
110
- [![Project Status: Alpha](https://img.shields.io/badge/Project%20Status-Alpha-orange)](https://www.repostatus.org/#alpha)
111
- [![Commits](https://img.shields.io/github/commit-activity/t/EJAugust/EJAugust)](https://github.com/EJAugust/EJAugust)
112
- [![GitHub Last Commit](https://img.shields.io/github/last-commit/EJAugust/EJAugust)](https://github.com/EJAugust/EJAugust)
113
-
114
- The following milestones completed:
115
-
116
- * Core framework functionality
117
- * CI/CD pipeline
118
- * MPFH for stateless deep linking and data compression
119
- * Reactive front-end framework via MVC + MPFH
120
- * Domain-named archetecture ready for DNS integration
121
- * In-platform part inspector
122
- * Node.js server built-in
123
- * Local debugging and development at localhost:3000
124
- * Desktop operating system preview
125
- * Ready-made stateful components with HTML and CSS, such as
126
- - Scroller with custom scroll-bar implementation (more customizable than the native scrollbar)
127
- - Color mode management that automatically computes shades from a given color pallete
128
- - Additive parts for mutually exclusive variable assignments
129
- - Multiplicative parts for independant variables
130
- - Movie clip part for animating data models with a dedicated hash for every frame
131
- - Notebook - a blog template
132
-
133
- ### **Roadmap**
134
-
135
- | Phase | Status |
136
- | ---------------------------------------- | ----------- |
137
- | **Minimal Perfect Hashing For Any Data** | Completed |
138
- | **Reacting MVC Framework** | Completed |
139
- | **CI/CD Pipeline** | Completed |
140
- | **Model LTS and Versioning Strategy** | Completed |
141
- | **NPM Packages and Project Generation** | In Progress |
142
- | **Debug Tools, Docs** | In Progress |
143
- | **Operating System Concept** | In Progress |
144
- | **Transfinite State Space** | Planned |
145
- | **Advanced DNS Integration** | Planned |
146
- | **Integrated Development Environment** | Planned |
147
-
148
- ---
149
-
150
- ## **License and Attribution**
151
-
152
- <sub>© 2013–2025 Eric Augustinowicz and Kristina Soriano. All Rights Reserved.</sub> <sub>This is a personal research project in active development. It's not production-ready. Please do not copy or redistribute this codebase or its methods. All content is considered prior art.</sub>