Repository navigation
v0.5.2371
What's Changed
Content Browser / online
- feat(online): read stepmaniaonline pack details, pages and search
- feat(online): add pack popularity, itgdb doubles and banner fetching
- feat(online): find beginner-friendly packs from their pages
- feat(online): describe packs the details pages do not cover
- feat(content-browser): add the Find Content screen
- feat(online): read single songs out of stepmaniaonline pack zips
- feat(content-browser): preview charts and get single songs
- refactor(online): shift single songs with the shared offset writer
- feat(content-browser): sync installed packs the way DeadSync does
- fix(content-browser): delete installed packs without AllowSongDeletion
- fix(online): keep SMO's null sync in the catalogue
- feat(online): rip booster packs from stepmaniaonline.net
- feat(content-browser): add the Rip Packs tab
- fix(content-browser): bring along the pack banner a song borrows
- feat(content-browser): BPM on the rip cards, and a kept booster's own banner
- feat(content-browser): tell itgcontent.net each card's tempo
- feat(content-browser): fetch a kept booster's songs three at a time
- refactor(online): separate pack archive downloads from their source URL
- fix(online): use per-song scratch directory for borrowed banners
Golf / scoring / ArrowCloud
- feat: add optional golf scoring, par displays, and ArrowCloud leaderboards
- feat: gate all golf features behind an ArrowCloud options switch
- feat: allow score submission after successful chart Lua compilation
- fix(online): fetch ArrowCloud boards from the v1 route as the signed-in player
- fix: match golf HUD to reference theme and wrap gameplay extras across resolutions
Gameplay / holds / practice
- fix(score): keep possible points advancing after failure
- fix(gameplay): honor native easy chart failure behavior
- fix(holds): resolve missed tails at native rounded note rows
- fix(gameplay): retain autoplay stage failure without draining life
- fix(holds): resolve active tails at the native rounded row
- fix(gameplay): add the late-resolution window after the whole song
- fix(gameplay): dispatch native autoplay rows and avoided mine judgments
- fix(gameplay): finalize mines at the evaluation handoff
- fix(gameplay): retain fractional song endpoint for exit timing
- fix(gameplay): retain the native all-failed NotesEnded delay
- fix(gameplay): retain cabinet offset in catalog song end timing
- fix(practice): restore pre-practice music rate on exit
Audio
- fix(audio): restart mine sounds per player and combine simultaneous mine hits
- fix(audio): pan mine sounds to each player in two-player gameplay
- fix(audio): stop mine sounds on gameplay exit, restart and course-stage changes
- fix(audio): match ITGmania wheel clicks for individual presses and cap fast scrolling sounds at 15 Hz
Simfiles / timing / song library
- feat(simfile): parse a simfile held in memory
- feat(simfile): shift a simfile with no offset from zero
- feat(simfile): set a pack's sync in the live catalog
- fix(timing): match native displayed scroll rounding
- fix(timing): match native displayed speed queries
- fix(timing): match native float overdue-note cutoffs
- fix(simfile): preserve native SM chart metadata whitespace
- fix(simfile): preserve non-ASCII whitespace in SSC descriptions
- fix(simfile): retain matched BG and FG filename spelling
- fix(simfile): parse note columns without keysound index digits
- fix(timing): preserve native float song offset components
- fix(simfile): include unplayed native charts in song bounds
- fix(simfile): preserve authored foreground order at equal beats
Player options / theme
- fix(theme): restore Technique model textures
- feat(options): add centered early/late text placement
- feat(theme): add ECS15 Stamina variant
- feat(options): add Share Rips
Song Lua / runtime and compilation
- fix(song-lua): restore wrappers after command probes
- fix(song-lua): share startup command state snapshots
- fix(song-lua): preserve notefield wrapper ownership
- fix(song-lua): advance notefield wrapper clocks
- fix(song-lua): run native Lua 5.1 and remove language emulation
- fix(song-lua): keep callback snapshots in Lua-owned tables
- fix(song-lua): release redundant startup actor handles
- refactor(song-lua): allow Lua sessions to move between threads
- feat(song-lua): retain initialized scenes for live advancement
- feat(song-lua): connect live scenes to gameplay presentation
- feat(song-lua): route retained gameplay screen reloads
- refactor(song-lua): expose retained live scene indices for compiled overlays
- fix(song-lua): release persistent child registry handles
- fix(song-lua): share retained actor handles across live update plans
- fix(song-lua): restore compiled gameplay and correct 7th Gear reversals
- fix(song-lua): reuse actor handles in native snapshots
- fix(song-lua): compile native looping spline curves
- fix(song-lua): retain getter values in the Lua registry
- fix(song-lua): release temporary player option wrappers
- fix(lua): retain large actor grids on the auxiliary reference thread
- fix(song-lua): compile fof guys instead of live Lua
- fix(song-lua): apply compiled Mini modifiers as absolute values
- fix(notefield): stabilize compiled spline zoom and reverse holds
- fix(song-lua): enable runtime Lua scenes in production gameplay
- fix(song-lua): restore compiled gameplay draw capture
- fix(song-lua): preserve compiled startup state and match native clocks
- feat(lua): compile closed input callbacks into native programs
Song Lua / clocks, tweens and modifiers
- fix(song-lua): preserve sampled player transform timestamps
- fix(song-lua): preserve queued effects during tween replay
- fix(song-lua): use native clocks and runtime prefix schedules
- fix(song-lua): tween auxiliary actor state
- fix(song-lua): pause hibernating actor callbacks
- fix(song-lua): replay native actor queues in playback order
- fix(song-lua): complete queued effects independently of tween poses
- fix(song-lua): preserve native music timestamps in Lua getters
- fix(song-lua): align effect clocks with native music timestamps
- fix(song-lua): preserve independent secondary material clocks
- fix(song-lua): retain replayed message queue timing
- fix(song-lua): use music time for arrow offsets
- fix(song-lua): preserve independent spline offsets
- fix(song-lua): retain startup self-queued commands
- fix(song-lua): compare underlying fields in speed queries
- fix(song-lua): apply native confusion x offsets in gameplay
- fix(song-lua): apply native bounce and tornado suboptions
- fix(song-lua): share raw speed fields with native aliases
- fix(song-lua): apply native wave periods and signed strengths
- fix(song-lua): render native parabola y and additive accelerations
- fix(song-lua): retain default startup speed approaches
- fix(song-lua): match native attenuation and current updates
- fix(song-lua): implement native beat effects on every axis
- fix(song-lua): apply native confusion spin and y offsets
- fix(song-lua): render native z waves and sawtooth
- fix(song-lua): apply native shrink zoom to notes and holds
- fix(song-lua): preserve native expand phase and current
- fix(song-lua): retain native attack flag values and aliases
- fix(song-lua): preserve startup player tweens
- fix(song-lua): apply screen rotation and scale to fragments
- fix(song-lua): retain static column spline transforms
- fix(song-lua): retain and render per lane movez values
- fix(song-lua): preserve screen identity for queued requests
- fix(song-lua): use native song clocks during live playback
- fix(song-lua): match native foreground activation and clocks
- fix(song-lua): preserve end effects and native exit timing
- fix(song-lua): replace queued Lua broadcasts with host dispatch
- fix(song-lua): retain native hold judgment actors and tween queues
- fix(song-lua): apply native stage modifiers without resetting options
- fix(song-lua): start live backgrounds at their change beat
- fix(song-lua): advance screen-owned layer tween queues
- fix(song-lua): keep process time independent of paused music
- fix(song-lua): preserve source lines when expanding cmd syntax
- fix(song-lua): read owned style for internal arrow effects
- fix(song-lua): dispatch gameplay tap callbacks before ghost effects
- fix(song-lua): preserve native command provenance and startup clocks
- fix(song-lua): retain native infinite sleep durations
- fix(song-lua): retain native transition and column cue timers
- fix(song-lua): evaluate gameplay lead-in metrics at query time
- fix(song-lua): preserve minimized cue beats and double replay sessions
- fix(song-lua): rebuild Song options at chart attack boundaries
- fix(song-lua): update transition queues after foreground callbacks
- fix(song-lua): compute native ArrowEffects alpha and far-edge fade
- fix(song-lua): retain each player's selected chart position clock
- fix(song-lua): implement native generic tween and hurry queue semantics
- fix(song-lua): match native float clocks and SCALE operation order
- fix(song-lua): initialize foreground clock like captured native build
- fix(song-lua): implement native arrow X effects and cached update phase
- fix(song-lua): implement native arrow zoom and per-column Tiny
- fix(song-lua): implement native cached arrow Y effects and Wave
- fix(song-lua): implement native fallback drop tween
- fix(song-lua): apply game command modifiers and rate-aware clocks
- fix(song-lua): merge native Lua background effect callbacks
- fix(song-lua): retain Lua background effect metadata across layers
- fix(song-lua): preserve command-time draw submissions
- fix(song-lua): replay option clocks and native Mini field zoom
- fix(song-lua): implement native confusion and dizzy Z rotation
- fix(song-lua): replay raw external clocks at original call sites
- fix(song-lua): replay independent raw ArrowEffects clock reads
- fix(song-lua): preserve native footer order, attack phases, and scaled AFT shear
- fix(song-lua): match native tween overflow and post-actor failure transitions
- fix(song-lua): initialize player options with saved Mini
- fix(notefield): match native spline clocks and AFT geometry
- fix(notefield): align spline sampling and hold caps with native draws
- fix(song-lua): preserve initial effect-clock anchors and defer modifier approaches until their first setter
- fix(song-lua): match ITGmania tween, quaternion, and effect behavior
- fix(song-lua): preserve queued rotations and apply alignment immediately
- fix(song-lua): preserve first timer delta for startup motion effects
- fix(song-lua): match beatnooffset rounding and batched glow fades
- fix(song-lua): match native shear, spin and foreground clock behavior
Song Lua / actors, rendering and theme compatibility
- fix(song-lua): match native bitmap lookup and boolean methods
- fix(song-lua): match native actor identity and bitmap arguments
- fix(song-lua): match native sprite load return values
- fix(song-lua): match native texture filenames
- fix(song-lua): support zigzag and orthographic camera resets
- fix(song-lua): match native unlit model material colors
- fix(song-lua): preserve native model mesh pass order
- fix(song-lua): preserve model cameras and depth placement
- fix(song-lua): preserve independent signed model scales
- fix(song-lua): retain native model texture update history
- refactor(song-lua): separate model projection, view and world-space matrices
- fix(song-lua): emit separate native model material passes
- fix(song-lua): preserve per-draw model sampler state
- fix(song-lua): bind native model animation images
- fix(song-lua): expose native texture image dimensions
- fix(song-lua): retain manual judgment frame draws
- fix(song-lua): honor native model culling modes
- fix(song-lua): honor native model alpha cutoff
- fix(song-lua): preserve native screen and overlay depth
- fix(song-lua): preserve Simply Love combo child access
- fix(song-lua): preserve native null renderer capabilities
- fix(song-lua): advance owned judgment sprites from gameplay
- fix(song-lua): preserve authored foreground actor names
- fix(song-lua): omit inactive players from Simply Love underlay
- fix(song-lua): keep background entries on one update path
- fix(song-lua): instantiate empty foreground declarations independently
- fix(song-lua): retain requested foreground directory chunk names
- fix(song-lua): advance DensityGraph and native foreground lifecycle
- fix(song-lua): fail judged autoplay players in overlay Off
- fix(song-lua): retain authored foreground file chunk names
- fix(song-lua): run owned draw callbacks at the live screen boundary
- fix(song-lua): advance owned NoteField column renderers
- fix(song-lua): match native Color palette constants
- fix(song-lua): provide native Sprite.LinearFrames
- fix(song-lua): round foreground start timing to native note rows
- fix(song-lua): restore native HSVA vertex color conversion
- fix(song-lua): retain native cached background activations
- fix(song-lua): retain native dummy actor slots after Lua load failures
- fix(song-lua): implement fallback Sprite cropto alias
- fix(song-lua): retain the native Cancel transition child
- fix(song-lua): preserve the native Quad default texture
- fix(song-lua): load the native OniGameOver bitmap resource
- fix(song-lua): load the score display blank frame child
- fix(song-lua): inherit native ActorFrame methods for PercentageDisplay
- fix(song-lua): construct native lyric text layers with font and commands
- fix(song-lua): preserve native Player AttackDisplay and hold indices
- fix(song-lua): load the inherited NoteField Board bitmap child
- fix(song-lua): select a leaf Combo when current theme fonts are unavailable
- fix(song-lua): load native In bitmaps and visual poses
- fix(song-lua): initialize Simply Love background filters from saved profile opacity
- fix(song-lua): load the Underlay BackgroundFilter from initial profile inputs
- fix(song-lua): load the native Underlay DifficultyMeter frame and children
- fix(song-lua): initialize life meter visibility and type from saved profile options
- fix(song-lua): load Standard LifeMeter children and native life lifecycle
- fix(song-lua): construct Standard meter child snapshots from native actor sequence
- fix(song-lua): pass the saved NPS graph layout into the shared BPM hierarchy
- fix(song-lua): construct native shared BPM hierarchy and timing updates
- fix(song-lua): construct native Underlay Header Quad and Init
- fix(song-lua): honor the saved Step Statistics pane selection
- fix(song-lua): load original native StepStatistics actors and runtime commands
- fix(song-lua): initialize AMV texture and preserve getter observation scope
- fix(song-lua): carry declared song banner paths into the Lua compilation context
- fix(song-lua): retain native Danger Quad resources and health lifecycle
- fix(song-lua): load native SongInfoBar children and title lifecycle
- fix(song-lua): load original NoteField container and child lifecycle
- fix(song-lua): construct native StepsDisplay resources and chart lifecycle
- fix(song-lua): preserve native nonfinite actor scalars and ending observer phase
- fix(song-lua): load ActorMultiVertex textures with native reset semantics
- fix(song-lua): apply empty BitmapText height zoom before text assignment
- fix(song-lua): run interactive scenes with native input and live draw parity
- fix(song-lua): refresh live proxy targets after foreground startup
- fix(song-lua): preserve theme scope for background fit lookup
- fix(song-lua): preserve native StretchTo scale and GetZoom
- fix(song-lua): retain native gameplay overlay actors and their observation profile
- fix(song-lua): retain native gameplay decorations and skip empty Actor geometry
- fix(song-lua): retain the native background loader Lua caller
- fix(song-lua): load Simply Love combo milestone actors
- fix(song-lua): match native song bounds and UpperLeft background ownership
- fix(song-lua): initialize native gameplay HUD text
- fix(song-lua): prepare background actors before player judgments
- fix(song-lua): restore Mawaru note visibility and depth mask parity
- fix(song-lua): restore Mawaru Titan scene depth parity
- fix(song-lua): install actor methods when constructing or reloading native gameplay theme actors
- fix(song-lua): match ITGmania base zoom, child ordering, and fade alpha
Song Lua / API and gameplay compatibility
- fix(song-lua): preserve authored offsets and numeric prefixes
- fix(song-lua): replay native subscriber identity order
- fix(song-lua): preserve strict multitap edges during playback
- fix(song-lua): match native text method inheritance
- fix(song-lua): remove nonnative child indexing probes
- fix(song-lua): match native actor class inheritance
- fix(song-lua): match native proxy class and target behavior
- fix(song-lua): preserve native definition concatenation
- fix(song-lua): match native value iterator lookups
- fix(song-lua): retain multitap hits during native replay
- fix(song-lua): size scheduling storage for all actor targets
- fix(song-lua): provide native song option rate strings
- fix(song-lua): match native actor initialization order
- fix(song-lua): preserve noteskins on option assignment
- fix(song-lua): retain static startup option targets
- fix(song-lua): separate option levels and advance current targets
- fix(song-lua): parse callback arguments in cmd expressions
- fix(song-lua): implement stateful RageFile access
- fix(song-lua): expose the native gameplay screen type
- fix(song-lua): preserve chart owned easing libraries
- fix(song-lua): dispatch begin before actor on commands
- fix(song-lua): apply failure modes to gameplay state
- fix(song-lua): expose native event mode and song chart metadata
- fix(song-lua): expose loaded song and chart timing getters
- fix(song-lua): separate current and total stage dance points
- fix(song-lua): retain each chart's timing for Lua getters
- fix(song-lua): match native empty and failed stage grades
- fix(song-lua): match native chart selection and change messages
- fix(song-lua): match Simply Love mode metrics and timing windows
- fix(song-lua): reload startup scenes and load their selected charts
- fix(song-lua): retain the Lua VM across gameplay reloads
- fix(song-lua): track explicit Lua broadcast provenance
- fix(song-lua): rebuild actor update plans on scene reentry
- fix(song-lua): match native dance point percentages
- fix(song-lua): observe song options in complete native replays
- fix(song-lua): preserve the configured display aspect ratio
- fix(song-lua): initialize native autoplay before scene loading
- fix(song-lua): preserve missing screen children
- fix(song-lua): load explicit children in native traversal order
- fix(song-lua): preserve native actor ancestry during loading
- fix(song-lua): replay observed native subscriber identities
- fix(song-lua): use final factory ownership and refresh identities on reload
- fix(song-lua): rebuild song options when gameplay enters its outro
- fix(song-lua): own the gameplay Debug text actor
- fix(song-lua): collapse actor paths before loading Lua chunks
- fix(song-lua): exclude false-condition actor subtrees before initialization
- fix(song-lua): support volume on owned RageSound objects
- fix(song-lua): initialize live screen actor positions through pose setters
- fix(song-lua): apply native integer margins to player actor positions
- fix(song-lua): share native player life writes with gameplay
- fix(song-lua): dispatch native tap row judgments before scoring
- fix(song-lua): dispatch native hold judgments before scoring
- fix(song-lua): provide native recursive table debug helper
- fix(song-lua): expose gameplay screen only after initialization
- fix(song-lua): provide native table.find key lookup
- fix(song-lua): match direct taps and scalar deceleration
- fix(song-lua): dispatch End on gameplay navigation
- fix(song-lua): retain native actor names independently of Lua attributes
- fix(song-lua): dispatch a sole subscriber without an ordering rank
- fix(song-lua): retain owned theme scene for empty song layers
- fix(song-lua): retain native numeric option query paths
- fix(song-lua): resolve screen startup message command aliases
- fix(song-lua): initialize live song position with native reset BPS
- fix(song-lua): return native Steps arrays without internal getters
- fix(song-lua): seed native gameplay CPU Steps on screen initialization
- fix(song-lua): retain native gameplay screen child ownership and order
- fix(song-lua): expose native zero-based DayOfYear
- fix(song-lua): accept numeric song selector enum values
- fix(song-lua): honor completed transition next-screen target
- fix(song-lua): resolve whole-song end with pack sync and absolute hint
- fix(song-lua): align music fade with native transition end
- fix(song-lua): dispatch listeners with missing ordering coverage
- fix(song-lua): expose writable GameState class methods
- fix(song-lua): expose configured native video driver preference
- fix(song-lua): preserve all scoped Lua chunk return values
- fix(song-lua): defer live actor construction to preserve sparse declarations
- fix(song-lua): parse native cmd argument expression boundaries
- fix(song-lua): construct native dummy Actor for untyped declarations
- fix(song-lua): capture function metadata in broadcast parameters
- fix(song-lua): implement Simply Love SM message helpers
- fix(song-lua): propagate Screen commands to song children
- fix(song-lua): load the Out transition Quad directly with native theme commands
- fix(song-lua): populate native Steps measure density from loaded notes
- fix(song-lua): load declared song banners and native fallback resources
- fix(song-lua): preserve initial timing windows in native judgment labels
- fix(song-lua): keep theme setup broadcasts outside authored song output
- fix(song-lua): preserve native frame delta for option approach
- fix(song-lua): apply live fail policy before gameplay updates
- fix(song-lua): load canonical Windows scenes and reduce live upload cost
- fix(song-lua): use native float timing queries
- fix(song-lua): implement deprecated hidden fallback helper
- fix(song-lua): dispatch native step messages after presses
- fix(song-lua): preserve native tap judgment enum ranks
- fix(song-lua): preserve native immediate failure outro frames
- fix(song-lua): reset native song positions before gameplay reload
- fix(song-lua): carry reload styles and native sound durations
- fix(song-lua): preserve complete native Steps catalog order
- fix(song-lua): preserve native frame trees and command statistics semantics
- fix(song-lua): resolve LoadActor paths from Lua callers
- fix(song-lua): preserve sound pitch and broadcast argument arity
- fix(song-lua): expose native song note bounds independently of audio length
- fix(song-lua): apply pack sync offset to frozen catalog note bounds
- fix(song-lua): match native display aspect and Versus child construction
- fix(song-lua): match native Windows math and input behavior
- fix(song-lua): play ActorSound immediately, retain the played file and ignore missing sound readers
Song Lua / diagnostics
- fix(song-lua): capture runtime wrappers and audit native effects
- feat(song-lua): retain source broadcast parameter snapshots before listener dispatch
- feat(song-lua): trace live commands and point query results
- feat(song-lua): trace queued actor calls and remaining tween time
- feat(song-lua): trace host query arguments and results during construction and callbacks
- fix(song-lua): trace player queries through shared actor methods
- fix(song-lua): compare modifier traces with native player identities
- fix(song-lua): trace native actor ancestry and child queries
- feat(song-lua): extend live tracing to scalar actor mutations
- feat(song-lua): trace callback, proxy target and texture operations with native value types
- fix(song-lua): preserve native selector and request observations
- fix(song-lua): trace dynamic dispatch under capture observer profile
- fix(song-lua): observe owned stage at native overlay probe phase
Noteskin / model rendering
- fix(noteskin): retain repeated model texture states
- fix(noteskin): preserve native same-name model mesh merging
- fix(noteskin): parse model geometry with optional comment headers
- fix(noteskin): match ITGmania Lua startup context
- fix(noteskin): resolve screen globals in actor commands
- fix(noteskin): preserve implicit sprite sheet animation
- fix(noteskin): handle explosion draworder with ITGmania semantics
- fix(noteskin): honor native texture padding for note color offsets
- fix(noteskin): preserve mine explosion animation across hits
- fix(noteskin): match native base rotation order for sprites
- fix(noteskin): match ITGmania rainbow effect behavior
Textures / assets / rendering
- fix(texture): clear hidden RGB like native textures
- fix(texture): prepare distinct native model images
- fix(texture): preserve native 16-bit PNG samples in sprite loads
- fix(texture): match native indexed BMP and GIF decoding
- fix(texture): prepare tiny sprites without resizing geometry
- fix(render): retain clamp sampling on skewed render-target sprites
- fix(texture): preserve GIF logical canvas dimensions, frame offsets and transparent pixels
- fix(texture): correct indexed BMP palette sizing, top-down rows and 4-bit pixel ordering
- fix(texture): apply bitmap color keys after decoding and remove incorrect BMP extension rejections
Song Lua / performance
- perf(song-lua): remove redundant live actor state work
- perf(song-lua): reduce VM lookup and replay trace overhead
- perf(song-lua): reuse raw VM reads and replay bookkeeping
- perf(song-lua): reduce draw capture allocation churn
- perf(song-lua): batch baked state reads and reserve draw commands
- perf(song-lua): batch vector and vertex-color reads
- perf(song-lua): cache compiled transforms and material frame ages
- perf(song-lua): reserve and route converted draw frames
- perf(song-lua): cache sparse simulation component queries
- perf(song-lua): emit meshes directly into shared storage
- perf(song-lua): borrow buffered reads and index virtual files
- perf(song-lua): reuse file-open path and snapshot buffers
- perf(song-lua): borrow unchanged scripts and accelerate syntax scans
- perf(song-lua): stream command parsing and count newline bytes
- perf(song-lua): reuse numeric text and streamline value conversions
- perf(song-lua): compare ASCII enums and inline value dispatch
- perf(song-lua): borrow compatibility strings and stream version checks
- perf(song-lua): format time ordinal and color strings directly
- perf(song-lua): precompute named colors and borrow lookup inputs
- perf(song-lua): size URL output and borrow query text
- perf(song-lua): reserve option arrays and borrow lookup inputs
- perf(song-lua): reuse native tween poses during live playback
- perf(song-lua): skip compiler capture history during live playback
- perf(song-lua): reuse sprite frame arrays during live playback
- perf(song-lua): reuse native storage for live actor vectors
- perf(song-lua): keep live colors in native tween state
- perf(song-lua): keep live scalar transforms in native tween state
- perf(song-lua): mutate live vertex colors in place
- perf(song-lua): compact native tween state
- perf(song-lua): own immediate render flags natively
- perf(song-lua): own base zoom and alignment natively
- perf(song-lua): reuse published text and attribute payloads
- perf(song-lua): reduce compile finalization allocations
- perf(song-lua): remove redundant live compile preparation
- perf(song-lua): avoid function metadata and nested snapshot tables
- perf(song-lua): avoid temporary wrappers in VM reads
- perf(song-lua): reduce key allocations during capture
- perf(song-lua): retain unused callback receivers inline
- perf(song-lua): decode numeric setter prefixes inline
- perf(song-lua): compact native method setup storage
- perf(song-lua): inline short native forwarding values
- perf(song-lua): consume captured finalization events
- perf(song-lua): reuse validated asset strings
- perf(song-lua): borrow foreign assets and recorded sound paths
- perf(song-lua): inline transient comparison text
- perf(song-lua): borrow compatibility callback strings
- perf(song-lua): borrow capture inputs and move sound paths
- perf(song-lua): remove reload and capture input copies
- perf(song-lua): remove draw extraction and actor text copies
- perf(lua): streamline compiler arguments and captured-state reads
- perf(lua): reduce captured-state restoration and table read costs
- perf(song-lua): compile input predicates and streamline dispatch
- perf(lua): compile actor input snapshots and trim compiler copies
- perf(lua): share callback state and reuse input schemas
- perf(lua): compile timed interactions and reuse field schemas
- perf(lua): compile finite string state and streamline interaction preparation
- perf(lua): reuse native program and initial byte storage
- perf(lua): compile actor movement and batch method inspection
- perf(lua): borrow native schemas and reuse retry bytecode
- perf(lua): prune register clearing and streamline native predicates
- perf(lua): borrow callback handles and share compiled group code
- perf(lua): reuse callback compilation and byte constants
- perf(lua): reuse dump buffers and combine native checks
- perf(lua): compile indexed input state and restore FoF loading
Performance
- perf: remove redundant scans, zeroing, and clock allocations
- perf: remove temporary font strings and redundant chart work
- perf: simplify timing storage and speed lookup
- perf: eliminate unused timing allocation and lookup work
- perf: remove retained tween operations and redundant chart scans
- perf: discard unused BPM timestamps and simplify timing and title queries
- perf: reuse BPM group buffers and remove redundant timing work
- perf: remove redundant BPM copies and tag scans
- perf: remove redundant timing and grouping work
- perf: remove redundant timing, scoring, and search work
- perf: remove redundant profile snapshots and migration work
- perf: reuse player timing and remove redundant event copies
- perf: reduce font fallback and color conversion overhead
- perf: remove redundant chart and notefield work
- perf: remove compositor conversion and attribute expiry work
- perf: remove redundant WAV buffering and environment math
- perf(audio): reduce resampler copies and settled-gain work
- perf: reuse noteskin buffers and skip redundant glow and target work
- perf(score): reduce cache churn and speed score snapshots
- perf(assets): reduce artwork loading overhead
- perf(profile): remove redundant persistence and option copies
- perf(noteskin): remove redundant parsing, fallback copies and cache allocations
- perf(input): remove keymap hashing and redundant binding copies
- perf: streamline shared buffers, audio padding, and gain caches
- perf: stream SMX GIFs and reuse SRPG catalog state
- perf(import): skip discarded preparation and redundant resolver work
- perf(score): remove cached-request and online callback allocations
- perf(online): borrow leaderboard and unlock metadata
- perf(online): remove redundant pack browser allocations
- perf(online): remove transient allocations from content search
- perf(online): remove browser parsing and snapshot copies
- perf(online): streamline catalogue search and metadata scans
- perf(online): remove redundant banner scans and pack-page copies
- perf(online): remove metadata copies and repeated archive scans
- perf(online): reduce snapshot copies, sorting work, and match-key allocations
- perf(theme): remove content browser index and text copies
- perf(theme): remove redundant UI text conversions
- perf(simfile): remove cache materialization and validation churn
- perf(simfile): reduce library scan allocations and indirection
- perf(simfile): remove temporary metadata string allocations
- perf(simfile): streamline library ownership and BPM scans
- perf(simfile): remove redundant timing and tag parsing work
- perf(simfile): remove redundant song selection work
- perf: remove redundant audio, light, and asset scanning work
- perf(gameplay): remove empty event work and streamline crossover cues
- perf(chart): streamline titles, difficulty lookup and edit indices
- perf(rules): skip redundant stream parsing and allocation
- perf: remove redundant timing lookups and font metadata queries
- perf: reuse resource buffers and eliminate model merge copies
- perf: remove transient option and workshop allocations
- perf: remove redundant UI resource work
- perf(theme): remove transient query, pack, and help allocations
- perf(theme): remove redundant menu text buffers and repeated scans
- perf(theme): streamline preview setup, progress text, and download views
- perf(theme): move menu items and borrow leaderboard rows
- perf(theme): avoid redundant scorebox and browser allocations
- perf: remove browser and palette text allocation round trips
- perf(theme): remove temporary score and diagnostic text copies
- perf(theme): remove profile, palette and shop queue buffers
- perf(theme): remove preview, import and navigation copies
- perf(theme): remove short UI text buffers and playlist sort keys
- perf(theme): remove overlay text copies and Workshop body buffers
- perf(shell): move loaded payloads and reuse cache serialization
- perf(theme): reuse option lists and remove lookup buffers
- perf: remove temporary pack and lobby text buffers
- perf: remove redundant profile loading and option snapshots
- perf(course): move stage plans and share graph snapshots
- perf(course): skip redundant resolution and singleton hashing
- perf(theme): remove redundant wheel, anchor and graph scans
- perf(content-browser): rip with sixteen workers over connections kept open
- perf(gameplay): bypass song Lua work for ordinary charts
- perf(assets): remove texture copies and repeated pixel addressing
- perf(assets): streamline indexed pixels and vectorize color keying
Platform / build / maintenance
- fix(win7): exclude WinRT Bluetooth startup dependencies
- build(win7): check release executables for unsupported startup imports
- fix(shell): forget a measurement once its fix is changed again
- fix(build): repair merged timing and benchmark targets
- chore(notefield): remove unnecessary parentheses
- chore(song-lua): preserve native Lua resource line endings
- chore(perf): add song Lua compiler and pipeline resource benchmarks
- chore(perf): support Lua compilation benchmarks without diagnostic features
- refactor(updater): use release asset metadata for Workshop download progress and size checks
- chore: replace deprecated atomic fetch_update with try_update
- build(lua): adopt local deadlib-lua fork
- build: move shared fixtures into the deadsync-tests submodule and skip submodule downloads in release checkouts
New Contributors
- @GRosewood made their first contribution in #783
- @samoldenburg made their first contribution in #842
Full Changelog: v0.5.1809...v0.5.2371