Releases: goplus/spx
Releases · goplus/spx
v2.0.0-pre.51
What's Changed
- refactor: simplify sprite APIs by @xushiwei in #1485
- add SpriteImpl overload methods by @xushiwei in #1488
- literals with unit for Seconds type by @xushiwei in #1490
- fix: stage sprite initialization before Main and refresh auto collision layers by @joeykchen in #1487
- chore(deps): upgrade xgo to 1.7.1 by @joeykchen in #1494
- refactor: cache collision layer data in game state by @joeykchen in #1493
- Refactor: share embeddedpkgs by @joeykchen in #1495
- chore: reuse root go.mod and stop generating extra go.mod files by @joeykchen in #1496
- autoSetCollisionLayer and physics enabled state must not be the same by @joeykchen in #1497
- Revert "Refactor: share embeddedpkgs (#1495)" by @joeykchen in #1499
- feat(pack): support packed mode and unify sprite and sound asset lookup by @joeykchen in #1498
- refactor(spx): remove ixgo-aware codegen path by @joeykchen in #1501
- refactor: make timing helpers global by @joeykchen in #1504
- feat(game): add Now method to retrieve current time by @go-wyvern in #1505
- feat(list): add boolean support for toIntAny and toFloat64Any functions by @go-wyvern in #1503
- fix(build): split generate targets and pack runner assets by @joeykchen in #1506
- ci: tolerate completed Windows goenv warm-up exits by @joeykchen in #1508
- feat(embed runtime): standalone interpreted run by @joeykchen in #1507
- ci: share Windows gdspxrt shutdown tolerance by @joeykchen in #1509
- ci: clean up release packaging actions by @joeykchen in #1510
- ci: publish standalone release packages only by @joeykchen in #1511
- chore: update version to v2.0.0-pre.50 by @joeykchen in #1512
- chore: remove ispx build generate by @joeykchen in #1513
- chore: export spx alias metadata for ispx by @joeykchen in #1514
- fix(build-web): align normal web template with nothreads output by @joeykchen in #1515
- Optimize standalone release setup flow by @joeykchen in #1516
- chore: limit qexp alias export to Seconds by @joeykchen in #1520
- support key exclam by @joeykchen in #1517
- chore: update version to v2.0.0-pre.51 by @joeykchen in #1522
Full Changelog: v2.0.0-pre.49...v2.0.0-pre.51
v2.0.0-pre.50
What's Changed
- Removed the ixgo-aware codegen path. (#1501)
- Added packed mode support and unified sprite/sound asset lookup. (#1498)
- Fixed collision layer configuration and refresh issues. (#1497, #1493, #1487)
- Reused the root go.mod and stopped generating extra go.mod files. (#1496)
Full Changelog: v2.0.0-pre.49...v2.0.0-pre.50
v2.0.0-pre.49
What's Changed
- Refine make buildctl workflow and docs by @joeykchen in #1415
- refactor: centralize engine window scale helpers by @joeykchen in #1416
- Fix/game api panics by @joeykchen in #1417
- refactor: rename base collision and defaults packages by @joeykchen in #1418
- refactor event bucket dispatch helpers by @joeykchen in #1419
- fix(buildctl): reuse cached prepare assets locally by @joeykchen in #1420
- Refactor spxrunner workflow and release metadata by @joeykchen in #1421
- chore: remove cmd/.gitignore by @joeykchen in #1423
- chore: simplify internal gitignore by @joeykchen in #1424
- Track and sync demo gop.mod files by @joeykchen in #1425
- refactor(fs): streamline file naming by @joeykchen in #1427
- refactor: findPromotedFieldPtr and add recursive field search by @go-wyvern in #1422
- Refactor: centralize runtime version metadata by @joeykchen in #1428
- Ci: streamline buildctl workflows by @joeykchen in #1429
- fix: address buildctl workflow follow-ups by @joeykchen in #1430
- ci: remove download cache from deps action by @joeykchen in #1431
- refactor: streamline release workflows by @joeykchen in #1432
- Refactor:reset test state by @joeykchen in #1433
- refactor: simplify SPX CLI layout by @joeykchen in #1435
- chore(deps): bump github.com/goplus/ixgo from 1.0.4 to 1.0.5 by @aofei in #1437
- refactor: split spx env and export flows by @joeykchen in #1436
- style: normalize error message casing by @joeykchen in #1438
- fix(export-web): close merged JS output before rename by @joeykchen in #1439
- refactor: split buildctl into subpackages by @joeykchen in #1440
- fix(platform): return android platform type on android by @joeykchen in #1444
- refactor(engine): remove unused collision batch code by @joeykchen in #1445
- chore: add prepare-all alias for prepare-full by @joeykchen in #1443
- perf(web): flatten
gdint/objectABI on the Go -> C++ bridge by @joeykchen in #1442 - chore: update version to v2.0.0-pre.49 by @joeykchen in #1446
- refactor: deduplicate game sound playback by @joeykchen in #1447
- refactor: remove deprecated engine globals by @joeykchen in #1448
- fix: correct DelaySpriteCall typo by @joeykchen in #1449
- ci: skip interpreted project test on windows by @joeykchen in #1450
- chore: clean up gitignore rules by @joeykchen in #1451
- chore: rename shared test assets directory by @joeykchen in #1453
- refactor: unify overload suffix ordering by @joeykchen in #1456
- Revert "ci: skip interpreted project test on windows (#1450)" by @joeykchen in #1459
- refactor: use normal clone methods for SpriteImpl by @joeykchen in #1458
- test: rename _Quote case to Quote by @joeykchen in #1461
- chore+refactor: add Apache 2.0 headers to Go files by @joeykchen in #1464
- refactor: rename internal release and scaffold packages by @joeykchen in #1465
- chore: format buildctl api wrappers by @joeykchen in #1466
- chore: remove unused codegen dead code by @joeykchen in #1467
- fix: clamp negative sprite size before physics update by @joeykchen in #1468
- feat: implement GetTargetProperty method and related functionality for game and sprite by @go-wyvern in #1470
- refactor(api): remove
XGot_Game_Runby @aofei in #1462 - chore: rename classfile registry files to gox.mod by @aofei in #1473
- runtime: run MainEntry after engine startup and gate start events by @joeykchen in #1463
- fix: repair generated local spx replace path by @joeykchen in #1474
- chore: clean generated project files by @joeykchen in #1475
- fix: auto-install web runtime before runweb by @joeykchen in #1476
- make install support WEB flag by @joeykchen in #1477
- runtime: restore startup ordering with an explicit post-awake phase by @joeykchen in #1478
- add index_pack.json by @xushiwei in #1483
- runtime: run MainEntry and sprite Main in an explicit bootstrap phase by @joeykchen in #1481
- chore(deps): bump xgo to 1.7.0 by @joeykchen in #1484
- chore(deps): bump softprops/action-gh-release from 2 to 3 by @dependabot[bot] in #1480
- chore(deps): bump github.com/goplus/mod from 0.20.1 to 0.20.2 by @dependabot[bot] in #1479
- Make project camera follow overridable during bootstrap by @joeykchen in #1486
Full Changelog: v2.0.0-pre.48...v2.0.0-pre.49
v2.0.0-pre.48
What's Changed
- Refactor/go bridge mainthread by @joeykchen in #1359
- fix: plug runtime memory retention leaks by @joeykchen in #1360
- chore: clean up gitignore generation by @joeykchen in #1361
- refactor: update variable and msg method to use alias name by @go-wyvern in #1362
- refactor: centralize webffi callback registration state by @joeykchen in #1363
- fix: release build lock when builds are interrupted by @joeykchen in #1364
- Perf: reuse sync batch buffers by @joeykchen in #1365
- refactor: reorganize game sprite and runtime files by @joeykchen in #1366
- refactor: unify runtime logging on spxlog by @joeykchen in #1367
- perf: add web bridge cache fast path with diagnostics by @joeykchen in #1369
- Reuse the Game trigger buffer in processPhysicsTriggers by @joeykchen in #1370
- Reuse linked list nodes in Queue[*WaitJob] by @joeykchen in #1371
- Clear profiler timingData instead of reallocating it by @joeykchen in #1373
- Reduce allocations in event manager snapshots by @joeykchen in #1372
- chore(callbacks): format by @joeykchen in #1375
- refactor(coroutine): split thread management into thread.go by @joeykchen in #1377
- fix issues in thread handling by @joeykchen in #1378
- refactor(widget): update documentation for GetWidget function by @go-wyvern in #1379
- Fix memory leak in sprite batch raw updates by @joeykchen in #1380
- refactor: centralize shared public types by @joeykchen in #1383
- refactor: rename sprite manager to shape manager by @joeykchen in #1384
- fix: preserve clone awake in sprite lifecycle flow by @joeykchen in #1385
- refactor: generate shared native-array bindings by @joeykchen in #1382
- Fix bubble lifecycle cleanup by @joeykchen in #1386
- Pr/web mouse optimization by @joeykchen in #1389
- perf: avoid per-frame debug platform calls by @joeykchen in #1390
- ci: parallelize checks and optimize web builds by @joeykchen in #1391
- event: use slices.Contains in MatchAnyOf by @joeykchen in #1393
- fix: align runweb with make run-web by @joeykchen in #1394
- chore: ignore gdspx web server pid files by @joeykchen in #1396
- fix: pack shared web assets for runweb by @joeykchen in #1395
- fix: stop stale runweb servers across projects by @joeykchen in #1397
- Make coroutine GC stats perf-debug only by @joeykchen in #1398
- feat: add wasmexport web callback bridge by @joeykchen in #1387
- platform/web: reuse scratch object for mouse position by @joeykchen in #1401
- optimize web direct callback gdint coercion by @joeykchen in #1402
- feat: add create empty sprite interface by @joeykchen in #1404
- fix: use current animation state name when recording finished animations by @joeykchen in #1405
- refactor: simplify camera bridge helpers by @joeykchen in #1407
- refactor: merge timer into time package by @joeykchen in #1408
- refactor: clean up internal time state by @joeykchen in #1409
- refactor: reuse world-to-screen helper in ui positioning by @joeykchen in #1410
- refactor: remove unused audio record stubs by @joeykchen in #1411
- chore: bump version to 2.1.45 by @joeykchen in #1412
- Refactor build tooling by migrating shell workflows into buildctl by @joeykchen in #1406
- Chore/default install apk project hello by @joeykchen in #1413
Full Changelog: v2.0.0-pre.47...v2.0.0-pre.48
v2.0.0-pre.47
What's Changed
- refactor Coroutines by @joeykchen in #1277
- refactor (Coroutines): Reorganize the logic, fix the yield bug, and a… by @joeykchen in #1281
- refactor(reset logic): aborts all running coroutines and resets the e… by @joeykchen in #1282
- fix: deadlock problem by @joeykchen in #1283
- Pr reset refactor by @joeykchen in #1284
- Pr spx refactor by @joeykchen in #1285
- refactor:gdspx logic by @joeykchen in #1286
- refactor: timer and setupPlatformAndCamera by @joeykchen in #1287
- refactor: rename runtime->engine by @joeykchen in #1288
- refactor: input logic by @joeykchen in #1289
- refactor: log level of debug by @joeykchen in #1290
- refactor(text): improve code structure and add unit tests by @joeykchen in #1291
- refactor: move engineManagers to internal/enginewrap as exported Engi… by @joeykchen in #1292
- Refactor/pr rename get widget by @joeykchen in #1293
- Refactor/pr layer manager move by @joeykchen in #1294
- Feat/pr add per sprite debug by @joeykchen in #1295
- feat: optimize the pure engine by @joeykchen in #1296
- fix: adjust fisheye effect range by @joeykchen in #1297
- feat(engine): add BatchUpdateVisuals API for batched visual sync by @joeykchen in #1298
- chore(deps): bump Go/XGo toolchain and module dependencies by @aofei in #1299
- refactor(webffi): unify JS↔Go callback dispatch with string-based eve… by @joeykchen in #1300
- feat: add aliasNameOf and resolveMember functions for method/property resolution by @go-wyvern in #1243
- fix: use sync.Once to prevent duplicate OnEngineStart execution by @joeykchen in #1302
- Fix/pr remove internal engine init by @joeykchen in #1303
- fix: make generate command bug by @joeykchen in #1304
- feat(ispx): add support for custom package imports in Init by @go-wyvern in #1305
- refactor(gdspx): unify callback handling and consolidate manager init… by @joeykchen in #1306
- fix: remove the unused callbacks by @joeykchen in #1307
- Fix/pr time since start by @joeykchen in #1308
- fix: use go_wasm_init in worker mode by @joeykchen in #1309
- refactor: move coordinate system-related functions to engine by @joeykchen in #1310
- chore(deps): bump github.com/goplus/ixgo from 1.0.2 to 1.0.3 by @aofei in #1311
- refactor(engine): merge math_Vec2.go into math.go and delete redundan… by @joeykchen in #1314
- Refactor/pr unify bridge api by @joeykchen in #1315
- fix(event): make event sink dispatch concurrency-safe by @joeykchen in #1316
- chore(deps): bump actions/upload-artifact from 6 to 7 by @dependabot[bot] in #1280
- fix: add //go:build js constraint to webffi package by @joeykchen in #1317
- refactor(webffi): assume little-endian semantics under wasm target by @joeykchen in #1318
- fix: prevent the "undefined: xxx" error by @joeykchen in #1319
- refactor: rename pkg/gdspx to pkg/spx by @joeykchen in #1321
- fix: remove duplation by @joeykchen in #1322
- refactor(pkg): manager wrapper internal implementation by @joeykchen in #1323
- Refactor the pkg implementation and migrate it to internal by @joeykchen in #1324
- Refactor/pr spx pkg by @joeykchen in #1327
- Refactor/pr spx pkg by @joeykchen in #1329
- refactor(input): centralize keycodes under internal package by @joeykchen in #1331
- refactor(engine): simplify asset path setup and remove dead file form… by @joeykchen in #1332
- refactor: unify input event dispatch and deduplicate game sound guards by @joeykchen in #1333
- Refactor event sink manager dedup by @joeykchen in #1334
- (Phase-0)This PR is a large structural refactor that reorganizes the … by @joeykchen in #1335
- Refactor large structural phase1 by @joeykchen in #1336
- Refactor large structural phase2 by @joeykchen in #1337
- Fix/asset path regression by @joeykchen in #1338
- Fixed remaining correctness, panic-safety, memory leak, and concurren… by @joeykchen in #1340
- Replace ClampFloat64 with mathf.Clamp and remove redundant helper by @joeykchen in #1341
- chore(ci): add pseudo-versioned web runtime artifacts by @aofei in #1328
- chore(deps): bump ixgo and remove obsolete linkname flags by @aofei in #1345
- chore(ci): simplify web runtime artifact uploads by @aofei in #1346
- Hide internal runtime state by @joeykchen in #1344
- Consolidate event internals and reduce root-level surface by @joeykchen in #1347
- chore(ci): publish web runtime bundle to GHCR by @aofei in #1348
- Fix stale module registration during shared-tree template builds by @joeykchen in #1349
- refactor: simplify config type wiring by @joeykchen in #1350
- Refactor/remove unused costume base by @joeykchen in #1351
- feat(monitor): enhance variable visibility control for sprites and stage by @go-wyvern in #1354
- Refactor/baseobj costume helper methods by @joeykchen in #1352
- Refactor/runtime sync naming by @joeykchen in #1353
- Fix/address review feedback by @joeykchen in #1355
- chore: generate code and update template version by @joeykchen in #1356
- fix: guard sprite teardown and native ffi wrappers by @joeykchen in #1357
- fix: keep lazy animation registration in sync by @joeykchen in #1358
Full Changelog: v2.0.0-pre.46...v2.0.0-pre.47
v2.0.0-pre.46
What's Changed
- chore(deps): bump github.com/goplus/spx/v2 from 2.0.0-pre.43 to 2.0.0-pre.44 by @aofei in #1196
- fix: unify XGot_Game_XGox_GetWidget by @joeykchen in #1198
- refactor(ispx): extract common embedded package imports to platform-agnostic file by @aofei in #1199
- Pr bounce off edge refactor by @joeykchen in #1200
- feat: support pixel collision sampling step constants by @joeykchen in #1201
- Pr collision cfg and misc by @joeykchen in #1202
- feat(ispx): add
BuildFSfunction for flexible filesystem input by @aofei in #1197 - fix: update gogen and xgo dependencies to latest versions by @go-wyvern in #1203
- fix: stage size resize bug by @joeykchen in #1204
- refactor: add setDefaultIfZero helper to simplify default value assig… by @joeykchen in #1205
- Pr refactor map size by @joeykchen in #1206
- Pr refactor field name by @joeykchen in #1207
- Pr improve code organization by @joeykchen in #1208
- perf: replace inefficient
math.Mod()calls with the native integer … by @joeykchen in #1210 - chore(deps): bump github.com/goplus/spx/v2 from 2.0.0-pre.44 to 2.0.0-pre.45 by @Copilot in #1211
- refactor: remove
cmd/igoxin favor ofispxby @aofei in #1183 - fix: add normal rotation style by @joeykchen in #1209
- refactor: reorganize game physics by @joeykchen in #1213
- Pr reorganize physics by @joeykchen in #1214
- fix(ui): resolve main thread deadlock by refactoring by @joeykchen in #1217
- Pr fix dead lock by @joeykchen in #1218
- Pr fix dead lock refactor by @joeykchen in #1219
- perf: preventing unnecessary computation when the monitor is hidden by @joeykchen in #1220
- Pr common bubble system by @joeykchen in #1221
- feat(ispx): add
Shutdownfunction andispx_stopJS binding by @aofei in #1182 - refactor(ispx): remove deprecated JS binding aliases and update callers by @aofei in #1216
- Pr animation interface by @joeykchen in #1223
- refactor(gox): copy
wasm_exec.jsfrom GOROOT instead of bundling by @aofei in #1215 - Pr eliminate magic numbers by @joeykchen in #1224
- feat(physics): implement PolygonCollider support in Go layer by @joeykchen in #1225
- setup-web-full: ## Download and install web engine from godot release… by @joeykchen in #1229
- fix: support enter trigger for ask panel by @joeykchen in #1231
- feat: support maximum frames per second by @joeykchen in #1230
- fix(codegen): correct spacing in gdextension_spx_ext.cpp template by @joeykchen in #1232
- refactor(ispx): rename
gdspx.wasmtoispx.wasmand simplify build script by @aofei in #1222 - refactor(ispx): convert from nested module to sub-package by @aofei in #1226
- refactor(ispx): relocate web runtime files from gox templates to ispx by @aofei in #1228
- Pr field ref case insensitive by @joeykchen in #1235
- fix + perf: monitor update interval in seconds by @joeykchen in #1237
- update: version spx2.1.41 by @joeykchen in #1238
- fix:calculate dimensions based on type with scale applied by @joeykchen in #1240
- refactor: calculate dimensions and adjust position based on physics t… by @joeykchen in #1241
- refactor(ispx): remove
StorageManagerand wasm hash caching system by @aofei in #1239 - chore(ci): add ispx build verification and reorganize test workflow by @aofei in #1227
- refactor(spx): remove unused includes and normalize include order by @joeykchen in #1244
- Pr remove build minizip by @joeykchen in #1245
- Pr perf physics no update pos by @joeykchen in #1249
- fix: sprite animation pivot offset bug by @joeykchen in #1250
- Pr remove old transform by @joeykchen in #1251
- Pr retrieve positions interface by @joeykchen in #1252
- Pr anim binding bug by @joeykchen in #1254
- Pr fix flickering bug by @joeykchen in #1253
- Pr android build bug by @joeykchen in #1255
- Pr refactor components transform by @joeykchen in #1256
- Pr refactor components transform by @joeykchen in #1257
- Pr refactor components animation by @joeykchen in #1258
- Pr refactor components by @joeykchen in #1259
- Pr refactor game by @joeykchen in #1260
- Pr refactor game by @joeykchen in #1261
- chore(deps): bump github.com/goplus/mod from 0.19.0 to 0.19.2 by @dependabot[bot] in #1262
- refactor: clang-format and refactor by @joeykchen in #1270
- update: version2.1.42 by @joeykchen in #1271
- Pr decouple anim wrapper by @joeykchen in #1272
- Pr inject managers by @joeykchen in #1273
- Pr add game context by @joeykchen in #1274
- fix(ci): replace missing static_checks reusable workflow in release p… by @joeykchen in #1276
- Pr event queue policy by @joeykchen in #1275
New Contributors
- @Copilot made their first contribution in #1211
Full Changelog: v2.0.0-pre.45...v2.0.0-pre.46
v2.0.0-pre.45
What's Changed
- fix:(onTouchStart)duplicate registration logic by @joeykchen in #1156
- feat: add NewValue and NewList initialization functions by @xgopilot[bot] in #1161
- chore(go.mod): remove ineffective replace directives by @aofei in #1155
- refactor: componentize sprite architecture by @joeykchen in #1158
- refactor: optimized the animation loop in
component_animation.goto… by @joeykchen in #1164 - Pr rewrite tween anim by @joeykchen in #1165
- Pr refactor sprite animation by @joeykchen in #1163
- refactor: improve code quality and add component accessor helpers by @joeykchen in #1166
- feat: introduce iXGo-powered interpreter runtime ispx by @aofei in #1151
- Pr refactor cleanup by @joeykchen in #1167
- Pr refactor cleanup by @joeykchen in #1168
- Pr collision target and log by @joeykchen in #1169
- Pr memory usage optimization by @joeykchen in #1172
- Pr reuse spatialhash collision detection by @joeykchen in #1173
- fix(ispx): ensure concurrency safety for interpreter state by @aofei in #1162
- refactor(sprite): reorganize sprite implementation code structure by @joeykchen in #1174
- perf: skip SpriteImpl (most common, no onUpdate needed) by @joeykchen in #1175
- refactor: Convert PIXEL_COLLISION_SAMPLING_STEP to runtime-configurab… by @joeykchen in #1178
- 1.refractor: Introduced
sayNodesstruct to group related UI nodes (… by @joeykchen in #1177 - fix: block for ispx by @joeykchen in #1179
- Pr typos fix by @joeykchen in #1180
- update xgo version by @joeykchen in #1160
- Pr get widget opt by @joeykchen in #1181
- Pr use setup xgo by @joeykchen in #1184
- refactor(ispx): rewrite
memfsto implement standardio/fsinterfaces by @aofei in #1171 - fix: editor gdspx.gdextension.uid by @joeykchen in #1186
- Pr engine bubble res by @joeykchen in #1187
- chore(deps): bump modules in /ispx by @aofei in #1188
- Pr perf update bubble by @joeykchen in #1189
- Pr delete dead code by @joeykchen in #1190
- refactor: improve code readability and structure by @joeykchen in #1191
- update: Gopt->XGot by @joeykchen in #1192
- update: version2.1.40 + fix: early set dirty flag by @joeykchen in #1193
- Pr camera update bug fix by @joeykchen in #1195
New Contributors
Full Changelog: v2.0.0-pre.44...v2.0.0-pre.45
v2.0.0-pre.44
What's Changed
- update: Gopt->XGot (#1192) by @joeykchen in #1194
Full Changelog: v2.0.0-pre.43...v2.0.0-pre.44
v2.0.0-pre.43
What's Changed
- Update xgo v1.5.0->xgo v1.6.0(#1184)
- Add feat: introduce iXGo-powered interpreter runtime ispx (#1151)
Full Changelog: v2.0.0-pre.42...v2.0.0-pre.43
v2.0.0-pre.42
What's Changed
- Pr publish runtime opt by @joeykchen in #1154
Full Changelog: v2.0.0-pre.41...v2.0.0-pre.42