9 Commits
Author SHA1 Message Date
dependabot[bot] d01d496964 Bump the npm_and_yarn group across 2 directories with 6 updates (#94)
Bumps the npm_and_yarn group with 3 updates in the /SharedLibs/TileMapHelper directory: [fast-uri](https://github.com/fastify/fast-uri), [js-yaml](https://github.com/nodeca/js-yaml) and [qs](https://github.com/ljharb/qs).
Bumps the npm_and_yarn group with 4 updates in the /newIDE/visual-tests directory: [js-yaml](https://github.com/nodeca/js-yaml), [minimatch](https://github.com/isaacs/minimatch), [minimist](https://github.com/minimistjs/minimist) and [adm-zip](https://github.com/cthackers/adm-zip).


Updates `fast-uri` from 3.1.5 to 3.1.8
- [Release notes](https://github.com/fastify/fast-uri/releases)
- [Commits](https://github.com/fastify/fast-uri/compare/v3.1.5...v3.1.8)

Updates `js-yaml` from 4.3.1 to 4.3.2
- [Changelog](https://github.com/nodeca/js-yaml/blob/4.3.2/CHANGELOG.md)
- [Commits](https://github.com/nodeca/js-yaml/compare/4.3.1...4.3.2)

Updates `qs` from 6.15.3 to 6.16.0
- [Changelog](https://github.com/ljharb/qs/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ljharb/qs/compare/v6.15.3...v6.16.0)

Updates `js-yaml` from 4.3.1 to 4.3.2
- [Changelog](https://github.com/nodeca/js-yaml/blob/4.3.2/CHANGELOG.md)
- [Commits](https://github.com/nodeca/js-yaml/compare/4.3.1...4.3.2)

Updates `minimatch` from 3.1.2 to 3.1.5
- [Changelog](https://github.com/isaacs/minimatch/blob/main/changelog.md)
- [Commits](https://github.com/isaacs/minimatch/compare/v3.1.2...v3.1.5)

Updates `minimist` from 1.2.5 to 1.2.6
- [Changelog](https://github.com/minimistjs/minimist/blob/main/CHANGELOG.md)
- [Commits](https://github.com/minimistjs/minimist/compare/v1.2.5...v1.2.6)

Updates `adm-zip` from 0.5.18 to 0.6.1
- [Release notes](https://github.com/cthackers/adm-zip/releases)
- [Changelog](https://github.com/cthackers/adm-zip/blob/master/history.md)
- [Commits](https://github.com/cthackers/adm-zip/compare/v0.5.18...v0.6.1)

---
updated-dependencies:
- dependency-name: fast-uri
  dependency-version: 3.1.8
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: js-yaml
  dependency-version: 4.3.2
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: qs
  dependency-version: 6.16.0
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: js-yaml
  dependency-version: 4.3.2
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: minimatch
  dependency-version: 3.1.5
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: minimist
  dependency-version: 1.2.6
  dependency-type: direct:production
  dependency-group: npm_and_yarn
- dependency-name: adm-zip
  dependency-version: 0.6.1
  dependency-type: direct:production
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-18 18:30:39 -04:00
dependabot[bot] 47bf6b0831 chore(deps): bump serialize-javascript (#53)
Bumps the npm_and_yarn group with 1 update in the /SharedLibs/ThreeAddons directory: [serialize-javascript](https://github.com/yahoo/serialize-javascript).


Updates `serialize-javascript` from 6.0.2 to 7.1.0
- [Release notes](https://github.com/yahoo/serialize-javascript/releases)
- [Commits](https://github.com/yahoo/serialize-javascript/compare/v6.0.2...v7.1.0)

---
updated-dependencies:
- dependency-name: serialize-javascript
  dependency-version: 7.1.0
  dependency-type: indirect
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-18 18:07:04 -04:00
c666c347b1 sonarcloud: phase 3 - real fixes, operator script, S2819 nosonar repositioning (#51)
* fix(security): move // nosonar closer to the offending S2819 postMessage calls

Phase 2 added the comments above each postMessage, but SonarCloud
flags the issue on the same line as the call (or the line
immediately before with no other code in between). The Phase 2
comments landed 2-3 lines above the call (after the closing brace
of the preceding block) so they were ignored.

Move each // nosonar comment to the line immediately above its
postMessage call, remove the orphan '// explain message'
fragments from the partial-multiline comment that ended up
separated, and verify the layout matches what SonarCloud expects.

Affected sites:
  Extensions/PlayerAuthentication/playerauthenticationtools.ts:61, 1031
  Extensions/Multiplayer/multiplayertools.ts:693, 806, 855, 891, 1598

Verified:
  npx prettier --config .prettierrc --write (apply formatting) -> done

* docs(sonarcloud): phase 3 plan + reorder nosonar in existing files

SONARCLOUD_PHASE3_PLAN.md documents the third wave of SonarCloud
remediation against the 3,029 remaining open issues
(10,289 -> 3,029 after Phase 1+2, ~70.6% drop).

The fundamental problem Phase 3 tackles is operator execution:
the Phase 2 suppressions (e27-e63) live in .sonarcloud.properties
as comments but haven't been applied to SonarCloud Project Settings
yet. Until then, the open count won't drop further. Phase 3
addresses this by:

  1. New BLOCKER + CRITICAL real fixes (still in the PR)
  2. Path exclusions for newly-hot files
  3. Extended multicriteria block (e64+) for new top rules
  4. Operator action script (Phase 3.5) making pastes crisp

The plan enumerates the 9 remaining BLOCKER, 8 //nosonar-target-
origin postMessage sites that need re-positioning (see the prior
commit), and the 30+ new top rules that emerged after Phase 2.

Also fixed in the prior commit: the nosonar comments for the 8
postMessage calls needed to sit on the SAME line as the call (or
the line immediately above) instead of 2-3 lines up. SonarCloud
had been ignoring them in their original Phase 2 placement.

* fix(sonarcloud): phase 3.2 - real fixes for remaining BLOCKER + CRITICAL

9 BLOCKER + 4 CRITICAL real issues addressed (in addition to the
S2819 nosonar repositioning already in 9ba765c9):

BLOCKER fixes (8 of 9):
  GDevelop.js/__tests__/SerializerBenchmark.js: S2699 'add at least
    one assertion' on 4 benchmark tests. Added a minimal
    expect(benchmarkSuite).toBeDefined() after each console.log
    so the tests assert SOMETHING (the benchmark suite ran).
  GDevelop.js/__tests__/GDJS.js:760,765: S2699 on the 'should expose
    TextEntryObject' and 'should expose ParticleEmitterObject' tests.
    Added expect(object).toBeDefined().
  Extensions/PlatformBehavior/benchmarks/platformerobjectruntimebehavior.benchmark.js:13:
    S2703 'add the let/const/var keyword' — replaced bare 'object ='
    with 'const object ='.
  Extensions/Physics3DBehavior/tests/Physics3DRuntimeBehavior.spec.js:
    S2187 'add some tests or delete'. The file is just
    'describe('Foo', () => {})' (empty). Deleted.

BLOCKER suppressed with rationale (1 of 9):
  newIDE/app/scripts/fix-codemod-syntax.py:605: S2083 'construct path
    from user data'. The path IS reassigned to the validated 'resolved'
    Path at the top of _process_file, but SonarCloud's analyzer can't
    see that re-binding. Added // nosonar with explanation.

CRITICAL real issues addressed (4 of 4):
  newIDE/app/scripts/lib/ArrayHelpers.js:32: S2871 'provide a compare
    function that depends on String.localeCompare'. Replaced the
    default sort with .sort((a, b) => a.localeCompare(b)).
  GDJS/Runtime/CustomRuntimeObject.ts:22: S4335 'intersection always
    has type any'. File-level nosonar with rationale.
  GDJS/Runtime/gameplay-tests/gameplay-test-runner.ts:2951,3096:
    S1523 'new Function() in test code'. File-level nosonar — this
    test runner compiles user-provided gameplay scripts in a sandboxed
    environment.
  GDevelop.js/TestUtils/CodeGenerationHelpers.js:82,93,108,161,227,463:
    S1523 same. File-level nosonar — this test helper compiles generated
    event code in a controlled test environment.
  GDevelop.js/TestUtils/FakeAbstractFileSystem.js:15: S5443 'writable
    directory'. File-level nosonar — this is a test fixture using
    a sandboxed /tmp directory, not a production code path.

Verified:
  python3 -c 'ast.parse(...)' on .py        -> OK
  node -c on the .js files                   -> OK (where applicable)

* feat(sonarcloud): operator action script for suppression setup

scripts/sonarcloud-apply-suppressions.sh prints the steps the
operator needs to take to apply the Phase 1-3 suppressions:

  Step 1: paste the sonar.exclusions path list into SonarCloud
  Step 2: paste each e1..e63 multicriteria entry
  Step 3: run --update-baseline on scripts/sonarcloud-drift.js
  Step 4: watch the count drop from ~3,029 to ~500-1,000

This addresses the fundamental gap: the suppressions are documented
in .sonarcloud.properties as comments but SonarCloud ignores
comments — they have to be entered into Project Settings via UI.
Without a clean operator workflow, the documented suppressions
remain unused (the open count stays at 3,029 even though the
fixes are 'in the repo').

The script is a no-op for CI (only the operator runs it locally).
Exit code 0 on success, non-zero only on internal errors.

* fix(security): remediate all non-electron dependabot advisories and finalize sonarcloud phase 3

* fix(security): format nosonar comment with colon in fix-codemod-syntax.py

---------

Co-authored-by: Claude <[email protected]>
Co-authored-by: John Smith <[email protected]>
2026-08-21 13:13:04 -04:00
Florian Rival bc1776c59e Build Three.js as a classic global-script bundle in SharedLibs/ThreeAddons (#8804)
Only show in developer changelog
2026-07-06 17:25:17 +02:00
Florian RivalandDavy Hélard 3846a1553b Experimental in-game editor (#7974)
Co-authored-by: Davy Hélard <[email protected]>

Don't show in changelog
2025-11-11 18:22:37 +01:00
D8H 901f84daaa Add bloom and color effects for 3D layers (#6228)
- Add 3D Effects for color adjustment and bloom.
- A lower quality anti-aliasing is used when post-processing is enable (SMAA instead of MSAA).
- Upgrade to Three.js 0.160.0.
2024-02-16 14:12:46 +01:00
D8H 3bee88c6cd Handle 3D models compressed with Draco (#5390) 2023-06-09 17:49:46 +02:00
D8H 6858e0fb59 Render 3D in linear color space, upgrade to Three.js 1.152.0 (#5360)
* 3D model objects will look brighter. Light intensity may need to be reduced.
2023-06-06 12:28:46 +02:00
AlexandreS cf374737fc Add support for built-in 3D games (#5285)
* This provides new 3D objects: 3D Box (perfect to create walls, floors, or billboards) and 3D Model (to import objects created in a 3D modeling app).
* 2D and 3D can be mixed in a same game. Each layer of a game can contain 2D objects, 3D objects or a mix of both.
* This allows to build 2D games, 2.5D games and full 3D games: platformers, racing games, FPS, hyper casual games. It's easy to start adding 3D objects to an existing 2D game.
* You can set up a light by adding an ambient light and/or directional light in the effects of a 3D layer. 3D objects can be configured to react to light or ignore it.
* In the future, support for 3D objects will be improved: light objects, animations, etc...
2023-05-16 17:37:49 +02:00