tobylobster / inform Goto Github PK
View Code? Open in Web Editor NEWInform is a design system for interactive fiction based on natural language
License: Other
Inform is a design system for interactive fiction based on natural language
License: Other
Any chance you could provide a dmg of the latest Zoom to fix issues on macOS Sierra? It's my favorite interpreter, and I've spent hours fiddling with Xcode and not compiling it correctly.
This might be a bug in the compiler, but during extension development, I symlinked an extension to the correct location (from my repo, which was elsewhere on my system) and it wasn't recognized during compilation. The same error also occurred when I symlinked an interpreter directory in the *.materials/Templates
subfolder.
Selecting the Help > Inform Help menu item does not produce the customary "Help isn't available for Inform" dialog, but rather does nothing. The console reports "nil host used in call to allowsSpecificHTTPSCertificateForHost."
AddressSanitizer aborts with dynamic stack buffer overflow at line 293 of GlkTypesetter.m whenever the internal Zoom interpreter starts up.
Stack trace:
0 CoreFoundation 0x00007ff8032261ba __exceptionPreprocess + 242
1 libobjc.A.dylib 0x00007ff802d4c42b objc_exception_throw + 48
2 CoreFoundation 0x00007ff8033003ea -[__NSCFString characterAtIndex:].cold.1 + 0
3 CoreFoundation 0x00007ff80326adf5 mutateError + 121
4 CoreFoundation 0x00007ff8031932b7 -[__NSCFString appendString:] + 69
5 GlkClient 0x00000001027be3fa glk_buffer_to_title_case_uni + 576
The crash only happens when the final argument (lowerrest
) is false. If it's true, the function seems to work correctly.
Test case pasted below. I've phrased it as an I7 game to make it easier to test in the I7 IDE.
"Test Game" by Andrew Plotkin.
The Kitchen is a room.
When play begins:
test loop;
To test loop: (- while (1) TestInput(); -)
Include (-
Array gbuffer --> INPUT_BUFFER_LEN;
[ ShowBuffer label count ix;
print (string) label, ": ", count, " chars, '";
for (ix=0 : ix<count : ix++) {
print (char) gbuffer-->ix;
}
print "'^";
];
[ TestInput ix count newlen;
print "^line input >>";
glk_request_line_event_uni(gg_mainwin, gbuffer, INPUT_BUFFER_LEN, 0);
while (true) {
glk_select(gg_event);
if (gg_event-->0 == 3 && gg_event-->1 == gg_mainwin) {
count = gg_event-->2;
break;
}
}
ShowBuffer("Input", count);
!count = glk_buffer_to_upper_case_uni(gbuffer, INPUT_BUFFER_LEN, count);
!ShowBuffer("Upcased", count);
!count = glk_buffer_to_lower_case_uni(gbuffer, INPUT_BUFFER_LEN, count);
!ShowBuffer("Downcased", count);
count = glk_buffer_to_title_case_uni(gbuffer, INPUT_BUFFER_LEN, count, 0);
ShowBuffer("Titlecased", count);
];
-).
IFViewAnimator should probably be rewritten to use CoreAnimation instead of manually drawing the images on each frame.
I have been using VS Code with the Inform 7 extension. I can edit in VS Code and just launch the compiler from the editor, which compiles and launches my external player Lectrote. I've only gotten it to work linked to the 6M62
versions of ni
and cBlorb
.
I have not yet managed to compile successfully with Inform7 10.1.
After my somewhat custom build with the help of Toby, here are the versions I'm running:
% ./cBlorb --version
inblorb version 4 'Duralumin' (20 August 2022)
% ./ni --version
inform7 version 10.1.0 'Krypton' (20 August 2022)
% ./inform6 -h
Inform 6.41 for MacOS (22nd July 2022)
When I try to compile I get the following error:
/Applications/Inform.app/Contents/MacOS/ni --internal /Applications/Inform.app/Contents/Resources/retrospective/6M62 --external /Users/wmodes/Library/Inform --project /Users/wmodes/dev/bearcreek/Experiments/test2.inform --format=ulx
(-format=ulx is deprecated: try -format=Inform6/32d instead)
Inform 7 v10.1.0 has started.
>--> An internal error has occurred: Unable to open model CSS material for reading. The error was detected at line 332 of "/Users/tobynelson/Code/Inform Core/inweb/foundation-module/Chapter 5/HTML.w". This should never happen, and I am now halting in abject failure. What has happened here is that one of the checks Inform carries out internally, to see if it is working properly, has failed. There must be a bug in this copy of Inform. It may be worth checking whether you have the current, up-to-date version. If so, please report this problem via www.inform7.com/bugs. As for fixing your source text to avoid this bug, the last thing you changed is probably the cause, if there is a simple cause. Your source text might in fact be wrong, and the problem might be occurring because Inform has failed to find a good way to say so. But even if your source text looks correct, there are probably rephrasings which would achieve the same effect. (Error in /Users/wmodes/dev/bearcreek/Experiments/test2.inform/Source/story.ni, line 1)
Obv, it'd be nice to use Inform 10.1 so I can take advantage of the updated extensions in the "friends" library.
I originally reported this issue back in Jan 2021 with Inform7 v1.68.1. I downloaded the most recent build of v10.1.2 and was surprised to see it was still an issue (original report here)
I’m editing a larger file in the Inform7 IDE and am experiencing very slow editing. I’ve searched and found no one else reporting this. I can edit small files with no lag, but large files present a huge lag as I type. Compiling happens at normal speed. Attached is a link to a video of me typing far ahead of the buffer.
Screen Recording Slow Inform7 IDE
Here are the deets of my file:
The 33597-word source text has successfully been translated into a world with 41 rooms and 184 things, and the index has been brought up to date.
And the details of my version of Inform:
Download file: inform_10_1_2_macOS_1_82_3.dmg
Inform version: 1.82 (1.82.3)
OS: MacOS Montereey v12.6 (21G115)
But this also happens with earlier versions of Inform, such as I7-6M62-OSX.dmg. In the earlier investigation, there was some suspicion that it might be related to the touch bar handling.
Unfortunately, this makes the IDE unusable.
Thanks for any leads to fixing this.
At the moment, no blinking text cursor is visible when editing the Source document in MacOS Catalina, making it difficult to know where I'm about to type at any given moment.
Been editing my Source document in VSCode instead and copying and pasting back into the IDE for testing, but this quickly starts to become a pain.
Possible to add a cursor in the near future?
When I hit the replay button, my actions are replayed in the order reverse to how I originally did them. For example, taking the actions >get up ; >look; >go north ; then replaying, will result in the replay trying >go north ; >look ; >get up. If I replay it a second time, the actions will invert again, once more conforming to the original order!
With #13 merged, the Test button now works in extension projects. But it still seems glitchy. After running a test, the Testing panel will be blank and the knots that were visible during the test are gone.
Running with AddressSanitizer on, pressing enter at the end of the source text will crash with a heap buffer overflow here:
Inform/inform/Project/Syntax/IFSyntaxData.m
Line 1603 in c704aa7
pos
variable was set to 58 while charStyles
had the range 0 … 57, so return charStyles[pos];
was reading 1 past the end.
charStyles was realloc'd to size 58 here:
Inform/inform/Project/Syntax/IFSyntaxData.m
Line 799 in c704aa7
In a build made from the current source (0774cc0) on macOS Sonoma (14.0), Counterfeit Monkey looks very strange after resizing the window:
Even stranger, the display looks correct in the Xcode "Debug View Hierarchy" view:
This is in Xcode 15.0 on an M1 MacBook Air.
Looks to have been broken by e86e8c3. If I take out the first resizeView call in layoutSkeinWithAnimation: the bug goes away. It's happening because the first resizeView makes the view shorter, causing the scroll view to automatically scroll up to the top to keep everything in view, then the second one restores it to its former length, but doesn't restore the scroll position.
File > Save As… has no effect.
I'm editing a larger file in the Inform7 IDE and am experiencing very slow editing. I've searched and found no one else reporting this. I can edit small files with no lag, but large files present a huge lag as I type. Compiling happens at normal speed. Attached is a link to a video of me typing far ahead of the buffer.
https://drive.google.com/file/d/1JwRLdLLq1advkmNKAOCrEDUCQP441SR8/view?usp=sharing
Here are the deets of my file:
The 33597-word source text has successfully been translated into a world with 41 rooms and 184 things, and the index has been brought up to date.
Happy to provide source file to test on your inform version.
And the details of my version of Inform:
Download file: I7-6M62-OSX-Interim.dmg
Inform version: 1.68.1
OS: MacOS Catalina
But this also happens with earlier versions of Inform, such as I7-6M62-OSX.dmg
Thanks for any leads to fixing this.
Easy fix: in IFSourceSharedActions.m change "Appkit/Appkit.h" to "AppKit/AppKit.h". The capitalized K is required for appkit to be found on case-sensitive filesystems.
Currently when trying to adjust the documentation font size (also the font size used while running the project) it's impossible to set a moderate, readable size. It's either too small, or too big. The first four 'stops' on the slider are all quite tiny, while the stops on the right side feel more inline with expectations. The middle stop font size still feels small, while the next stop up feels larger than comfortable.
One solution would be to increase the size of the smallest font and reduce the distance between steps. This should allow for a few other interim moderate sizes.
Another solution would be to provide a font select field/button (like Font family above) where the user can choose the font and font size used in the documentation and runtime using the default macOS font dialog.
--
I could also see where having a separate font and size preference for both the documentation and the runtime would be desirable, but would then require 3 font family selection options; editor font family/size, documentation font family/size, runtime font family/size.
Sorry if this isn't the correct place - Mantis is down, and I was directed here.
The following Skein file was generated by the IDE, but hung when I tried to test it:
badskein.txt
After that, I couldn't reopen the project at all until I deleted the skein file wholesale and let the IDE regenerate a blank one. You can reproduce by starting a new project, pasting the contents into its skein file, then trying to open the project.
I think the error is around node 1104ish, because that's the action I changed that broke everything, but couldn't swear to it.
I am on the new IDE version, Version 1.68 (1.68.1), and a Mac running Catalina 10.15.6 (19G2021).
The contents view in Version 1.82.3 displays white text on a light background, making the text unreadable. This does not appear to be linked to the customizations I've made to the dark or light themes. The issue persists when I select a theme from the default settings.
Here are a few screenshots that demonstrate the issue:
Using a Light Theme
Using a Dark Theme
p.s. I love what you've done with the Inform7 UI, especially the addition of Light and Dark Mode color schemes!
http://inform7.com/mantis/view.php?id=1953 was fixed, however there has been no release since then (and I couldn't comment on the issue on the bug tracker as a reporter). Please build a version for macOS 10.12.
After doing a release, Inform will show a file hierarchy in the Results > Report view. Clicking on the file and folder icons here used to open their equivalents in Finder, but now they all seem to lead to the Documentation view instead.
EDIT: I just noticed that this only happens when the project is set to a legacy language version (such as 6M62), so I updated the title. When compiling to Inform 10.1.0 or Current, the links work as intended.
The console will show errors such as:
IFDocumentationPage: failed to load URL file:///Users/XXXX/Desktop/Untitled.inform/Build/%5BJAVASCRIPTPRELUDE%5DopenFile(%22/Users/XXXX/Desktop/Untitled.materials/Release%22) with error: The requested URL was not found on this server.
A couple things have come up while working in Inform that could be improved to make it more accessible to colorblind people. I have red/green colorblindness, and it's a pretty common disability.
On the testing tab, the 'knots' of the skein are color coded, and the blue and purple colors look identical to me.
Most of the default color palettes have text colors that are hard to differentiate—easy to work around with a custom palette, but would be nice to have something more accessible included.
Not strictly a colorblindness thing, but the text cursor stays black when switching to dark mode, making it difficult to find.
Mac M1 Pro
MacOS 12.6
Inform 1.82.3
When changing the font in Preferences > Editing > Font family to something like 'Menlo' (or other fonts available by default with macOS) no visible change is reflected despite the font name being reflected in the preference.
I can only currently change it to Monaco, Geneva, Georgia, Helvetica, Impact, Lucida Grande (default), Tahoma, and Verdana. All other fonts will display as Lucida Grande, even though their font family name is reflected in the preference.
complier_injection.sh assumes the existence of a makefile in the Inform Core
directory and I can't find anything that could create such a thing. It also seems to assume that there something is copying files into the TEMP_STAGING_AREA
, which I can't find any trace of even searching all the code on GitHub.
If you open the "Customize Toolbar…" menu and drag the "Status" item onto the toolbar, the status field disappears altogether and does not reappear until you drag the default set to the toolbar.
First of all, thank you for adding Dark Mode! The ability to have a dark theme for the code and the Index have been really helpful, since I do most of my Inform work after hours.
I was wondering if it would be possible to also invert the colors on the Story view when in dark mode? It's quite jarring to compile the story and suddenly get a big glaring white panel.
(I have the same question for the documentation view, but I assume that's trickier, and I can work around it by hitting the website and using a browser plugin to force a dark mode.)
When running Counterfeit Monkey in the internal Zoom interpreter, all typed input commands are now repeated after pressing Enter, that is, the command line is re-printed on the line below the entered command.
The game checks whether the interpreter supports line input echo suppression, and Zoom now claims that it does. The old version didn't. But the actual suppression doesn't seem to be working, causing the input to be echoed twice.
I see that build instructions are at the top of the pipeline, but I in case anyone else has similar problems, I thought I'd share my findings.
Many of the subprojects have different build settings, and the main stumbling block seems to be "Build Active Architecture Only", which is set to NO for the main Inform project but YES for debug builds in most (all?) of the subprojects, which caused build errors because Xcode couldn't find the X86-64 binaries it was looking for.
Here's how I got it to build using Xcode 13.4.1 on an M1 Macbook Air with Monterey:
• Clone the project and get the submodules with git pull --recurse-submodules
. I first tried to update an existing clone of an older version, but that wouldn't work.
• Change the Team setting on the Inform target to your own team or turn off signing ("Sign to Run Locally".)
• Set all projects to "Build Active Architecture Only" for debug builds.
As far as I can tell, there is no way to have a variable property which is a number. For instance, I would like rooms to have a property called "visits" which increments each time the player enters it.
I'm sorry if this is answered someplace else, but I have been searching for about 5 hours now, and haven't seen it.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.