Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
215 commits
Select commit Hold shift + click to select a range
a6c0505
Upgrade to electon 23 in progress.
Mar 26, 2023
28df828
Update readme
Mar 26, 2023
ae3e414
Fix autotrace
Mar 26, 2023
bbe043d
Fix remaining functionality & clean up
Mar 26, 2023
ba992d2
Add DevContainer
dustinchilson Dec 26, 2021
6fc721d
Update code for electron 23
drid Feb 18, 2023
15accb3
Add builders
drid Feb 19, 2023
921df64
Add builders
drid Feb 19, 2023
b73033b
Merge branch 'feature/build'
drid Apr 3, 2024
61762b6
Change click to dblclick for edit
drid Feb 20, 2023
bf4db16
Fix scroll to instruction
drid Oct 19, 2024
22eda76
Highlight CAP
drid Feb 20, 2023
7f4d35e
Colorize short distances
drid Feb 20, 2023
fc8c2ca
Fix coloring
drid Apr 3, 2024
29bfb8d
Rearrange roadbook name buttons
drid Oct 19, 2024
324e99c
Make track blue
drid Oct 19, 2024
bca9734
Fix A5 printing with colors
drid Oct 19, 2024
693a753
Fix Roll output scale
drid Oct 19, 2024
793d230
Fix Roll print bleeding to an empty page
drid Oct 20, 2024
abe2c17
Add color to speed limit icons
drid Oct 20, 2024
660e9db
Update README
drid Oct 20, 2024
9fa3a75
Add contributor
drid Oct 22, 2024
d8ef025
Add button to control coordinate visibility
drid Oct 28, 2024
68fea15
Add CI
drid Oct 28, 2024
9d05681
Merge branch 'CI' into 'master'
drid Dec 19, 2024
f013300
Resolve "Loading a roadbook merges with the existing one"
drid Dec 19, 2024
b33eaa8
Add application settings
drid Dec 25, 2024
8f92e47
Replace foundation, jquery, knockout and quill with node modules
drid Jan 4, 2025
5f061c1
Bump electron to 29
drid Jan 4, 2025
5cfb8a1
Add "new roadbook" menu item
drid Jan 4, 2025
1f0f7e2
Make ! red
drid Oct 22, 2024
cd889c4
update glyph for compression control point dip ditch speed start/end
drid Oct 28, 2024
f33bf80
Add icons for control
drid Jan 6, 2025
54ec5c9
Fix crash on first run with empty settings
drid Jan 7, 2025
cd8a0b6
Fix print imports
drid Jan 7, 2025
36cced9
Resolve "Fix map rotation"
drid Jan 8, 2025
4b97a70
Set version to 1.8.7
drid Jan 8, 2025
7ee198c
Resolve "Placement of waypoint and control icons"
drid Jan 13, 2025
f7cf833
Format code and css
drid Jan 13, 2025
3849b4f
Fix heading and coordinate positioning
drid Jan 14, 2025
9b1edf2
Reindex instruction on file load
drid Jan 14, 2025
01ee21a
Fix typo in README.md
WallK Jan 12, 2025
31f38e9
Add open radius and validation radius to instruction
drid Jan 14, 2025
a835a35
Export modules needed for testing when not in electron
drid Jan 14, 2025
e1132b7
Add waypoint delete functionality
drid Jan 15, 2025
676041c
Add speedzone coloring
drid Jan 15, 2025
76a6fa8
Fix new roadbook not deleting bubbles on map
drid Jan 16, 2025
15cee25
Add checkpoint numbering
drid Jan 16, 2025
caf4722
Implement distance reset function
drid Jan 17, 2025
d2cf404
Sync PDF coloring
drid Jan 20, 2025
d6662d1
Add fuel range info
drid Jan 21, 2025
1422e85
Set common styles (print/app)
drid Jan 22, 2025
2a2c098
Make print window modal
drid Jan 22, 2025
16fce1a
Remove Letter from print options
drid Jan 22, 2025
2f63c89
Resolve "Improve roadbook header"
drid Jan 22, 2025
ab6bc31
Add sentry
drid Feb 25, 2025
2060a99
Fix missing assets
drid Feb 28, 2025
f58843c
Add contribute guidelines
drid Mar 1, 2025
51a2e59
Move map init to application.js
drid Mar 9, 2025
dbe4bfa
Resolve "Add waypoint number in notes"
drid Mar 11, 2025
8389ccd
fix(ui): resolve issues with map orientation and tulip exit edit buttons
drid Mar 14, 2025
1dd1518
chore(config): add cliff.toml and initial CHANGELOG.md for changelog …
drid Mar 18, 2025
f21f8c8
feat(glyphs): add service zone, above bridge, under bridge, and concr…
drid Mar 13, 2025
518d391
feat(packaging): stage and convert SVGs in custom build script
drid Mar 28, 2025
2234305
feat: add abbreviations
drid Mar 28, 2025
527e275
feat(glyphs): add multiple new glyphs
drid May 19, 2025
4c001e0
feat(speed-limit): add generator and update glyphs
drid May 29, 2025
90d93c4
fix(CI): Convert svg files
drid May 29, 2025
80c89d9
1.9.4
drid May 29, 2025
a8069f2
feat(version): add app version display and storage
drid May 29, 2025
d75cc41
feat(glyphs): add multiple new glyphs
drid May 29, 2025
91bc480
feat(glyphs): add distance and dune level glyphs
drid May 29, 2025
f24a7c8
Remove prepack script
drid May 29, 2025
0002a03
Release only on master branch tag
drid May 29, 2025
70110c0
fix: map bubble update
drid May 30, 2025
de24f76
Fix: WP UI values stored in roadbook
drid May 30, 2025
2253aad
1.9.5-0
drid May 30, 2025
9be269f
fix: Replace missing glyphs with default image
drid May 30, 2025
4b8de8e
Fix: CI not creating releases
drid May 31, 2025
eb10995
feature: Delete glyph using del/backspace key or Button
drid May 31, 2025
64779b1
fix(tulip): Main track color are black sometimes when opening old roa…
drid May 31, 2025
d7eefcb
docs: update README with installation instructions, revise contribute…
drid May 31, 2025
5373653
feature: Add changelog popup
drid Jun 1, 2025
5c180be
feature: Populate app changelog
drid Jun 1, 2025
92639cc
feature(tulip): Handle track removal via Key/Button
drid May 31, 2025
15a2504
refactor: remove global variables and unused code
drid May 31, 2025
dabf72a
Update changelog
drid Jun 1, 2025
f32487e
feature: Extra track defaults to entry track type
drid Jun 1, 2025
767072e
feature: Add custom logo on roadbook header
drid Jun 2, 2025
9f5f198
fix: PDF export showing overlay of printing
drid Jun 2, 2025
2a967a9
fix: Missing glyph detection on snap, Snap release file name in CI
drid Jun 2, 2025
7a16cf6
fix: Add track handles only to track items
drid Jun 2, 2025
e1ebd76
fix: Handle PDF output errors and show message
drid Jun 3, 2025
00a08ee
feat(glyphs): Add MODIF and NEW NOTE
drid Jun 3, 2025
15baa17
fix(CI): Glyphs not converted in win builds
drid Jun 4, 2025
e6ab075
Update changelog for 1.9.5-3
drid Jun 4, 2025
9a07881
feat(glyphs) Add glyphs for animals, sand, dunes and more
drid Jun 5, 2025
0abe292
fix(note): Glyph file in all caps is not detected and causes exception
drid Jun 5, 2025
0af7dc3
feat(tulip): Add track type Low/Less visible
drid Jun 5, 2025
f83cdfa
fix: Keep roadbook visible when opening file
drid Jun 5, 2025
be1bf24
fix: Disable save roadbook button when editing instruction
drid Jun 6, 2025
b48ab12
feat(tulip): Rename track types
drid Jun 6, 2025
b3a4f1d
Add test for low vis track
drid Jun 6, 2025
dcc3106
fix: Handle unknown track type and default to 'track'
drid Jun 6, 2025
bf808fb
1.9.5-4
drid Jun 6, 2025
4816c45
feat: Add option to set map home location
drid Jun 10, 2025
e08c081
feat: Zoom to entire track when opening roadbook
drid Jun 10, 2025
7d8455f
chore: Cleanup glyphs
drid Jun 10, 2025
f01c182
1.9.5
drid Jun 10, 2025
7412657
fix: Roadbook logo removal
drid Jun 13, 2025
626528c
refactor: Update Quill
drid Jun 2, 2025
923e805
fix: Glyphs not detected during edit
drid Jul 21, 2025
ede1b07
1.9.6
drid Jul 28, 2025
f435388
fix: Open rally export
drid Jul 21, 2025
8dd9a4a
feat: Export additional elements
drid Jul 21, 2025
9ea9295
docs: Add gitlab process to CONTRIBUTE
drid Jul 22, 2025
f56d11a
docs: Add manual
drid Jul 24, 2025
f44439d
docs: Add analytics to docs
drid Jul 24, 2025
332f6e4
docs: describe map route controls, clarify CAP and coordinate buttons…
drid Jul 25, 2025
422feac
refactor(xml): enhance openrally xml generation
drid Jul 27, 2025
96c62d6
feat: Add filename to window title
drid Jul 27, 2025
03aa052
feat: Add menu link for online manual
drid Jul 28, 2025
c0f269c
fix: Ask to save before closing app
drid Jul 28, 2025
bcfd1a4
fix: GPX Import crash if no points
drid Jul 30, 2025
e068465
fix: GPX import creating duplicate 1st and last instruction
drid Jul 31, 2025
b630d8b
docs: Add range of point delete
drid Sep 11, 2025
df04463
chore: Added script to autogenerate abbreviations
drid Sep 11, 2025
b1afcbf
refactor: Glyphs are loaded from JSON file, glyph search uses descrip…
drid Sep 11, 2025
8d4886c
feat(icons): add traffic light glyph
drid Sep 11, 2025
9576e0b
feat(icons): Add roadsign no entry, move roadworks to roadsigns
drid Sep 11, 2025
be67583
feat(style): Increase distance text size
drid Sep 11, 2025
e1a1bc5
feat(glyphs): Add openrally safety tags
drid Sep 12, 2025
d8ad830
feat(tulip): Add track type Low/Less visible
drid Jun 5, 2025
1ed82b7
feat(tulip): Rename internal track types, Add migration code
drid May 31, 2025
5ed56ba
feat(tulip): Change track width for better visibility
drid Jun 6, 2025
e0e5ad7
feat(tulip): Add migration of tracks
drid Sep 18, 2025
7d8a567
fix(tulip): Set initial glyph height to 50px
drid Sep 18, 2025
a02f089
chore(glyphs): Remove duplicates and orphans
drid Sep 18, 2025
53753db
refactor: Use js .on
drid Sep 19, 2025
5323308
fix: Prevent glyphs from being changed when not edited
drid Sep 20, 2025
178f775
feat(tulip): Add text to tulip
drid Sep 20, 2025
c42e536
feat(note): Make instruction notes a canvas
drid Sep 22, 2025
0e6c0bb
feat(openrally): Export tulip and note images
drid Sep 18, 2025
22578f6
feat: Add change added track type
drid Jun 12, 2025
8b21c57
fix: Remove track handles when clicking on canvas
drid Sep 24, 2025
74e19aa
feat: Enable sentry only in production
drid Jul 27, 2025
29cbf33
feat: Open dialog improvement
drid Jun 5, 2025
025edd1
feat(openrally): Option to export in strict or undocumented format
drid Sep 25, 2025
f472076
fix: Allow only one canvas element selected among note and tulip
drid Sep 25, 2025
b11658d
feat: Add time option to stop glyph
drid Sep 26, 2025
3e20a2f
Fix notes on PDF output
drid Oct 25, 2025
02e9ec6
fix: track deselect
drid Oct 25, 2025
6972615
feat: Add tulip object stacking order
drid Sep 18, 2025
e730cd1
fix: Remove unused menu items, show reload on dev only
drid Oct 28, 2025
6fa0776
chore: Remove glyph margins
drid Sep 24, 2025
44cad38
1.10.0
drid Oct 28, 2025
8d2b829
docs: Update track and notes
drid Oct 28, 2025
b6586ac
fix: Handle about window with no result and app first run
drid Oct 29, 2025
daaf2b4
fix: Remove IP from sentry reporting
drid Oct 29, 2025
92ec031
fix: quill2.0.3 nbsp workaround
drid Oct 29, 2025
daf741a
feat: Add km marker
drid Oct 29, 2025
b8473a0
fix: Remove duplicate instruction listener
drid Oct 29, 2025
f2525d3
feat: Add action to autofill speed limit in zones
drid Oct 29, 2025
4cf1bac
feat: Add streetview to instructions
drid Oct 30, 2025
c046f31
fix: Speed limit end detected as speed limit
drid Oct 31, 2025
e9b6a0e
chore: Add road signs
drid Oct 31, 2025
ad20a80
fix: Update UI elements
drid Oct 31, 2025
cbbbcf2
chore: release v1.10.1
drid Oct 31, 2025
18d14f1
docs: Add zone autofill and streetview documentation
drid Oct 29, 2025
1419a14
feat: Handle roadbook schema versions
drid Nov 1, 2025
5569e4c
chore: release v1.10.2
drid Nov 1, 2025
bbb52f9
Update README.md
drid Nov 2, 2025
5bf09f3
fix: km marker rotation not persisting
drid Nov 2, 2025
e1abf5a
fix: Use native Quill toolbar
drid Nov 2, 2025
3866c2b
chore: release v1.10.3
drid Nov 2, 2025
3b46e7c
docs: Update settings, fix type
drid Nov 3, 2025
86be607
chore: Update package repo and page
drid Nov 6, 2025
d0ee620
fix: Missing glyphs icon saved to roadbook
drid Nov 8, 2025
b7eaafc
feat: Add aqueduct glyph
drid Nov 7, 2025
c975e5b
refactor: Change alert to messagebox due to focus bug on electron
drid Nov 10, 2025
c934d06
fix: Import GPX name and description when RB has default values
drid Nov 10, 2025
8ff81f1
chore: Build for mac
drid Nov 6, 2025
e6d2588
docs: Add new glyph process to CONTRIBUTE.md
drid Nov 19, 2025
dffd1b9
fix: Note saving missing image
drid Nov 26, 2025
5d48fe5
fix: npm start using electron-forge
drid Nov 26, 2025
17bdaa8
fix: GPX export exception when instruction has been deleted
drid Dec 1, 2025
f191ecd
feat: Custom glyphs folder
drid Nov 25, 2025
2daea68
docs: Add user glyphs documentation
drid Dec 15, 2025
7aa8028
chore: release v1.10.4
drid Dec 15, 2025
a4a6bc7
chore: Rename contribution file
drid Dec 15, 2025
78dd424
feat: Enforce color for Qt,E3, -V
drid Dec 16, 2025
b1535dc
fix: Remove +V glyph
drid Dec 16, 2025
01aef0d
fix: Track selection
drid Dec 16, 2025
ab75e52
feat: Add global danger glyphs
drid Dec 17, 2025
58bdabd
feat: Implement drawing on tulip and note
drid Dec 18, 2025
fe55c27
feat: Rearrange editor elements
drid Dec 18, 2025
6681f50
feat: Show text modifier only when text is selected
drid Dec 18, 2025
5ff85a2
fix: Sentry init
drid Dec 19, 2025
1ef725f
feat: Add lexicon table
drid Dec 20, 2025
f2c3728
fix: media-end icon
drid Dec 20, 2025
f93ddd4
chore: release v1.10.5
drid Dec 20, 2025
3709768
fix: Preserve AddedTrack id
drid Dec 27, 2025
a27ed83
fix: Remove file path from roadbook file
drid Dec 27, 2025
206b74b
docs: Update docs for UI and new features
drid Dec 30, 2025
d33dfcf
refactor: Fix spelling on comments and var
drid Dec 30, 2025
024949e
docs: Add waypoint delete
drid Dec 30, 2025
2e25668
fix: Garbled code
drid Jan 3, 2026
21ad4c7
refactor: Deduplicate note and tulip code
drid Dec 27, 2025
6219bfb
fix: UX for marker delete
drid Jan 13, 2026
3d6b830
refactor: Track type options
drid Dec 16, 2025
bf6892e
Resolve "TypeError: Cannot read properties of null (reading 'webConte…
drid Feb 2, 2026
92f87db
fix: Glyphs selectable after autofill
drid Feb 2, 2026
0c63413
feat: Add recent file menu
drid Feb 2, 2026
6445d2e
fix: Test for images should look in src folder
drid Feb 3, 2026
c1116f8
feat: Add DN/DT tulip coloring
drid Feb 2, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
31 changes: 31 additions & 0 deletions .devcontainer/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# See here for image contents: https://github.com/microsoft/vscode-dev-containers/tree/v0.205.2/containers/javascript-node/.devcontainer/base.Dockerfile

# [Choice] Node.js version (use -bullseye variants on local arm64/Apple Silicon): 16, 14, 12, 16-bullseye, 14-bullseye, 12-bullseye, 16-buster, 14-buster, 12-buster
ARG VARIANT="16-bullseye"
FROM mcr.microsoft.com/vscode/devcontainers/javascript-node:0-${VARIANT}

# [Optional] Uncomment this section to install additional OS packages.
RUN dpkg --add-architecture i386 \
&& wget -nc https://dl.winehq.org/wine-builds/winehq.key && apt-key add winehq.key \
&& sh -c 'echo " deb https://dl.winehq.org/wine-builds/debian/ bullseye main" >> /etc/apt/sources.list.d/wine.list' \
&& apt-get update && export DEBIAN_FRONTEND=noninteractive \
&& apt-get -y install --no-install-recommends libgtk2.0-0 libgtk-3-0 libgbm-dev libnotify-dev libgconf-2-4 libnss3 libxss1 libasound2 libxtst6 xauth xvfb libxtst-dev winehq-stable

ARG USERNAME=node
RUN SNIPPET="export PROMPT_COMMAND='history -a' && export HISTFILE=/commandhistory/.bash_history" \
&& mkdir /commandhistory \
&& touch /commandhistory/.bash_history \
&& chown -R $USERNAME /commandhistory \
&& echo $SNIPPET >> "/home/$USERNAME/.bashrc"

RUN mkdir -p /home/$USERNAME/.vscode-server/extensions \
/home/$USERNAME/.vscode-server-insiders/extensions \
&& chown -R $USERNAME \
/home/$USERNAME/.vscode-server \
/home/$USERNAME/.vscode-server-insiders

# [Optional] Uncomment if you want to install an additional version of node using nvm
# ARG EXTRA_NODE_VERSION=10
# RUN su node -c "source /usr/local/share/nvm/nvm.sh && nvm install ${EXTRA_NODE_VERSION}"

RUN su node -c "npm install -g rimraf"
42 changes: 42 additions & 0 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
// For format details, see https://aka.ms/devcontainer.json. For config options, see the README at:
// https://github.com/microsoft/vscode-dev-containers/tree/v0.205.2/containers/javascript-node
{
"name": "Node.js",
"build": {
"dockerfile": "Dockerfile",
// Update 'VARIANT' to pick a Node version: 16, 14, 12.
// Append -bullseye or -buster to pin to an OS version.
// Use -bullseye variants on local arm64/Apple Silicon.
"args": { "VARIANT": "16-bullseye" }
},

// Set *default* container specific settings.json values on container create.
"settings": {},

// Add the IDs of extensions you want installed when the container is created.
"extensions": [
"esbenp.prettier-vscode",
"dbaeumer.vscode-eslint",
"visualstudioexptteam.vscodeintellicode",
],
"remoteEnv": {
"PATH": "${containerEnv:PATH}:${containerWorkspaceFolder}/node_modules/.bin",
},
"mounts": [
"source=salespad_vman_front_bashhistory,target=/commandhistory,type=volume",
"source=salespad_vman_front_vscode_ext,target=/root/.vscode-server/extensions,type=volume",
"source=salespad_vman_front_vscode_insiders_ext,target=/root/.vscode-server-insiders/extensions,type=volume"
],
// Use 'forwardPorts' to make a list of ports inside the container available locally.
// "forwardPorts": [],

// Use 'postCreateCommand' to run commands after the container is created.
"postCreateCommand": "npm install",

// Comment out connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root.
"remoteUser": "node",
"features": {
"git": "latest",
"github-cli": "latest"
}
}
1 change: 1 addition & 0 deletions .ebignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
src/svg
142 changes: 138 additions & 4 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,138 @@
tulip-darwin-x64
tulip-win32-x64
api_keys.js
node_modules
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
lerna-debug.log*
.pnpm-debug.log*

# Diagnostic reports (https://nodejs.org/api/report.html)
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json

# Runtime data
pids
*.pid
*.seed
*.pid.lock

# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov

# Coverage directory used by tools like istanbul
coverage
*.lcov

# nyc test coverage
.nyc_output

# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
.grunt

# Bower dependency directory (https://bower.io/)
bower_components

# node-waf configuration
.lock-wscript

# Compiled binary addons (https://nodejs.org/api/addons.html)
build/Release

# Dependency directories
node_modules/
jspm_packages/

# Snowpack dependency directory (https://snowpack.dev/)
web_modules/

# TypeScript cache
*.tsbuildinfo

# Optional npm cache directory
.npm

# Optional eslint cache
.eslintcache

# Optional stylelint cache
.stylelintcache

# Microbundle cache
.rpt2_cache/
.rts2_cache_cjs/
.rts2_cache_es/
.rts2_cache_umd/

# Optional REPL history
.node_repl_history

# Output of 'npm pack'
*.tgz

# Yarn Integrity file
.yarn-integrity

# dotenv environment variable files
.env
.env.development.local
.env.test.local
.env.production.local
.env.local

# parcel-bundler cache (https://parceljs.org/)
.cache
.parcel-cache

# Next.js build output
.next
out

# Nuxt.js build / generate output
.nuxt
dist

# Gatsby files
.cache/
# Comment in the public line in if your project uses Gatsby and not Next.js
# https://nextjs.org/blog/next-9-1#public-directory-support
# public

# vuepress build output
.vuepress/dist

# vuepress v2.x temp and cache directory
.temp
.cache

# Serverless directories
.serverless/

# FuseBox cache
.fusebox/

# DynamoDB Local files
.dynamodb/

# TernJS port file
.tern-port

# Stores VSCode versions used for testing VSCode extensions
.vscode-test

# yarn v2
.yarn/cache
.yarn/unplugged
.yarn/build-state.yml
.yarn/install-state.gz
.pnp.*

# Custom
tulip-darwin-x64/
tulip-linux-x64/
tulip-win32-x64/
out/
assets/svg/glyphs

# Sentry Config File
.sentryclirc
site/
Loading