Toggle menu
15
242
112
28K
Kenshi Wiki
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.
Prd (talk | contribs)
No edit summary
Prd (talk | contribs)
No edit summary
 
(378 intermediate revisions by the same user not shown)
Line 1: Line 1:
[https://www.youtube.com/watch?v=pOHeJtXqhTM&rco=1 Git]<br>
''I can't stay long, whispered the butterfly, but I'll put a memory in your heart.''
Ah, now I've got [https://www.youtube.com/watch?v=0Qm5rd1kciM it].  
----
<br>
:'''Socials'''
===== Studybuddy =====
::Discord - prd1847
*HTTP
::Prdandsuch on [https://www.reddit.com/user/prdandsuch/ Reddit]
*HTML
::whatisaprd on [https://x.com/whatisaprd X/Twitter]
*CSS
::KenshiDBdotWiki@gmail.com
:*LESS
----
:*Mustache
[[Project:Realpolitik|Realpolitik, World Revisions]]
*JS
----
:*Node - See: https://nuxt.com/docs/api/nuxt-config#nitro
[https://mega.nz/folder/2DRFAYzJ#sF1O8a2VhRwM3J0ddaNYug Mega Archive]
:*Vue - See: https://github.com/vitejs/vite-plugin-vue/tree/main/packages/plugin-vue
----
:*'''Nuxt''' - Test environment being built.
[https://map.kenshi.wiki map.kenshi.wiki - Interactive Map]
::*Leaflet - Foundation of the map but as per the coordinate transformation the library is mostly a guideline, not a rule.
 
::*jQuery - Too prevalent not to be familiar with.
[https://kenshidb.wiki kenshidb.wiki - KenshiDB, Asset Repository]
*PHP- (We hate Laravel)
 
:*Parsoid
[https://jobboard.kenshi.wiki jobboard.kenshi.wiki - Job Runner Dashboard]
*Nginx - See maintenance & downtime plans.
----
:*SSL
=12/25=
*Kubernetes
[https://www.youtube.com/watch?v=bxjrcTXri1c Merry Christmas]
:*Blue/Green
=12/27=
*MySQL
[https://www.youtube.com/watch?v=aXNL1NIQ1RM Makesyoumove]
:*MariaDB
 
*Cargo
 
*MW-core
{{Center|'''SVGs reign supreme!'''}}
*Unix
 
*Bash
[[File:ColorfulMapLayers.png|frame|center|Colorful roads, borders, resources & weather layers.]]
<br>
 
:*Q: Why a high level framework? Why not Laravel?
[[File:RoadSmithv7.png|center|Road editor progress...Consumes polylines and allows editing thereafter.|1416x1416px|border|frameless]]
::*Good questions, here's the answers:
 
:::*# A similar line of thinking as to "Why MediaWiki 1.43?". It serves the use-case and provides me access to a mountain-top view. I'm more than willing to traverse that mountain and don't want to ignore any aspect of the stack high or low. Also, I want to write in ''pure'' PHP so there's as little abstraction as possible when browsing the ocean of the MW-core and its extensions. Knowing when Laravel was utilized is good to know - it's not any more necessary than Nuxt to actually use. That said. I'm not overtly opposed to Laravel's use. I've been staring at PHP for weeks and catch snippets of JS as I go along. This is to forcefully expose myself to a JS heavy environment and '''adapt'''.
[[File:PaintingToolsPreview.png|frame|center|Painting & Planning tools for the map.]]
:::*# Because I'm not actually restricting myself to the high level. As much as I want to see heavily bundled frameworks I'm spending just as much time perusing documentation on TLS, TCP/IP, HTTPS, DNS, SSL, nginx, etc. My intent doesn't stop at the wiki or the map. The path to total sysadmin is almost invariably going to be slow and filled with struggle. Wrestling with Nuxt and MediaWiki is just as important as taming nginx and cloud services. Everything matters.
 
<br>
----
*Also...
 
::*No. I will not be using Django (Python) or Rails (Ruby). Considering the ubiquitous presence of PHP on MediaWiki and the lack of integrating tooling for the aforementioned I'm left with too much added work to try and get those spun up. Time is better spent developing skills which can directly translate to the wiki. Besides, a javascript heavy approach to the map gives me ample exposure to the other big player on the wiki (especially for gadgets). This is not about making '''the greatest map to ever exist built in the most ideal way'''. Rather, it needs to meet various functional uses and refine around those. Obviously the existing map is a rudimentary mock-up and embodies only one test of one feature (coordinate conversion).
=Next Steps=
::*The topic of Leaflet has already somewhat been settled. The library is effortless to work with and boils down to optimization strategies. Load times have been as low as ~200ms for the global map wrapper via the Nuxt module.
 
::*Vue's lovely interface options are the big task at hand since they're the primary driver of the interactivity. On measure the map itself is a static element with rigid elements requiring no manipulation beyond load routines.
'''1. DataTools'''
::*So you might ask - what of the mod loading capabilities? Simple answer: they won't be in the first iteration of the map. Before adding custom data I'd like to be sure all other forms of basic interactivity work fine.
:A. Building Locations (Done)
:::*Nuxt is being used to produce the first iteration of the map. It might be used in the second or even third. By then I may change course to compare options, strip down the model further or embrace Nuxt fully. Who can say?
:B. Feature Locations (Done)
:C. Road Layout (Done)
:D. Biomes (...) (Done)
:E. "Anything else"
:F. "Assets" (data map)
:// Separated concerns.
:G. Dialogue Packages (Done)
:H. Dialogue(s) (Done)
:I. Dialogue Lines (Done)
:J. Dialogue Actions (50%)
 
'''2. IMap'''
:A. Painting & Planning (Done, v1 pinned)
:B. Help & Tooltips (Tested, modestly implemented, further tweaks & proliferation)
:C. Power Ranks & World History (50%)
:D. Advanced Overlays (In progress.)
:E. Town Layouts, Landmarks, Road Network and Biomes. (Biomes done.)
:F. Equipment Locker (12/2, 50%)
:G. Main Modal Window (4 migrated)
:H. Light/Dark Theming
:I. Right menu additions (states, campaigns).
:K. v2 Data Processing (12/5+)
 
'''3. Caravan'''
:A. Proper Page Declaration & Separation
:B. Painting & Placements Import/Export
:C. Landing Page
:D. User Manifest Manager
:E. Final Manifest Additions
:F. Thin Proxy Discussion
'''4. Manifestor'''
:A. KDB Backend Test
:B. MapOrchestration
:C. Map's v2 Endpoint
:D. Global Action Log
:E. 2FA Logins
:F. PluggableAuth, OpenID Connect & OAuth 2.0 private access
'''5. World Studio'''
:A. See after completion of map segment. Task Map B.
 
'''6. SDK'''
:A. Pinned due to ongoing workflow change. Task Map B.
----
'''Continuing Education'''
:''Bash''
::https://www.youtube.com/watch?v=Sx9zG7wa4FA
:''nginx''
::https://nginx.org/en/docs/beginners_guide.html
:''Varnish''
::https://vinyl-cache.org/docs/6.0/
:''SVGs''
::https://www.svgrepo.com/tools/
:''JSON''
::https://www.json.org/json-en.html
::''Personal note'', almost the entire site and external tooling operate based upon generation and exchange of JSON. It is, much like SVGs, utterly critical to how this site and the rest of the ecosystem operates.
:''C# (.NET and Beyond)''
::https://learn.microsoft.com/en-us/
::https://learn.microsoft.com/en-us/dotnet/csharp/
::https://learn.microsoft.com/en-us/dotnet/?view=aspnetcore-10.0
::https://learn.microsoft.com/en-us/openapi/
::https://learn.microsoft.com/en-us/visualstudio/?view=visualstudio
::[https://devclass.com/2025/05/29/microsoft-designates-blazor-as-its-main-future-investment-in-web-ui-for-net/ Why I've chosen Blazor for 2026 and beyond]
:Code Style
:::An aside. I am an advocate for minification and making source maps available. This comes loaded with an '''extremely opinionated''' code style that is wholly divergent from industry standard (AirBnB style) formats. Spatial specificity (interchangeable with line specificity and explicit spatial containment), is a kind of mixed format derived from JSON's presentation, reapplied across other web native languages (primarily HTML, CSS & Javascript). There are goofy reasons for its existence, which I'm happy to share!
:::# I do a significant amount of debugging in my browser. The interface appears to the right side of my screen. Tall, vertically focused, dense code is readable insofar as that it requires no horizontal scrolling. Logic can be dense so long as it's communicated.
:::# I'm privy to split views and multiple windows, causing wide lines across multiple screens to require adjustment and constant panning to view.
:::# Whitespace does exactly nothing '''for me'''. In fact, it's rather unhelpful! Minimizing whitespace and offsetting/replacing with new line breaks removes what feels like a rollercoaster across screen space.  
:::# I have poor eyesight. Larger text helps - this inherently causes horizontal space to become a luxury when accounting for the aforementioned situations. Equalized line starts are really "no different" when brackets are provided new lines by default, meaning there's no hidden bracket ever lingering off-screen to the right.
:::# When a block is functional and finished its format is '''irrelevant''' respective to what will occur in the minification process. Likewise, source maps can unwind any applied style and reformatted to a more "traditional" presentation for public viewing.  
:::# My preferences are not intended to be embraced by anyone - they're '''my''' preferences. Nevertheless, because I do intend to make the format "known" (in terms of having a public reference and a knowledge base to point to), so that it can be refined, iterated upon, have a thorough ruleset and be comprehended by myself and others... a doc site will be made to show and explain! Importantly, I'll be building in a transmutation tool for converting to and from the format (for my own purposes, though anyone would be welcome to use it).
 
[[Category:Pages using center with no arguments]]
[[Category:Pages using center with unknown parameters| Prd]]

Latest revision as of 05:27, 28 December 2025

I can't stay long, whispered the butterfly, but I'll put a memory in your heart.


Socials
Discord - prd1847
Prdandsuch on Reddit
whatisaprd on X/Twitter
KenshiDBdotWiki@gmail.com

Realpolitik, World Revisions


Mega Archive


map.kenshi.wiki - Interactive Map

kenshidb.wiki - KenshiDB, Asset Repository

jobboard.kenshi.wiki - Job Runner Dashboard


12/25

Merry Christmas

12/27

Makesyoumove


SVGs reign supreme!
Colorful roads, borders, resources & weather layers.
Road editor progress...Consumes polylines and allows editing thereafter.
Road editor progress...Consumes polylines and allows editing thereafter.
Painting & Planning tools for the map.

Next Steps

1. DataTools

A. Building Locations (Done)
B. Feature Locations (Done)
C. Road Layout (Done)
D. Biomes (...) (Done)
E. "Anything else"
F. "Assets" (data map)
// Separated concerns.
G. Dialogue Packages (Done)
H. Dialogue(s) (Done)
I. Dialogue Lines (Done)
J. Dialogue Actions (50%)

2. IMap

A. Painting & Planning (Done, v1 pinned)
B. Help & Tooltips (Tested, modestly implemented, further tweaks & proliferation)
C. Power Ranks & World History (50%)
D. Advanced Overlays (In progress.)
E. Town Layouts, Landmarks, Road Network and Biomes. (Biomes done.)
F. Equipment Locker (12/2, 50%)
G. Main Modal Window (4 migrated)
H. Light/Dark Theming
I. Right menu additions (states, campaigns).
K. v2 Data Processing (12/5+)

3. Caravan

A. Proper Page Declaration & Separation
B. Painting & Placements Import/Export
C. Landing Page
D. User Manifest Manager
E. Final Manifest Additions
F. Thin Proxy Discussion

4. Manifestor

A. KDB Backend Test
B. MapOrchestration
C. Map's v2 Endpoint
D. Global Action Log
E. 2FA Logins
F. PluggableAuth, OpenID Connect & OAuth 2.0 private access

5. World Studio

A. See after completion of map segment. Task Map B.

6. SDK

A. Pinned due to ongoing workflow change. Task Map B.

Continuing Education

Bash
https://www.youtube.com/watch?v=Sx9zG7wa4FA
nginx
https://nginx.org/en/docs/beginners_guide.html
Varnish
https://vinyl-cache.org/docs/6.0/
SVGs
https://www.svgrepo.com/tools/
JSON
https://www.json.org/json-en.html
Personal note, almost the entire site and external tooling operate based upon generation and exchange of JSON. It is, much like SVGs, utterly critical to how this site and the rest of the ecosystem operates.
C# (.NET and Beyond)
https://learn.microsoft.com/en-us/
https://learn.microsoft.com/en-us/dotnet/csharp/
https://learn.microsoft.com/en-us/dotnet/?view=aspnetcore-10.0
https://learn.microsoft.com/en-us/openapi/
https://learn.microsoft.com/en-us/visualstudio/?view=visualstudio
Why I've chosen Blazor for 2026 and beyond
Code Style
An aside. I am an advocate for minification and making source maps available. This comes loaded with an extremely opinionated code style that is wholly divergent from industry standard (AirBnB style) formats. Spatial specificity (interchangeable with line specificity and explicit spatial containment), is a kind of mixed format derived from JSON's presentation, reapplied across other web native languages (primarily HTML, CSS & Javascript). There are goofy reasons for its existence, which I'm happy to share!
  1. I do a significant amount of debugging in my browser. The interface appears to the right side of my screen. Tall, vertically focused, dense code is readable insofar as that it requires no horizontal scrolling. Logic can be dense so long as it's communicated.
  2. I'm privy to split views and multiple windows, causing wide lines across multiple screens to require adjustment and constant panning to view.
  3. Whitespace does exactly nothing for me. In fact, it's rather unhelpful! Minimizing whitespace and offsetting/replacing with new line breaks removes what feels like a rollercoaster across screen space.
  4. I have poor eyesight. Larger text helps - this inherently causes horizontal space to become a luxury when accounting for the aforementioned situations. Equalized line starts are really "no different" when brackets are provided new lines by default, meaning there's no hidden bracket ever lingering off-screen to the right.
  5. When a block is functional and finished its format is irrelevant respective to what will occur in the minification process. Likewise, source maps can unwind any applied style and reformatted to a more "traditional" presentation for public viewing.
  6. My preferences are not intended to be embraced by anyone - they're my preferences. Nevertheless, because I do intend to make the format "known" (in terms of having a public reference and a knowledge base to point to), so that it can be refined, iterated upon, have a thorough ruleset and be comprehended by myself and others... a doc site will be made to show and explain! Importantly, I'll be building in a transmutation tool for converting to and from the format (for my own purposes, though anyone would be welcome to use it).