VSE: Text editing in preview #127239

Open
Richard Antalik wants to merge 103 commits from iss/blender:text-edit-2 into main

When changing the target branch, be careful to rebase the branch in your fork to match. See documentation.

This commit implements most features needed for simple text editing.

Active text strip can be edited in preview by pressing tab key, which
enabled text editing mode. With this mode active, outline matches text
boundary box and cursor is drawn.

Cursor can be moved with usual keys. Pressing shift starts selection.
Selection and navigation works when text is scaled or rotated. Mirrored
text is not supported in this PR. it can be done, but the text is
unreadable that way, so I kept it simple.

Multi line text is supported. Pressing return key starts new line.

Copy/paste operator uses OS copy paste buffer, so text from other apps
can be pasted.

Text is still limited to 512 characters. Text string property still
exists in side panel and is limited to single line. Individual
characters can not be styled in different way like in 3D viewport, but
the code is mostly ready for such feature.

This commit implements most features needed for simple text editing. Active text strip can be edited in preview by pressing tab key, which enabled text editing mode. With this mode active, outline matches text boundary box and cursor is drawn. Cursor can be moved with usual keys. Pressing shift starts selection. Selection and navigation works when text is scaled or rotated. Mirrored text is not supported in this PR. it can be done, but the text is unreadable that way, so I kept it simple. Multi line text is supported. Pressing return key starts new line. Copy/paste operator uses OS copy paste buffer, so text from other apps can be pasted. Text is still limited to 512 characters. Text string property still exists in side panel and is limited to single line. Individual characters can not be styled in different way like in 3D viewport, but the code is mostly ready for such feature.
Richard Antalik added 32 commits 2024-09-06 13:01:18 +02:00
This PR changes how effect strip draws text. It builds cache, where
position and width of each character is stored. This is necessary for
efficient implementation of text editing in preview

In addition, position and width of each line is stored. This allows to
implement proper text alignment feature, instead of existing anchoring.

This cache is implemented on VSE side, and takes over 2 aspects of text
rendering:
 - Positioning of individual characters (no changes compared to main)
 - Word wrapping (currently buggy)
This approach seems to be used in 3D viewport as well.

TODO:
Anchoring feature may be part of this PR, but can be also committed
separately
Rename Anchor to Alignment
Some checks failed
buildbot/vexp-code-patch-lint Build done.
buildbot/vexp-code-patch-darwin-x86_64 Build done.
buildbot/vexp-code-patch-darwin-arm64 Build done.
buildbot/vexp-code-patch-linux-x86_64 Build done.
buildbot/vexp-code-patch-windows-amd64 Build done.
buildbot/vexp-code-patch-coordinator Build done.
95723e991e
Merge branch 'main' into text-edit
Some checks failed
buildbot/vexp-code-patch-lint Build done.
buildbot/vexp-code-patch-darwin-x86_64 Build done.
buildbot/vexp-code-patch-darwin-arm64 Build done.
buildbot/vexp-code-patch-linux-x86_64 Build done.
buildbot/vexp-code-patch-windows-amd64 Build done.
buildbot/vexp-code-patch-coordinator Build done.
941a4788cb
Make text quad conform to boundbox
Some checks failed
buildbot/vexp-code-patch-lint Build done.
buildbot/vexp-code-patch-darwin-arm64 Build done.
buildbot/vexp-code-patch-darwin-x86_64 Build done.
buildbot/vexp-code-patch-linux-x86_64 Build done.
buildbot/vexp-code-patch-windows-amd64 Build done.
buildbot/vexp-code-patch-coordinator Build done.
d3c0a8fa8c
Author
Member

@blender-bot package

@blender-bot package
Member

Package build started. Download here when ready.

Package build started. [Download here](https://builder.blender.org/download/patch/PR127239) when ready.
Richard Antalik added 6 commits 2024-09-06 15:36:47 +02:00
Remove unintended file
Some checks failed
buildbot/vexp-code-patch-lint Build done.
buildbot/vexp-code-patch-darwin-arm64 Build done.
buildbot/vexp-code-patch-darwin-x86_64 Build done.
buildbot/vexp-code-patch-linux-x86_64 Build done.
buildbot/vexp-code-patch-windows-amd64 Build done.
buildbot/vexp-code-patch-coordinator Build done.
8739a8d5d5
Fix broken line wrapping - it should be wrapping before text overflows, not after the fact. Also removed ignoring of spaces, since it seems to be not great for text editing PR.
Some checks failed
buildbot/vexp-code-patch-lint Build done.
buildbot/vexp-code-patch-darwin-arm64 Build done.
buildbot/vexp-code-patch-darwin-x86_64 Build done.
buildbot/vexp-code-patch-linux-x86_64 Build done.
buildbot/vexp-code-patch-windows-amd64 Build done.
buildbot/vexp-code-patch-coordinator Build done.
100e9a6189
Richard Antalik added 1 commit 2024-09-06 18:31:43 +02:00
Richard Antalik added 3 commits 2024-09-18 06:49:51 +02:00
Richard Antalik added 1 commit 2024-09-18 08:06:46 +02:00
Richard Antalik added 3 commits 2024-09-18 08:27:09 +02:00
Implement deselect all operator
Some checks failed
buildbot/vexp-code-patch-darwin-arm64 Build done.
buildbot/vexp-code-patch-darwin-x86_64 Build done.
buildbot/vexp-code-patch-lint Build done.
buildbot/vexp-code-patch-linux-x86_64 Build done.
buildbot/vexp-code-patch-windows-amd64 Build done.
buildbot/vexp-code-patch-coordinator Build done.
a6c3c2b7cb
Author
Member

@blender-bot package

@blender-bot package
Member

Package build started. Download here when ready.

Package build started. [Download here](https://builder.blender.org/download/patch/PR127239) when ready.
Richard Antalik added 3 commits 2024-09-19 08:18:45 +02:00
Richard Antalik added 2 commits 2024-09-19 11:38:47 +02:00
Make cursor blue
Some checks failed
buildbot/vexp-code-patch-darwin-arm64 Build done.
buildbot/vexp-code-patch-darwin-x86_64 Build done.
buildbot/vexp-code-patch-lint Build done.
buildbot/vexp-code-patch-linux-x86_64 Build done.
buildbot/vexp-code-patch-windows-amd64 Build done.
buildbot/vexp-code-patch-coordinator Build done.
d38de3b76d
Author
Member

@blender-bot package

@blender-bot package
Member

Package build started. Download here when ready.

Package build started. [Download here](https://builder.blender.org/download/patch/PR127239) when ready.
Richard Antalik added 1 commit 2024-09-21 18:13:20 +02:00
Richard Antalik added 2 commits 2024-09-23 09:47:01 +02:00
Richard Antalik added 1 commit 2024-09-23 13:43:40 +02:00
Richard Antalik added 4 commits 2024-09-24 11:20:56 +02:00
Make default box less jumpy when changing font size.
Some checks failed
buildbot/vexp-code-patch-lint Build done.
buildbot/vexp-code-patch-darwin-arm64 Build done.
buildbot/vexp-code-patch-darwin-x86_64 Build done.
buildbot/vexp-code-patch-linux-x86_64 Build done.
buildbot/vexp-code-patch-windows-amd64 Build done.
buildbot/vexp-code-patch-coordinator Build done.
61e2d86e2a
Author
Member

@blender-bot package

@blender-bot package
Member

Package build started. Download here when ready.

Package build started. [Download here](https://builder.blender.org/download/patch/PR127239) when ready.
Richard Antalik added 28 commits 2024-10-05 11:06:28 +02:00
Merge branch 'main' into text-edit
Some checks failed
buildbot/vexp-code-patch-lint Build done.
buildbot/vexp-code-patch-darwin-arm64 Build done.
buildbot/vexp-code-patch-darwin-x86_64 Build done.
buildbot/vexp-code-patch-linux-x86_64 Build done.
buildbot/vexp-code-patch-windows-amd64 Build done.
buildbot/vexp-code-patch-coordinator Build done.
9c909084b4
Fix boundbox 1px offset
All checks were successful
buildbot/vexp-code-patch-lint Build done.
buildbot/vexp-code-patch-linux-x86_64 Build done.
buildbot/vexp-code-patch-darwin-x86_64 Build done.
buildbot/vexp-code-patch-darwin-arm64 Build done.
buildbot/vexp-code-patch-windows-amd64 Build done.
buildbot/vexp-code-patch-coordinator Build done.
2cfef9ad68
Improve text alignment tooltip
All checks were successful
buildbot/vexp-code-patch-lint Build done.
buildbot/vexp-code-patch-darwin-arm64 Build done.
buildbot/vexp-code-patch-darwin-x86_64 Build done.
buildbot/vexp-code-patch-linux-x86_64 Build done.
buildbot/vexp-code-patch-windows-amd64 Build done.
buildbot/vexp-code-patch-coordinator Build done.
33c48215f6
Richard Antalik added 2 commits 2024-10-14 06:15:20 +02:00
Richard Antalik added 2 commits 2024-10-15 10:21:08 +02:00
Richard Antalik added 2 commits 2024-10-17 08:07:00 +02:00
Richard Antalik added 3 commits 2024-10-17 11:08:39 +02:00
Fix conflicting keymaps overriding text edit
Some checks failed
buildbot/vexp-code-patch-lint Build done.
buildbot/vexp-code-patch-darwin-x86_64 Build done.
buildbot/vexp-code-patch-darwin-arm64 Build done.
buildbot/vexp-code-patch-windows-amd64 Build done.
buildbot/vexp-code-patch-linux-x86_64 Build done.
buildbot/vexp-code-patch-coordinator Build done.
9004d3275a
Author
Member

@blender-bot package

@blender-bot package
Member

Package build started. Download here when ready.

Package build started. [Download here](https://builder.blender.org/download/patch/PR127239) when ready.
Author
Member

@fsiddi the text editing PR is pretty much complete, but I want to check with you on text background color behavior vs text boundbox. Currently background color does check height of each character and fills least amount of space. So it would change it's height as you type. This could be fine for background, but I don't think, that boundbox should do this. As a result, boundbox with background color could look quite buggy. Here are some images of what I mean:

Here is what text "......." looks like:
Screenshot_2024-10-29_19-48-49.png

Here is the other extreme, with diacritics and descender:
Screenshot_2024-10-29_19-50-05.png

But there could be text like this, which is not filled completely to the top or bottom, which looks not very nice.
Screenshot_2024-10-29_19-49-17.png

I would propose to make background color height to be as large as largest character of the font is. When you change padding of the background, the boundbox can be resized as well, but does not need to. Do you have an opinion on this?

@fsiddi the text editing PR is pretty much complete, but I want to check with you on text background color behavior vs text boundbox. Currently background color does check height of each character and fills least amount of space. So it would change it's height as you type. This could be fine for background, but I don't think, that boundbox should do this. As a result, boundbox with background color could look quite buggy. Here are some images of what I mean: Here is what text "......." looks like: ![Screenshot_2024-10-29_19-48-49.png](/attachments/f76fd8b7-2ff0-4c86-9f64-60353e3bc30b) Here is the other extreme, with diacritics and descender: ![Screenshot_2024-10-29_19-50-05.png](/attachments/35a0b18c-be64-4746-99b6-5f7464428487) But there could be text like this, which is not filled completely to the top or bottom, which looks not very nice. ![Screenshot_2024-10-29_19-49-17.png](/attachments/326a065b-b13b-44cb-83d6-d5ae4f0b410e) I would propose to make background color height to be as large as largest character of the font is. When you change padding of the background, the boundbox can be resized as well, but does not need to. Do you have an opinion on this?
First-time contributor

Super cool to be able to edit text in the preview!

A couple of things I've noticed:

  • Pasting text from clipboard only inserts the text to the first line-break. The expected behavior would be to respect the line-breaks and paste the full text.
  • The cursor can be hidden behind the text box outline, so either it should be drawn on top or the outline style could be ex. dashed.
  • The Text Box is cut at the screen resolution:
    Properly to be expected.
  • The string length is limited to 512 characters, it should be much longer, or of a dynamic length (to preserve memory). It should be able to display, ex. a full text-block.
  • The cursor is drawn outside the screen, but the text is not. Could the text be drawn outside too?
  • Is there a rounding issue on the size of the cursor?
  • I guess, it could be made more assessable, with TAB key mentioned no where, it is a bit of a magic key. Ex. double-click on the strip in the preview could enter text edit mode. ESC for exit is already implemented.
  • It could also be a tool in the Toolbar? Select the Tool, wait for input, insert text at cursor position (and text strip in sequencer), or if click is at a text strip, then select the strip and enter text edit mode. And have the Text properties mirrored in the Tool > Sidebar (the sequencer properties are too far away from the preview unless Sequencer & Preview mode is used). If switch to other tool: leave text edit mode (now you can transform while in text edit mode).
  • Ctrl+X doesn't delete the highlighted text.
  • Paste text moves the cursor to the end of the full text, and not the end of the pasted text.
Super cool to be able to edit text in the preview! A couple of things I've noticed: - Pasting text from clipboard only inserts the text to the first line-break. The expected behavior would be to respect the line-breaks and paste the full text. - The cursor can be hidden behind the text box outline, so either it should be drawn on top or the outline style could be ex. dashed. - The Text Box is cut at the screen resolution: <video src="/attachments/feee148e-2ee2-47f1-890e-37278f3904f6" title="cut_text_box.mp4" controls></video> Properly to be expected. - The string length is limited to 512 characters, it should be much longer, or of a dynamic length (to preserve memory). It should be able to display, ex. a full text-block. - The cursor is drawn outside the screen, but the text is not. Could the text be drawn outside too? <video src="/attachments/e28d3d8b-bc0d-48f3-99fc-39091f5fce3f" title="cursor in the dark.mp4" controls></video> - Is there a rounding issue on the size of the cursor? <video src="/attachments/9250824c-b3a1-4b00-8ef2-dacff4477aca" title="cursor_size.mp4" controls></video> - I guess, it could be made more assessable, with TAB key mentioned no where, it is a bit of a magic key. Ex. double-click on the strip in the preview could enter text edit mode. ESC for exit is already implemented. - It could also be a tool in the Toolbar? Select the Tool, wait for input, insert text at cursor position (and text strip in sequencer), or if click is at a text strip, then select the strip and enter text edit mode. And have the Text properties mirrored in the Tool > Sidebar (the sequencer properties are too far away from the preview unless Sequencer & Preview mode is used). If switch to other tool: leave text edit mode (now you can transform while in text edit mode). - Ctrl+X doesn't delete the highlighted text. - Paste text moves the cursor to the end of the full text, and not the end of the pasted text.
Author
Member

Super cool to be able to edit text in the preview!

A couple of things I've noticed:

  • Pasting text from clipboard only inserts the text to the first line-break. The expected behavior would be to respect the line-breaks and paste the full text.

Can not reproduce this. Do you mean that copy pasting block below would paste only This text?

This text
is multiline
  • The cursor can be hidden behind the text box outline, so either it should be drawn on top or the outline style could be ex. dashed.

Not sure about that. The box can be padded IMO, but I need to decide what the shape of the box should be in the first place before I start tweaking these little issues.

  • The Text Box is cut at the screen resolution:
    Properly to be expected.

Yes, that is expected.

  • The string length is limited to 512 characters, it should be much longer, or of a dynamic length (to preserve memory). It should be able to display, ex. a full text-block.

I don't want to change that in this PR

  • The cursor is drawn outside the screen, but the text is not. Could the text be drawn outside too?

Technically yes, practically did not try that. It should be possible to feed runtime data into BLF draw function that would render to texture. than You could cut off the texture to avoid artifacts. Not sure how would I go about rotating/scaling stuff in that texture though. Also would probably rather do this in separate PR.

  • Is there a rounding issue on the size of the cursor?

Possibly, will have to check.

  • I guess, it could be made more assessable, with TAB key mentioned no where, it is a bit of a magic key. Ex. double-click on the strip in the preview could enter text edit mode. ESC for exit is already implemented.

Yeah, it is. So I should add this to TODO to add menu item. We don't do doubleclicks in Blender. Already tried it with retiming heh.

  • It could also be a tool in the Toolbar? Select the Tool, wait for input, insert text at cursor position (and text strip in sequencer), or if click is at a text strip, then select the strip and enter text edit mode. And have the Text properties mirrored in the Tool > Sidebar (the sequencer properties are too far away from the preview unless Sequencer & Preview mode is used). If switch to other tool: leave text edit mode (now you can transform while in text edit mode).

Eeh I could see having a tool for adding text strip from preview. IMO drawing box to set bounds would be ideal.
Alternatively it would add text with some pre-defined string and that could be modally translated to final position.

  • Ctrl+X doesn't delete the highlighted text.
  • Paste text moves the cursor to the end of the full text, and not the end of the pasted text.

That is a bug. Will fix.

> Super cool to be able to edit text in the preview! > > A couple of things I've noticed: > - Pasting text from clipboard only inserts the text to the first line-break. The expected behavior would be to respect the line-breaks and paste the full text. Can not reproduce this. Do you mean that copy pasting block below would paste only `This text`? ``` This text is multiline ``` > - The cursor can be hidden behind the text box outline, so either it should be drawn on top or the outline style could be ex. dashed. Not sure about that. The box can be padded IMO, but I need to decide what the shape of the box should be in the first place before I start tweaking these little issues. > - The Text Box is cut at the screen resolution: > Properly to be expected. Yes, that is expected. > - The string length is limited to 512 characters, it should be much longer, or of a dynamic length (to preserve memory). It should be able to display, ex. a full text-block. I don't want to change that in this PR > - The cursor is drawn outside the screen, but the text is not. Could the text be drawn outside too? Technically yes, practically did not try that. It should be possible to feed runtime data into BLF draw function that would render to texture. than You could cut off the texture to avoid artifacts. Not sure how would I go about rotating/scaling stuff in that texture though. Also would probably rather do this in separate PR. > - Is there a rounding issue on the size of the cursor? > <video src="/attachments/9250824c-b3a1-4b00-8ef2-dacff4477aca" title="cursor_size.mp4" controls></video> Possibly, will have to check. > - I guess, it could be made more assessable, with TAB key mentioned no where, it is a bit of a magic key. Ex. double-click on the strip in the preview could enter text edit mode. ESC for exit is already implemented. Yeah, it is. So I should add this to TODO to add menu item. We don't do doubleclicks in Blender. Already tried it with retiming heh. > - It could also be a tool in the Toolbar? Select the Tool, wait for input, insert text at cursor position (and text strip in sequencer), or if click is at a text strip, then select the strip and enter text edit mode. And have the Text properties mirrored in the Tool > Sidebar (the sequencer properties are too far away from the preview unless Sequencer & Preview mode is used). If switch to other tool: leave text edit mode (now you can transform while in text edit mode). Eeh I could see having a tool for adding text strip from preview. IMO drawing box to set bounds would be ideal. Alternatively it would add text with some pre-defined string and that could be modally translated to final position. > - Ctrl+X doesn't delete the highlighted text. > - Paste text moves the cursor to the end of the full text, and not the end of the pasted text. That is a bug. Will fix.
First-time contributor

We don't do doubleclicks in Blender.

actually we do.
e.g. double click the text in the outliner to rename
also on lists etc

> We don't do doubleclicks in Blender. actually we do. e.g. double click the text in the outliner to rename also on lists etc
First-time contributor

Can not reproduce this. Do you mean that copy pasting block below would paste only This text?

This text
is multiline

Yes, I don't have the text and build at hand now. I asked ChatGPT for some ex. multi-line movie credits, and only the first line was pasted into the preview, hence the report. If \n works, then are both \n and \r dealt with?

Since the tool position transforming (G), moves the cropped text (which is mainly useful for short texts), maybe Text Location (X, Y) values could be very handy to change by mouse-clicking in the Preview, ex. with some Ctrl+LM functionality?

We don't do doubleclicks in Blender.

actually we do.
e.g. double click the text in the outliner to rename
also on lists etc

Double-clicking text to edit it would be in consistency with Blender methodology.

> Can not reproduce this. Do you mean that copy pasting block below would paste only `This text`? > > ``` > This text > is multiline > ``` Yes, I don't have the text and build at hand now. I asked ChatGPT for some ex. multi-line movie credits, and only the first line was pasted into the preview, hence the report. If \n works, then are both \n and \r dealt with? Since the tool position transforming (G), moves the cropped text (which is mainly useful for short texts), maybe Text Location (X, Y) values could be very handy to change by mouse-clicking in the Preview, ex. with some Ctrl+LM functionality? > > We don't do doubleclicks in Blender. > > > actually we do. > e.g. double click the text in the outliner to rename > also on lists etc Double-clicking text to edit it would be in consistency with Blender methodology.

Hi Richard, as discussed in person, the box should always have maximum height (to reduce jittering, and to match behavior of most text editing software). If you could implement it that way, the patch is good to go.

Hi Richard, as discussed in person, the box should always have maximum height (to reduce jittering, and to match behavior of most text editing software). If you could implement it that way, the patch is good to go.
Richard Antalik added 4 commits 2024-11-13 17:11:20 +01:00
Richard Antalik added 2 commits 2024-11-13 18:02:40 +01:00
Use text box width, when there is no text
Some checks failed
buildbot/vexp-code-patch-lint Build done.
buildbot/vexp-code-patch-darwin-arm64 Build done.
buildbot/vexp-code-patch-darwin-x86_64 Build done.
buildbot/vexp-code-patch-linux-x86_64 Build done.
buildbot/vexp-code-patch-windows-amd64 Build done.
buildbot/vexp-code-patch-coordinator Build done.
0981fbec64
Author
Member

@blender-bot package

@blender-bot package
Richard Antalik changed title from WIP: VSE: Text editing in preview to VSE: Text editing in preview 2024-11-13 18:03:21 +01:00
Member

Package build started. Download here when ready.

Package build started. [Download here](https://builder.blender.org/download/patch/PR127239) when ready.
Richard Antalik requested review from Francesco Siddi 2024-11-13 18:03:38 +01:00
Richard Antalik requested review from Sergey Sharybin 2024-11-13 18:03:39 +01:00
Richard Antalik added 1 commit 2024-11-13 20:32:04 +01:00
First-time contributor

Maybe the zoom level should be taken into account for the cursor size?

The Text Editor for reference:
TE_cursor_size_when_zoom.png

Maybe the Anchor point should be exposed in the preview? Instead of being some invisible, some "magic-point"?

Since the convention is that the strip gets a white outline when selected, and the frame of the image determines, if the text is inside and visible and what is outside and invisible, maybe the white selection outline should still be an outline of the visible area of the strip, and not just around the text(in text edit mode), so some other type of outline should make the text-box visible? Or in other words, IMHO, the white outline should always be for the selected strip frame, and ex. a dashed (or some other style) outline is always the text-box outline.

Nice with a Text menu. Delete Character: Backspace and Line-Break: Return, are maybe overkill to expose? Esc to unselect text, is not a function of the Text Editor? The word "Text" is redundant inside the Text menu. Ex. Edit Text, Cut Text, Copy Text, Paste Text,
image

It is surprising that the Wrap Width isn't relative to the strip width, so 1 is equal to 100 % strip width. And the value doesn't change when the box gets wider, when the lines get longer? And it is even more surprising that it is possible to enter a value of 0 and that gives full width? Maybe a checkbox for switching Wrap Width on/off would be more in consistency with Blender functions in general?

When animating the Location, the outline doesn't seem to take that into account, when moving the playhead?

Maybe the zoom level should be taken into account for the cursor size? <video src="/attachments/84474868-b529-4a6f-a366-1bea9ddb06ec" title="Skærmoptagelse 2024-11-13 210204.mp4" controls></video> The Text Editor for reference: ![TE_cursor_size_when_zoom.png](/attachments/49aaedc8-021c-4a02-9bf8-a828799b6a4d) Maybe the Anchor point should be exposed in the preview? Instead of being some invisible, some "magic-point"? <video src="/attachments/35fd1328-37e8-418d-827d-895ad9906885" title="Anchor_point.mp4" controls></video> Since the convention is that the strip gets a white outline when selected, and the frame of the image determines, if the text is inside and visible and what is outside and invisible, maybe the white selection outline should still be an outline of the visible area of the strip, and not just around the text(in text edit mode), so some other type of outline should make the text-box visible? Or in other words, IMHO, the white outline should always be for the selected strip frame, and ex. a dashed (or some other style) outline is always the text-box outline. <video src="/attachments/f7cca69c-4103-424c-af66-d56ba6526ea4" title="Strip_select.mp4" controls></video> Nice with a Text menu. Delete Character: Backspace and Line-Break: Return, are maybe overkill to expose? Esc to unselect text, is not a function of the Text Editor? The word "Text" is redundant inside the Text menu. Ex. Edit Text, Cut Text, Copy Text, Paste Text, <img width="254" alt="image" src="attachments/ba9a0e4c-e674-4bb0-a3e1-d9c263588c85"> It is surprising that the Wrap Width isn't relative to the strip width, so 1 is equal to 100 % strip width. And the value doesn't change when the box gets wider, when the lines get longer? And it is even more surprising that it is possible to enter a value of 0 and that gives full width? Maybe a checkbox for switching Wrap Width on/off would be more in consistency with Blender functions in general? <video src="/attachments/07b814d4-e9d8-4c5c-82a1-0d57d2ac9f15" title="wrap_width.mp4" controls></video> When animating the Location, the outline doesn't seem to take that into account, when moving the playhead? <video src="/attachments/3d774382-7f43-4db7-9161-5754a71103a7" title="Outline_vs_Ani_LocX_frame_change.mp4" controls></video>
Author
Member

Maybe the zoom level should be taken into account for the cursor size?

I can do that, I was looking more at 3D viewport, where cursor scales. It's matter of preference really.

Maybe the Anchor point should be exposed in the preview? Instead of being some invisible, some "magic-point"?

I want to remove the anchor as well as text position since we have same things in transform properties.

Since the convention is that the strip gets a white outline when selected, and the frame of the image determines, if the text is inside and visible and what is outside and invisible, maybe the white selection outline should still be an outline of the visible area of the strip, and not just around the text(in text edit mode), so some other type of outline should make the text-box visible? Or in other words, IMHO, the white outline should always be for the selected strip frame, and ex. a dashed (or some other style) outline is always the text-box outline.

Yes, I would like to work on this separately, possibly in same PR where I deal with text position and anchor. While having these propeties duplicated, it just complicates things. As far as color goes, I don't want to change it.

Nice with a Text menu. Delete Character: Backspace and Line-Break: Return, are maybe overkill to expose? Esc to unselect text, is not a function of the Text Editor? The word "Text" is redundant inside the Text menu. Ex. Edit Text, Cut Text, Copy Text, Paste Text,

Sure, I can make this bit nicer. I just got bunch of stuff that I thought is useful and put it in menu.

It is surprising that the Wrap Width isn't relative to the strip width, so 1 is equal to 100 % strip width. And the value doesn't change when the box gets wider, when the lines get longer? And it is even more surprising that it is possible to enter a value of 0 and that gives full width? Maybe a checkbox for switching Wrap Width on/off would be more in consistency with Blender functions in general?

There are no changes to text wrapping so far and it works as expected. What I would like to do is add gizmo for wrapping, so text box could be resized by mouse.

When animating the Location, the outline doesn't seem to take that into account, when moving the playhead?

That is weird, will have to check.

> Maybe the zoom level should be taken into account for the cursor size? I can do that, I was looking more at 3D viewport, where cursor scales. It's matter of preference really. > Maybe the Anchor point should be exposed in the preview? Instead of being some invisible, some "magic-point"? I want to remove the anchor as well as text position since we have same things in transform properties. > Since the convention is that the strip gets a white outline when selected, and the frame of the image determines, if the text is inside and visible and what is outside and invisible, maybe the white selection outline should still be an outline of the visible area of the strip, and not just around the text(in text edit mode), so some other type of outline should make the text-box visible? Or in other words, IMHO, the white outline should always be for the selected strip frame, and ex. a dashed (or some other style) outline is always the text-box outline. Yes, I would like to work on this separately, possibly in same PR where I deal with text position and anchor. While having these propeties duplicated, it just complicates things. As far as color goes, I don't want to change it. > Nice with a Text menu. Delete Character: Backspace and Line-Break: Return, are maybe overkill to expose? Esc to unselect text, is not a function of the Text Editor? The word "Text" is redundant inside the Text menu. Ex. Edit Text, Cut Text, Copy Text, Paste Text, Sure, I can make this bit nicer. I just got bunch of stuff that I thought is useful and put it in menu. > It is surprising that the Wrap Width isn't relative to the strip width, so 1 is equal to 100 % strip width. And the value doesn't change when the box gets wider, when the lines get longer? And it is even more surprising that it is possible to enter a value of 0 and that gives full width? Maybe a checkbox for switching Wrap Width on/off would be more in consistency with Blender functions in general? There are no changes to text wrapping so far and it works as expected. What I would like to do is add gizmo for wrapping, so text box could be resized by mouse. > When animating the Location, the outline doesn't seem to take that into account, when moving the playhead? That is weird, will have to check.
This pull request has changes conflicting with the target branch.
  • source/blender/blenloader/intern/versioning_400.cc
  • source/blender/makesdna/DNA_sequence_types.h
  • source/blender/sequencer/intern/effects.cc

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u text-edit-2:iss-text-edit-2
git checkout iss-text-edit-2
Sign in to join this conversation.
No Label
Interest
Alembic
Interest
Animation & Rigging
Interest
Asset System
Interest
Audio
Interest
Automated Testing
Interest
Blender Asset Bundle
Interest
BlendFile
Interest
Code Documentation
Interest
Collada
Interest
Compatibility
Interest
Compositing
Interest
Core
Interest
Cycles
Interest
Dependency Graph
Interest
Development Management
Interest
EEVEE
Interest
Freestyle
Interest
Geometry Nodes
Interest
Grease Pencil
Interest
ID Management
Interest
Images & Movies
Interest
Import Export
Interest
Line Art
Interest
Masking
Interest
Metal
Interest
Modeling
Interest
Modifiers
Interest
Motion Tracking
Interest
Nodes & Physics
Interest
OpenGL
Interest
Overlay
Interest
Overrides
Interest
Performance
Interest
Physics
Interest
Pipeline, Assets & IO
Interest
Platforms, Builds & Tests
Interest
Python API
Interest
Render & Cycles
Interest
Render Pipeline
Interest
Sculpt, Paint & Texture
Interest
Text Editor
Interest
Translations
Interest
Triaging
Interest
Undo
Interest
USD
Interest
User Interface
Interest
UV Editing
Interest
VFX & Video
Interest
Video Sequencer
Interest
Viewport & EEVEE
Interest
Virtual Reality
Interest
Vulkan
Interest
Wayland
Interest
Workbench
Interest: X11
Legacy
Asset Browser Project
Legacy
Blender 2.8 Project
Legacy
Milestone 1: Basic, Local Asset Browser
Legacy
OpenGL Error
Meta
Good First Issue
Meta
Papercut
Meta
Retrospective
Meta
Security
Module
Animation & Rigging
Module
Core
Module
Development Management
Module
Grease Pencil
Module
Modeling
Module
Nodes & Physics
Module
Pipeline, Assets & IO
Module
Platforms, Builds & Tests
Module
Python API
Module
Render & Cycles
Module
Sculpt, Paint & Texture
Module
Triaging
Module
User Interface
Module
VFX & Video
Module
Viewport & EEVEE
Platform
FreeBSD
Platform
Linux
Platform
macOS
Platform
Windows
Severity
High
Severity
Low
Severity
Normal
Severity
Unbreak Now!
Status
Archived
Status
Confirmed
Status
Duplicate
Status
Needs Info from Developers
Status
Needs Information from User
Status
Needs Triage
Status
Resolved
Type
Bug
Type
Design
Type
Known Issue
Type
Patch
Type
Report
Type
To Do
No Milestone
No project
No Assignees
5 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender#127239
No description provided.