Commit Graph

185 Commits

Author SHA1 Message Date
izawartka
ce4c90cbc7 Fix ZoomPanWrapper stuck at panning
- Fixed ZoomPanWrapper getting stuck at panning when the cursor leaves the map area while mouse key is pressed
2026-08-14 01:43:49 +02:00
izawartka
e9230f5eed Add route name transparrency effect
- Added useCameraSubscriber hook
- Added route name transparrency effect
2026-08-14 01:43:49 +02:00
izawartka
3a242bb8ad Extend dynamic gradients
- Generalized dynamic gradient processing
- Updated max-speed gradient internal name to maxspeed
- Updated "Max speed" and "Slope" gradients to be dynamic
2026-08-14 01:43:49 +02:00
izawartka
3ed1fbe9b7 Minor styling fixes
- Updated Dialog max-width to be either 40em or 80%
- Updated TrackHoverInfo icons to change color depending on theme
- Updated text-color-secondary and text-color-disabled white theme colors
2026-08-13 21:48:43 +02:00
izawartka
0bedd56cc8 Tweak controls for mobile devices
- Updated scenery zoom pan wrapper, track hover info and distance meter to work correctly on touch screen / mobile devices
- Fixed SideMenu still responding to tab navigation even if closed
2026-08-13 19:08:26 +02:00
izawartka
a1a27a9ca0 Add format version to SceneryInfoView
- Slightly refactored scenery info header parsing
- Updated SceneryInfo to hold information about scenery info header version
- Added "Format version" item to SceneryInfoView
2026-08-13 19:05:14 +02:00
izawartka
daa86d7b85 Extract TrackHoverInfoTable component
- Extracted TrackHoverInfoTable as a separate component
2026-08-13 19:02:15 +02:00
izawartka
1d86f0f42f Replace managers with context providers
- Replaced all manager components with context providers
    - GradientsManager -> GradientsContextProvider
    - SettingsManager -> SettingsContextProvider
    - SceneryManager -> SceneryContextProvider
    - ThemeManager -> ThemeContextProvider
- Moved state logic from App to new context providers:
    - DistanceMeterContextProvider
    - SideMenuContextProvider
2026-08-13 19:02:00 +02:00
izawartka
142056b8f1 Align styles for mobile devices
- Updated styles so the page renders properly on mobile devices
- Fixed visible overflowing SideMenu
- Updated global font size to 12px
2026-08-13 18:32:01 +02:00
izawartka
7dcd8ff29d Make BackMaseuko use themes
- Updated BackMaseuko component style to use CSS themes
2026-08-12 20:58:57 +02:00
izawartka
db1c21757a Update icon urls base
- Updated icon urls to use BASE_URL instead of PUBLIC_URL
2026-08-12 20:58:10 +02:00
izawartka
f9494feefa Add .env and package.json version support
- Updated vite config to export the package.json version as env variable
- Added src/helpers/envHelper.js
- Updated some constants to support being set by the .env file
- Renamed Constants.sceneryFiles.fetchDisable to enableBuiltIn
2026-08-12 17:28:44 +02:00
izawartka
c688e67281 Migrate to Vite
- Migrated the codebase from create-react-app to Vite
2026-08-12 17:19:17 +02:00
izawartka
eca2d9dfa7 Add BackMaseuko
- Added homepage link (disabled by default)
2026-07-29 20:48:54 +02:00
izawartka
419fcc7c6d Implement embedded mode
- Implemented embedded mode hiding unnecessary UI elements and tweaking scenery loading process
2026-07-29 19:49:44 +02:00
izawartka
b68d4e76c0 Add embedded dialogs
- Extracted DialogManager component selection to utils/getDialogComponent
- Added EmbeddedDialog
- Updated DialogManager to use EmbeddedDialog instead of Dialog if an app is running in embedded mode
2026-07-29 19:47:28 +02:00
izawartka
895a294098 Add EmbeddedContext
- Added EmbeddedContext and ?embeded=true param support
2026-07-29 19:44:18 +02:00
izawartka
6a0f945a0d Set view to main signalbox on load
- Updated scenery loading to set the view to main signalbox on scenery load
2026-07-28 17:38:58 +02:00
izawartka
9622bc87fc Add scenery info version 30 support
+Added support for scenery info version 30 (sceneries with info version 29 are still supported)
+Added UUID field in SceneryInfoView
2026-01-14 23:50:01 +01:00
izawartka
9d2fef5e73 Added export animation
+Added svg export animation
*Moved Constants.originalPublicBuildUrl to Constants.svgExport.originalPublicBuildUrl
2025-08-18 21:51:08 +02:00
izawartka
6f44d148ed Distance meter export fix
*Fixed background rect of the distance meter being exported
2025-08-18 21:25:01 +02:00
izawartka
6a04b5feec Added export trimming
*Objects in the exported SVG are now removed if they lay outside of the view
2025-08-17 17:49:13 +02:00
izawartka
4c849d96bb Added SVG export
+Added basic SVG export option
2025-08-17 12:09:16 +02:00
izawartka
e80a28e9c0 Moved parsing tools
*Moved scenery parsing tools to /src/model/parsing/
2025-08-16 14:42:46 +02:00
Igor Zawartka
ad064734d1
Merge pull request #10 from izawartka/light-mode
Light mode
2025-08-16 14:17:47 +02:00
izawartka
48c14f3a95 Updated CSS
*Updated SceneryParserLogView background color
*Updated some light mode color variables
2025-08-16 14:16:07 +02:00
izawartka
ff3ab7049f Fixed more CSS errors
*Sign texts no longer have shadow
*TrackHoverInfo is now using the standard background color
*Fixed z-indexes
*Tweaked disabled text color
2025-08-16 00:15:09 +02:00
izawartka
61026481f8 Updated styling colors
*Changed color values of some theme variables
*Tracks now have different colors depending on the theme
*Changed colors of some elements
2025-08-16 00:07:36 +02:00
izawartka
2f80998a50 Fixed standard signals and map text rendering
*Fixed broken signal icon
*Fixed AlwaysUpText anchor bug
2025-08-15 23:32:18 +02:00
izawartka
06f2d2080f Updated css for the light mode
*Updated all CSS to work with the new light mode
2025-08-15 21:24:48 +02:00
izawartka
285c5b04e8 Added theme toggle
+Added dark-mode and light-mode component icons
+Added ThemeToggle in the toolbar
+Added ThemeManager and ThemeContext
2025-08-15 21:23:46 +02:00
izawartka
0d2580f23e Added SideMenuIcon as a component
*SideMenu icon used in the toolbar is now a component
2025-08-15 20:29:46 +02:00
izawartka
d023eb9dad Icon tweaks
*Moved TrackHoverInfo icons to src/icons/track-hover-info
*Tweaked TrackHoverInfo css
-Removed width and height icon params
2025-08-15 20:28:36 +02:00
izawartka
f5bc06ad8b Optimized objects rendering
*Optimized objects on the map to render only above the specified zoom threshold
2025-08-13 14:04:42 +02:00
izawartka
0ca6f6b9e0 Optimized track rendering
*Optimized track rendering to not always render both scaled and unscaled versions of the track
2025-08-13 13:36:13 +02:00
izawartka
d7fdf0fc7e Updated map text styles
*Updated map text styles to always have shadow
2025-08-13 13:35:15 +02:00
izawartka
40ad1e678b Cleaned up map class names
*Cleaned up map class names and CSS
*Fixed signalbox icons having color property
2025-08-12 23:15:23 +02:00
izawartka
4106dbd474 Improved invisible track detection
+Added Track.hasNoMaterials()
*Now a track is considered invisible if it has trans-mat set in ALL material slots instead of just one
2025-08-11 22:28:23 +02:00
izawartka
647a324357 Added electrification resolver step mode
+Added electrification resolver step mode. It can be enabled using the appropriate Constant
2025-08-11 21:54:09 +02:00
izawartka
7ed656016a Fixed overhead signals leg bug
*Fixed overhead signals with no signs or bars still having a pole
2025-08-04 22:27:14 +02:00
izawartka
354f797f6c Added pos param parsing
+Added an option to provide start camera position through url `pos` param
2025-08-04 22:27:03 +02:00
izawartka
2fb7f8e698 Minor Signal and SpawnPoint names tweaks
*Fixed SpawnPoint constructor not assiging spawn_point_name correctly
*SpawnPoint.getPrintableSpawnPointName now returns the name field instead of the unused (in-game) spawn_point_name field
*Signal renderers now trim original signal names
2025-08-02 00:46:31 +02:00
izawartka
3824ae1463 Tweaked sign render conditions
*SignRenderer now won't render a sign that has no icon field in its definition - this is to allow for attachable-only signs
2025-08-01 14:00:51 +02:00
izawartka
d600237db1 Added constant Signal Sign texts
+Signal sign definitions can now include "text" field - a static string displayed on the sign
2025-07-31 22:48:49 +02:00
izawartka
5e8a943954 Added Sign text caching
+Added the Sign.text field, assigned when the object is created
*Modified SignRenderer to use Sign.text instead of looking for the text on every render
*Sign texts are now transferred to Signal Signs when the Sign is assigned to a Signal
2025-07-31 22:45:52 +02:00
izawartka
85eeca11f9 Fixed track view align
*Fixed user being able to align the view on bezier tracks
2025-07-27 22:37:23 +02:00
izawartka
7ffdf87409 Added original signal names option
+Added an option to show original (internal) signal names
2025-07-27 22:34:17 +02:00
izawartka
a624e092eb Added url params support
+Added option to load a scenery by specifying its name in the "scenery" URL parameter
2025-07-27 14:48:48 +02:00
izawartka
95ec3898ad Refactored scenery list logic
*Moved scenery list logic from SceneriesList to SceneryManager
*Renamed SceneriesList to SceneryList
*Updated InfoFooter texts
-Removed sceneriesListService as it is not necessary anymore
2025-07-27 13:59:22 +02:00
izawartka
032d93a51c DistanceMeter bugfix
*Fixed DistanceMeter not reseting on scenery change
2025-07-26 18:03:47 +02:00