Nathan Adams
b25fe69bac
avm1: Implement StyleSheet.load
2024-05-17 00:37:39 +02:00
Nathan Adams
c1e197189d
avm1: Implement most of StyleSheet
2024-05-17 00:37:39 +02:00
TÖRÖK Attila
7f0e6bfaa5
meta: Deny including multiple versions of `image`
...
To prevent https://github.com/ruffle-rs/ruffle/issues/15836 from reoccurring.
2024-05-17 01:19:01 +03:00
TÖRÖK Attila
331d1789da
render,core,desktop: Port to `wgpu` `v0.20.0`, switch to `egui` `master`
2024-05-17 01:19:01 +03:00
Nathan Adams
b8c1263f9e
avm1: Expose NativeObjects through SuperObject - fixes g2conline
2024-05-17 00:02:45 +02:00
Nathan Adams
dfd9a26a7b
avm1: Implement NetConnection, more or less
2024-05-17 00:02:45 +02:00
Daniel Jacobs
8f67d401f8
Revert "github: Add a Dependabot group just for bumping Cargo.lock"
...
This reverts commit 6c144a038f
.
2024-05-16 23:37:34 +02:00
Kamil Jarosz
710232ee69
tests: Add tab_ordering_automatic_advanced test
...
This test verifies the exact behavior of the automatic tab order.
2024-05-16 21:40:56 +02:00
Kamil Jarosz
aeabe3cbb5
core: Implement proper automatic tab ordering
...
This patch implements proper automatic tab ordering that
behaves exactly the same as in FP.
The automatic order depends only on the position of
the top-left highlight bound corner, referred to as `(x,y)`.
It does not depend on object's size or other corners.
The value of `6y+x` is used to order objects by it.
This means that the next object to be tabbed is the next one
that touches the line `y=-(x-p)/6` (with the smallest `p`).
When two objects have the same value of `6y+x`
(i.e. when the line touches two objects at the same time),
only one of them is included.
This behavior is similar to the naive approach of
"left-to-right, top-to-bottom", but (besides being sometimes
seen as random jumps) takes into account the fact that
the next object to the right may be positioned slightly higher.
This is especially true for objects placed by hand or objects with
different heights (as FP uses the top left corner instead of the center).
This behavior has been discovered experimentally by placing
tabbable objects randomly and bisecting one of their
coordinates to find a difference in behavior.
2024-05-16 21:40:56 +02:00
Kamil Jarosz
f4fb689c7b
tests: Fix tab_ordering_automatic_order_same_position
...
This test was passing totally by accident.
It contained two objects that were lying on the same y=-(x-p)/6 line.
Using the automatic order, only one of these objects should be tabbable,
however in output.txt we can see them both (clipInner2 and clip5b).
That's because the test was performed in FP with a zoom less than 100%,
which apparently changed how FP sees coordinates.
2024-05-16 21:40:56 +02:00
TÖRÖK Attila
f9f4c3bb82
render/wgpu: Drop `naga_oil` in favor of manual string manipulation
2024-05-16 20:24:49 +02:00
TÖRÖK Attila
6c144a038f
github: Add a Dependabot group just for bumping Cargo.lock
...
Hopefully, now that it runs on GHA infra, it won't timeout.
2024-05-16 20:06:02 +02:00
TÖRÖK Attila
b0e812c718
github: Make Dependabot also ignore "profiling"
...
The other two crates are indirect through this.
2024-05-16 20:06:02 +02:00
TÖRÖK Attila
ce778df64f
github: Add a workaround for nextest failing on Windows
2024-05-16 19:47:52 +02:00
sleepycatcoding
ef1f6ce29b
desktop: Use player options from bundle if available
...
These are merged with options from Open Advanced.
2024-05-16 01:14:42 +03:00
sleepycatcoding
6a59cb4445
frontend-utils: Hook up player options to bundle parser
2024-05-16 01:14:42 +03:00
sleepycatcoding
9e70a8697e
frontend-utils: Implement player options deserializer
...
Also adds `ReadExt::get_float_like` helper.
2024-05-16 01:14:42 +03:00
sleepycatcoding
d74c590e4a
frontend-utils: Update bundle specification
...
Co-authored-by: Nathan Adams <dinnerbone@dinnerbone.com>
2024-05-16 01:14:42 +03:00
sleepycatcoding
be8cbd64d6
core/render/web: Make FromStr exclusively for snake_case
2024-05-16 01:14:42 +03:00
Crowdin Bot
a5810b4703
chore: Update translations from Crowdin
2024-05-15 23:58:04 +02:00
Nathan Adams
519de0e230
avm1: Implement __resolve
2024-05-15 22:45:56 +02:00
Aaron Hill
932f2d410b
debug_ui: Render bitmap in new 'Bitmap' display object tab
...
This lets us view a bitmap directly from the debug ui.
We cache an egui texture handle on the `BitmapData` itself,
and invalidate it whenever the BitmapData gets changed.
2024-05-15 15:19:52 -04:00
Aaron Hill
4d2b2893ae
avm2: Prevent loader mouse pick from targeting direct child
...
Loaders have a similar behavior to the main stage - if a mouse pick
would target their direct child (the root movieclip in the stage case,
and the loaded MovieClip in the Loader case), the Stage/Loader is
targeted instead.
2024-05-15 13:41:17 -04:00
Aaron Hill
60000d6930
avm2: Skip mouse pick for all mask children
...
We were previosuly only checking 'clip_depth', but we should
also check 'maskee()'
2024-05-15 12:30:51 -04:00
Nathan Adams
b5948a883a
avm2: Simplify string comparison in stylesheet a bit
2024-05-14 21:03:37 +02:00
Nathan Adams
4691d0c798
avm2: Call transform from StyleSheet.setStyle()
2024-05-14 21:03:37 +02:00
Nathan Adams
7309e457d5
avm2: Transform css properties from with-dashes to snakeCase
2024-05-14 21:03:37 +02:00
Nathan Adams
24b01b8f89
avm2: Implement StyleSheet.transform()
2024-05-14 21:03:37 +02:00
Nathan Adams
7e1bc84bdf
avm2: Implement most of StyleSheet
2024-05-14 21:03:37 +02:00
Kamil Jarosz
8eb8673122
core: Update a comment related to custom tab ordering
...
Turns out the existing implementation was right.
2024-05-14 18:33:46 +02:00
Kamil Jarosz
94bd9be4b8
tests: Add tab_ordering_custom_duplicate_index test
...
This test verifies the custom tab ordering when multiple objects
have the same tab index.
2024-05-14 18:33:46 +02:00
Crowdin Bot
9417c9068c
chore: Update translations from Crowdin
2024-05-13 23:25:12 +02:00
dependabot[bot]
e044149cca
build(deps): bump bytemuck in the cargo-minor group
...
Bumps the cargo-minor group with 1 update: [bytemuck](https://github.com/Lokathor/bytemuck ).
Updates `bytemuck` from 1.15.0 to 1.16.0
- [Changelog](https://github.com/Lokathor/bytemuck/blob/main/changelog.md )
- [Commits](https://github.com/Lokathor/bytemuck/compare/v1.15.0...v1.16.0 )
---
updated-dependencies:
- dependency-name: bytemuck
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: cargo-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-05-13 23:08:34 +02:00
dependabot[bot]
63cc792ec0
build(deps-dev): bump the npm-minor group in /web with 2 updates
...
Bumps the npm-minor group in /web with 2 updates: [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin ) and [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser ).
Updates `@typescript-eslint/eslint-plugin` from 7.8.0 to 7.9.0
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases )
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md )
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v7.9.0/packages/eslint-plugin )
Updates `@typescript-eslint/parser` from 7.8.0 to 7.9.0
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases )
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md )
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v7.9.0/packages/parser )
---
updated-dependencies:
- dependency-name: "@typescript-eslint/eslint-plugin"
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: npm-minor
- dependency-name: "@typescript-eslint/parser"
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: npm-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-05-13 22:32:25 +02:00
Kamil Jarosz
5dcb87c727
debug_ui: Add stage focus rect
2024-05-13 20:48:48 +02:00
Kamil Jarosz
f713c90cca
core: Add possibility to set tab_enabled in AVM1
...
This makes it possible to set it from the debug UI.
2024-05-13 20:48:48 +02:00
Kamil Jarosz
0c3ab81671
debug_ui: Fix a positioning issue in Stage tab
2024-05-13 20:48:48 +02:00
Kamil Jarosz
a5b7933c26
debug_ui: Add a tab for interactive objects
2024-05-13 20:48:48 +02:00
Kamil Jarosz
4253525f8b
core: Add InteractiveObject.tab_enabled_default
...
This patch removes two methods:
* `tab_enabled_avm1`, and
* `tab_enabled_avm2_default`,
and replaces them with `tab_enabled_default`.
This refactor makes the code more readable and simple.
2024-05-13 20:48:48 +02:00
dependabot[bot]
819abe8420
build(deps): bump the cargo-minor group with 14 updates
...
Bumps the cargo-minor group with 14 updates:
| Package | From | To |
| --- | --- | --- |
| [async-channel](https://github.com/smol-rs/async-channel ) | `2.2.1` | `2.3.0` |
| [serde](https://github.com/serde-rs/serde ) | `1.0.200` | `1.0.201` |
| [thiserror](https://github.com/dtolnay/thiserror ) | `1.0.59` | `1.0.60` |
| [linkme](https://github.com/dtolnay/linkme ) | `0.3.25` | `0.3.26` |
| [bitstream-io](https://github.com/tuffy/bitstream-io ) | `2.2.0` | `2.3.0` |
| [serde_json](https://github.com/serde-rs/json ) | `1.0.116` | `1.0.117` |
| [ttf-parser](https://github.com/RazrFalcon/ttf-parser ) | `0.20.0` | `0.21.1` |
| [num-bigint](https://github.com/rust-num/num-bigint ) | `0.4.4` | `0.4.5` |
| [syn](https://github.com/dtolnay/syn ) | `2.0.60` | `2.0.63` |
| [proc-macro2](https://github.com/dtolnay/proc-macro2 ) | `1.0.81` | `1.0.82` |
| [fontdb](https://github.com/RazrFalcon/fontdb ) | `0.16.2` | `0.17.0` |
| [unic-langid](https://github.com/zbraniecki/unic-locale ) | `0.9.4` | `0.9.5` |
| [zip](https://github.com/zip-rs/zip2 ) | `1.2.0` | `1.2.3` |
| [libtest-mimic](https://github.com/LukasKalbertodt/libtest-mimic ) | `0.7.2` | `0.7.3` |
Updates `async-channel` from 2.2.1 to 2.3.0
- [Release notes](https://github.com/smol-rs/async-channel/releases )
- [Changelog](https://github.com/smol-rs/async-channel/blob/master/CHANGELOG.md )
- [Commits](https://github.com/smol-rs/async-channel/compare/v2.2.1...v2.3.0 )
Updates `serde` from 1.0.200 to 1.0.201
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.200...v1.0.201 )
Updates `thiserror` from 1.0.59 to 1.0.60
- [Release notes](https://github.com/dtolnay/thiserror/releases )
- [Commits](https://github.com/dtolnay/thiserror/compare/1.0.59...1.0.60 )
Updates `linkme` from 0.3.25 to 0.3.26
- [Release notes](https://github.com/dtolnay/linkme/releases )
- [Commits](https://github.com/dtolnay/linkme/compare/0.3.25...0.3.26 )
Updates `bitstream-io` from 2.2.0 to 2.3.0
- [Commits](https://github.com/tuffy/bitstream-io/compare/v2.2.0...v2.3.0 )
Updates `serde_json` from 1.0.116 to 1.0.117
- [Release notes](https://github.com/serde-rs/json/releases )
- [Commits](https://github.com/serde-rs/json/compare/v1.0.116...v1.0.117 )
Updates `ttf-parser` from 0.20.0 to 0.21.1
- [Changelog](https://github.com/RazrFalcon/ttf-parser/blob/master/CHANGELOG.md )
- [Commits](https://github.com/RazrFalcon/ttf-parser/compare/v0.20.0...v0.21.1 )
Updates `num-bigint` from 0.4.4 to 0.4.5
- [Changelog](https://github.com/rust-num/num-bigint/blob/master/RELEASES.md )
- [Commits](https://github.com/rust-num/num-bigint/compare/num-bigint-0.4.4...num-bigint-0.4.5 )
Updates `syn` from 2.0.60 to 2.0.63
- [Release notes](https://github.com/dtolnay/syn/releases )
- [Commits](https://github.com/dtolnay/syn/compare/2.0.60...2.0.63 )
Updates `proc-macro2` from 1.0.81 to 1.0.82
- [Release notes](https://github.com/dtolnay/proc-macro2/releases )
- [Commits](https://github.com/dtolnay/proc-macro2/compare/1.0.81...1.0.82 )
Updates `fontdb` from 0.16.2 to 0.17.0
- [Changelog](https://github.com/RazrFalcon/fontdb/blob/master/CHANGELOG.md )
- [Commits](https://github.com/RazrFalcon/fontdb/compare/v0.16.2...v0.17.0 )
Updates `unic-langid` from 0.9.4 to 0.9.5
- [Release notes](https://github.com/zbraniecki/unic-locale/releases )
- [Commits](https://github.com/zbraniecki/unic-locale/commits )
Updates `zip` from 1.2.0 to 1.2.3
- [Release notes](https://github.com/zip-rs/zip2/releases )
- [Changelog](https://github.com/zip-rs/zip2/blob/master/CHANGELOG.md )
- [Commits](https://github.com/zip-rs/zip2/compare/v1.2.0...v1.2.3 )
Updates `libtest-mimic` from 0.7.2 to 0.7.3
- [Release notes](https://github.com/LukasKalbertodt/libtest-mimic/releases )
- [Changelog](https://github.com/LukasKalbertodt/libtest-mimic/blob/master/CHANGELOG.md )
- [Commits](https://github.com/LukasKalbertodt/libtest-mimic/compare/v0.7.2...v0.7.3 )
---
updated-dependencies:
- dependency-name: async-channel
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: cargo-minor
- dependency-name: serde
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo-minor
- dependency-name: thiserror
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo-minor
- dependency-name: linkme
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo-minor
- dependency-name: bitstream-io
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: cargo-minor
- dependency-name: serde_json
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo-minor
- dependency-name: ttf-parser
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: cargo-minor
- dependency-name: num-bigint
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo-minor
- dependency-name: syn
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo-minor
- dependency-name: proc-macro2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo-minor
- dependency-name: fontdb
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: cargo-minor
- dependency-name: unic-langid
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo-minor
- dependency-name: zip
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo-minor
- dependency-name: libtest-mimic
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-05-13 15:49:29 +02:00
dependabot[bot]
512f733131
build(deps): bump the npm-minor group in /web with 6 updates
...
Bumps the npm-minor group in /web with 6 updates:
| Package | From | To |
| --- | --- | --- |
| [chai](https://github.com/chaijs/chai ) | `5.1.0` | `5.1.1` |
| [chromedriver](https://github.com/giggio/node-chromedriver ) | `124.0.1` | `124.0.3` |
| [eslint-plugin-jsdoc](https://github.com/gajus/eslint-plugin-jsdoc ) | `48.2.3` | `48.2.4` |
| [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react ) | `18.3.1` | `18.3.2` |
| [eslint-plugin-react-refresh](https://github.com/ArnaudBarre/eslint-plugin-react-refresh ) | `0.4.6` | `0.4.7` |
| [@types/chrome](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/chrome ) | `0.0.267` | `0.0.268` |
Updates `chai` from 5.1.0 to 5.1.1
- [Release notes](https://github.com/chaijs/chai/releases )
- [Changelog](https://github.com/chaijs/chai/blob/main/History.md )
- [Commits](https://github.com/chaijs/chai/compare/v5.1.0...v5.1.1 )
Updates `chromedriver` from 124.0.1 to 124.0.3
- [Commits](https://github.com/giggio/node-chromedriver/compare/124.0.1...124.0.3 )
Updates `eslint-plugin-jsdoc` from 48.2.3 to 48.2.4
- [Release notes](https://github.com/gajus/eslint-plugin-jsdoc/releases )
- [Changelog](https://github.com/gajus/eslint-plugin-jsdoc/blob/main/.releaserc )
- [Commits](https://github.com/gajus/eslint-plugin-jsdoc/compare/v48.2.3...v48.2.4 )
Updates `@types/react` from 18.3.1 to 18.3.2
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases )
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react )
Updates `eslint-plugin-react-refresh` from 0.4.6 to 0.4.7
- [Release notes](https://github.com/ArnaudBarre/eslint-plugin-react-refresh/releases )
- [Changelog](https://github.com/ArnaudBarre/eslint-plugin-react-refresh/blob/main/CHANGELOG.md )
- [Commits](https://github.com/ArnaudBarre/eslint-plugin-react-refresh/compare/v0.4.6...v0.4.7 )
Updates `@types/chrome` from 0.0.267 to 0.0.268
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases )
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/chrome )
---
updated-dependencies:
- dependency-name: chai
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: npm-minor
- dependency-name: chromedriver
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: npm-minor
- dependency-name: eslint-plugin-jsdoc
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: npm-minor
- dependency-name: "@types/react"
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: npm-minor
- dependency-name: eslint-plugin-react-refresh
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: npm-minor
- dependency-name: "@types/chrome"
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: npm-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-05-13 15:20:20 +02:00
Crowdin Bot
0b92233522
chore: Update translations from Crowdin
2024-05-13 07:37:06 +02:00
Crowdin Bot
3d412c955f
chore: Update translations from Crowdin
2024-05-11 10:27:05 +02:00
Jacob Greenfield
272c07ea3b
avm2: Implement `describeType(null)` stub ( #16235 )
2024-05-10 22:06:56 +00:00
Kamil Jarosz
636011e95e
tests: Add focus_highlight_avm1_button test
...
This test verifies how the highlight behaves for AVM1 buttons.
2024-05-10 23:52:01 +02:00
Kamil Jarosz
b1b7ccfbd2
avm1: Highlight buttons using their hit bounds
...
Buttons are always highlighted using their hit bounds.
I guess it does have some sense to it, because their bounds
usually change on hover (children are swapped out),
which would cause the automatic tab order to change during tabbing.
That could potentially create a loop in the tab ordering
(soft locking the tab).
2024-05-10 23:52:01 +02:00
Kamil Jarosz
1e5439ab68
core: Add InteractiveObject.highlight_bounds() method
...
This method returns the world bounds of
the focus highlight for the interactive object.
2024-05-10 23:52:01 +02:00
Kamil Jarosz
b4cbac6964
tests: Add button_keypress_vs_press test
...
This test ensures that button key press events take precedence
over pressing focused buttons with keyboard.
2024-05-10 22:42:03 +02:00
Kamil Jarosz
df5e5e6035
tests: Add focus_keyboard_press test
...
This test verifies the behavior of pressing buttons with a keyboard.
2024-05-10 22:42:03 +02:00
Kamil Jarosz
da9c9527e5
core: Allow pressing buttons with keyboard
...
This patch allows the keyboard to be used (Enter/Space) to press buttons.
2024-05-10 22:42:03 +02:00