[{{mminutes}}:{{sseconds}}] X
Пользователь приглашает вас присоединиться к открытой игре игре с друзьями .
Ctrl предыдущая следующая Ctrl Страницы
1 2 3 4 5

Форум «Программное обеспечение» / KG_WebTypeStats − браузерная УнчеТСка

un4given Сообщение #1 13 сентября 2025 в 05:00
Клавокодер
124
Не стал дожидаться понедельника, потому что и так дофига профукал все поставленные собою же сроки

Итак™, вашему вниманию представляется унчеподелие, которое может пригодиться любителямпрофессионалам разглядывания графиков и циферей. Изначально всё это делалось ради фана, дабы проверить жизнеспособность идеи, так что отнеситесь к реализации с пониманием (тем более, что вышло-то весьма недурственно!)

Те, кто уже понял о чём идёт речь, могут срочно установить это дело и бегом бежать в заезд, чтобы наконец-то пощупать возможности этого поистине уникального шедевра (Капец, вот же я трололо! :D)
(Внимание: для работы требуется установить Tampermonkey со включённым «developer mode», имейте это в виду!)
если страничка установки скрипта у вас не открылась, попробуйте альтернативную ссылку на гитхаб в конце этого поста.

Индикатором того, что всё работает должным образом, является новая панелька в заезде, расположенная справа от набираемого текста (там где настройки / сложность и т.д.):


Ну а если после финиша на панельке ещё и цифири какие-то высветились, то это вообще успешный успех!


Когда вы вдоволь налюбуетесь циферками, вы заметите призыв к действию, которому не сможете воспротивиться и вот тогдааа вашему взору и предстанет волшебное окошко с гостинцами заморскими какие гостинцы, сказочник? шёл бы лучше спать! :D



(под хайдом имеются ещё два скрина для примерного осознания масштабов всего этого безобразиявеликолепия)
скрытый текст…

В общем, если вкратце, то это некий упрощённый аналог ТС, работающий прямо в браузере и только во время заезда. То есть не будет больше «ой, я забыл запустить ТСку!» или «блин, я столько тут наболтала, а где же мой заезд?», но зато будет «ооо! наконец-то я могу порукоблудить на брутто прямо в заезде!» или «ммм, какой красивый график, у меня аж даже настроение приподнялось!»

Чуть детальнее можно почитать на странице установки юзерскрипта или в мини-FAQ'е, который будет следующим постом. может быть когда-нибудь :D

Скачать:

Ссылка 1 (greasyfork)
или
Ссылка 2 (github)
Последний раз отредактировано 20 сентября 2025 в 18:15 пользователем un4given
un4given Сообщение #2 13 сентября 2025 в 05:01
Клавокодер
124
    мини-FAQ
    ============

Так это чего, полноценная замена ТСке?

    Ну не чавчем™ Скорее − это альтернатива ТСке со своими плюсами и минусами.
    Если вкратце, то:
    - ТСка внедряется на уровне системы и ловит как паузы между нажатиями, так и удержания клавиш.
    - ВТСка внедряется на уровне браузера и ловит только паузы между нажатиями.
    Таким образом, если браузер залагает, то и показания ВТСки будут нестабильными.
    Вот, к примеру, как выглядит «кардиограмма», когда посреди заезда система вдруг решает позаниматься какой-то очень важной хренью:
    скрытый текст…

    А ещё в некоторых браузерах в качестве защиты от фингерпринтинга используются округлённые таймеры (да, я об этом тоже узнал в сейчас лет).
    Но в целом, ВТСка рисует плюс-минус реальную картину, иногда даже более реальную, чем сами КГ (была пара случаев).

Ого, а защитой от читеров оно может выступать?

    С некоторого времени защитой от читеров не может выступать даже обычная ТСка, чего уж говорить о браузерном приложении. Всё, что выполняется на стороне пользователя (тем более юзерскрипт) − можно подделать.
    Данный продукт, скорее, предназначается для тех людей, которым интересно разглядывать свою собственную статистику. Возможно ещё пригодится ведущим, для какой-нибудь дополнительной проверки игроков.

И чё, прям в любом браузере будет работать?

    100% гарантию дать не могу, но с большой долей вероятности приложение должно работать в большинстве современных браузеров. Правда в IE не проверялось, так что если найдутся смельчаки − дайте знать!

Я всё установил, но приложения нет, ЧЯДНТ?

    Вероятнее всего, вы не включили «Режим разработчика» на странице расширений в браузере.
    Зайдите в расширения через Меню→Расширения→Управление расширениями (или в наберите адресной строке about://extensions) и включите режим разработчика (обычно находится в самом верху, в виде переключателя).
    Помимо всего прочего, убедитесь, что Tampermonkey активен (его можно включать и выключать отдельно)

Как открыть приложение вне заезда?

    В будущем всё может поменяться, так как этот вопрос ещё не устаканился.
    На текущий момент WTS можно запустить тремя способами:
    1) Alt + S (может работать не во всех ОС/браузерах)
    2) клик по панели статистики → 
    3) клик по жёлтой блямбе с уровнем →

Почему окно приложения не закрывается по клику за его пределами?

    Это сделано намеренно для того, чтобы после заезда не только рыбку съестьстатистику поразглядывать, но ещё и в чатике пообсуждать очень важные дела. Если прям очень хочется закрыть − кнопка ESC вам в помощь!

А как в унчеТСке сделать [что-нибудь]?


Почему скорость иногда отличается от КГшной?

    Если вкратце, то разница в пару-тройку знаков − это норма и беспокоиться не о чём.
    Причин этому несколько:
    Во-первых, существует загадка Жака Фреско о подсчёте скорости самими КГшками.
    Во-вторых, см. следующий вопрос про количество ошибок.
    В-третьих, унчеТСка начинает считать время с первого нажатия, так что чем дольше вы затупили на старте, тем больше будет расхождение в скорости.

Почему количество ошибок не всегда совпадает с КГшным?

    Приложение ничего не знает о тексте заезда: текст заезда восстанавливается постфактум путём анализа записанных клавонажатий. По этой самой причине приложение детектит не ошибки (в парадигме КГ), а исправления (точнее − непрерывные серии исправлений). Под исправлением подразумевается удаление любых символов при помощи Backspace, даже тех, которые набраны корректно с точки зрения КГ. В подавляющем большинстве случаев «ошибки» совпадают с «исправлениями», но так бывает не всегда, отсюда и различия.

Так, ну а финальный текст почему иногда не совпадает?

    Как я и говорил, приложение ничего не знает о тексте заезда, оно слушает только клавонажатия. Представьте, что вы сидите с закрытыми глазами, а кто-то вам проговаривает нажатые клавиши и действия: «кнопка ж», «кнопка о», «кнопка п», «кнопка а», «бэкспейс», «бэкспейс», «бэкспейс», «кнопка ё», «кнопка л», кнопка «т» (и т.д.). Таким образом текст как будто «восстанавливается» из этих самых нажатий уже постфактум. И если вы для исправления используете только клавишу «бэкспейс», то тогда исходный текст можно восстановить без проблем, а если вы используете разные хитрые штуки, типа Ctrl+A, или Ctrl+Backspace (он тоже учитывается по возможности), или ещё более хитрые исправления через HomeEndShift+←→ и всякое такое − корректно восстановить текст уже не получится. Таковы ограничения данного приложения и с ними придётся мириться.

А на чём всё это написано?

    На ванильном js, с использованием маленькой да удаленькой библиотечки для отрисовки графиков − uPlot.

И долго ты это писал??

    Фиг знает, я не вёл журнал трудозатрат.
    От inception'а (16.07.2025) до первого рабочего прототипа (04.08.2025) прошло 19 дней,
    +дальнейший допилинг, консалтинг, фичеприкрутинг и закрытый тестинг заняли ещё 39 дней.
    итого − 58 дней, но тут важно понимать, что это «58 дней крааайне неспешного кодинга», а не «58 дней интенсивной разработки 24/7»

И чё, всё прям сам делал???

    Не совсем. Это была моя первая попытка совместной работы с ChatGPT 5. Щас сложновато посчитать процентное соотношение, но по ощущениям ~70% кода − мои. (у ChatGPT получились аналогичные прикидки, просто с бо́льшим разбросом) Помимо всего прочего, проводились многочасовые консультации с ведущим специалистом по UI/UX, а также принимались во внимание некоторые идеи участников закрытого тестирования.

О, я тоже хочу подать идею!

    Это не возбраняется, но имейте в виду, что всё, что вы будете предлагать, будет пропускаться через призму моего ви́дения конечного продукта, со всеми вытекающими. Кроме того, у меня и у самого имеется некое количество идей, которые так и ждут возможности быть внедрёнными. Если я буду достаточно мотивирован и не обломаюсь :D

Ну а о глюках-то я могу сообщать?

    Конечно! Это делать прямо на форуме или у меня в БЖ по клику на пункт «Памагити!!!» из меню приложения.
Последний раз отредактировано 27 сентября 2025 в 00:28 пользователем un4given
Reset82 Сообщение #3 13 сентября 2025 в 06:24
Маньяк
42
а как в ТС график реализовать возможно? С длительностью нажатий и т.п.?

Было бы прикольно добиться кроссплатформенности. Если бы програмка могла сохранять tsf файлы)
Последний раз отредактировано 13 сентября 2025 в 16:35 пользователем un4given
JunkieType Сообщение #5 13 сентября 2025 в 10:30
Супермен
59
Круто, этого очень не хватало, спасибо за работу!

Вот бы это вообще внедрили на уровне сайта
Последний раз отредактировано 13 сентября 2025 в 10:47 пользователем JunkieType
Кибертаксист Сообщение #6 13 сентября 2025 в 11:31
Маньяк
35
must have, вещь очень нужная. Автор красавчик, если бы я был женщиной...

JunkieType писал(а):
Вот бы это вообще внедрили на уровне сайта

+
kazimur Сообщение #7 13 сентября 2025 в 12:34
Профи
1
Спасибо за проделанную работу.
Протестировал под Linux в Chrome - всё работает.
Скрипт очень хороший и полезный, но всё же выскажу несколько замечаний:
- довольно неочевидно, что WTS запускается вне заезда по щелчку по полям статистики последнего режима слева сверху, а не только по ALT+S. Об этом нужно написать подробнее, как в документации, так и на форуме, желательно с картинкой.
- тексты меню и сообщений скрипта выполнены в весьма фривольном стиле, что не всем нравится. Лучше их сделать нейтральными, тем более, что сам функционал скрипта весьма серьезный.
- мат в комментариях никого не красит.
Последний раз отредактировано 13 сентября 2025 в 18:39 пользователем kazimur
un4given Сообщение #8 13 сентября 2025 в 17:17
Клавокодер
124
Reset82 писал(а):
Если бы програмка могла сохранять tsf файлы)

Возможно вы имели в виду «если бы программка могла читать tsf-файлы[, чтобы потом показывать всю ту красоту]»?

JunkieType писал(а):
Вот бы это вообще внедрили на уровне сайта

Да, по-хорошему это было бы неплохо внедрить прямо в сайт (а отдельные вещи я бы вообще в премиум вынес!), но этим должен заниматься специально обученный человек, с зарплатой и соответствующей ответственностью за свои действия. Я же делал эту штуку по большей части для того, чтобы оценить жизнеспособность концепта браузерной ТСки.

kazimur писал(а):
- довольно неочевидно, что WTS запускается вне заезда по щелчку по полям статистики последнего режима слева сверху, а не только по ALT+S. Об этом нужно написать подробнее, как в документации, так и на форуме, желательно с картинкой.

Да, понимаю. Это связано с тем, что я так толком и не придумал, как внятно вызывать это приложение вне заезда. (Изначально я вообще думал отдельную кнопку сделать, рядом с ЗД, но потом подумал, что целая кнопка там вроде как и не нужна). Про Alt+S и панель статистики мне подсказали клавогонщики, участвующие в закрытом тестировании, я посчитал эти идеи годными и внедрил в самый последний момент. Но в целом этот вопрос пока открытый.

kazimur писал(а):
- тексты меню и сообщений скрипта выполнены в весьма фривольном стиле, что не всем нравится. Лучше их сделать нейтральными

Верно! Но не менее верно и обратное утверждение: «Не всем нравится строгий стиль, иногда хочется какой-нибудь изюминки!». Дело в том, что всем угодить невозможно, поэтому я, как автор, оставляю за собой право делать всё в таком стиле, который резонирует с моими личными ощущениями. А если кому-то не нравятся сообщения − ну так исходники ж не закрыты, можно утащить к себе, переписать строгим языком и наслаждаться!

kazimur писал(а):
- мат в комментариях никого не красит.

Простите, а где? там только «Наеупадёт» фигурирует максимум.
Noob228 Сообщение #9 13 сентября 2025 в 18:05
Экстракибер
25
Здравствуйте, премного благодарен за то что, вы выложили данный скрипт в общий доступ. Я всегда желал использовать статистические интсрументы, для подробного просмотра цифорок.

Но хотел бы спросить, это проблема лично у меня, из-за другой системы (macOS, googleChrome v140.0.7339.133)
В любом заезде цифры данного скрипта завышаются в среднем на 40 зн.мин, а также количество ошибок иногда не совпадает.
Пример: https://imgur.com/a/gj5logi

Понимаю, что исправлять это не корректно, пользователей на такой платформе невероятно малое количество или же это личная моя проблема. Но было бы интересно узнать, в теории если нетто завышается, брутто завышается на то же количество зн.мин?
kazimur Сообщение #10 13 сентября 2025 в 18:47
Профи
1
un4given писал(а):
Простите, а где? там только «Наеупадёт» фигурирует максимум.

let __isQual = false; // <censored> qualification with infinite number of retries
un4given Сообщение #11 13 сентября 2025 в 18:59
Клавокодер
124
Noob228 писал(а):
В любом заезде цифры данного скрипта завышаются в среднем на 40 зн.мин, а также количество ошибок иногда не совпадает.

С ошибками есть один нюанс (чуть позже добавлю в FAQ).
Предположу, что вы используете хитрый метод исправления ошибок (например Ctrl+A) из-за чего ВТСка (как и ТСка, кстати) не может корректно определять правильно набранные символы. Если вы можете мне прислать исходник любой своей ВТСки − я смогу сказать подробнее.

Для того, чтобы прислать − достаточно открыть любую ВТСку, нажать Ctrl+C (или дабл-кликнуть по заголовку окна) и отправить мне в личку всю ту колбасу из буфера обмена.

kazimur писал(а):
let __isQual = false;

А, ой, затупил. В комментах к коду − извините, это моё личное
lornashore Сообщение #12 13 сентября 2025 в 22:20
Маньяк
39
Так ждал этой приблуды. Тамперманки даже поставил ради неё, а ничего не завелось. Дебаг мод в расширениях включен. Панельки в заездах нет. Alt-S ничего не даёт. Что я делаю не так? Где логи глянуть можно, чтобы понять, почему оно не работает? У меня Вивальди, в этом чтоли дело...
FerStY_ Сообщение #13 13 сентября 2025 в 22:27
Экстракибер
34
lornashore писал(а):
Что я делаю не так?

Я со второго раза установил. Видимо порядок установки был неправильный.
Предположительно правильный:
1. В расширениях сначала включить девмод
2. Потом установить тамперманки
3. Потом установить сам аддон
4. Зайти на кг
un4given Сообщение #14 13 сентября 2025 в 23:21
Клавокодер
124
lornashore писал(а):
У меня Вивальди, в этом чтоли дело...

Не, скорее всего не в этом: там тамперманки обычно где-то просит «включите, пожалуйста, режим разработчика!».
Это нужно сделать в браузере на странице расширений (Menu → Tools → Extensions), там в самом верху будет переключатель.
Ничего переустанавливать не нужно.
kazimur Сообщение #15 13 сентября 2025 в 23:22
Профи
1
Столкнулся с такой проблемой:
в Chrome некорректно генерируются картинки для БЖ в формате base64.
Видимо, это связано с прозрачным фоном.
Чтобы решить проблему надо внести изменения в строку скрипта:
const pic1 = oO('wts-chart0').querySelector('canvas').toDataURL('image/png');
, заменив её на
const pic1 = oO('wts-chart0').querySelector('canvas').toDataURL('image/webp');

После этого будут генерироваться корректные картинки.
un4given Сообщение #16 14 сентября 2025 в 01:23
Клавокодер
124
kazimur писал(а):
Столкнулся с такой проблемой:
в Chrome некорректно генерируются картинки для БЖ в формате base64.

Благодарю!
Поправлю к следующему релизу, тем более что есть ещё что поправить, ибо я немного накосячил :)
Doctorisimus Сообщение #17 14 сентября 2025 в 01:59
Супермен
61
Для ЯНДЕКС.браузера помимо режима разработчика еще надо включить галочку пользовательских скриптов в сведениях самого расширения (возможно для вивальди и других нужно сделать то же)
скрытый текст…
un4given Сообщение #18 14 сентября 2025 в 04:20
Клавокодер
124
Первый микроапдейт не заставил себя долго ждать
Изменения там копеечные, не вижу особого смысла расписывать, но обновиться желательно (особенно, если хотите, чтобы у вас заработало сочетание Ctrl+A, а также возможно кое-где исчезнут подлаги при наборе, но это не точно!).
По идее у тех, кто устанавливал через кнопку на сайте − изменения должны будут прилететь автоматом в течение суток.
lornashore Сообщение #19 14 сентября 2025 в 11:31
Маньяк
39
lornashore писал(а):
У меня Вивальди, в этом чтоли дело...

Помогла установка Tampermonkey Legacy (MV2), вместо обычной. Всё заработало.
ПОТРОШИТЕЛЬЧАТА Сообщение #20 14 сентября 2025 в 13:50
Маньяк
5
А есть поддержка тем? Если нет, то можно очевидную кнопку с динамической иконкой солнца и луны (svg format), и при нажатии туглить например с material light на material dark. За основу можно взять Android material палитру.
kazimur Сообщение #21 14 сентября 2025 в 14:07
Профи
1
un4given писал(а):
kazimur писал(а):
Столкнулся с такой проблемой:
в Chrome некорректно генерируются картинки для БЖ в формате base64.

Благодарю!

Дальнейшее исследование проблемы показало, что png в Chrome генерируется всегда корректно, если выключена опция "System - Use hardware acceleration when available".
Причём, пока такой проблемный заезд встретился только один. В остальных png-картинки генерируются без проблем.
Оставлю здесь JSON данного заезда (при генерации записи в БЖ должна быть включена опция "опечатки"):
скрытый текст…

Возможно, это вообще моя локальная проблема с Linux.
Я написал тот пост для тех, кто, как и я, может столкнуться с такой же проблемой.
Извиняюсь, если спровоцировал на не нужные изменения по внесению в код формата webp
Последний раз отредактировано 14 сентября 2025 в 14:19 пользователем kazimur

Чтобы писать в форуме, нужно зарегистрироваться.

Ctrl предыдущая следующая Ctrl Страницы
1 2 3 4 5

Связаться
Выделить
Выделите фрагменты страницы, относящиеся к вашему сообщению
Скрыть сведения
Скрыть всю личную информацию
Отмена