Commit Graph
100 Commits
Author SHA1 Message Date
selimaj-devandclaude df5afe99e3 Remove the upgrade of opaque theme colors from before 0.1.3
Configs saved before 0.1.3 (without a menu blur) had their preset
background and primary colors made translucent on load. It's no longer
needed, so Theme drops it, along with ConfigManager.isSaved, which only
it used.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-30 21:47:45 +02:00
selimaj-devandclaude a6a324a61a Rename the Ref methods that share a name with vanilla methods
WindowRef.getWidth/getHeight and ItemStackRef.isEmpty/getMaxDamage
match methods of the classes they're mixed into, so the mixins can't
implement them explicitly. With Mojang's names, Window.getWidth is
also the framebuffer's width rather than the window's. They're now
getWindowWidth/getWindowHeight and isEmptyStack/getMaxItemDamage
(with getItemDamage to match).

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-30 17:42:48 +02:00
selimaj-devandclaude c973e053aa Open Saturn's settings from the title dock and put Saturn first
The Saturn logo in the title screen's dock now opens Saturn's settings instead of the shift menu,
and it comes first: Saturn, mods, cosmetics, then Minecraft's options last. The shift menu is still
on its key in game.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-29 18:34:24 +02:00
selimaj-devandclaude bbf6b88ed3 Put settings second and the HUD editor last in the sidebar
The order is now mods, settings, cosmetics, HUD editor.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-29 18:34:24 +02:00
selimaj-devandclaude ba71a5b838 Draw no cloak for "None" instead of the missing texture
"None" is the empty cloak id, but getCurrentCloakTexture still built textures/cloaks/.png from it, so
the renderer drew Minecraft's missing texture. It now returns null for an empty id and for any id
this version has no texture for, and the renderer already skips a null texture.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-29 18:34:24 +02:00
selimaj-devandclaude 2fceb58024 Add seven community emotes and re-export the twerk for emotes 0.1.1
Get the Griddy, Take the L, Dab, Wave, Salute, Shrug and 67, converted from Emotecraft's binary
files with the emotes repo's tools/emotecraft/convert.py. Their authors stay in each file. Their
Emotecraft bends play as the library's curved ones.

Emotes 0.1.1 stopped flipping the torso's bend, so the twerk is re-exported with its torso bends'
signs turned round. It looks the same as before. This needs Saturn on emotes 0.1.1, which the
saturnclient change pointing here does.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-29 17:57:00 +02:00
selimaj-devandclaude 9ede612089 Add a twerk emote and drop the front flip
The twerk was measured from a 3D preview with the new emote capture tool, then made left/right
symmetric so it sways evenly instead of leaning to one side. The front flip is removed because it
plays wrongly with the new emote library.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-29 16:52:04 +02:00
selimaj-devandclaude 69c830d466 Make old opaque theme colors translucent once
Configs saved before 0.1.3 hold the old default and preset background
and primary colors fully opaque, so glass didn't show for anyone
updating. On a config without Menu blur (new in 0.1.3), colors that are
an old default or preset get their translucent alpha; colors players
picked stay as they are.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-28 23:05:27 +02:00
selimaj-devandclaude 7cc37b7c74 Tell when glass can be drawn at all
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-28 21:57:10 +02:00
selimaj-devandclaude 524fc36bf3 Say glass is up to the render scope, not the version
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-28 21:55:47 +02:00
selimaj-devandclaude 7bc308155e Split the blur into world, menu and widget blurs
The world or panorama keeps its animated background blur, while glass
behind menus and behind widgets (buttons, the dock, the account chip)
each get a fixed blur of their own. Glass is left out when its blur is 0.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-28 21:35:23 +02:00
selimaj-devandclaude 4d9c629eaf Frost translucent panels with glass
Panels whose background isn't solid draw the blurred game behind them,
cut to the same rounded rectangle texture as the background, where the
version supports glass. Panel screens then leave the rest of the game
unblurred.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-28 20:43:44 +02:00
selimaj-devandclaude 5c0912f0cf Use the background and primary colors' own alpha
Panels, buttons, cards and tiles multiplied the theme's background and
primary colors by a fixed alpha, so they were translucent however the
colors were set. They now use the colors as they are, and the defaults
and presets carry the old translucency in their alpha instead. Popups
stay nearly solid so they're readable over panels.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-28 19:56:24 +02:00
selimaj-devandclaude 3436054112 Draw the color picker from gradient textures
The picker drew its square and bars one pixel at a time, about 10,000
fills a frame. It now stretches four gradient strips, made once, over
them instead.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-28 19:45:04 +02:00
selimaj-devandclaude adedd688a7 Bring the title screen's intro and corners into line
The intro now comes in in reading order, one Main Menu stagger apart.
The account chip is as tall as the quit button, with a smaller head and
name, both sitting a little tighter in the top corners, and the Saturn
dock item opens the shift menu.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-28 19:39:39 +02:00
selimaj-devandclaude a7ad458627 Move the title screen's extras to its corners and dock
The account chip and a quit button go in the top corners and the version
in the bottom left, now smaller and fainter. Minecraft's options and
Saturn's settings take the HUD editor's place in the dock, and the intro
brings the menus and edges in after the logo. Faded elements now start
hidden instead of at 10% opacity.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-28 19:20:33 +02:00
selimaj-devandclaude 320b2fd9a5 Tighten the title screen around the logo
Give the title screen the shift menu's logo and wordmark, bring the
menus up under it, and make the dock smaller with a settings item.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-28 19:09:10 +02:00
selimaj-devandclaude a7e3e537b1 Add GUI scale sliders for Saturn's screens
The title screen, the menus and the HUD menus (emote wheel, shift menu)
each get a scale slider, relative to Minecraft's GUI scale. The HUD
editor stays in GUI pixels.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-28 18:59:47 +02:00
selimaj-devandclaude 136621cc8d Remove UI code and icons nothing uses
TextureButton, ClickableTexture, Text, Notification and the FadeOut and
SlideX animations only Notification used, Utils.getOrNull and the
commented-out notify, Element.duration, the 17 PNG icons the Lucide SVGs
replaced, and the Textures constants for them and for files that don't
exist.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-27 19:14:17 +02:00
selimaj-devandclaude 25d288da92 Rework the HUD editor
HUDs are drawn as they are in game, background included, through the
new HudModPreview.draw, and the world behind the editor isn't blurred.
Each has an outline that turns the accent color with the mod's name while
hovered or dragged, and a visible resize handle that's easier to grab.
Scale stays within its range and HUDs stay on screen, and a hint says how
to use the editor.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-27 19:09:06 +02:00
selimaj-devandclaude f0971ff128 Use one button style and an icon-only dock
Buttons no longer have a primary style: every button is the translucent
outlined surface that brightens on hover, and only an icon button's icon
takes the accent color. The title screen's dock shows just its icons.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-27 19:06:01 +02:00
selimaj-devandclaude 2f4ea77e6f Restyle buttons, the Shift menu and the title screen
Button is now primary (accent fill) or secondary (a translucent outlined
surface), and IconButton is a square secondary button with a Lucide icon,
replacing the PNG TextureButtons. Neither is scaled with Element.scale any
more, which multiplied click positions instead of dividing them.

The Shift menu is the HUD editor, the mod menu (its button was labelled
"Settings") and cosmetics. The title screen centers the logo over a
compact stack of the game's menus, with the player, a dock of Saturn's
screens and the version along the bottom. The player chip shows the
player's face from their skin and whether they're connected to Saturn.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-27 19:01:42 +02:00
selimaj-devandclaude 05dbec028a Fix and restyle the emote wheel
The slot index was taken before the middle slot was skipped, so page one
showed emotes 0-4 and 6-8: emote 5 never appeared and emote 8 showed on
two pages. Emotes now fill the eight cells around the middle in order,
and slots past the last emote aren't drawn, so they can't play a null
emote.

Emotes show as EmoteTiles: the preview in its own colors (it was tinted,
almost black on hover), the name under it, an accent outline on hover, and
an icon when an emote has no preview. The middle cell holds the page and
its arrows when there's more than one page. Emote names and cosmetic names
share Utils.nameFromId.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-27 18:43:27 +02:00
selimaj-devandclaude c3667f8f66 Make the background blur adjustable
A "Background blur" setting (0-10, default 5) sets how much the game
behind Saturn's screens is blurred. Screens now only say whether to blur,
and SaturnScreen.getBackgroundBlur gives the setting's strength, faded in
over the screen's first 700 ms. The title menu still doesn't blur.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-27 18:26:42 +02:00
selimaj-devandclaude 85c7057ba1 Preview easing curves beside curve dropdowns
CurveProperty holds the easing curves in the order Animation.getCurve
takes them, replacing three copies of the list in zoom, freelook and the
animation config; it's saved the same way. Its dropdown opens a
CurveOptions popup: a CurvePreview graph beside the list, with a dot
running along the hovered curve, or the current one.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-27 18:19:18 +02:00
selimaj-devandclaude 55b78989ce Group animation settings per menu
The Animations section shows each menu's duration, stagger and curve
under the menu's name instead of one flat list of 18 rows.
AnimationConfig keeps its name and lists every menu's config; it's saved
under the same keys as before, so existing settings keep loading.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-27 18:12:30 +02:00
selimaj-devandclaude 8b58fe919d Open dropdowns within the visible part of their list
ElementContext carries the part of the screen where an element can be
seen, passed down in a Frame and narrowed by each Scroll to its own box.
A dropdown opens below only if its list fits in that part, otherwise above
if it fits there, or else on the side with more room, so one at the
bottom of a scrolled list no longer opens past the list's edge.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-27 18:05:26 +02:00
selimaj-devandclaude 6bfdfc40c9 Add dropdowns and a popup color picker
Popup draws one element above the rest of the screen and gets mouse
events first; clicking or scrolling outside closes it. ElementContext now
carries each element's position on screen so an input inside a scroll can
open a popup beside itself.

Select is a dropdown: the current value opens an OptionList with the
current option ticked, scrolling for long lists and opening upward when
there's no room below. The color picker moved out of ColorInput into a
ColorPicker popup, so scroll areas no longer clip it and later rows no
longer draw over it, and all three of its parts can be dragged.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-27 18:02:41 +02:00
selimaj-devandclaude 351507d60d Fix scrolling and keep lists clear of the scrollbar
Scroll kept its position as an int, so wheel and trackpad deltas were
truncated: small ones were lost in one direction and a wheel notch moved
one unit. It now keeps a fractional position, scrolls 24 units a notch,
sizes and places its thumb consistently, and the thumb can be dragged or
the track clicked. PanelScreen's scrollWidth and scrollContentWidth keep
every scrolling list clear of the bar.

Sliders read a float step from its text, so 0.1 no longer shows 17
decimals, and show at most three; number boxes show at most three too.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-27 17:54:12 +02:00
selimaj-devandclaude 33c09b6922 Describe every setting under its name
Properties can carry a one-line description, set with
NamedProperty.description for mods, a ConfigManager.property overload for
the client's config, and a helper in ModLayout. PropertyList rows show it
under the setting's name in muted text. Every mod, HUD layout, general,
UI style and animation setting now has one.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-27 17:47:48 +02:00
selimaj-devandclaude 06a90d8e51 Edit ranged settings with sliders
IntProperty and FloatProperty can take an optional range, step and unit.
PropertyList shows those settings as a Slider: a track to click or drag,
snapping to the step, with the value and unit beside it. Zoom and freelook
levels and durations, fullbright brightness, the theme radii, animation
timings and HUD scale and radius get ranges; the rest stay number boxes.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-27 17:39:27 +02:00
selimaj-devandclaude 7264c7b38b Redesign cosmetics
CosmeticsMenu replaces the cloak and hat menus and stores: the player on
the left, turned by dragging, and on the right Cloaks and Hats tabs over a
grid of every cosmetic. Clicking an owned one equips it, and clicking one
not owned yet claims it, which is free. The equipped one is outlined and
badged, and the grid asks to connect when there's no Saturn session.

SkinPreview is now a drag-to-rotate player view, and its EntityDrawer draws
the player filling a box at a given yaw, returning false when there's no
player. CosmeticPreview and TabMenu go with the old screens.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-27 17:33:25 +02:00
selimaj-devandclaude a413648be9 Redesign client settings
ClientSettings replaces ConfigEditor: a section list on the left (General,
UI Style, Animations) and the chosen section's settings on the right, each
with a Reset for that section. UI Style shows four theme presets, the
theme colors as a two-column grid, then the radii and font.

New pieces: SectionNav, ThemePresetCard, ColorGrid and Theme.PRESETS.
Theme keeps its config like AnimationConfig does, Divider can be vertical,
and PropertyList's section titles are public.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-27 17:25:47 +02:00
selimaj-devandclaude df09271e81 Redesign mod settings
A mod's settings button now opens ModSettings: a header with the mod's
icon, name, version, tags and description, a Reset button and an on/off
switch, then its properties as rows, with nested namespaces as titled
sections and a live preview card beside them for HUD mods.

PanelScreen holds the sidebar-and-panel frame that the mod menu, mod
settings and config editor share. PropertyList lays out any config as
rows. The inputs share one field look: Toggle is a switch, Select steps
with arrows, and the number, keybinding and color inputs are boxes. The
color picker opens to the left and closes on outside clicks.

Every property type now implements reset(), which was a no-op, and
ModLayout keeps its settings in order instead of Map.of's. ConfigEditor
moves onto the same frame and rows and drops its HUD preview, which added
a new element every frame.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-27 17:13:39 +02:00
selimaj-devandclaude dfebd2367d Redesign the mod menu
The mod menu is now a translucent panel beside a navigation rail, with a
header showing how many mods are enabled, a search box, category filters
built from the mods' tags and a three-column grid of mod cards. Each card
shows the mod's icon, name and description with a settings button and an
on/off switch. The layout shrinks to fit smaller windows.

New reusable pieces: Panel, Label, ChipGroup, SearchInput,
Toggle.drawSwitch, Theme helpers for panel, border, muted text and body
font, and Fonts.ellipsize. The sidebar and card icons are Lucide SVGs, and
seven mod icons were redrawn in the same style.

Scroll can skip its background and be cleared, and no longer passes clicks
outside its bounds to children scrolled out of view. Input checks overflow
and places the cursor at the scale its text is drawn at. Screens that are
not redesigned yet move the wider sidebar so it keeps its gap.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-27 16:59:51 +02:00
selimaj-devandclaude 4ac7c60d07 Add rounded borders to RenderScope
drawRoundedBorder draws an outline inset into the given bounds so it lines
up with a rounded rectangle of the same size and radius, and a new
drawRoundedRectangle overload draws both with separate background and border
colors. Both shapes share one SVG-to-texture helper.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-27 16:46:17 +02:00
selimaj-devandclaude b2cf0cbc38 Load emotes with the Saturn emote library
- Emotes loads assets/saturnclient/player_animations/*.json with
  emotes-core into Saturn's own EmoteRegistry (not the library's shared
  one, so other mods can't replace them), and lists the ones that loaded
  for the wheel.
- The emote wheel now also sends the emote to the server, so other
  players see it. It only played locally before.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-26 21:16:20 +02:00
selimaj-devandclaude b3fc524763 Downscale title-screen panorama faces from 4096 to 2048
The six 4096x4096 faces were 110 MB, about 90% of every mod jar
(121.7 MB per Minecraft version). That exceeded the 100 MB upload limit
in front of git.selimaj.dev, made every download huge, and cost ~400 MB
of GPU memory on the title screen. At 2048x2048 they're 33.5 MB (jar
~45 MB, ~100 MB GPU memory) and still sharp on 1440p/4K screens.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-25 18:30:14 +02:00
selimaj-devandclaude 2de394ebbf Authenticate through Mojang's session server; check client version
Stop sending the Minecraft access token to the Saturn server. The
connect loop now:

1. fetches GET /versions and compares this client's mod version:
   supported -> connect; deprecated -> warn, connect; neither -> warn,
   don't connect (warnings are shown once per status change)
2. requests auth_challenge with the username to get a server id
3. calls Mojang's session `join` with the access token and server id
   (the token only goes to Mojang); a refused token gives up
4. requests auth_verify, which the server confirms with `hasJoined`

Add SaturnProvider.getModVersion() and showWarning() for the version
check and its toast.

Refs saturnclientmc/saturnclient#7

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-25 15:22:37 +02:00
selimaj-devandclaude 3b4e1ab4cb Reconnect to the Saturn server and time out requests
Move to session-java 0.2.0 (Gitea package registry) and rework
ServiceClient around a single connect loop:

- Reconnect with exponential backoff (1 s -> 60 s) when the connection
  drops, e.g. on every server redeploy; give up only when retrying cannot
  help (no Minecraft session, or the server rejects the token)
- Publish the session only after authentication succeeds, and replace
  (rather than append to) owned cosmetics and clear cached players on
  reconnect
- Time out every request after 10 s and connecting after 10 s, so a lost
  response can no longer hang the player-lookup worker forever
- Register onClientStopping once, and keep a local session reference in
  request callbacks
- Allow -Dsaturn.serverUri to point the client at a local server

Refs saturnclientmc/saturnclient#4, saturnclientmc/saturnclient#5

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-25 14:46:30 +02:00
selimaj-devandclaude 9e3bf14ffa Stop per-frame player lookups and make shared state thread-safe
SaturnPlayer stored non-Saturn players as null, which looked the same as
"not fetched yet", so every render re-queued them and flooded the server
with get_player requests. Remember negative lookups and re-check them
after 60 s, retry failed lookups after 5 s, queue each player at most
once, skip lookups while disconnected, and replace the hand-rolled worker
thread with a single-thread executor.

getPlayer now returns null only when the server says the player isn't on
Saturn and throws on failure, so failures are retried instead of cached.

Make state shared between network callbacks and the render thread safe:
ConcurrentHashMap for players, CopyOnWriteArrayList for owned cosmetics,
volatile session/uuid and cosmetic fields, and run emote notifications
on the client thread.

Refs saturnclientmc/saturnclient#2, saturnclientmc/saturnclient#6

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-25 14:00:29 +02:00
selimaj-dev 1ddfd9d024 Improved auth 2026-04-08 10:41:24 +02:00
selimaj-dev 5e44a71054 Added implementation for identifier as effect icon 2026-04-08 08:27:13 +02:00
selimaj-dev 5dd4b17db5 Merge pull request #8 from saturnclientmc/fix-auth-timeout
Hopefully fixed auth timeout
2026-04-07 20:16:00 +02:00
selimaj-dev f07750cdcb Fixed large logs when session is offline saturnclientmc/saturclient#66 2026-03-30 13:51:35 +02:00
selimaj-dev d73895ac7c Working freelook 2026-03-26 17:59:29 +01:00
selimaj-dev 7eb8b6a120 Freelook zoom 2026-03-26 16:26:49 +01:00
selimaj-dev 3e4985c6bc Zoom curve 2026-03-26 16:02:29 +01:00
selimaj-dev 53dfa37b64 Improved rounded rectangles 2026-03-25 23:26:19 +01:00
selimaj-dev b81a4dda98 Improved rounded rectangles #59 2026-03-25 22:18:16 +01:00
selimaj-dev fc1500abbd Improved MatrixStackRef #59 2026-03-25 18:43:35 +01:00
selimaj-dev c72af1300a Improved RenderScope #59 2026-03-25 18:23:14 +01:00
selimaj-dev 3d315fa2cc Refactor MatrixStack and RenderScope #59 2026-03-25 17:58:08 +01:00
selimaj-dev 6873f76c43 Light refactors 2026-03-24 13:09:20 +01:00
selimaj-dev dceff0e675 Added requires on features 2026-03-24 12:55:03 +01:00
selimaj-dev 3d0b95b566 Refactored spec and management 2026-03-24 12:44:29 +01:00
selimaj-dev bdab6586d4 Refactored all the common/module to feature 2026-03-24 11:52:43 +01:00
selimaj-dev 8471894248 Refactored Feature to Mod (renamed) 2026-03-24 11:50:21 +01:00
selimaj-dev 3138f7ec62 Refactored Feature to Mod 2026-03-24 11:48:04 +01:00
selimaj-dev 174c95240c Mod Preview 2026-03-24 01:38:43 +01:00
selimaj-dev 2b6194223a Sanitized cloaks and hats 2026-03-23 20:51:00 +01:00
selimaj-dev eb40ece9f6 Gif loading 2026-03-23 20:41:54 +01:00
selimaj-dev 8398c8ce7a Gif loading 2026-03-23 20:33:07 +01:00
selimaj-dev 34eb217747 Gif loading 2026-03-23 20:20:04 +01:00
selimaj-dev e9375c1927 Merge pull request #3 from RudideC/master
best cloak ever
2026-03-21 21:46:12 +01:00
selimaj-dev f1913de95c Fixed saturn player tracking 2026-03-21 20:40:20 +01:00
selimaj-dev 9064238c3a Bucket preview and end texture 2026-03-21 14:36:59 +01:00
selimaj-dev 6d76899630 Hat previews 2026-03-21 14:19:57 +01:00
selimaj-dev ddc48eaf34 Cloak previews 2026-03-21 14:00:51 +01:00
selimaj-dev 1a1f4f07a3 bucket hat 2026-03-21 13:12:18 +01:00
selimaj-dev ff516e3feb End materials and cloaks 2026-03-21 10:57:00 +01:00
selimaj-dev 9c2d5051c5 Albania mark 2026-03-21 01:54:17 +01:00
selimaj-dev 9f2406abdb Cloak loading 2026-03-20 23:06:01 +01:00
selimaj-dev 2969a8340a Removed liquids from nofog 2026-03-20 21:55:29 +01:00
selimaj-dev 4054a8bec6 Refactored effect 2026-03-20 21:36:09 +01:00
selimaj-dev 44c5a1783f Refactored effect 2026-03-20 21:36:04 +01:00
selimaj-dev edb37d0307 Fixed isFull 2026-03-20 21:06:53 +01:00
selimaj-dev 5532a7cb4f Fixed features 2026-03-20 21:03:53 +01:00
selimaj-dev c185cea305 Fixed FeatureLayout 2026-03-20 20:56:37 +01:00
selimaj-dev 44d590d6ed Fixed ConfigEditor 2026-03-20 20:54:09 +01:00
selimaj-dev 56b930c437 Fixed Ui components 2026-03-20 20:50:43 +01:00
selimaj-dev 3a98c90620 Fixed config 2026-03-20 20:45:58 +01:00
selimaj-dev a5885e1828 Json serialization improved 2026-03-20 20:39:29 +01:00
selimaj-dev 61accce977 Re structured property 2026-03-20 20:28:24 +01:00
selimaj-dev 1a79309d04 Re structuring property 2026-03-20 20:14:24 +01:00
selimaj-dev 00d8ca5f50 Re structuring property 2026-03-20 19:51:04 +01:00
selimaj-dev e734dc58a2 Merge pull request #2 from saturnclientmc/fixed
Fixed
2026-03-09 17:48:53 -07:00
selimaj-dev 215aaf0fd0 Fixed 2026-03-10 01:48:28 +01:00
selimaj-dev e78a6ced1f Fix 2026-03-09 01:33:43 +01:00
selimaj-dev efb7a8bbe4 Fixed protected 2026-03-08 16:17:08 +01:00
selimaj-dev 22a8d27e6c Fixed a few things 2026-03-08 16:10:58 +01:00
selimaj-dev 74d2b47986 Public thingy 2026-03-08 13:47:59 +01:00
selimaj-dev 56d9be1e5a Public EntityType 2026-03-08 13:34:30 +01:00
selimaj-dev eaa145881d Made the features work 2026-03-08 13:19:49 +01:00
selimaj-dev ab353f5fe9 Refactor features to use module system 2026-03-08 13:13:11 +01:00
selimaj-dev da6576e4ed Refact module to feature 2026-03-08 12:50:17 +01:00
selimaj-dev 709ad4fbf0 ServiceClient cloak loading 2026-03-08 12:07:23 +01:00
selimaj-dev 195f4869bf CloakStore and static loading 2026-03-08 11:58:05 +01:00
selimaj-dev 6b69d12cea Cloaks in common 2026-03-08 11:45:12 +01:00
selimaj-dev 5b34d3eb37 Moving cloaks to common 2026-03-08 11:29:30 +01:00