-
Notifications
You must be signed in to change notification settings - Fork 23
Use new visualizers structure from 2023-07-draft #438
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Done some thinking, see also Kattis/problem-package-format#351 (comment):
|
Reading through this: I don't think a visualizer should inherit from validator even if they use a similar interface. Also i think that for |
@mpsijm if you don't have time to actively work on this i would start on a new branch? |
Very good thoughts upthread. Another vote for adding |
will close this in favor of #448 |
The input visualizers were quite simple to change, the only change required was that the input visualizers now read the test case from stdin, rather than
testcase.in
.The output visualizers are currently a special type of output validator, because they share a lot (mostly, in the way how they are executed). This feels very ugly, but I just wanted to get some working implementation up and running to aid in the discussion in Kattis/problem-package-format#351 🙂
TODO:
--no-output-visualizer
(probably--no-visualizer
needs to be renamed to--no-input-visualizer
as well)bt upgrade
needs to readgenerators.yaml
, and if it has avisualizer:
key, move the target toinput_visualizer/
and remove it fromgenerators.yaml
. It should then warn that the visualizer itself needs to be rewritten to no longer read fromtestcase.in
, but from stdin.judgeimage.<ext>
of the output visualizer can be copied back todata/
whenbt generate
runs it on the canonical jury solution, but only when there is no input visualizer, because there can be at most one image per test case.I've currently tested this with a
bt upgrade
d version of NWERC 2024 Jib Job, to which I've added a simpleoutput_visualizer/
: jibjob.zip