## TODO for next release - [ ] Integrate `_InternalVArray` to `EUDVArray` - [ ] Only calculate `EPD(self)` of `EUDVArray` if needed - When mutating array - Should store `EPD(self)` as first element? - [x] Iterating `EUDVArray` type casts its elements : solved by armoha/eudplib@898cb6f6c837bf83238758b4ae2113fa2f3358aa - [x] `EUDStruct.field = value;` type casts `value` for non-`ConstType` : solved by armoha/eudplib@6d1aaa7e5b1a57caf32efc9f0d36c2853f4517e7 - [x] Allow `@property` for `EUDStruct`: solved by armoha/eudplib@e5ab81f1a3979ac2697ce1f19cd70a1028009410 - `AttributeError` should be raised instead of `KeyError` - [ ] zero-cost `.cast` for built-in types (e.g. `EUDVArray` and `EUDStruct`) - [ ] Expose `ConstType` to easily define user custom enum - Allow `T("str") == "str"` - [ ] Implement `TriggerArray` - A sequence of triggers with 0 condition and 0~64 actions - Generalization of `EUDJumpBuffer` (0 action) and `EUDVarBuffer` (1 action) - [ ] Implement `EUDBag`: https://github.com/armoha/euddraft/issues/58 - Multiset, unordered collection, efficient for iteration - [x] Update Rust code from pyo3 0.22 to 0.25 : solved by armoha/eudplib@25330fdcdbb2283b69b6d5f6a64e9ab5d57674d6 - [ ] RIIR late step of Writing phase - [ ] Better error message for 'Forward not initialized' error - To prevent compile time regression, `_MiniForward` will be added for internal uses which must be always initialized. - [ ] Tree-based `ConstExpr` - Allow `const distance = db2 - db1;` etc. - [ ] Fix negation of `ConstExpr` - [x] Better error message for duplicated switch cases : solved by armoha/eudplib@c21e81efe7f92875aef7ba9c645e7a823fe31785 - [ ] Optimize `wwrite_epd(epd, subp=var, value=const);` - [x] Update Python to 3.13: https://github.com/armoha/euddraft/issues/97 - Investigate availability for Python 3.13t (free-threading version): cx-freeze only supports Linux and macOS for 3.13t - [ ] RIIR (again) overwriting `co_linetable` for epScript files ## Wishlist - RIIR epScript compiler: https://github.com/armoha/euddraft/issues/99 - RIIR freeze mpq protection
TODO for next release
_InternalVArraytoEUDVArrayEPD(self)ofEUDVArrayif neededEPD(self)as first element?EUDVArraytype casts its elements : solved by armoha/eudplib@898cb6fEUDStruct.field = value;type castsvaluefor non-ConstType: solved by armoha/eudplib@6d1aaa7@propertyforEUDStruct: solved by armoha/eudplib@e5ab81fAttributeErrorshould be raised instead ofKeyError.castfor built-in types (e.g.EUDVArrayandEUDStruct)ConstTypeto easily define user custom enumT("str") == "str"TriggerArrayEUDJumpBuffer(0 action) andEUDVarBuffer(1 action)EUDBag: Add EUDBag type #58_MiniForwardwill be added for internal uses which must be always initialized.ConstExprconst distance = db2 - db1;etc.ConstExprwwrite_epd(epd, subp=var, value=const);co_linetablefor epScript filesWishlist