Commit graph

4544 commits

Author SHA1 Message Date
Steven R. Loomis
88650e2085 feat(developer): uset in element string 🙀
- fix uset builder and other missing uset parts
- basic.xml passes
- update to constants

Fixes: #7377
2023-06-30 17:27:04 -05:00
Steven R. Loomis
5d5b61cd0a feat(developer): uset in element string 🙀
- update element string constructors to support UnicodeString and the segmented array from ElementParser
- update compiler machinery to pass USetParser in the DependencySections
- test cases

#7377
2023-06-30 15:56:45 -05:00
Steven R. Loomis
067c0b2f67 feat(common): unescaper / element updates for uset 🙀
- add unescaper for quad string (\u0127)

#7377
2023-06-30 15:50:38 -05:00
Steven R. Loomis
3d6af245de feat(common): add segmenter for element strings 🙀
- detect and reject nested square brackets, for now
- implement segmentation of reorder element strings,
  including type identification (escape, codepoint, uset)
- tests

For #7377
2023-06-30 08:49:07 -05:00
Joshua Horton
2a62e3cecf
Merge pull request #9128 from keymanapp/chore/web/rework-touchpath-turtle
chore(web): touchpath-turtle rework 🐵
2023-06-30 11:58:21 +07:00
Joshua Horton
8f8d31c265
Merge pull request #9127 from keymanapp/refactor/web/headless-input-tracking
refactor(web): all gesture-oriented input control flows now have a headless form 🐵
2023-06-30 11:58:12 +07:00
Joshua Horton
951ef90157
Merge pull request #9126 from keymanapp/chore/web/sample-gesture-recording-end
fix(web): touchpath recordings always sample end of path, even when stationary 🐵
2023-06-30 11:58:05 +07:00
Joshua Horton
883f9575e6
Merge pull request #9122 from keymanapp/feat/web/hovered-item-tracking
change(web): tracking for 'initial' and 'current' UI item per touchpoint 🐵
2023-06-30 11:57:58 +07:00
Joshua Horton
08f761c90f
Merge pull request #9067 from keymanapp/chore/web/disconnect-subsegmentation
chore(web): disconnects the gesture-oriented touchpath-subsegmentation engine 🐵
2023-06-30 11:57:50 +07:00
Joshua Horton
768a4e7cbd
Merge pull request #9066 from keymanapp/chore/web/gesture-source-reorg
chore(web): feature-gesture reorganization 🐵
2023-06-30 11:57:40 +07:00
Joshua A. Horton
08e583adad fix(web): previously-missed post-rebase corrections 2023-06-30 09:01:43 +07:00
Marc Durdin
d021526e38 fix(common): give friendly error when .kvks is in binary format
Fixes #9124.
2023-06-30 08:43:01 +07:00
Marc Durdin
56da64796f fix(common): specify alignment for COMP_ structs
When we read .kmx files, they have no alignment guarantees, so we need
to tell the compiler to generate unaligned-safe code for accesses to
`COMP_` structure members, because typically we point into the buffer
and read at any offset.

A .kmx file will generally be 2-byte aligned, as there are no structures
or data types with smaller than 2 byte widths. There is no requirement
that this be the case per the .kmx spec, though. So we use a 1 byte
alignment attribute for the compiler, so it will generate safe code when
reading these structs.

Note that we are assuming that `COMP_KEYBOARD` is aligned because it is
always the start of the file, so will be at the start of any buffer
which will automatically be aligned correctly.

We should probably review some of our design decisions and structs for
KMXPlus given this.
2023-06-30 08:29:20 +07:00
Joshua A. Horton
4def47a5cc feat(web): touchpath turtle now supports 'hovered item' emulation 2023-06-29 15:56:02 +07:00
Joshua A. Horton
a1dc6fde9f chore(web): simplifies TouchpathTurtle, adds sample-path tracking 2023-06-29 15:50:20 +07:00
Joshua A. Horton
1be864c1ff chore(web): drops mocked-subsegmentation / segment-construction unit tests 2023-06-29 15:49:34 +07:00
Joshua A. Horton
d4f6d5a9c3 feat(web): headless test-sequence playback now InputEngine based 2023-06-29 14:27:57 +07:00
Joshua A. Horton
327a9271a5 refactor(web): fully headless TrackedInput, top-level class equivalent 2023-06-29 14:26:35 +07:00
Joshua A. Horton
a7e2c7aa32 chore(web): now always samples end of touchpath sequence, even if was stationary 2023-06-29 14:23:24 +07:00
Joshua A. Horton
3fbd59d59d chore(web): build.sh configure fix 2023-06-29 14:22:43 +07:00
Joshua A. Horton
d7a642e610 change(web): moves tagged HoveredItem onto InputSample 2023-06-29 14:22:08 +07:00
Joshua A. Horton
d983f4afa8 chore(web): Merge branch 'chore/web/disconnect-subsegmentation' into feat/web/hovered-item-tracking 2023-06-29 09:20:23 +07:00
Joshua A. Horton
c43f8371a5 docs(web): notes a test component that's subsegmentation-only 2023-06-29 09:20:04 +07:00
Joshua A. Horton
a976d970ab feat(web): right, currentHoveredItem 2023-06-28 15:46:40 +07:00
Joshua A. Horton
ac7d09e331 feat(web): tracking of TrackedPoint initial and current 'hovered item'
Includes related abstraction; also makes TrackedPoint headless-friendly
2023-06-28 15:17:08 +07:00
Joshua A. Horton
aff62134b6 change(web): deserialization constructors changed to static class methods 2023-06-28 14:59:29 +07:00
Marc Durdin
6027360544 fix(developer): handle empty File Details in package reader
Fixes #9109.
2023-06-28 07:27:42 +07:00
Steven R. Loomis
fbf6005bc4
Merge pull request #9084 from keymanapp/feat/developer-9050-utf32-epic-ldml
feat(developer,common,core): ldml UTF-32 literals in binary 🙀
2023-06-26 20:33:27 -05:00
Steven R. Loomis
30c4a89149 feat(developer): improve fix for UTF-32 single chars 🙀
- add some asserts

Fixes: #9050
2023-06-26 18:56:57 -05:00
Marc Durdin
d914b6918d chore: Merge branch 'feature-kmc-kmw' into chore/merge-master-into-feature-kmc-kmw-a17s16-start 2023-06-26 14:33:20 +07:00
Joshua A. Horton
176eb4cfe1 chore: Merge branch 'master' into chore/update-feature-gestures-a17s16-start 2023-06-26 10:58:40 +07:00
Joshua Horton
2ac8a4503b
Merge branch 'master' into feature-esmodule-web-engine 2023-06-26 09:09:43 +07:00
dependabot[bot]
7d08b08fb2
chore(deps): bump semver from 7.3.8 to 7.5.2
Bumps [semver](https://github.com/npm/node-semver) from 7.3.8 to 7.5.2.
- [Release notes](https://github.com/npm/node-semver/releases)
- [Changelog](https://github.com/npm/node-semver/blob/main/CHANGELOG.md)
- [Commits](https://github.com/npm/node-semver/compare/v7.3.8...v7.5.2)

---
updated-dependencies:
- dependency-name: semver
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-24 12:37:06 +00:00
Steven R. Loomis
83bb7e6f12
Merge branch 'master' into feat/developer-9050-utf32-epic-ldml 2023-06-23 17:31:43 -05:00
Steven R. Loomis
5cd3447bfd feat(developer): last fix for UTF-32 single chars 🙀
- elem

Fixes: #9050
2023-06-23 17:30:48 -05:00
Steven R. Loomis
de90644d7a feat(core,common,developer): support UTF-32 single chars 🙀
- C++ side now
- updated tests
- refactored escaping code and squashed bugs
- still todo: basic.xml

For: #9050
2023-06-23 16:55:05 -05:00
Steven R. Loomis
8304de4ad9 feat(common): support UTF-32 single chars 🙀
- common and developer side
- needs C++ update and basic.xml

For: #9050
2023-06-23 14:11:26 -05:00
Steven R. Loomis
8a3a08dcf7 feat(core): update documentation and builder for uset 🙀
- pre-sort the uset items instead of copying the patterns and re-finding
- update docs on the uset subtable

#7377
2023-06-23 10:52:34 -05:00
Marc Durdin
d6721f68ba chore: Merge branch 'feature-kmc-kmw' into chore/merge-master-into-feature-kmc-kmw 2023-06-23 15:44:06 +07:00
Marc Durdin
0e89711210 chore(windows): remove dead if 2023-06-23 14:32:05 +07:00
Marc Durdin
2cc45dfa75 chore(windows): disable wix compression for debug builds
Also affects developer builds.
2023-06-23 14:18:46 +07:00
Marc Durdin
6928188d13
Merge pull request #9054 from keymanapp/chore/developer/cleanup-font-style-in-kvk
chore(developer): remove font style/color from kvk 🗜
2023-06-23 13:24:41 +10:00
Marc Durdin
82256d06ac
Merge pull request #9048 from keymanapp/chore/common/fix-common-web-types-coverage
chore(common): fixup tests for common/web/ci 🗜
2023-06-23 13:24:32 +10:00
Joshua A. Horton
c889f802ec chore(web): segment class can also be cut 2023-06-22 15:47:16 +07:00
Joshua A. Horton
6b4766ffdd chore(web): disconnects subsegmentation from core gesture engine 2023-06-22 15:34:40 +07:00
Joshua A. Horton
7aa6d474ac chore(web): reorganizes gesture-recognizer source in prep for chopping subsegmentation 2023-06-22 14:25:10 +07:00
Marc Durdin
164823a643
chore: fix comment in common 2023-06-21 14:31:50 +10:00
Marc Durdin
3f507f974a chore(developer): remove font style/color from kvk
While .kvk includes a font color field, it is essentially unused. There
was also some sort of support provided for font style in the KeymanWeb
keyboard compiler, but this was never streamed into .kvk or .kvks files,
so was always a no-op.

Thus, this PR removes any semblance of support for font style and color
from the .kvk and .kvks readers and writers. When we write the font
color field which is present in .kvk, we always use the default
TColor.clWindowText which is what the legacy Delphi-based writer would
always have written.

Also sorted out the default font size and name in the .kvk transform
from .kvks, and in so doing cleaned up the basic.kvk and basic.js in
LDML keyboard compiler to match what we are doing in the .kmn compiler.
2023-06-21 10:53:45 +07:00
Joshua Horton
2eb36c8f20
chore(web): Apply suggestions from code review
Co-authored-by: Marc Durdin <marc@durdin.net>
2023-06-21 08:27:26 +07:00
Steven R. Loomis
248d423535 feat(common,developer,core): add uset section 🙀
- not emitted yet, basic scaffolding
- expanded type field in elem:  str/char/set

For: #7377
2023-06-20 18:23:54 -05:00