Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Develop merge v3.8.2 #16303

Merged
merged 65 commits into from
Sep 22, 2023
Merged

Develop merge v3.8.2 #16303

merged 65 commits into from
Sep 22, 2023

Conversation

minggo
Copy link
Contributor

@minggo minggo commented Sep 21, 2023

Re: #

Changelog


Continuous Integration

This pull request:

  • needs automatic test cases check.

    Manual trigger with @cocos-robot run test cases afterward.

  • does not change any runtime related code or build configuration

    If any reviewer thinks the CI checks are needed, please uncheck this option, then close and reopen the issue.


Compatibility Check

This pull request:

  • changes public API, and have ensured backward compatibility with deprecated features.
  • affects platform compatibility, e.g. system version, browser version, platform sdk version, platform toolchain, language version, hardware compatibility etc.
  • affects file structure of the build package or build configuration which requires user project upgrade.
  • introduces breaking changes, please list all changes, affected features and the scope of violation.

hana-alice and others added 30 commits August 31, 2023 15:03
* fix update widget occur error

* update expression
* Add ci support for Openharmony

* Add ci support for Openharmony

* Update native-compile-platforms.yml

* Update native-compile-platforms.yml

* Update ci yml

* Add executable permission for hvigorw

* Don't output too many log

* test hvigorw now

* Update ci yml

* Update ci yml

* Fix that could not find common/CMakeLists.txt

* build success

* Build hap package
* fix web pipeline framebuffer resize issue.

* fix lint.
…ocos#16105)

* fix bind cont EventData * bind, modify the address as a reference.

* change external-config checkout to v3.8.1-19.

* optimize const bind data, use const_cast<Type> & fix spine define api.

* fix wasm api getId & getOffset & <size_t> bones.

* fix wasm & asm const string.

* fix const std::string path to const std::string &path.

* change external-config checkout v3.8.1-19 to v3.8.1-20.
…(ark js runtime) and v8 (cocos#16093)

* OH could use v8 now.

* napi addon works.

* Use Napi addon to refactor code.

* Fix compilation errors.

* tweak

* Refactor oh platform, remove some hacking for oh.

* Fix log in runScript.

* Fix the issues in napi mode.

* Revert.

* Remove an unused comment.

* Refactor log output in NapiHelper.cpp and OpenHarmonyPlatform.cpp

* Update oh template.

* Remove unused code.

* Remove unused debug log in jsb-gfx.js

* Update include

* Revert Screen::isDisplayStats.

* update OH template for v8 backend

* update

* Update CMakeLists.txt for OH

* Fix a compilation error in NapiHelper.cpp while switching to NAPI mode

* Keep the symbol of entry function.

* Add -Wl,--gc-sections and add -Wl,-s for release mode.

* Update external to 3.8.2-1

* Don't use `console.assert` directly.

* Remove oh specific methods ( getInnerWidth/Height, getWindowHandle ) in Device class.

---------

Co-authored-by: PP_Pro <[email protected]>
* Add openharmony CI support (cocos#16151)

* Add ci support for Openharmony

* Add ci support for Openharmony

* Update native-compile-platforms.yml

* Update native-compile-platforms.yml

* Update ci yml

* Add executable permission for hvigorw

* Don't output too many log

* test hvigorw now

* Update ci yml

* Update ci yml

* Fix that could not find common/CMakeLists.txt

* build success

* Build hap package

* Update oh ci yml, save USE_SE_V8/USE_SE_NAPI to cfg.cmake

* Update oh ci yml
…nd joints cocos#17226 (cocos#16154)

* [fix] box2d wasm rigid-body destroy() should destroy related shapes and joints cocos#17226

* update external-config.json
…nce std::unary_function has been removed (cocos#16191)

* fixed cocos#16190: Compilation errors if using Clang 15 with c++17 since std::unary_function has been removed

* Windows doesn't need to define BOOST_NO_CXX98_FUNCTION_BASE since it has already been defined.
* update world bound

* update code
* Modify camera component ortho height's min value to 0

* Min value as 1e-6
* add CULL_MESHOPT constant

* Update cc.config.json
* Add workflow_dispatch for oh sdk & vulkan sdk

* [ci skip] Update oh sdk cache key to cache-oh-sdk-9
* add dirty flag to edit box

Add dirty flag to edit-box-impl in order to save matrix cost while not been focused

* fix CI

---------

Co-authored-by: chenyang.sun <[email protected]>
shrinktofit and others added 12 commits September 15, 2023 14:07
* Use WebAssembly version libs in unit test
* fix: gulp-build-h5-source

* update lock
* Integration of outline and shadow to label

* add test

* change getter/setter

* name change & use assert

* test name change

* name change

* fix

* remove old attribute & add visible

* remove assert

* fix: gulp-build-h5-source

* Revert "fix: gulp-build-h5-source"

---------

Co-authored-by: PP_Pro <[email protected]>
Conflicts:
	cocos/render-scene/scene/submodel.ts
 Conflicts:
	.gitignore
	cocos/2d/components/deprecated.ts
	cocos/2d/components/label-outline.ts
	cocos/2d/components/label.ts
	cocos/3d/assets/mesh.ts
cocos/3d/misc/mesh-codec.ts
	cocos/core/geometry/geometry-native-ext.ts
cocos/core/settings.ts
	cocos/gfx/webgpu/webgpu-define.ts
	cocos/input/input.ts
	cocos/render-scene/core/pass.ts
	cocos/rendering/custom/compiler.ts
	cocos/rendering/custom/executor.ts
cocos/rendering/custom/pipeline-define.ts
	cocos/rendering/custom/web-pipeline.ts
	cocos/rendering/render-additive-light-queue.ts
	cocos/webgpu/instantiated.ts
	native/cocos/editor-support/spine-wasm/spine-type-export.cpp
	native/cocos/platform/SDLHelper.cpp
	native/cocos/platform/SDLHelper.h
	native/external-config.json
	package-lock.json
	package.json
	pal/env/src/native/env.ts
	pal/screen-adapter/native/screen-adapter.ts
	tests/init.ts
@github-actions
Copy link

github-actions bot commented Sep 21, 2023

Interface Check Report

! WARNING this pull request has changed these public interfaces:

@@ -2486,33 +2486,19 @@
      *
      * @zh
      * 描边效果组件,用于字体描边,只能用于系统字体。
      *
-     * @example
-     * ```ts
-     * import { Node, Label, LabelOutline } from 'cc';
-     * // Create a new node and add label components.
-     * const node = new Node("New Label");
-     * const label = node.addComponent(Label);
-     * const outline = node.addComponent(LabelOutline);
-     * node.parent = this.node;
-     * ```
+     * @deprecated since v3.8.2, please use [[Label.enableOutline]] instead.
      */
     export class LabelOutline extends Component {
-        protected _color: math.Color;
-        protected _width: number;
         /**
          * @en
          * Outline color.
          *
          * @zh
          * 改变描边的颜色。
          *
-         * @example
-         * ```ts
-         * import { Color } from 'cc';
-         * outline.color = new Color(0.5, 0.3, 0.7, 1.0);
-         * ```
+         * @deprecated since v3.8.2, please use [[Label.outlineColor]] instead.
          */
         get color(): Readonly<math.Color>;
         set color(value: Readonly<math.Color>);
         /**
@@ -2521,18 +2507,20 @@
          *
          * @zh
          * 改变描边的宽度。
          *
-         * @example
-         * ```ts
-         * outline.width = 3;
-         * ```
+         * @deprecated since v3.8.2, please use [[Label.outlineWidth]] instead.
          */
         get width(): number;
         set width(value: number);
+        /**
+         * @deprecated since v3.8.2, please use [[Label.enableOutline]] instead.
+         */
         onEnable(): void;
+        /**
+         * @deprecated since v3.8.2, please use [[Label.enableOutline]] instead.
+         */
         onDisable(): void;
-        protected _updateRenderData(): void;
     }
     /**
      * @en
      * Graphics component.
@@ -2842,32 +2830,20 @@
     }
     /**
      * @en Shadow effect for Label component, only for system fonts or TTF fonts.
      * @zh 用于给 Label 组件添加阴影效果,只能用于系统字体或 ttf 字体。
-     * @example
-     * import { Node, Label, LabelShadow } from 'cc';
-     * // Create a new node and add label components.
-     * const node = new Node("New Label");
-     * const label = node.addComponent(Label);
-     * const shadow = node.addComponent(LabelShadow);
-     * node.parent = this.node;
+     *
+     * @deprecated since v3.8.2, please use [[Label.enableShadow]] instead.
      */
     export class LabelShadow extends Component {
-        protected _color: math.Color;
-        protected _offset: math.Vec2;
-        protected _blur: number;
         /**
          * @en
          * Shadow color.
          *
          * @zh
          * 阴影的颜色。
          *
-         * @example
-         * ```ts
-         * import { Color } from 'cc';
-         * labelShadow.color = new Color(0.5, 0.3, 0.7, 1.0);
-         * ```
+         * @deprecated since v3.8.2, please use [[Label.shadowColor]] instead.
          */
         get color(): Readonly<math.Color>;
         set color(value: Readonly<math.Color>);
         /**
@@ -2876,13 +2852,9 @@
          *
          * @zh
          * 字体与阴影的偏移。
          *
-         * @example
-         * ```ts
-         * import { Vec2 } from 'cc';
-         * labelShadow.offset = new Vec2(2, 2);
-         * ```
+         * @deprecated since v3.8.2, please use [[Label.shadowOffset]] instead.
          */
         get offset(): math.Vec2;
         set offset(value: math.Vec2);
         /**
@@ -2891,18 +2863,20 @@
          *
          * @zh
          * 阴影的模糊程度。
          *
-         * @example
-         * ```ts
-         * labelShadow.blur = 2;
-         * ```
+         * @deprecated since v3.8.2, please use [[Label.shadowBlur]] instead.
          */
         get blur(): number;
         set blur(value: number);
+        /**
+         * @deprecated since v3.8.2, please use [[Label.enableShadow]] instead.
+         */
         onEnable(): void;
+        /**
+         * @deprecated since v3.8.2, please use [[Label.enableShadow]] instead.
+         */
         onDisable(): void;
-        protected _updateRenderData(): void;
     }
     /**
      * @en
      * Set the UI transparency component.
@@ -3223,8 +3197,68 @@
          */
         get underlineHeight(): number;
         set underlineHeight(value: number);
         /**
+         ** @en
+         ** Outline effect used to change the display, only for system fonts or TTF fonts.
+         **
+         ** @zh
+         ** 描边效果组件,用于字体描边,只能用于系统字体或 ttf 字体。
+         **/
+        get enableOutline(): boolean;
+        set enableOutline(value: boolean);
+        /**
+         * @en
+         * Outline color.
+         *
+         * @zh
+         * 改变描边的颜色。
+         */
+        get outlineColor(): math.Color;
+        set outlineColor(value: math.Color);
+        /**
+         * @en
+         * Change the outline width.
+         *
+         * @zh
+         * 改变描边的宽度。
+         */
+        get outlineWidth(): number;
+        set outlineWidth(value: number);
+        /**
+         * @en Shadow effect for Label component, only for system fonts or TTF fonts. Disabled when cache mode is char.
+         * @zh 用于给 Label 组件添加阴影效果,只能用于系统字体或 ttf 字体。在缓存模式为 char 时不可用。
+         */
+        get enableShadow(): boolean;
+        set enableShadow(value: boolean);
+        /**
+         * @en
+         * Shadow color.
+         *
+         * @zh
+         * 阴影的颜色。
+         */
+        get shadowColor(): math.Color;
+        set shadowColor(value: math.Color);
+        /**
+         * @en
+         * Offset between font and shadow.
+         *
+         * @zh
+         * 字体与阴影的偏移。
+         */
+        get shadowOffset(): math.Vec2;
+        set shadowOffset(value: math.Vec2);
+        /**
+         * @en
+         * A non-negative float specifying the level of shadow blur.
+         *
+         * @zh
+         * 阴影的模糊程度。
+         */
+        get shadowBlur(): number;
+        set shadowBlur(value: number);
+        /**
          * @deprecated since v3.7.0, this is an engine private interface that will be removed in the future.
          */
         get spriteFrame(): SpriteFrame | __private._cocos_2d_assembler_label_font_utils__LetterRenderTexture | null;
         /**
@@ -3260,8 +3294,15 @@
         protected _isBold: boolean;
         protected _isUnderline: boolean;
         protected _underlineHeight: number;
         protected _cacheMode: CacheMode;
+        protected _enableOutline: boolean;
+        protected _outlineColor: math.Color;
+        protected _outlineWidth: number;
+        protected _enableShadow: boolean;
+        protected _shadowColor: math.Color;
+        protected _shadowOffset: math.Vec2;
+        protected _shadowBlur: number;
         protected _N$file: Font | null;
         protected _texture: SpriteFrame | __private._cocos_2d_assembler_label_font_utils__LetterRenderTexture | null;
         protected _ttfSpriteFrame: SpriteFrame | null;
         protected _userDefinedFont: Font | null;
@@ -9700,11 +9741,15 @@
              * @en Get current depth stencil views.
              * @zh 深度模板纹理视图。
              */
             get depthStencilTexture(): Texture | null;
+            get width(): number;
+            get height(): number;
             protected _renderPass: RenderPass | null;
             protected _colorTextures: (Texture | null)[];
             protected _depthStencilTexture: Texture | null;
+            protected _width: number;
+            protected _height: number;
             constructor();
             abstract initialize(info: Readonly<FramebufferInfo>): void;
             abstract destroy(): void;
         }
@@ -11463,9 +11508,8 @@
                 protected _passes: Pass[] | null;
                 protected _shaders: gfx.Shader[] | null;
                 protected _subMesh: RenderingSubMesh | null;
                 protected _patches: IMacroPatch[] | null;
-                protected _globalPatches: MacroRecord | null;
                 protected _priority: pipeline.RenderPriority;
                 protected _inputAssembler: gfx.InputAssembler | null;
                 protected _descriptorSet: gfx.DescriptorSet | null;
                 protected _worldBoundDescriptorSet: gfx.DescriptorSet | null;
@@ -14160,9 +14204,10 @@
              * @en Get angle in radian between this and vector with direction.
              * @zh 获取当前向量和指定向量之间的有符号弧度。<br/>
              * 有符号弧度的取值范围为 (-PI, PI],当前向量可以通过逆时针旋转有符号角度与指定向量同向。<br/>
              * @param other specified vector
-             * @return The signed angle between the current vector and the specified vector (in radians); if there is a zero vector in the current vector and the specified vector, 0 is returned.
+             * @return The signed angle between the current vector and the specified vector (in radians);
+             * if there is a zero vector in the current vector and the specified vector, 0 is returned.
              */
             signAngle(other: Vec2): number;
             /**
              * @en Rotates the current vector by an angle in radian value. Counterclockwise is the positive direction.
@@ -26104,13 +26149,19 @@
          * @zh 节点 layer 改变时触发的事件。
          */
         LAYER_CHANGED = "layer-changed",
         /**
-         * @en The event type for node's sibling order changed.
-         * @zh 当节点在兄弟节点中的顺序发生变化时触发的事件。
+         * @en This event indicates that the order of child nodes has been changed.
+         * @zh 该事件表示子节点的排序发生了改变。
+         * @deprecated since v3.8.2 @en Please use `CHILDREN_ORDER_CHANGED`. @zh 请使用 `CHILDREN_ORDER_CHANGED`。
          */
         SIBLING_ORDER_CHANGED = "sibling-order-changed",
         /**
+         * @en This event indicates that the order of child nodes has been changed.
+         * @zh 该事件表示子节点的排序发生了改变。
+         */
+        CHILDREN_ORDER_CHANGED = "sibling-order-changed",
+        /**
          * @en
          * Note: This event is only emitted from the top most node whose active value did changed,
          * not including its child nodes.
          * @zh
@@ -32391,9 +32442,9 @@
         /**
          * @en The event type for node's sibling order changed.
          * @zh 当节点在兄弟节点中的顺序发生变化时触发的事件。
          *
-         * @deprecated since v3.3, please use Node.EventType.SIBLING_ORDER_CHANGED instead
+         * @deprecated since v3.3, please use Node.EventType.CHILDREN_ORDER_CHANGED instead
          */
         SIBLING_ORDER_CHANGED = "sibling-order-changed"
     }
     /**
@@ -33747,8 +33798,13 @@
          * @param x - x position
          * @param y - y position
          */
         setPrevPoint(x: number, y: number): void;
+        /**
+         * @zh Touch 对象的原始数据不应该被修改。如果你需要这么做,最好克隆一个新的对象。
+         * @en The original Touch object shouldn't be modified. If you need to, it's better to clone a new one.
+         */
+        clone(): Touch;
     }
     /**
      * @en
      * The singleton of the Input class, this singleton manages all events of input. include: touch, mouse, accelerometer, gamepad, handle, hmd and keyboard.
@@ -33819,8 +33875,29 @@
          */
         off<K extends keyof __private._cocos_input_input__InputEventMap>(eventType: K, callback?: __private._cocos_input_input__InputEventMap[K], target?: any): void;
         /**
          * @en
+         * Get touch object by touch ID.
+         * @zh
+         * 通过 touch ID 获取 touch对象。
+         */
+        getTouch(touchID: number): Readonly<Touch> | undefined;
+        /**
+         * @en
+         * Get all the current touches objects as array.
+         * @zh
+         * 获取当前 所有touch对象 的数组。
+         */
+        getAllTouches(): Touch[];
+        /**
+         * @en
+         * Get the number of touches.
+         * @zh
+         * 获取当前 touch 对象的数量。
+         */
+        getTouchCount(): number;
+        /**
+         * @en
          * Sets whether to enable the accelerometer event listener or not.
          *
          * @zh
          * 是否启用加速度计事件。
@@ -67255,9 +67332,10 @@
              * @en Get angle in radian between this and vector with direction.
              * @zh 获取当前向量和指定向量之间的有符号弧度。<br/>
              * 有符号弧度的取值范围为 (-PI, PI],当前向量可以通过逆时针旋转有符号角度与指定向量同向。<br/>
              * @param other specified vector
-             * @return The signed angle between the current vector and the specified vector (in radians); if there is a zero vector in the current vector and the specified vector, 0 is returned.
+             * @return The signed angle between the current vector and the specified vector (in radians);
+             * if there is a zero vector in the current vector and the specified vector, 0 is returned.
              */
             public signAngle(other: ____cocos_core_math_vec2__Vec2): number;
             /**
              * @en Rotates the current vector by an angle in radian value. Counterclockwise is the positive direction.

@minggo minggo requested a review from hana-alice September 21, 2023 09:18
Copy link
Contributor

@hana-alice hana-alice left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

indirect draw on wgpu will be added later.

package.json Outdated Show resolved Hide resolved
@minggo minggo force-pushed the develop-merge-v3.8.2 branch from 6f33704 to 9c8bf6d Compare September 21, 2023 10:58
@minggo minggo merged commit 00a7b09 into cocos:develop Sep 22, 2023
22 of 23 checks passed
@minggo minggo deleted the develop-merge-v3.8.2 branch September 22, 2023 01:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.