Achievement
- 是時候該思考一下人生的未來了QQ
- Start new project for able to resolve leetcode question in the local environment.
- Let the caret position able to drag to
select
/create
range oflyric text
/ruby tags
. - Making ruleset’s own primary key type to resolve duplicated
create new key number
logic. - Closes issue
\No.1000 Created/
. karaokeBecause no. 2000 issue/pr has been created.
- Change the primary key type for the object in this ruleset.
Beatmap
- [Close duplicated] Write
karaoke
’s ownreference resolver
. karaokebecause
karaoke beatmap processor
will fill all the reference value, So there’s no need to implement it in the json beatmap. - [Close duplicated] Link between lyric and note. karaoke
Already has better way to do that.
- [Close duplicated] Implement note checker. karaoke
Implemented already.
- Use
string with hex
format to replace thenumber
format as primary key for the object in the karoake beatmap. karaokeThe main benefit is that there’s no need to write lots of logic to create the new primary key.
- Change the
singer
primary id type. karaoke - Change the
lyric
primary id type. karaoke- Should change the id after
DeepClone()
the lyric. karaoke
- Should change the id after
- Change the
stage element
primary id type. karaoke - Change the
timing point
primary id type. karaoke - Fix
ElementIdConverter
does not accept thenullable
property. karaoke - Some property like
element id
need extra convertor in theDeepClone()
method. karaoke - Able to write the value into the property with protected/private setter. karaoke
- Add new method for able to get all matched
hit-object ids
in theelement category
. karaoke
- Change the
Code quality
- Regular clean up code. karaoke
- [Close duplicated] Remove all
AllowNull
attribute eventually. karaoke - Remove nullable disable annotation in the remaining class. karaoke
- Move hit-object related
utils
into theObjects
namespace. karaoke - Use
IEnumerable
instead ofArray
to make the method more easy to override. karaoke
Editor
- Let caret position able to drag the range of the text.
- Think about how pass the start and end index into the
IIndexCaretPositionAlgorithm
. karaoke - Implement
create ruby caret position algorithm
for able to create the ruby by drag the range of the lyric text. karaoke - Add
end index
to theinput caret position
for able to select the range of the lyric text. karaoke - Fix dragging the caret might have performance issue. karaoke
- Add the release caret position to the caret state. karaoke
- Instead of add the end index to the
caret position
, might be better to have the release position in thecaret state
. karaokeIt means that we need to revert the change in the #2025, part of #2023 and #2022.
- Refactor drawable caret layer for able to receive the release caret event. karaoke
- Refactor the drawable input caret. karaoke
- [Close duplicated] Implement select range of text in lyric editor. karaoke
- [Close duplicated] Able right-click to create new ruby/romaji object. karaoke
Have better UX instead.
- Think about how pass the start and end index into the
- Adjus the change handler.
ILyricTextChangeHandler
should be able to delete the range of the text. karaoke - [Close duplicated] Implement change handler method to offset the list of the lyrics. karaoke
Result
- Upgrade the package to the latest and adjust the result screen to aviod compile error. karaoke
Skinning
- [Close duplicated] Apply new skin structure(old). karaoke
Close this issue because already come out better structure.