Scirra / Construct-bugs

Public bug report submissions for Construct 3 and Construct Animate. Please read the guidelines then click the 'Issues' tab to get started.
https://www.construct.net
107 stars 83 forks source link

timeline paste duplicate instances #7385

Closed XHXIAIEIN closed 8 months ago

XHXIAIEIN commented 1 year ago

Problem description

If copy multiple Timelines with different but the same instance, a separate instance will be created for each Timeline when pasted.

Snipaste_2023-09-12_00-56-17

Thinking about this logically, it definitely works as expected, as it ensures that Timeline will work when pasted into a new project, without the lack of examples preventing it from running. But from a user experience perspective, this is unreasonable. because it doesn't take this use case into account. This will add a lot of unnecessary work.

This may be a vague issue. If necessary can close it and then submit suggestions for it.

Attach a .c3p

issue-timeline-parse-A.c3p.zip

Steps to reproduce

  1. Copy Timelines from Template
  2. Paste into new project
  3. observed the instances

Observed result

A02

Expected result

It can be smarter to tell if it's the same Object Types. Or add an option to ask if want to create it as a separate instance. Snipaste_2023-09-12_01-03-07

More details

If looking at a light project, this may not matter. But once there is a more complex animation, the number of repeated instances will increase the work several times. For example, this Template if copy 4 timelines here, will appear 4 groups of mechas.

Snipaste_2023-09-12_02-35-55

Affected browsers/platforms:

First affected release:

System details

View details Platform information Product: Construct 3 r357.2 (beta) Browser: Chrome 116.0.5845.180 Browser engine: Chromium Context: browser Operating system: Windows 11 Device type: desktop Device pixel ratio: 1 Logical CPU cores: 16 Approx. device memory: 8 GB User agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36 Language setting: en-US Local storage Storage quota (approx): 120 gb Storage usage (approx): 368 mb (0.3%) Persistant storage: No Browser support notes This list contains missing features that are not required, but could improve performance or user experience if supported. Nothing is missing. Everything is OK! WebGL information Version string: WebGL 2.0 (OpenGL ES 3.0 Chromium) Numeric version: 2 Supports NPOT textures: yes Supports GPU profiling: no Supports highp precision: yes Vendor: Google Inc. (Intel) Renderer: ANGLE (Intel, Intel(R) UHD Graphics Direct3D11 vs_5_0 ps_5_0, D3D11) Major performance caveat: no Maximum texture size: 16384 Point size range: 1 to 1024 Extensions: EXT_color_buffer_float EXT_color_buffer_half_float EXT_disjoint_timer_query_webgl2 EXT_float_blend EXT_texture_compression_bptc EXT_texture_compression_rgtc EXT_texture_filter_anisotropic EXT_texture_norm16 KHR_parallel_shader_compile OES_draw_buffers_indexed OES_texture_float_linear OVR_multiview2 WEBGL_compressed_texture_s3tc WEBGL_compressed_texture_s3tc_srgb WEBGL_debug_renderer_info WEBGL_debug_shaders WEBGL_lose_context WEBGL_multi_draw WEBGL_provoking_vertex Audio information System sample rate: 48000 Hz Output channels: 2 Output interpretation: speakers Supported decode formats: WebM Opus (audio/webm; codecs=opus) Ogg Opus (audio/ogg; codecs=opus) WebM Vorbis (audio/webm; codecs=vorbis) Ogg Vorbis (audio/ogg; codecs=vorbis) MPEG-4 AAC (audio/mp4; codecs=mp4a.40.5) MP3 (audio/mpeg) FLAC (audio/flac) PCM WAV (audio/wav; codecs=1) Supported encode formats: WebM Opus (audio/webm; codecs=opus) Video information Supported decode formats: WebM AV1 (video/webm; codecs=av01.0.00M.08) MP4 AV1 (video/mp4; codecs=av01.0.00M.08) WebM VP9 (video/webm; codecs=vp9) WebM VP8 (video/webm; codecs=vp8) Ogg Theora (video/ogg; codecs=theora) H.265 (video/mp4; codecs=hev1.1.2.L93.B0) H.264 (video/mp4; codecs=avc1.42E01E) Supported encode formats: WebM AV1 (video/webm; codecs=av1) WebM VP9 (video/webm; codecs=vp9) WebM VP8 (video/webm; codecs=vp8)
DiegoScirra commented 8 months ago

This will be fixed for the next beta.

@XHXIAIEIN

Mind that this will only work as expected if all the timelines are copied at the same time.

With the example above, If you copy all four timelines at the same time and then paste them, you will get what you are expecting.

If you try to copy and paste them one at a time, though, the result will be the same as it is now. There is no good way to determine an existing instance in a different project is the right one for a timeline pasted from a different project.

Asides from that I noticed that hierarchies where not preserved when pasting timelines, so that was fixed as well.