Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
149 commits
Select commit Hold shift + click to select a range
c0d1cea
chore(pnpm): Add MobX state tree
MisaLiu Aug 21, 2025
3471169
feat: Add simple chart state model
MisaLiu Aug 22, 2025
03d2a32
feat(core): Add more chart models
MisaLiu Aug 22, 2025
f38b269
feat(core/models/Note): Add `line` prop
MisaLiu Aug 22, 2025
725043d
feat(core/models): Add more model props
MisaLiu Aug 24, 2025
2c68bfb
chore(core): Use `nanoid` instead of UUID
MisaLiu Aug 24, 2025
d18dac4
feat(core/models): Finishing code
MisaLiu Aug 24, 2025
55c1740
chore(pnpm): Add nanoid
MisaLiu Aug 24, 2025
b90eccb
fix(core/model): Fix some stupid issues
MisaLiu Aug 24, 2025
d0022c8
fix(core/models/Chart/BPM): Avoid double updating
MisaLiu Aug 24, 2025
9184b77
refactor(ui/Panel/Timeline): Refactoring with MobX state
MisaLiu Aug 25, 2025
8b87d30
refactor(ui/Panel/BPMPanel): Refactoring with MobX state
MisaLiu Aug 26, 2025
4cb2216
refactor(ui/Panel/NotePanel): Refactoring with MobX state
MisaLiu Aug 26, 2025
9269b9b
refactor(ui/Panel/EditPanel): Refactoring with MobX state
MisaLiu Aug 27, 2025
50be2ca
refactor(core/utils/model): Refactoring BeatArray type definition
MisaLiu Aug 27, 2025
2fc41db
refactor(core/utils/model): Refactoring BeatArray type validation
MisaLiu Aug 27, 2025
f36e7f2
feat: Use Zustand to manager editor runtime state
MisaLiu Aug 29, 2025
2154b92
fix(ui/Panel/EditPanel): Edit list follows update
MisaLiu Aug 29, 2025
bfd2ab4
fix(state/runtimeStore/selection): Fix logic stuff
MisaLiu Aug 29, 2025
573376b
refactor(ui/components/NumberInput): Loopable number input
MisaLiu Aug 29, 2025
f011b15
feat(core/models): Add metadata model
MisaLiu Sep 1, 2025
53d1586
feat: File loader & cache
MisaLiu Sep 1, 2025
e29085f
style(runtime/resources/loader): Rename function
MisaLiu Sep 1, 2025
ef6fcfd
feat(core/models): Finish metadata creation / update
MisaLiu Sep 1, 2025
9eae65e
refactor: Refactoring audio system
MisaLiu Sep 1, 2025
b55a6d4
refactor(runtime/audio): Breaking code
MisaLiu Sep 1, 2025
2c849cd
refactor(utils/math): Refactoring `normalizeBeatArray`
MisaLiu Sep 1, 2025
9363703
refactor(ui/component/NumberInput): Refactoring NumberInput
MisaLiu Sep 2, 2025
4e5592e
refactor(ui/components/BeatInput): Refactoring BeatInput
MisaLiu Sep 2, 2025
aab802c
refactor(ui/Panel/BPMPanel/Item): Update with `BeatInput`
MisaLiu Sep 2, 2025
5024eac
feat(core/model/chart): Add BPM cache
MisaLiu Sep 2, 2025
217443c
refactor(core/utils): Using `normalizeBeatArray` for BeatArray model …
MisaLiu Sep 2, 2025
714c543
style(core/models/Chart): Small tweaks
MisaLiu Sep 2, 2025
462bfb7
feat(ui/Panel/NotePanel): Use runtime audio clock
MisaLiu Sep 3, 2025
5fd449c
feat(runtime/audio/bindChart): Update audio duration beat when chart …
MisaLiu Sep 3, 2025
7c6ca8b
Refactor: Add a simple new preview renderer
MisaLiu Sep 3, 2025
d747cd5
feat(ui/Panel/PreviewPanel): Resize canvas when initialized
MisaLiu Sep 3, 2025
e7ec132
feat(core/models): Add real time cache
MisaLiu Sep 3, 2025
70ef0b4
feat(renderer/preview/classes/JudgeLine): Add sorted keyframes cache
MisaLiu Sep 4, 2025
079e6cc
feat(renderer/preview): Make line move
MisaLiu Sep 4, 2025
91318e4
feat(renderer/preview/classes/JudgeLine): Calculate floor position
MisaLiu Sep 4, 2025
2d560a1
refactor(runtime/resources): Cache `Texture` instead of `Sprite`
MisaLiu Sep 4, 2025
dfef90d
Refactor: Use dockview instead of rc-dock
IcedDog Sep 4, 2025
a16658e
feat(ui/Panel): Fix Setting panel
IcedDog Sep 4, 2025
1cba32a
Merge pull request #20 from PhiFans/refactor-dockview
MisaLiu Sep 5, 2025
197d6b3
refactor(core): Move `FloorPosition` cache to model volatile
MisaLiu Sep 5, 2025
84b85d4
refactor(core/models): Code tweaks
MisaLiu Sep 5, 2025
33716db
refactor: Make lines moving (again)
MisaLiu Sep 5, 2025
517e4f3
chore: Revert changes to `1cba32a`
MisaLiu Sep 5, 2025
50da6d6
refactor(renderer/preview): Only updates keyframes cache when necessary
MisaLiu Sep 6, 2025
c6b03d6
refactor(core): Refactoring BPM cache
MisaLiu Sep 6, 2025
58cb421
fix(runtime/audio/state): Fix status update issue
MisaLiu Sep 6, 2025
e71e890
feat: Add `zen-fs` storage layer
MisaLiu Sep 6, 2025
a87ca45
refactor(ui): Using @chakra/ui now
IcedDog Sep 5, 2025
bc3aaaf
refactor(ui): Refactored Edit Panel
IcedDog Sep 6, 2025
c2db48e
feat(runtime): Add `unstorage` database layer
MisaLiu Sep 6, 2025
09f62ad
feat(runtime): Add a base skin loader
MisaLiu Sep 6, 2025
c812448
feat(runtime/skin/importer): Save skin files to fs
MisaLiu Sep 6, 2025
d518082
refactor(runtime/skin/importer): Rename skin folder name
MisaLiu Sep 6, 2025
f796fca
fix(runtime/skin/importer): Fix type issue
MisaLiu Sep 6, 2025
480aea1
feat(runtime/skin/importer): Save skin info to database
MisaLiu Sep 6, 2025
6cb3351
refactor(runtime/database): Tweak code
MisaLiu Sep 6, 2025
a38a47e
feat(runtime): Add initializer
MisaLiu Sep 6, 2025
d17d925
fix(runtime/skin/importer): Fix input type
MisaLiu Sep 6, 2025
228e434
feat(runtime/skin): Add skin loader
MisaLiu Sep 6, 2025
c479dbd
feat(ui/Panel/NotePanel): Use skins from loaded cache
MisaLiu Sep 6, 2025
92e08c2
feat(runtime/skin/importer): Load after import
MisaLiu Sep 6, 2025
a67c683
refactor(ui): Refactored Settings Panel & Polish
IcedDog Sep 6, 2025
a0b249a
fix(ui): Bring back `useLabel`
IcedDog Sep 6, 2025
a5bd722
fix(ui/Panel/EditPanel): typo i guess
IcedDog Sep 6, 2025
8f237d6
refactor(ui): Refactor Note Panel
IcedDog Sep 7, 2025
69e9aa9
refactor(runtime/resources/cache): Refactoring cache system
MisaLiu Sep 7, 2025
134737a
feat(runtime/skin): Add state
MisaLiu Sep 7, 2025
d5846c2
feat(runtime/skin/state): Destroy old skin when change
MisaLiu Sep 7, 2025
8357a73
refactor(ui): Refactor Menu Bar
IcedDog Sep 7, 2025
6675775
feat(ui): Add Icon
IcedDog Sep 7, 2025
c4b8c68
feat(ui): png icon
IcedDog Sep 7, 2025
19954e0
feat(renderer/preview): Add plain note to preview
MisaLiu Sep 7, 2025
b3825a0
feat(renderer/preview): Reload skin when changes
MisaLiu Sep 8, 2025
757e2e5
feat(renderer/preview/ticker): Add hold to preview
MisaLiu Sep 8, 2025
a61f624
fix(ui/Panel/EditPanel): Fix cannot change note type
MisaLiu Sep 8, 2025
6e331c4
feat(renderer/preview/classes/JudgeLineSprite): Convert note type whe…
MisaLiu Sep 8, 2025
eb15ec2
refactor(ui): Using @chakra/ui now
IcedDog Sep 5, 2025
703bfb5
refactor(ui): Refactored Edit Panel
IcedDog Sep 6, 2025
695b66f
refactor(ui): Refactored Settings Panel & Polish
IcedDog Sep 6, 2025
cfd1ba7
fix(ui): Bring back `useLabel`
IcedDog Sep 6, 2025
bc54acd
fix(ui/Panel/EditPanel): typo i guess
IcedDog Sep 6, 2025
091bead
refactor(ui): Refactor Note Panel
IcedDog Sep 7, 2025
7491791
refactor(ui): Refactor Menu Bar
IcedDog Sep 7, 2025
4b89aaa
feat(ui): Add Icon
IcedDog Sep 7, 2025
75c001e
feat(ui): png icon
IcedDog Sep 7, 2025
39efb47
chore: Rebase
IcedDog Sep 8, 2025
c858b00
Merge branch 'refactor-ui' of https://github.com/PhiFans/editor into …
IcedDog Sep 8, 2025
90636ca
fix(ui/App): oops
IcedDog Sep 8, 2025
a5a5763
refactor(ui): Create Project Panel
IcedDog Sep 8, 2025
d8c77bb
Merge pull request #22 from PhiFans/refactor-ui
MisaLiu Sep 8, 2025
e5bf6df
fix(ui/components/NumberInput): Fix wrong props
MisaLiu Sep 8, 2025
3f66715
refactor(ui/contexts): Remove unused contexts
MisaLiu Sep 8, 2025
fa9212a
style(ui/Bar): Moving file
MisaLiu Sep 8, 2025
e6b55b1
refactor(ui): Seperating theme system
MisaLiu Sep 8, 2025
3f1cac7
refactor(ui/Bar/AppBar): Refactoring app bar
MisaLiu Sep 8, 2025
d083e11
feat: Remove old BlueprintJS class in HTML
MisaLiu Sep 8, 2025
0ab14ba
style: Moving file
MisaLiu Sep 9, 2025
9ad4164
refactor(ui): Rename `DialogContext` to `DialogOverlay`
MisaLiu Sep 9, 2025
df0512f
refactor(ui): Refactoring create project dialog
MisaLiu Sep 9, 2025
9e2f32d
refactor(ui/dialogs/createProject): Finishing create project dialog
MisaLiu Sep 9, 2025
c3976b7
Remove old codes
MisaLiu Sep 9, 2025
c015e78
style: Moving files
MisaLiu Sep 9, 2025
3fdbdb4
style: Update runtime state import
MisaLiu Sep 9, 2025
b0c6fe5
style: Moving files
MisaLiu Sep 9, 2025
527a03b
chore(vite): Moving configs
MisaLiu Sep 9, 2025
c8c0ebb
chore(tauri): Add `fs` plugin
MisaLiu Sep 9, 2025
6a3eda5
feat(storega/adapters): Add Tauri FS adapter
MisaLiu Sep 9, 2025
4f36ed0
feat(runtime/database): Add Tauri SQLite adapter
MisaLiu Sep 10, 2025
0e82f3a
refactor: Refactoring Tauri related stuff
MisaLiu Sep 10, 2025
df9fe99
chore(tsconfig): Fix Vite config path
MisaLiu Sep 10, 2025
c90c414
chore(vite): Bump build target to ES2022
MisaLiu Sep 10, 2025
33e4725
chore: Remove more unused code
MisaLiu Sep 10, 2025
4b2fab5
feat(runtime/state): Add project store
MisaLiu Sep 11, 2025
a54c5e8
refactor: Refactoring create project
MisaLiu Sep 11, 2025
5480c42
refactor(storage/adapters/tauri): Refactoring `stat` method
MisaLiu Sep 11, 2025
7f44de1
feat(runtime): Add settings engine
MisaLiu Sep 11, 2025
7e124f8
feat(runtime/settings): Finishing module design
MisaLiu Sep 12, 2025
d7fb8bb
feat(core): Add base command system
MisaLiu Sep 12, 2025
9b7925e
refactor(core/command): Refactoring base command class
MisaLiu Sep 13, 2025
8931736
feat(core/command): Add a `bpm.changed` command
MisaLiu Sep 13, 2025
1c75f7c
fix(core/command): Fix stupid unassigned value
MisaLiu Sep 13, 2025
00dc49c
feat(core/command): Add command bus
MisaLiu Sep 13, 2025
14e65bb
feat(core/command): Add command bus state
MisaLiu Sep 13, 2025
3627104
Refactor(ui/Panel/Settings): Refactoring styles
MisaLiu Sep 15, 2025
3c4445f
refactor(core/command): Refactoring command base
MisaLiu Sep 16, 2025
a613daa
refactor(core/command): Small changes
MisaLiu Sep 16, 2025
eada67f
feat(core/command): Add prop filter for base command class
MisaLiu Sep 16, 2025
0d6934a
feat(core/command): Add recording control to base command class
MisaLiu Sep 16, 2025
2f656dd
feat(core/command): Add some commands
MisaLiu Sep 16, 2025
b1267dc
style: Code cleanup
MisaLiu Sep 22, 2025
12ecd84
feat(core/command): Tweaked command base class
MisaLiu Sep 23, 2025
f7db24b
feat(core/command): Add more commands
MisaLiu Sep 23, 2025
2216757
feat(core/command): Add more commands
MisaLiu Sep 23, 2025
d374251
fix(core/command): Fix remove command
MisaLiu Sep 23, 2025
38ae4ee
feat(ui/Panel/BPMPanel): Replace actions with commands
MisaLiu Sep 23, 2025
ba3c1b1
feat(core/command): Block any command when project not initialized
MisaLiu Sep 23, 2025
3431216
feat(ui): Add error handler
MisaLiu Sep 23, 2025
96c3329
feat(ui): Remove `TempoContext` and move relates stuff to `runtime/st…
MisaLiu Sep 24, 2025
d09e9e9
style: Small code cleanup
MisaLiu Sep 24, 2025
f708580
feat(core/command/note): Add more commands
MisaLiu Sep 25, 2025
3eafec2
feat(core/command/keyframe): Add more commands
MisaLiu Sep 25, 2025
c1710e8
style(core/command): Rename files
MisaLiu Sep 25, 2025
ed1aafa
style(core/command): Rename commands
MisaLiu Sep 25, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions index.html
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
<!doctype html>
<html lang="en">
<html lang="en" class="dark" style="color-scheme: dark;">
<head>
<meta charset="UTF-8" />
<link rel="icon" type="image/svg+xml" href="/vite.svg" />
<link rel="icon" type="image/svg+xml" href="/icon.svg" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Vite + React + TS</title>
<title>PhiFans Editor</title>
</head>
<body class="bp5-dark">
<body>
<div id="root"></div>
<script type="module" src="/src/main.ts"></script>
</body>
Expand Down
40 changes: 28 additions & 12 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,44 +8,59 @@
"url": "https://github.com/PhiFans/editor.git"
},
"scripts": {
"dev": "vite --config vite.config.web.ts",
"dev": "vite --config vite/config.web.ts",
"dev:tauri": "tauri dev",
"build": "tsc -b && vite build --config vite.config.web.ts",
"build": "tsc -b && vite build --config vite/config.web.ts",
"build:tauri": "tauri build",
"lint": "eslint .",
"preview": "vite preview --config vite.config.web.ts"
"preview": "vite preview --config vite/config.web.ts"
},
"dependencies": {
"@blueprintjs/core": "^5.16.4",
"@chakra-ui/react": "^3.26.0",
"@emotion/react": "^11.14.0",
"@fortawesome/fontawesome-svg-core": "^6.7.2",
"@fortawesome/free-solid-svg-icons": "^6.7.2",
"@fortawesome/react-fontawesome": "^0.2.2",
"@phifans/audio": "^0.0.7",
"@pixi/react": "8.0.0",
"@radix-ui/react-menubar": "^1.1.16",
"@tauri-apps/api": "~2",
"@tauri-apps/plugin-fs": "~2",
"@tauri-apps/plugin-sql": "~2.3.0",
"@types/node": "^22.10.5",
"audio-decode": "^2.2.2",
"eventemitter3": "^5.0.1",
"hotkeys-js": "^3.13.9",
"@zenfs/core": "^2.4.0",
"@zenfs/dom": "^1.2.4",
"dockview": "^4.7.1",
"i18next": "^24.2.3",
"i18next-browser-languagedetector": "^8.0.4",
"i18next-chained-backend": "^4.6.2",
"i18next-http-backend": "^3.0.2",
"i18next-localstorage-backend": "^4.2.0",
"idb-keyval": "^6.2.2",
"jszip": "^3.10.1",
"mobx-react-lite": "^4.1.0",
"mobx-state-tree": "^7.0.2",
"nanoid": "^5.1.5",
"next-themes": "^0.4.6",
"normalize.css": "^8.0.1",
"pixi.js": "^8.6.6",
"rc-dock": "^3.3.0",
"quick-lru": "^7.1.0",
"react": "^19.0.0",
"react-dom": "^19.0.0",
"react-i18next": "^15.4.1",
"react-icons": "^5.5.0",
"react-split-pane": "^0.1.92",
"spark-md5": "^3.0.2",
"uuid": "^11.0.4"
"setimmediate": "^1.0.5",
"styled-components": "^6.1.19",
"unstorage": "^1.17.1",
"zustand": "^5.0.8"
},
"devDependencies": {
"@chakra-ui/cli": "^3.26.0",
"@eslint/js": "^9.17.0",
"@tauri-apps/cli": "^2.2.7",
"@types/react": "^19.0.7",
"@types/react-dom": "^19.0.3",
"@types/spark-md5": "^3.0.5",
"@vitejs/plugin-react-swc": "^3.5.0",
"eslint": "^9.17.0",
"eslint-plugin-react": "^7.37.3",
Expand All @@ -60,5 +75,6 @@
"patchedDependencies": {
"react-split-pane": "patches/react-split-pane.patch"
}
}
},
"packageManager": "pnpm@10.12.1+sha512.f0dda8580f0ee9481c5c79a1d927b9164f2c478e90992ad268bbb2465a736984391d6333d2c327913578b2804af33474ca554ba29c04a8b13060a717675ae3ac"
}
Loading